class Nabortu::Methods::GetVariants

Public Instance Methods

do_prepare() click to toggle source
# File lib/nabortu/methods/get_variants.rb, line 41
def do_prepare
  {offers: @response[:search_result][:offers][:item], request: @response[:search_result][:request]}
rescue
  false
end
request(params = {}) click to toggle source
# File lib/nabortu/methods/get_variants.rb, line 4
def request(params = {})
  date_to     = params[:date_to]     || raise(Nabortu::Errors::NoParam.new :date_to)
  date_from   = params[:date_from]   || raise(Nabortu::Errors::NoParam.new :date_from)

  origin      = params[:origin]      || 'MOW'
  destination = params[:destination] || raise(Nabortu::Errors::NoParam.new :destination)

  { 'tns:requestParameters' => {
        'AviaSearchRequest' => {
            'Adults'    => params[:adults]   || 2,
            'Children'  => params[:children] || 0,
            'Infants'   => params[:infants]  || 0,
            'Segments'  => {
                'ModifiedSegment' => [
                    { 'OriginCode'      => params[:origin] || 'MOW',
                      'DestinationCode' => destination,
                      'Date'            => date_to,
                      'Fare'            => 'Economy'
                    },
                    { 'OriginCode'      => destination,
                      'DestinationCode' => origin,
                      'Date'            => date_from,
                      'Fare'            => 'Economy'
                    }]
            },
            'PartnerId'       => Nabortu.config.partner_id,
            'Fare'            => 'Economy',
            'FlexibleDates'   => params[:flexible_dates]  || 'false',
            'OnlyDirect'      => params[:only_direct]     || 'true',
            'IsOnePassSearch' => params[:one_pass_search] || 'true',
            'AllowLowcost'    => params[:allow_lowcost]   || 'false',
            'Nabortu'         => params[:nabortu]         || 'true'
        }
    }
  }
end