425 lines
16 KiB
Ruby
425 lines
16 KiB
Ruby
|
# Copyright 2015 Google Inc.
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
|
||
|
require 'date'
|
||
|
require 'google/apis/core/base_service'
|
||
|
require 'google/apis/core/json_representation'
|
||
|
require 'google/apis/core/hashable'
|
||
|
require 'google/apis/errors'
|
||
|
|
||
|
module Google
|
||
|
module Apis
|
||
|
module QpxExpressV1
|
||
|
|
||
|
class AircraftData
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class AirportData
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class BagDescriptor
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class CarrierData
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class CityData
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class Data
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class FareInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class FlightInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class FreeBaggageAllowance
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class LegInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class PassengerCounts
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class PricingInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class SegmentInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class SegmentPricing
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class SliceInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class SliceInput
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class TaxData
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class TaxInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class TimeOfDayRange
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class TripOption
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class TripOptionsRequest
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class TripOptionsResponse
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class SearchTripsRequest
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
class SearchTripsResponse
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class AircraftData
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :code, as: 'code'
|
||
|
property :kind, as: 'kind'
|
||
|
property :name, as: 'name'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class AirportData
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :city, as: 'city'
|
||
|
property :code, as: 'code'
|
||
|
property :kind, as: 'kind'
|
||
|
property :name, as: 'name'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class BagDescriptor
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :commercial_name, as: 'commercialName'
|
||
|
property :count, as: 'count'
|
||
|
collection :description, as: 'description'
|
||
|
property :kind, as: 'kind'
|
||
|
property :subcode, as: 'subcode'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class CarrierData
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :code, as: 'code'
|
||
|
property :kind, as: 'kind'
|
||
|
property :name, as: 'name'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class CityData
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :code, as: 'code'
|
||
|
property :country, as: 'country'
|
||
|
property :kind, as: 'kind'
|
||
|
property :name, as: 'name'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class Data
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
collection :aircraft, as: 'aircraft', class: Google::Apis::QpxExpressV1::AircraftData, decorator: Google::Apis::QpxExpressV1::AircraftData::Representation
|
||
|
|
||
|
collection :airport, as: 'airport', class: Google::Apis::QpxExpressV1::AirportData, decorator: Google::Apis::QpxExpressV1::AirportData::Representation
|
||
|
|
||
|
collection :carrier, as: 'carrier', class: Google::Apis::QpxExpressV1::CarrierData, decorator: Google::Apis::QpxExpressV1::CarrierData::Representation
|
||
|
|
||
|
collection :city, as: 'city', class: Google::Apis::QpxExpressV1::CityData, decorator: Google::Apis::QpxExpressV1::CityData::Representation
|
||
|
|
||
|
property :kind, as: 'kind'
|
||
|
collection :tax, as: 'tax', class: Google::Apis::QpxExpressV1::TaxData, decorator: Google::Apis::QpxExpressV1::TaxData::Representation
|
||
|
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class FareInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :basis_code, as: 'basisCode'
|
||
|
property :carrier, as: 'carrier'
|
||
|
property :destination, as: 'destination'
|
||
|
property :id, as: 'id'
|
||
|
property :kind, as: 'kind'
|
||
|
property :origin, as: 'origin'
|
||
|
property :private, as: 'private'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class FlightInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :carrier, as: 'carrier'
|
||
|
property :number, as: 'number'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class FreeBaggageAllowance
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
collection :bag_descriptor, as: 'bagDescriptor', class: Google::Apis::QpxExpressV1::BagDescriptor, decorator: Google::Apis::QpxExpressV1::BagDescriptor::Representation
|
||
|
|
||
|
property :kilos, as: 'kilos'
|
||
|
property :kilos_per_piece, as: 'kilosPerPiece'
|
||
|
property :kind, as: 'kind'
|
||
|
property :pieces, as: 'pieces'
|
||
|
property :pounds, as: 'pounds'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class LegInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :aircraft, as: 'aircraft'
|
||
|
property :arrival_time, as: 'arrivalTime'
|
||
|
property :change_plane, as: 'changePlane'
|
||
|
property :connection_duration, as: 'connectionDuration'
|
||
|
property :departure_time, as: 'departureTime'
|
||
|
property :destination, as: 'destination'
|
||
|
property :destination_terminal, as: 'destinationTerminal'
|
||
|
property :duration, as: 'duration'
|
||
|
property :id, as: 'id'
|
||
|
property :kind, as: 'kind'
|
||
|
property :meal, as: 'meal'
|
||
|
property :mileage, as: 'mileage'
|
||
|
property :on_time_performance, as: 'onTimePerformance'
|
||
|
property :operating_disclosure, as: 'operatingDisclosure'
|
||
|
property :origin, as: 'origin'
|
||
|
property :origin_terminal, as: 'originTerminal'
|
||
|
property :secure, as: 'secure'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class PassengerCounts
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :adult_count, as: 'adultCount'
|
||
|
property :child_count, as: 'childCount'
|
||
|
property :infant_in_lap_count, as: 'infantInLapCount'
|
||
|
property :infant_in_seat_count, as: 'infantInSeatCount'
|
||
|
property :kind, as: 'kind'
|
||
|
property :senior_count, as: 'seniorCount'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class PricingInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :base_fare_total, as: 'baseFareTotal'
|
||
|
collection :fare, as: 'fare', class: Google::Apis::QpxExpressV1::FareInfo, decorator: Google::Apis::QpxExpressV1::FareInfo::Representation
|
||
|
|
||
|
property :fare_calculation, as: 'fareCalculation'
|
||
|
property :kind, as: 'kind'
|
||
|
property :latest_ticketing_time, as: 'latestTicketingTime'
|
||
|
property :passengers, as: 'passengers', class: Google::Apis::QpxExpressV1::PassengerCounts, decorator: Google::Apis::QpxExpressV1::PassengerCounts::Representation
|
||
|
|
||
|
property :ptc, as: 'ptc'
|
||
|
property :refundable, as: 'refundable'
|
||
|
property :sale_fare_total, as: 'saleFareTotal'
|
||
|
property :sale_tax_total, as: 'saleTaxTotal'
|
||
|
property :sale_total, as: 'saleTotal'
|
||
|
collection :segment_pricing, as: 'segmentPricing', class: Google::Apis::QpxExpressV1::SegmentPricing, decorator: Google::Apis::QpxExpressV1::SegmentPricing::Representation
|
||
|
|
||
|
collection :tax, as: 'tax', class: Google::Apis::QpxExpressV1::TaxInfo, decorator: Google::Apis::QpxExpressV1::TaxInfo::Representation
|
||
|
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class SegmentInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :booking_code, as: 'bookingCode'
|
||
|
property :booking_code_count, as: 'bookingCodeCount'
|
||
|
property :cabin, as: 'cabin'
|
||
|
property :connection_duration, as: 'connectionDuration'
|
||
|
property :duration, as: 'duration'
|
||
|
property :flight, as: 'flight', class: Google::Apis::QpxExpressV1::FlightInfo, decorator: Google::Apis::QpxExpressV1::FlightInfo::Representation
|
||
|
|
||
|
property :id, as: 'id'
|
||
|
property :kind, as: 'kind'
|
||
|
collection :leg, as: 'leg', class: Google::Apis::QpxExpressV1::LegInfo, decorator: Google::Apis::QpxExpressV1::LegInfo::Representation
|
||
|
|
||
|
property :married_segment_group, as: 'marriedSegmentGroup'
|
||
|
property :subject_to_government_approval, as: 'subjectToGovernmentApproval'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class SegmentPricing
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :fare_id, as: 'fareId'
|
||
|
collection :free_baggage_option, as: 'freeBaggageOption', class: Google::Apis::QpxExpressV1::FreeBaggageAllowance, decorator: Google::Apis::QpxExpressV1::FreeBaggageAllowance::Representation
|
||
|
|
||
|
property :kind, as: 'kind'
|
||
|
property :segment_id, as: 'segmentId'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class SliceInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :duration, as: 'duration'
|
||
|
property :kind, as: 'kind'
|
||
|
collection :segment, as: 'segment', class: Google::Apis::QpxExpressV1::SegmentInfo, decorator: Google::Apis::QpxExpressV1::SegmentInfo::Representation
|
||
|
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class SliceInput
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :alliance, as: 'alliance'
|
||
|
property :date, as: 'date'
|
||
|
property :destination, as: 'destination'
|
||
|
property :kind, as: 'kind'
|
||
|
property :max_connection_duration, as: 'maxConnectionDuration'
|
||
|
property :max_stops, as: 'maxStops'
|
||
|
property :origin, as: 'origin'
|
||
|
collection :permitted_carrier, as: 'permittedCarrier'
|
||
|
property :permitted_departure_time, as: 'permittedDepartureTime', class: Google::Apis::QpxExpressV1::TimeOfDayRange, decorator: Google::Apis::QpxExpressV1::TimeOfDayRange::Representation
|
||
|
|
||
|
property :preferred_cabin, as: 'preferredCabin'
|
||
|
collection :prohibited_carrier, as: 'prohibitedCarrier'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class TaxData
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :id, as: 'id'
|
||
|
property :kind, as: 'kind'
|
||
|
property :name, as: 'name'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class TaxInfo
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :charge_type, as: 'chargeType'
|
||
|
property :code, as: 'code'
|
||
|
property :country, as: 'country'
|
||
|
property :id, as: 'id'
|
||
|
property :kind, as: 'kind'
|
||
|
property :sale_price, as: 'salePrice'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class TimeOfDayRange
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :earliest_time, as: 'earliestTime'
|
||
|
property :kind, as: 'kind'
|
||
|
property :latest_time, as: 'latestTime'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class TripOption
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :id, as: 'id'
|
||
|
property :kind, as: 'kind'
|
||
|
collection :pricing, as: 'pricing', class: Google::Apis::QpxExpressV1::PricingInfo, decorator: Google::Apis::QpxExpressV1::PricingInfo::Representation
|
||
|
|
||
|
property :sale_total, as: 'saleTotal'
|
||
|
collection :slice, as: 'slice', class: Google::Apis::QpxExpressV1::SliceInfo, decorator: Google::Apis::QpxExpressV1::SliceInfo::Representation
|
||
|
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class TripOptionsRequest
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :max_price, as: 'maxPrice'
|
||
|
property :passengers, as: 'passengers', class: Google::Apis::QpxExpressV1::PassengerCounts, decorator: Google::Apis::QpxExpressV1::PassengerCounts::Representation
|
||
|
|
||
|
property :refundable, as: 'refundable'
|
||
|
property :sale_country, as: 'saleCountry'
|
||
|
collection :slice, as: 'slice', class: Google::Apis::QpxExpressV1::SliceInput, decorator: Google::Apis::QpxExpressV1::SliceInput::Representation
|
||
|
|
||
|
property :solutions, as: 'solutions'
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class TripOptionsResponse
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :data, as: 'data', class: Google::Apis::QpxExpressV1::Data, decorator: Google::Apis::QpxExpressV1::Data::Representation
|
||
|
|
||
|
property :kind, as: 'kind'
|
||
|
property :request_id, as: 'requestId'
|
||
|
collection :trip_option, as: 'tripOption', class: Google::Apis::QpxExpressV1::TripOption, decorator: Google::Apis::QpxExpressV1::TripOption::Representation
|
||
|
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class SearchTripsRequest
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :request, as: 'request', class: Google::Apis::QpxExpressV1::TripOptionsRequest, decorator: Google::Apis::QpxExpressV1::TripOptionsRequest::Representation
|
||
|
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# @private
|
||
|
class SearchTripsResponse
|
||
|
class Representation < Google::Apis::Core::JsonRepresentation
|
||
|
property :kind, as: 'kind'
|
||
|
property :trips, as: 'trips', class: Google::Apis::QpxExpressV1::TripOptionsResponse, decorator: Google::Apis::QpxExpressV1::TripOptionsResponse::Representation
|
||
|
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|