# Get flight attributes Get Flight attributes, amenities and fare rules for the given search response id. Returns the full air search response along with attribute details. Endpoint: POST /v2/air/flight-attributes Version: v2 Security: Bearer ## Request fields (application/json): - `searchId` (string, required) The unique ID for the search response for which the attributes are being requested. Example: "ChBjZDg3ZjRjZmRmMTFmMWFiEhBjZDg3Z" ## Response 200 fields (application/json): - `searchId` (string, required) The unique ID for this search response. This value must be passed on in the subsequent booking API calls. Example: "ChBjZDg3ZjRjZmRmMTFmMWFiEhBjZDg3Z" - `itineraryDetails` (object, required) The list of itineraries in the search response. - `itineraryDetails.itineraries` (array) - `itineraryDetails.itineraries.itineraryId` (string, required) The unique ID for this itinerary. Example: "kjdUjak8hX" - `itineraryDetails.itineraries.legs` (array, required) - `itineraryDetails.itineraries.legs.id` (string, required) The unique ID for this leg. Example: "leg_0" - `itineraryDetails.itineraries.legs.flights` (array, required) Details of the list of flights present in the leg. - `itineraryDetails.itineraries.legs.flights.id` (string, required) The unique ID for this flight in the itinerary. Example: "flight_0" - `itineraryDetails.itineraries.legs.flights.flightData` (any) - `itineraryDetails.itineraries.legs.flights.cabin` (string, required) The cabin type for this flight in the associated itinerary Enum: "UNKNOWN_CABIN", "ECONOMY", "PREMIUM_ECONOMY", "BUSINESS", "FIRST" - `itineraryDetails.itineraries.legs.flights.bookingCode` (string) The airline's one-letter code for the associated fare Example: "B" - `itineraryDetails.itineraries.legs.flights.seatAvailability` (integer) The availability of seats on this flight Example: 9 - `itineraryDetails.itineraries.legs.flights.corpAccountCode` (string) The account code is used to get corporate negotiated price Example: "DFG" - `itineraryDetails.itineraries.legs.flights.carbonEmission` (object) The CO2 emission details for this flight - `itineraryDetails.itineraries.legs.flights.carbonEmission.emissionValue` (number, required) Estimated C02 emissions value for selected flight and seating class, per passenger (in tons) Example: 10 - `itineraryDetails.itineraries.legs.flights.carbonEmission.averageEmissionValue` (number) Average estimated C02 emissions per passenger for same route (in tons) Example: 10 - `itineraryDetails.itineraries.legs.flights.carbonEmission.flightDistanceKm` (number) Total distance flown by the flight in kilometres. Example: 10 - `itineraryDetails.itineraries.legs.flights.carbonEmission.isApproximate` (boolean) Indicates whether the emissions value is approximate or not. Example: true - `itineraryDetails.itineraries.legs.flights.amenities` (array) The amenities associated with the flight. - `itineraryDetails.itineraries.legs.flights.flightAttributes` (array) The set of product attributes associated with the flight. - `itineraryDetails.itineraries.legs.flights.flightAttributes.description` (string) Marketing description and images associated with the flight attribute. Example: "A fully flat bed" - `itineraryDetails.itineraries.legs.flights.flightAttributes.categories` (array) List of categories in which this flight attribute falls into Enum: "AIRCRAFT", "SEAT", "MEALS", "BEVERAGES", "ENTERTAINMENT", "POWER", "WIFI", "SERVICE_INFLIGHT", "UPGRADE", "TRANSPORT_TO_AIRPORT", "CHECK_IN", "DEPARTURE_TERMINAL", "DEPARTMENT_LOUNGE", "GATE_BOARDING", "SERVICE_DEPARTURE", "STOPOVER", "CONNECTING_EASE", "CONNECTING_TERMINAL", "CONNECTING_LOUNGE", "SERVICE_CONNECTING", "BAGGAGE_COLLECTION", "ARRIVAL_TERMINAL", "ARRIVAL_LOUNGE", "ARRIVAL_TRANSPORT", "SERVICE_ARRIVAL", "SCHEDULE_ROUTE", "LOYALITY_PROGRAM", "BRAND", "PROMOTION" - `itineraryDetails.itineraries.legs.flights.flightAttributes.photos` (array) List of images associated with the flight attribute. - `itineraryDetails.itineraries.legs.flights.flightAttributes.photos.caption` (string) Caption for the image. Example: "Exterior" - `itineraryDetails.itineraries.legs.flights.flightAttributes.photos.images` (array, required) List of images. - `itineraryDetails.itineraries.legs.flights.flightAttributes.photos.images.data` (string) Example: "6935813e12584abda0e43d71cd2ea260" - `itineraryDetails.itineraries.legs.flights.flightAttributes.photos.images.dimensions` (object) Image dimensions ie width and height. - `itineraryDetails.itineraries.legs.flights.flightAttributes.photos.images.dimensions.height` (integer) Example: 120 - `itineraryDetails.itineraries.legs.flights.flightAttributes.photos.images.dimensions.width` (integer) Example: 240 - `itineraryDetails.itineraries.legs.flights.flightAttributes.photos.images.url` (string) Example: "https://static.wixstatic.com/media/73f2e2_6935813e12584abda0e43d71cd2ea260~mv2.png/v1/fill/w_630,h_94,al_c,q_85,usm_0.66_1.00_0.01/Spotnana%403x.webp" - `itineraryDetails.itineraries.legs.travelerInfos` (array, required) Details of passenger(s) information for this leg. - `itineraryDetails.itineraries.legs.travelerInfos.travelerId` (string, required) Unique identifier for the traveler in this response Example: "adult_0" - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare` (object) The fare amount for the traveler for a given leg - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.base` (object, required) Base fare amount. - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.base.amount` (number, required) The numeric value for the amount of money. Example: 510 - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.base.currencyCode` (string, required) The 3-letter currency code for the money amount (defined using ISO 4217 standard). Example: "GBP" - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.base.convertedAmount` (number) The converted currency and amount that has been converted (if a currency conversion has been requested). For example, if the call requests that money be sent in a specified currency (because the frontend requested the backend to send money in the user's preferred currency). Example: 715.42 - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.base.convertedCurrency` (string) The 3-letter currency code for the converted currency (defined using ISO 4217 standard). Example: "USD" - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.base.otherCoinage` (array) List of the dollar amount in other coinage systems like reward points, cryptocurrency etc. - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.base.otherCoinage.coinageCode` (string) Payment method Enum: "PAYMENT_METHOD_UNKNOWN", "CREDIT_CARD", "BREX_POINTS", "CASH", "QANTAS_POINTS", "VENDOR_PROGRAM_PAYMENT", "DELAYED_INVOICING", "FLIGHT_CREDITS", "QANTAS_TRAVEL_FUND", "CUSTOM_VIRTUAL_PAYMENT", "FLIGHT_PASS", "MISCELLANEOUS_CREDIT_ORDER" - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.base.otherCoinage.amount` (number) Example: 1000 - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.base.otherCoinage.conversionRate` (number) 1 coin in this system equals to how many currency value Example: 0.01 - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.base.otherCoinage.preferredCurrencyConversionRate` (number) 1 coin in this system equals to how many currency value Example: 0.01 - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.tax` (object, required) Tax amount. - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.taxBreakdown` (array) Breakdown of tax amounts. - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.taxBreakdown.amount` (object, required) Tax amount - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.taxBreakdown.taxCode` (string) Tax code Example: "VAT" - `itineraryDetails.itineraries.legs.travelerInfos.travelerLegFare.taxBreakdown.percentage` (number) Tax amount to total amount Example: 9 - `itineraryDetails.itineraries.legs.travelerInfos.fareRules` (object) Fare rules applicable for the traveler - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy` (object) Baggage policy for this traveler. - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn` (array, required) Policies for checked-in baggage - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.description` (string) Baggage policy text Example: "1 checked bag, 33 lbs" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.count` (integer) Count of bags Example: 3 - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.sizeLimitInfo` (array) Size of bag in cm - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.sizeLimitInfo.length` (number) The weight limit of a baggage option. Example: 32 - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.sizeLimitInfo.unit` (string) The unit of measurement for the bag size. Enum: "CENTIMETER", "METER" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.weightLimitInfo` (array) Array of bag weight limits - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.weightLimitInfo.weightLimit` (array) Weight limit in different units - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.weightLimitInfo.weightLimit.weight` (number) The weight limit of a baggage option. Example: 32 - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.weightLimitInfo.weightLimit.unit` (string) The unit of measurement for the weight limit. Enum: "lb", "kg" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.weightLimitInfo.applicability` (string) This represents that the info is applicable for per bag/combined bags Enum: "EACH", "TOTAL" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.fee` (array) Array of bag weight fees - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.fee.fee` (object) Money object containing details such as the amount, the currency code, and the converted amount. - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.checkedIn.sizeLimitDescription` (string) The baggage size limit in string format. Example: "55 x 35 x 25 cm" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.baggagePolicy.carryOn` (array, required) Policies for carry-on baggage - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.cancellationPolicy` (object) Information about the cancellation policy. - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.cancellationPolicy.description` (string) Text describing the cancellation policy. Example: "Non-refundable" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.cancellationPolicy.assessmentType` (string) Assessment Type Enum: "NEUTRAL", "BENEFIT", "RESTRICTION", "FEE" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.cancellationPolicy.isCat16` (boolean) Is source cat16 Example: true - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.cancellationPolicy.isConditional` (boolean) Is conditional Example: true - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.postDepartureCancellationPolicy` (object) Information about the post departure cancellation policy. - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.exchangePolicy` (object) Information about the exchange policy. - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.exchangePolicy.description` (string) Text describing the exchange policy. Example: "Change allowed for free" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.exchangePolicy.assessmentType` (string) Enum: "NEUTRAL", "BENEFIT", "RESTRICTION", "FEE" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.postDepartureExchangePolicy` (object) Information about the post departure exchange policy. - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.seatSelectionPolicy` (object) Seat selection rule - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.seatSelectionPolicy.description` (string, required) Seat selection policy text Example: "Seat selection for free" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.boardingPolicy` (object) Priority boarding information. - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.boardingPolicy.description` (string, required) Text describing the priority boarding policy. Example: "Priority boarding provided for free" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.checkInPolicy` (object) Information about the check-in policy. - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.checkInPolicy.description` (string, required) Description text for the check-in policy. Example: "Standard check-in priority" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.loungePolicy` (object) Information about the lounge policy. - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.loungePolicy.description` (string, required) Lounge policy description text (may include whether a fee is charged). Example: "Lounge access for a fee" - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.seatType` (object) Seat information - `itineraryDetails.itineraries.legs.travelerInfos.fareRules.seatType.seatType` (string, required) Description of the type of seat available Example: "Recliner seat" - `itineraryDetails.itineraries.legs.totalLegFare` (object, required) Total cumulative fare for this leg summed across all passengers - `itineraryDetails.itineraries.legs.fareCategory` (object, required) Fare category of this leg. It describes the cabin class for this flight. - `itineraryDetails.itineraries.legs.fareCategory.ngsCategory` (string) Enum: "UNKNOWN_NGS_CATEGORY", "BASE", "STANDARD", "ENHANCED", "PREMIUM", "LUXURY", "ULTRA_LUXURY" - `itineraryDetails.itineraries.legs.fareCategory.cabinViewCategory` (string) Enum: "UNKNOWN_CABIN_CATEGORY", "BASIC", "ECONOMY", "PREMIUM_ECONOMY", "ECONOMY_PLUS", "BUSINESS", "FIRST" - `itineraryDetails.itineraries.legs.brandName` (string) The brand name advertised by the airline. Example: "Economy Flex" - `itineraryDetails.itineraries.legs.brandCode` (string) The brand code assigned by the airline corresponding brandName. Example: "AADOM-MAIN" - `itineraryDetails.itineraries.legs.validatingAirline` (string) The airline code for the airline which is validating this booking and orchestrating the payment. Example: "AA" - `itineraryDetails.itineraries.legs.rateType` (string) Rate or fare type for this leg (for example "public" or "corporate"). Enum: "RATE_TYPE_UNKNOWN", "PUBLISHED", "TMC_NEGOTIATED", "COMPANY_NEGOTIATED" - `itineraryDetails.itineraries.legs.vendorProgramType` (string) The type of the vendor program Enum: "UA_PASS_PLUS", "GENERIC_PROGRAM_TYPE" - `itineraryDetails.itineraries.travelers` (array, required) - `itineraryDetails.itineraries.travelers.travelerType` (string, required) Type of passenger Enum: "UNKNOWN_PASSENGER_TYPE", "ADULT", "CHILD", "INFANT", "INFANT_ON_LAP", "YOUTH", "SENIOR", "TEEN" - `itineraryDetails.itineraries.travelers.travelerAge` (object) Age of the traveler - `itineraryDetails.itineraries.travelers.travelerAge.numYears` (integer, required) Age of the passenger Example: 22 - `itineraryDetails.itineraries.travelers.fareInfo` (object, required) The detailed information about the fare (including tax and merchant fee details). - `itineraryDetails.itineraries.travelers.fareInfo.totalFare` (object, required) Total fare applicable to the associated entity. - `itineraryDetails.itineraries.travelers.fareInfo.taxBreakdown` (array) Details about of the tax amount in totalFare field. - `itineraryDetails.itineraries.travelers.fareInfo.merchantFeeInfo` (object) Describes the merchant fee applicable on the itinerary. - `itineraryDetails.itineraries.travelers.fareInfo.merchantFeeInfo.amount` (object, required) Fare amount including base fare and tax. - `itineraryDetails.itineraries.travelers.fareMetadata` (object) Metadata about pax fare - `itineraryDetails.itineraries.travelers.fareMetadata.corpAccountCode` (string) The corp account code for each pax. Example: "6CA4" - `itineraryDetails.itineraries.fareInfo` (object) Describes the fare amount and taxes. - `itineraryDetails.itineraries.ticketType` (string, required) Indicates whether this itinerary will be a single or multi ticket Enum: "SINGLE", "MULTI" - `itineraryDetails.itineraries.policyInfos` (object) The policy details evaluated on the itinerary. - `itineraryDetails.itineraries.policyInfos.policies` (array) List of policies applied to the itinerary. - `itineraryDetails.itineraries.policyInfos.policies.id` (string, required) Policy id - `itineraryDetails.itineraries.policyInfos.policies.version` (string, required) version of the policy - `itineraryDetails.itineraries.policyInfos.policies.policyName` (string) Name of the policy applied. - `itineraryDetails.itineraries.policyInfos.policies.approvalType` (string) Enum: "HARD_APPROVAL", "SOFT_APPROVAL", "PASSIVE_APPROVAL" - `itineraryDetails.itineraries.policyInfos.policies.policyType` (string) Enum: "GLOBAL", "DEFAULT", "GROUP" - `itineraryDetails.itineraries.policyInfos.ruleResultInfos` (array) - `itineraryDetails.itineraries.policyInfos.ruleResultInfos.violationInfos` (array) - `itineraryDetails.itineraries.policyInfos.ruleResultInfos.violationInfos.predicateString` (string) - `itineraryDetails.itineraries.policyInfos.ruleResultInfos.violationInfos.predicate` (string) This contains the enum mentioning the policy rule which was violated. Enum: "UNKNOWN_PREDICATE_STRING", "MAX_FARE_PER_TRAVELLER_VIOLATION", "FARE_MORE_THAN_MINIMUM", "FARE_MORE_THAN_MEDIAN", "FARE_LESS_THAN_MEDIAN", "FARE_MORE_THAN_LLF", "MAX_FARE_PER_TRAVELLER_VIOLATION_INCLUDING_TAX", "MAX_FARE_PER_TRAVELLER_VIOLATION_EXCLUDING_TAX", "HOTEL_PAYMENT_OPTIONS_VIOLATION", "RAIL_BOOKING_WINDOW_GAP_VIOLATION", "RAIL_TRAVEL_CLASS_VIOLATION", "RAIL_TICKET_REFUNDABLE_VIOLATION", "RAIL_MAX_BOOKING_PRICE_VIOLATION_INCLUDING_TAX", "RAIL_MAX_BOOKING_PRICE_VIOLATION_EXCLUDING_TAX", "AIR_MAX_PRICE_MORE_THAN_LLF_VIOLATION_INCLUDING_TAX", "AIR_MAX_PRICE_MORE_THAN_LLF_VIOLATION_EXCLUDING_TAX", "HOTEL_RESTRICTED_KEYWORDS_VIOLATION", "RESTRICTED_LOCATION_VIOLATION", "FLIGHT_ADVANCE_BOOKING_WINDOW_DOMESTIC_VIOLATION", "FLIGHT_ADVANCE_BOOKING_WINDOW_INTERNATIONAL_VIOLATION", "FLIGHT_ADVANCE_BOOKING_WINDOW_VIOLATION", "ITINERARY_WITHIN_EVENT_TRAVEL_WINDOW", "HOTEL_IN_ALLOWED_HOTEL_LIST", "PAYMENT_ACCESS_VIOLATION", "AIRPORT_IN_ALLOWED_AIRPORT_LIST", "ITINERARY_TYPE_IS_NOT_IN_ALLOWED_BOOKING_TYPES", "PAYMENT_AIR_ADDON_VIOLATION", "MAX_HOTEL_BOOKING_PRICE_INCLUDING_TAX", "MAX_HOTEL_BOOKING_PRICE_EXCLUDING_TAX", "AIR_NUM_TRAVELERS_ALLOWED", "PREFERRED_VENDOR_VIOLATION", "SEAT_ADDON_VIOLATION", "BAGGAGE_ADDON_VIOLATION", "EARLY_BIRD_ADDON_VIOLATION", "WIFI_ADDON_VIOLATION", "RESTRICTED_BOOKING_VIOLATION", "HIGHEST_ALLOWED_CABIN_VIOLATION", "LOWEST_FARE_PER_HOTEL_PROPERTY_VIOLATION", "AIR_RESTRICTED_FARES_VIOLATION", "AIR_ANCILLARY_VIOLATION" - `itineraryDetails.itineraries.policyInfos.ruleResultInfos.violationInfos.expectedValue` (any) - `itineraryDetails.itineraries.policyInfos.ruleResultInfos.violationInfos.actualValue` (any) - `itineraryDetails.itineraries.policyInfos.ruleResultInfos.subViolationInfos` (array) In case of complex rules this will contain extra information as to how the rule was calculated. - `itineraryDetails.itineraries.policyInfos.ruleResultInfos.actions` (array) Followed actions if rule was satisfied else violated actions. - `itineraryDetails.itineraries.posInfo` (array) The point of sales which offer the itinerary. - `itineraryDetails.itineraries.posInfo.source` (string, required) The third party source for the point of sale Enum: "UNKNOWN_SOURCE", "SABRE", "TRAVEL_FUSION", "AVIA", "NDC", "TRAINLINE", "ATPCO_NDC", "FARELOGIX_NDC", "OFFLINE", "CONNEXUS", "ROUTEHAPPY", "AMADEUS", "GIATA", "QBR", "BCD", "QANTAS_HOTELS", "SOUTHWEST", "EXPEDIA", "HOTEL_HUB", "MARRIOTT", "CLEARTRIP", "KYTE", "GROUNDSPAN", "SABRE_NDC", "BOOKING_COM", "CARTRAWLER", "PREMIER_INN", "TRAVELODGE" - `itineraryDetails.itineraries.posInfo.posDescriptor` (string) The identifier for the point of sale. This would be the PCC for GDS bookings. Example: "6CA4" - `itineraryDetails.itineraries.publicFare` (object) The public fare attribute in case private fare is applied for any pax - `itineraryDetails.itineraries.allowedFopRules` (array) The payment method types applicable to the itinerary. - `itineraryDetails.itineraries.allowedFopRules.paymentItems` (array) - `itineraryDetails.itineraries.allowedFopRules.paymentItems.itemType` (string) Type of payment item eligible for this fop rule Enum: "SERVICE_FEE", "TRAVEL_TICKET", "SEAT", "BAGGAGE", "EARLY_BIRD" - `itineraryDetails.itineraries.allowedFopRules.paymentItems.fareComponent` (array) Enum: "BASE", "TAX" - `itineraryDetails.itineraries.allowedFopRules.amount` (object) Total amount for specified fare components - `itineraryDetails.itineraries.allowedFopRules.paymentRules` (array) - `itineraryDetails.itineraries.allowedFopRules.paymentRules.paymentSplitDetails` (any) - `itineraryDetails.itineraries.allowedFopRules.paymentRules.paymentSourceIds` (array) Example: ["f49d00fe-1eda-4304-ba79-a980f565281d"] - `itineraryDetails.itineraries.allowedFopRules.paymentRules.allowAddCard` (boolean) Whether to allow user to add a new card for the selected split payment. - `itineraryDetails.itineraries.allowedFopRules.paymentRules.splitCriterion` (object) Defines the criteria for splitting a payment - `itineraryDetails.itineraries.allowedFopRules.paymentRules.splitCriterion.accessType` (string) Access Type of the Payment Sources applicable for a portion of payment. Enum: "CENTRALISED", "PERSONAL", "APPLICATION", "TMC", "ITINERARY", "EVENT", "EVENT_TEMPLATE" - `itineraryDetails.itineraries.allowedFopRules.paymentRules.unusablePaymentSources` (array) List of payment sources that are not usable for this payment rule - `itineraryDetails.itineraries.allowedFopRules.paymentRules.unusablePaymentSources.id` (string, required) Unique identifier identifying this payment source Example: "f49d00fe-1eda-4304-ba79-a980f565281d" - `itineraryDetails.itineraries.allowedFopRules.paymentRules.paymentSourceConditions` (array) List of conditions for payment sources - `itineraryDetails.itineraries.fareAttributes` (object) The fare attributes applicable to the itinerary. - `itineraryDetails.itineraries.fareAttributes.isVoidable` (boolean) Designates whether the fare is voidable or not. - `itineraryDetails.itineraries.fareAttributes.holdDeadline` (object) Designates the dateTime until which the fare will be held (when a traveler places a hold on the fare). - `itineraryDetails.itineraries.fareAttributes.holdDeadline.iso8601` (string, required) Example: "2017-07-21T17:32" - `itineraryDetails.itineraries.fareAttributes.isNonVerifiedExchangeOffer` (boolean) Designates whether the fare is a non-verified exchange offer. For these fares, the exchange price guarantee is not provided by the supplier. - `itineraryDetails.flightData` (array) The set of flights and their details that are contained in this response. - `itineraryDetails.flightData.flightRef` (string) Unique ID for this flight in the response. Example: "flight_3" - `itineraryDetails.flightData.departureDateTime` (object, required) Departure date and time of the flight. - `itineraryDetails.flightData.arrivalDateTime` (object, required) Arrival date and time of the flight. - `itineraryDetails.flightData.origin` (object, required) The airport from which the flight departs (origin). - `itineraryDetails.flightData.origin.airportCode` (string) 3-letter code of the airport. Example: "WRA" - `itineraryDetails.flightData.origin.airportName` (string) Full name of the airport. Example: "Warder Airport" - `itineraryDetails.flightData.origin.cityName` (string) Name of the city in which the airport is located (or is nearest to). Example: "Werder" - `itineraryDetails.flightData.origin.countryName` (string) Name of the country in which the airport is located. Example: "Ethiopia" - `itineraryDetails.flightData.origin.countryCode` (string) 2-letter IATA country code associated with the airport. Example: "ET" - `itineraryDetails.flightData.origin.zoneName` (string) Name of the time zone associated with the airport. Example: "Africa/Addis_Ababa" - `itineraryDetails.flightData.origin.stateCode` (string) 2-letter IATA code for the state in which the airport is located. Example: "CA" - `itineraryDetails.flightData.destination` (object, required) The airport at which the flight arrives (destination). - `itineraryDetails.flightData.departureGate` (object) Departure gate and terminal. - `itineraryDetails.flightData.departureGate.gate` (string) Gate number Example: "1A" - `itineraryDetails.flightData.departureGate.terminal` (string) Airport terminal Example: "1" - `itineraryDetails.flightData.arrivalGate` (object) Arrival gate and terminal. - `itineraryDetails.flightData.marketing` (object, required) Marketing flight number. - `itineraryDetails.flightData.marketing.num` (string, required) Flight number. Example: "321" - `itineraryDetails.flightData.marketing.airlineCode` (string, required) Two-letter IATA airline code. Example: "AA" - `itineraryDetails.flightData.operating` (object, required) Operating flight number (for the airline which actually operates the flight). - `itineraryDetails.flightData.operationalDisclosure` (string) Operating airline name that has to be displayed to the user Example: "SKYWEST DBA UNITED EXPRESS" - `itineraryDetails.flightData.hiddenStops` (array) Any stops for refueling or boarding additional passengers. - `itineraryDetails.flightData.hiddenStops.airport` (object, required) The airport where the flight will make a stop (not a traditional layover stop). - `itineraryDetails.flightData.hiddenStops.arrivalDateTime` (object, required) The start date and time for the stop. - `itineraryDetails.flightData.hiddenStops.departureDateTime` (object, required) The end date and time for the stop. - `itineraryDetails.flightData.duration` (object) The duration of the flight (travel time). - `itineraryDetails.flightData.duration.iso8601` (string) Durations define the amount of intervening time in a time interval and are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n]S. The [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading zeros are not required. The capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced. P is the duration designator (for period) placed at the start of the duration representation. Y is the year designator. M is the month designator. W is the week designator. D is the day designator. T is the time designator. H is the hour designator. M is the minute designator. S is the second designator and can include decimal digits with arbitrary precision. Example: "PT19H55M" - `itineraryDetails.flightData.equipment` (object) The equipment or aircraft type used for the flight - `itineraryDetails.flightData.equipment.code` (string) Aircraft equipment code Example: "777" - `itineraryDetails.flightData.equipment.name` (string) The name of the flight aircraft type Example: "Boeing 737-800" - `itineraryDetails.flightData.equipment.type` (string) Code representing the type of the equipment Example: "N" - `paginationParams` (object) Pagination parameters for response. - `paginationParams.numResults` (integer, required) Total number of results in the paginated list. - `paginationParams.numPages` (integer, required) Total number of pages in the paginated list. - `metadata` (object) Metadata associated with the air search response. - `metadata.airlineInfo` (array) Metadata for all airlines available in the specific route. - `metadata.airlineInfo.airlineCode` (string, required) IATA code for airline. Example: "AA" - `metadata.airlineInfo.airlineName` (string, required) Airline name Example: "American Airlines" - `metadata.applicableAlliances` (array) Alliances which are applicable based on the airlines info Enum: "UNKNOWN_ALLIANCE", "STAR_ALLIANCE", "ONEWORLD", "SKYTEAM", "VANILLA_ALLIANCE", "U_FLY_ALLIANCE", "VALUE_ALLIANCE" - `metadata.legBylegPricing` (boolean) Flag indicating whether itineraries are priced on a leg-by-leg basis (instead of the overall itinerary pricing, which is the default). - `metadata.enableFareCategories` (array) Fare categories that need to be used for the given air search - `metadata.isExpressSearch` (boolean) Flag indicating whether the search was performed as an express search. ## Response 401 fields (application/json): - `debugIdentifier` (string) Link to debug the error internally. - `errorMessages` (array) - `errorMessages.errorCode` (string) Error code to identify the specific errors. - `errorMessages.message` (string) Message containing details of error. - `errorMessages.errorParameters` (array) Error message parameters. - `errorMessages.errorParameters.name` (string) Parameter name - `errorMessages.errorParameters.value` (string) Parameter value - `errorMessages.errorDetail` (string) More details about the error. ## Response 403 fields (application/json): - `debugIdentifier` (string) Link to debug the error internally. - `errorMessages` (array) - `errorMessages.errorCode` (string) Error code to identify the specific errors. - `errorMessages.message` (string) Message containing details of error. - `errorMessages.errorParameters` (array) Error message parameters. - `errorMessages.errorParameters.name` (string) Parameter name - `errorMessages.errorParameters.value` (string) Parameter value - `errorMessages.errorDetail` (string) More details about the error. ## Response 404 fields (application/json): - `debugIdentifier` (string) Link to debug the error internally. - `errorMessages` (array) - `errorMessages.errorCode` (string) Error code to identify the specific errors. - `errorMessages.message` (string) Message containing details of error. - `errorMessages.errorParameters` (array) Error message parameters. - `errorMessages.errorParameters.name` (string) Parameter name - `errorMessages.errorParameters.value` (string) Parameter value - `errorMessages.errorDetail` (string) More details about the error.