type Query { getBooking(bookingSource: String, surname: String, givenName: String, middleName: String, confirmationId: String!): GetBookingResponse } scalar DateTime scalar Errors type Seat { number: String! } type Address { city: String street: String countryCode: String postalCode: String freeText: String name: String stateProvince: String } type Flight { departureTime: String! updatedDepartureTime: String cabinTypeCode: String aircraftTypeCode: String departureGate: String seats: [Seat] arrivalGate: String updatedArrivalDate: DateTime bookingClass: String arrivalTime: String! aircraftTypeName: String airlineCode: String! departureDate: DateTime! confirmationId: String departureTerminalName: String operatingAirlineCode: String updatedArrivalTime: String updatedDepartureDate: DateTime durationInMinutes: Int flightNumber: Int! toAirportCode: String! arrivalDate: DateTime! flightStatusName: FlightStatusNameEnum itemId: String! flightStatusCode: String distanceInMiles: Int operatingFlightNumber: Int arrivalTerminalName: String sourceType: FlightSourceEnum cabinTypeName: String fromAirportCode: String! meals: [Meal] } type FlightReferenceCoupon { couponStatus: CouponStatusEnum! itemId: String! couponStatusCode: CouponStatusCodeEnum! } type Remark { text: String! type: RemarkTypeEnum alphaCode: String } enum FareRulePenaltyApplicabilityEnum { BEFORE_DEPARTURE AFTER_DEPARTURE } type GetBookingRequest { bookingSource: BookingSourceEnum surname: String givenName: String middleName: String confirmationId: String! } enum FlightSourceEnum { ATPCO NDC LCC } type DateRangeRefundPenalty { applicableFromDate: DateTime applicableToDate: DateTime penalty: Value! } enum TrainStatusNameEnum { WAITLISTED INFANT_NO_SEAT QUOTE ON_REQUEST PENDING_QUOTE SPACE_AVAILABLE PENDING CANCELLED CONFIRMED NO_SEAT PRIORITY_WAITLIST STANDBY UNKNOWN UNCONFIRMED } enum HotelStatusNameEnum { WAITLISTED INFANT_NO_SEAT QUOTE ON_REQUEST PENDING_QUOTE SPACE_AVAILABLE PENDING CANCELLED CONFIRMED NO_SEAT PRIORITY_WAITLIST STANDBY UNKNOWN UNCONFIRMED } type BaggagePolicy { maximumWeightInPounds: Int numberOfPieces: Int! maximumSizeInCentimeters: Int maximumWeightInKilograms: Int fee: Value specialItemDescription: String maximumSizeInInches: Int } type Cruise { departureTime: String cruiseStatusCode: String cruiseStatusName: CruiseStatusNameEnum shipName: String cabinNumber: String vendorCode: String! shipCode: String fromPortCode: String! arrivalDate: DateTime! itemId: String! arrivalTime: String toPortCode: String departureDate: DateTime! confirmationId: String } enum CouponStatusEnum { REFUNDED PRINTED NOT_FLOWN PRINT_EXCHANGE CHECKED_IN VOIDED IRREGULAR_OPERATIONS EXCHANGED SUSPENDED AIRPORT_CONTROL PAPER_TICKET LIFTED FLOWN } enum CruiseStatusNameEnum { WAITLISTED INFANT_NO_SEAT QUOTE ON_REQUEST PENDING_QUOTE SPACE_AVAILABLE PENDING CANCELLED CONFIRMED NO_SEAT PRIORITY_WAITLIST STANDBY UNKNOWN UNCONFIRMED } type Errors { fieldName: String fieldPath: String description: String category: String type: String fieldValue: String } type Car { pickUpAddress: Address! pickUpTime: String! refundPenalties: [DateRangeRefundPenalty] vendorName: String! vendorCode: String! isRefundable: Boolean! itemId: String! pickUpDate: DateTime! dropOffAddress: Address dropOffTime: String! carStatusCode: String carStatusName: CarStatusNameEnum confirmationId: String dropOffDate: DateTime! } type Value { amount: String! currencyCode: String! } type FareRulePenalty { penalty: Value! conditionsApply: Boolean applicability: FareRulePenaltyApplicabilityEnum! } type Journey { firstAirportCode: String! departureTime: String! lastAirportCode: String! departureDate: DateTime! numberOfFlights: Int! } type Train { departureTime: String! operatingVendorName: String operatingVendorCode: String fromStationName: String toStationCode: String! trainStatusName: TrainStatusNameEnum vendorName: String trainStatusCode: String vendorCode: String! arrivalDate: DateTime! isRefundable: Boolean toStationName: String itemId: String! arrivalTime: String! trainName: String fromStationCode: String! trainNumber: String! departureDate: DateTime! confirmationId: String } type Hotel { address: Address! hotelStatusCode: String hotelStatusName: HotelStatusNameEnum checkInTime: String! refundPenalties: [DateRangeRefundPenalty] hotelName: String! checkInDate: DateTime! room: Room isRefundable: Boolean! itemId: String! checkOutDate: DateTime! checkOutTime: String! confirmationId: String } enum RemarkTypeEnum { CLIENT_ADDRESS DELIVERY_ADDRESS HISTORICAL FILLER_STRIP ALPHA_CODED HIDDEN GENERAL INVOICE CORPORATE ITINERARY PRINT_ON_TICKET QUEUE_PLACE FORM_OF_PAYMENT INTERFACE } type TotalValues { fees: String total: String! subtotal: String taxes: String currencyCode: String! } type Meal { code: String! } enum BookingSourceEnum { SABRE SABRE_ORDER } enum CouponStatusCodeEnum { BD B PR E IO CK I AL S RF T PE V } type Room { quantity: Int! roomType: String! } type FlightReference { itemId: String! } type FareOffer { travelerIndices: [Int] checkedBaggageCharges: [BaggagePolicy] cabinBaggageAllowance: BaggageAllowance checkedBaggageAllowance: BaggageAllowance flights: [FlightReference] cabinBaggageCharges: [BaggagePolicy] } type SegmentBasics { date: DateTime address: Address endDate: DateTime startAddress: Address endLocationCode: String type: String! vendorCode: String startLocationCode: String startTime: String id: String! text: String time: String endTime: String locationCode: String startDate: DateTime endAddress: Address } enum FlightStatusNameEnum { WAITLISTED INFANT_NO_SEAT QUOTE ON_REQUEST PENDING_QUOTE SPACE_AVAILABLE PENDING CANCELLED CONFIRMED NO_SEAT PRIORITY_WAITLIST STANDBY UNKNOWN UNCONFIRMED } type FareRule { destinationAirportCode: String exchangePenalties: [FareRulePenalty] originAirportCode: String owningAirlineCode: String! passengerCode: String refundPenalties: [FareRulePenalty] isChangeable: Boolean isRefundable: Boolean } enum TravelerTypeEnum { MILITARY SENIOR YOUTH INFANT CHILD SPECIAL ADULT } enum CarStatusNameEnum { WAITLISTED INFANT_NO_SEAT QUOTE ON_REQUEST PENDING_QUOTE SPACE_AVAILABLE PENDING CANCELLED CONFIRMED NO_SEAT PRIORITY_WAITLIST STANDBY UNKNOWN UNCONFIRMED } type FlightTicket { date: DateTime! number: String! ticketStatusCode: String ticketStatusName: TicketStatusEnum airlineCode: String! travelerIndex: Int! payment: TotalValues! flightCoupons: [FlightReferenceCoupon]! } type TotalPayments { trainTotals: [TotalValues] hotelTotals: [TotalValues] carTotals: [TotalValues] flightTotals: [TotalValues] } type ContactInformation { emails: [String] phones: [String] } type GetBookingResponse { request: GetBookingRequest journeys: [Journey] isTicketed: Boolean contactInfo: ContactInformation flightTickets: [FlightTicket] endDate: DateTime payments: TotalPayments allSegments: [SegmentBasics] fareOffers: [FareOffer] trains: [Train] cruises: [Cruise] travelers: [Traveler] cars: [Car] hotels: [Hotel] agencyCustomerNumber: String fareRules: [FareRule] isCancelable: Boolean flights: [Flight] errors: [Errors] startDate: DateTime remarks: [Remark] } enum TicketStatusEnum { ISSUED REFUNDED_EXCHANGED ErrorHandlingPolicyEnum HALT_ON_ERROR ALLOW_PARTIAL_CANCEL VOIDED } type Traveler { emails: [String] address: Address surname: String! givenName: String! passengerCode: String middleName: String type: TravelerTypeEnum birthDate: DateTime } type BaggageAllowance { totalWeightInKilograms: Int baggagePieces: [BaggagePolicy]! maximumPieces: Int totalWeightInPounds: Int }