AirPrice Reference Payload API Reference
POST |
price/offers/buildfromcatalogproductofferings Base path: Pre-production https://api.pp.travelport.com/11/air/ Production https://api.travelport.com/11/air/ |
Related Content: Air Pricing Guide, AirPrice Full Payload API Reference
The AirPrice API confirms pricing on air search results. While air pricing is generally an optional but recommended step, it is required for low cost carriers and some NDC carriers.
This API reference documents the reference payload request, which sends identifiers from a response from the Search API.
Request
Also see Authorization and Common Headers.
Query Parameters
None.
Request Body
Basic AirPrice Request - Reference Payload
The reference payload sends identifiers as mapped below from the Search response. Use this same payload to price from a Next Leg Search response.
Object |
Description |
Required/Optional |
---|---|---|
OfferQueryBuildFromCatalogProductOfferings |
Top level object. |
Required |
|
Provides pricing flexibility around class of service. If not sent, the response returns fares only in the requested class of service. Supported values:
Optionally, you can request the lowest fare in a specific cabin by combining LowFareFinder with a cabin preference: Send lowFareFindInd set to true with CabinPreference set to the desired cabin class. Note that when requesting brand attributes with lowFareFindInd set to true, AirPrice uses only the brand tier (and any other pricing modifiers) to find the lowest fare within a brand tier regardless of class of service. |
Optional |
|
Return brand attributes for branded fares. See Brand Pricing in the Air Pricing Guide. Supported values:
|
Optional |
|
AirPrice 23.11.24 and later.
Boolean. Set to true to verify availability for the requested number of passengers in a specific class of service at the time of the price request. If sent with false or not sent, AirPrice may return upsell offers with no availability in the requested class of service. If there are fewer seats than requested passengers available in that class of service, AirPrice does not return any offers and instead returns the error message BOOKING CLASS/PREFERENCE NOT AVAIL CHECK AVAILABILITY. This reduces failures at the Add Offer and Workbench Commit steps. Supported for both the reference and full payload responses. GDS only; not supported for NDC, as NDC carriers already validate inventory at pricing Supported values:
|
Optional; default is false |
|
Returns fare rules in the price response. Use not recommended; send the Standalone Fare Rules request instead. |
Optional; not recommended |
BuildFromCatalogProductOfferingsRequest |
Top level object for reference identifiers from the Search response. Includes CatalogProductOfferingsIdentifier, CatalogProductOfferingSelection, and, optionally, PassengerCriteria. |
Required |
|
AirPrice 23.11.25 and later. GDS only, not supported for NDC (NDC carriers already validate inventory at pricing).
Boolean. Set to true to verify availability for the requested number of passengers in a specific class of service at the time of the price request. This indicator causes AirPrice to book the seats and then release them. If any or all segments are not bookable, AirPrice returns the message The air segments are not bookable along with the dates and city pairs of the segments that are not bookable, per the following example. This indicator can help reduce sell failures at booking by alerting of insufficient availability. Supported values:
Because this indicator temporarily affects seat availability, recommended best practice is to use validateInventoryInd above instead.
With AirPrice 23.11.27 and later, sending reCheckInventoryInd=true ensures that AirPrice performs the same check for any connecting flights, as returned in the preceding Search response with a value of true in FlightSegment/boundFlightsInd.
Show Example error response for non-bookable segments
Other errors may be returned:
Some airlines have revenue management applications that monitor for high volumes of ‘sell/ignore’ transactions for inventory.
Regardless of pricing results, air fares and inventory are only guaranteed by airlines when ticketed and paid for.
|
Optional; default is false |
CatalogProductOfferingsIdentifier |
Top level object for transaction identifier from the Search response. Includes Identifier object. CatalogProductOfferings/Identifier is not returned in the initial Search response if caching is not invoked with offersPerPage in the initial Search request. Without caching, any subsequent reference payload request to those search results will fail.
|
Required |
|
Top level object. Includes value. |
Required |
|
Sends the transaction identifier from the Search, Next Leg Search, or Flight Specific Search response in CatalogProductOfferings/Identifier/value |
Required |
Array. Defines the type of passenger to price for. Send one PassengerCriteria for each passenger type code (PTC). May include the optional CustomerLoyalty object. |
Optional |
|
|
String. The passenger type code for the passengers on the itinerary. Common PTCs are:
See the Tools page to download a full list of PTCs. For multiple passenger pricing for NDC on Qantas, Qantas supports only these PTCs: ADT, CHD, CNN, INF. Sending any other PTC may result in an error at ticketing.
|
Optional |
|
Number. The number of passengers with this PTC. |
Optional |
|
Number. The age of the passenger. Notes on PTC and age
|
Optional |
CustomerLoyalty |
Optional object for sending customer loyalty information, such as for a frequent flyer program. If CustomerLoyalty is sent in the Search request, it must also be sent in the AirPrice request and the Add Traveler request. Because some carriers validate frequent traveler data through the workflow, failing to send the same CustomerLoyalty details, even if invalid, may cause a booking failure. If an invalid number is sent, the response returns the warning message M INVALID FQTV NAME OR NUMBER - {carrier code} and the JSON APIs cache the invalid number to prevent a potential booking failure.
|
Optional |
CatalogProductOfferingSelection |
Top level object for reference identifiers. |
Required |
CatalogProductOfferingIdentifier |
Top level object for offer identifier from the search response. Includes Identifier object. |
Required |
|
Top level object. Includes value. |
Required |
|
Sends the offer identifier from the Search, Next Leg Search, or Flight Specific Search response in |
Required |
ProductIdentifier |
Top level object for product identifier from the search response. Includes Identifier object. |
Optional |
|
Top level object. Includes value. |
Optional |
|
Optional |
Optional |
Optional object to send the BIN of the credit card to be used for payment. Sending the BIN returns OB fees in the response, which are ticketing and form of payment (FOP) fees, including credit card fees. Returned in an instance of Price/PriceBreakdown/Fees/Fee with a feeCode of OB. Includes IssuerIdentificationNumber. |
Optional |
|
|
String, 6 to 8 byte number. Send the BIN of the credit card to be used for payment. |
Required if PaymentCriteria sent |
PricingModifiersAir |
Optional pricing modifiers. See PricingModifiersAir in the table below. |
Optional |
FareRuleCategory |
Optional enumeration used when requesting structured fare rules. For GDS, using the Standalone Fare Rules API is recommended instead. See Fare Rules Guide. Structured fare rules are not supported for NDC; do not send for NDC. |
Optional; use not recommended |
CabinPreference |
Array. Requests a fare based on the cabin class. Only one cabin preference type is allowed per request, but there is no limit to the number of cabins that can be sent. If CabinPreference was sent in the Search request, it is cached and sent with the AirPrice reference payload request. If you send CabinPreference in the AirPrice request, all cached modifiers are discarded and only the modifiers sent in the AirPrice request are used.
Can combine with lowFareFinderInd set to true to return lowest fare in the requested cabin or cabins. When using CabinPreference and lowFareFindInd: If both CabinPreference and a class of service are sent, class of service is ignored.
If CabinPreference is sent without a class of service, the response returns the lowest fare in the cabin requested. If that cabin is not available, the response may upgrade or downgrade to a difference cabin. If a different cabin than requested is returned, the response returns the message "One or more sectors might be in a different Cabin Class from the Cabin Class requested."
If lowFareFinderInd = "false” and CabinPreference are sent in the request, the preferred cabin is ignored and the message "Preferred Cabin is Ignored" is returned.
If CabinPreference is set to All, no cabin preference is applied.
|
Optional |
|
String. Type of cabin preference. Supported values are (no default):
|
Required if CabinPreference sent |
|
String. Space-delimited list of cabins. Supported values are (no default):
Many carriers use Business and First as the same cabin. If the request is for Business and only First is available, the response returns only First and the warning message "One or more sectors might be in a different Cabin Class from the Cabin Class requested."
Some carriers do not support lowFareFinderInd with Premium First cabin class.
|
Required if CabinPreference sent |
CustomResponseModifiersAir |
Object. Sends additional modifiers. May include BrandAttributeInclusion. |
Optional |
|
Boolean. Sets whether to return unbundled fares:
AirPrice 23.11.28 and later. GDS only, not supported for NDC.
|
Optional Default is false |
|
Boolean. Indicator to return flight amenities from ATPCO RouteHappy data:
If requested, amenities are returned in ReferenceListAmenity. AirPrice 24.11.38.1 and later.
|
Optional |
BrandAttributeInclusion |
Object. Supports returning only information about the brand attributes specified in Classification below and does not return any other brand attributes for those fares. The specified brand attributes returned may be included, chargeable, or not offered. AirPrice 23.11.28 and later.
|
Optional |
|
String. Send one or more of the following values to return information about only the specified attributes. Fares may include other attributes but information about them is not returned. Supported values:
May include AdditionalClassification. |
Required if BrandAttributeInclusion sent |
|
String. Can be sent to filter out the specified additional brand attributes. Supported values:
|
Optional |
PricingModifiersAir (optional pricing modifiers)
Object |
Description |
Required |
---|---|---|
PricingModifiersAir |
Object for optional journey modifiers. |
Optional |
|
AirPrice 24.11.31 and later, reference payload only. GDS only, not supported for NDC.
Boolean. Send as true when pricing a split ticketing itinerary. which includes two one-way offers. The AirPrice request must send offers that are identified in the Search response with CombinabilityCode j0; the value j0 identifies those offers as one-way outbound and one-way inbound split ticketing offers. A combination of j0 and any non-j0 value offer returns the error message Split Pricing functionality not supported for this combination. Split ticketing is available only in the Search, AirPrice, and Fare Rules APIs, and for customers specifically provisioned for split ticketing. Split ticket itineraries cannot yet be booked or ticketed.
If your account is not configured for split ticketing, sending includeSplitPaymentInd returns the error message Split Pricing functionality not supported.
|
Optional |
|
String. Send the currency type to return if you want to override the default currency specified with your PCC. For a list of currency codes, see the Universal API Reference Data file linked from Tools. |
Optional |
SellCity |
GDS only, not supported for NDC.
String. The IATA location code for the city. Overrides the sell city of the requester to specify an alternate sale location and return pricing based on that location. Note that the response returns pricing in the local currency for the specified sell city, not the currency for which your PCC is provisioned. |
Optional |
TicketCity |
GDS only, not supported for NDC.
String. The IATA location code for the city. Overrides the ticketing city of the requester to specify an alternate ticket location and return pricing based on that location. Note that the response returns pricing in the local currency for the specified ticket city, not the currency for which your PCC is provisioned. |
Optional |
TicketingPCC |
GDS only, not supported for NDC.
String, 2-10 characters supported. Overrides the ticketing PCC associated with your account to specify an alternate PCC and return pricing based on that PCC. (PCC is the pseudo city code; a travel provider's identification code for the JSON APIs, provisioned from Travelport.) |
Optional |
PricingPCC |
GDS only, not supported for NDC.
String, 2-10 characters supported. Use to send a faring PCC for which a selective access or code group agreement exists between that PCC and the PCC associated with your account. The following combinations of PricingPCC and FareSelection/fareType=PrivateFaresOnly (see immediately below) return results as follows:
|
Optional |
ManualFareAdjustment |
AirPrice 24.11.37 and later; not supported for Standalone Price.
GDS only, not supported for NDC.
Send to manually adjust the base fare amount on all fares for a specific PTC. You can increase or decrease the base fare by either an amount or a percentage. Send with @type value ManualFareAdjustmentDiscount to decrease the base fare. Send with @type value ManualFareAdjustmentIncrease to increase the fare. If the PCC currency and the country of origin currency are different, then the amount or percentage is applied to the filed amount base fare that is converted into the PCC currency.
Show Example excerpt
The following PricingModifiersAir excerpt sends one instance of ManualFareAdjustment that discounts the ADT fare by 20%, and another instance that increases the CHD fare by the amount of 50.
|
Optional |
|
Send the PTC or PTCs to be increased or decreased. This increases or decreases the fare for all passengers with the PTC/s. |
Required if ManualFareAdjustment is sent |
|
Send to adjust the base fare for the specified PTC/s by the percentage sent in Percent as follows:
|
Either AmountPercentPercent or AmountPercentAmount is required if ManualFareAdjustment is sent |
|
Send to adjust the base fare for the specified PTC/s by the amount sent in Amount as follows:
|
Either AmountPercentPercent or AmountPercentAmount is required if ManualFareAdjustment is sent |
FareSelection |
Object. Requests the return of fare types including private fares (negotiated), public fares (published), or net fares (consolidator fares, or any negotiated wholesale price that is further marked up for sale to customers). |
Optional |
|
String. Supported values:
The response identifies the type of fare returned for each Product in PassengerFlight/FlightProduct @fareType. Possible values in the response are AirlinePrivateFare, AgencyPrivateFare, NetFare, or PublicFare. Includes FareSelectionDetail. |
Optional |
|
IATA code for a carrier to override the default validating carrier. |
Optional |
FareSelectionDetail |
Object to request fares with specific restrictions. Not supported for NDC. No NDC content is returned if any of the following are sent with true.
The response does not currently return any indicators about these conditions. |
Optional |
|
Boolean. true prevents the return of fares that require advance purchase. Default is false. |
Optional |
|
Boolean. true prevents the return of fares that require a maximum stay. Default is false. |
Optional |
|
Boolean. true prevents the return of fares that require a minimum stay. Default is false. |
Optional |
|
Boolean. true prevents the return of fares that are not fully refundable. Default is false. |
Optional |
OrganizationInformation
|
Object. Includes OrganizationIdentifier. |
Optional |
OrganizationIdentifier
|
Array. Send one or more account codes to return negotiated fares for your PCC. The response returns an instance of TermsAndConditions/OrganizationInformation/OrganizationIdentifier for each account code sent. AirPrice 23.11.27.1 and later. With this update, when FareSelection/fareType is set to PrivateFaresOnly and an account code is sent in OrganizationIdentifier, AirPrice ignores the account code. Instead, AirPrice returns any private fares available for that market and a booking code for your PCC. This prevents the return of an error message when no specific fare has been filed for that account code.
|
Optional |
|
String. Always send with a value of Account.
|
Required with OrganizationIdentifier |
|
String. The account code to apply. |
Required with OrganizationIdentifier |
|
String. The IATA code for the airline on which the account code is applicable. |
Required with OrganizationIdentifier |
|
AirPrice 23.11.29 and later. GDS only; not supported for NDC. Not supported in Standalone Price.
Boolean. Optional indicator to limit the fares returned to only fares filed for that account code. Send set to true, along with one or more account codes in OrganizationIdentifier/value per above. If sending multiple account codes, send each instance with accountCodeFaresOnlyInd set to true. If not sent the default is false.
Note the following when also requesting private fares (FareSelection/fareType=PrivateFaresOnly):
Note the following when also requesting net fares (FareSelection/fareType=NetFaresOnly):
|
Optional |
TaxExemption |
AirPrice 23.11.25 and later.
GDS only, not supported for NDC.
Marks as tax exempt either all taxes, only specific tax codes, or all taxes in specific countries. Send either allTaxesExemptInd orthe key value pairs countries and taxCodes per below. TaxExemption supports up to nine values for countries, or nine values for taxCodes, or up to nine values in countries and taxCodes combined. If sent, the response returns any exempt taxes with exemptInd as true and the value as 0. |
Optional |
countries |
Array. One or more two-letter alphanumeric codes for the countries in which the taxCodes sent are tax exempt. |
Optional |
taxCodes |
Array. One or more two-letter alphanumeric tax codes to mark as exempt. |
Optional |
|
Boolean. Send with true to mark all taxes in the response as exempt. Do not send if false; instead, use countries and taxCodes to specify which taxes to exempt. |
Optional |
Response
The AirPrice response is the same for both reference and full payload requests. The basic response format below is also returned by Standalone Price, except that Standalone Price does not return terms and conditions (TermsAndConditions object).
The tables in this section break down the AirPrice response into several of its objects to list all information in each. See Air Pricing Guide for response layout diagrams and description.
Top-level Response Objects
Object | Description |
---|---|
OfferListResponse |
Top level object. Includes OfferID and Identifier objects. Key value pairs:
|
Identifier |
Internal identifier for the price response. Key value pair:
When sending Identifier values in subsequent Add Offer requests, you must remove the _PC appended to the end of the value in the AirPrice response; e.g., change value": "93d2091d-3d04-48ab-8091-6ae1525f02ea_PC" to value": "93d2091d-3d04-48ab-8091-6ae1525f02ea"
|
OfferID |
Top level object for pricing information. See OfferID table below. |
OfferID
OfferID returns pricing details for the offer.
Object | Description |
---|---|
OfferID |
Top level object for offer details. Kay value pair:
Includes Identifier, Product, Price, and TermsAndConditionsFull. |
OfferID/Identifier |
Internal identifier for the offer. Key value pairs:
|
Product |
Array. Lists the flight or flights for one leg of the itinerary. Repeats for additional leg or legs. Key value pairs:
Includes FlightSegment and PassengerFlight objects. |
FlightSegment |
Array. One instance for each segment in the product. Key value pairs:
Includes Flight object. |
Flight |
Array. One instance for each flight in the FlightSegment. A direct flight option has one Flight object while connecting flights have a Flight object for each flight on the leg. Key value pairs:
Includes the Departure and Arrival objects. |
Departure |
Departure details for this leg. Key value pairs:
|
Arrival |
Arrival details for this leg. Key value pairs:
|
GDS only; not supported for NDC.
Returned to assist in troubleshooting. Possible values and definitions are:
|
|
PassengerFlight |
Array. Returns PTC and class/fare information for each PTC requested. One instance for each PTC requested. Key value pairs:
Includes FlightProduct. |
FlightProduct |
Key value pairs:
If branded fares are returned, includes the Brand object. |
Brand |
Returned for branded fares. Key value pair:
Includes Identifier object. If brand details were requested, those are returned and consolidated in ReferenceList/ReferenceListBrand per below. In this case Brand does not return the name or Identifier objects but instead returns only BrandRef, which matches to the brand identifier (e.g., b1) in ReferenceListBrand.
|
Brand/Identifier |
Internal identifier for the brand. Key value pairs:
|
Price |
See Price object table below. |
TermsAndConditionsFull |
See TermsAndConditionsFull table below.
|
CustomerLoyaltyCredit |
Returned only if CustomerLoyalty sent in the request, CustomerLoyaltyCredit returns the information sent in the request and other details including the miles earned for this flight. Includes the ProductRef, CustomerLoyalty, Earned, and Status objects. |
FareRuleInfo |
When fare rules are requested with FareRuleType, the response returns fare rules in an array of objects in FareRuleInfo. Key value pairs:
May include flightSegmentIDList and FareRuleText objects. Fare rules should be requested in the price response only for NDC. For fare rules for GDS, use the Standalone Fare Rules API. See Fare Rules Guide.
|
flightSegmentIDList |
Returned only when fare rules are requested. Identifies the segment or segments to which the rule applies. Matches to Offer/Product @id. |
FareRuleText |
Returned only when fare rules are requested. An array of FareRuleText objects may be returned, each providing the name and text of the rule itself:
|
Price object table
Object | Description |
---|---|
Price |
Returns price details for the instance of Offer in which it is returned. Key value pair:
Includes Base, TotalTaxes, TotalFees, TotalPrice, CurrencyCode, and PriceBreakdown objects. Price is a common object in the model. Not all objects in this table may be returned in this specific response.
These objects apply only to airfare prices. In a Reservation Retrieve, Price objects for other types of offers on a booking, such as seats and ancillaries, generally include only the CurrencyCode, Base, and TotalPrice objects.
|
CurrencyCode |
The currency in which the price is returned. Unless changed in the request, the currency is the default associated with your provisioned PCC from Travelport. Key value pairs:
|
Base |
Number. Base price for all passengers with this PTC before taxes and fees. |
TotalTaxes |
Number. Sum of all taxes for this price. |
TotalFees |
Sum of all fees in this price. |
TotalPrice |
Total price Base price for all passengers with this PTC including base cost, taxes, and fees. |
PriceBreakdown |
Array. Price breakdown for fare by PTC, one instance returned for each PTC type. Key value pairs:
Includes the Amount object. For GDS may return FiledAmount, FareCalculation, and/or Commission per below. For NDC may return Discount per below. AirReservation 24.11.37.8 and later. In Reservation Retrieve, includes the TravelerRefs object to identify the traveler associated with this instance of PriceBreakdown.
Each PriceBreakdownAir object returns pricing for one passenger of a single PTC. On multi-passenger itineraries, refer to TotalPrice for a total price for the itinerary. |
Amount |
Includes CurrencyCode (same as listed above), Base, Taxes, Fees, and Total objects. |
Base |
Base cost for one passenger of this PTC type. |
Includes TotalTaxes (sum of all individual taxes) and an array of Tax objects for individual taxes. |
|
|
Sum total of all taxes for one passenger of this PTC type. |
|
Array of Tax objects for individual taxes. Key value pairs:
|
Fees or FeesDetail |
Provides breakdown of fees, if applicable. Includes TotalFees object to return sum of any fees for that PTC. May include array of Fee objects to break down individual fees. |
|
Array for individual fees, if applicable. Key value pairs:
If OB-T fees are part of the price, those are detailed here. OB-T fees are ticketing fees independent of the form of payment. They are defined by the carrier and can be based on any of multiple criteria. |
Total |
Total of base cost and all fees and taxes for one passenger of this PTC type. |
TravelerRefs |
AirReservation 24.11.37.8 and later.
Returned only in Reservation Retrieve to identify the traveler associated with this instance of PriceBreakdown in case of multiple offers on the booking. |
NetBaseAmount |
Net ticket data (NTD) is returned in the AirPrice, AirReservation, Exchange Search, and Reservation Retrieve responses for any fare that has a private fare component (fareType is AgencyPrivateFare). When NTD is returned, TermsAndConditionsFuill includes FareGuaranteePolicy to return the fare calculation indicator for the fare. When NTD is returned, PriceBreakdown may include NetBaseAmount. Key value pairs:
Because NDC does not support net fares, NTD is not supported for NDC.
|
FiledAmount |
AirPrice 24.11.37 and later. Returned in AirPrice only. GDS only; not supported for NDC.
Returned when the origin currency is not the same as the PCC currency to show the currency in which the base fare has been filed. The fare returned in PriceBreakdown/Amount (above) is the equivalent currency in the PCC currency. Key value pairs:
|
FareCalculation |
Returned in AirPrice, Reservation Retrieve, and Exchange Search. GDS only; not supported for NDC.
For each PTC, when available, FareCalculation returns the fare calculation ladder for all public and private fare types filed by an agency or an airline. Returned as a string with unlimited bytes. |
Surcharges |
Surcharges is returned in the Search response if surcharges apply to this offer. Includes the following: approximateInd: Surcharge amounts are approximate if true. TotalSurcharges: Monetary amount of surcharge total, up to 4 decimal places. Includes Surcharge object. Not supported for NDC. NDC does not return surcharges.
Surcharges can be omitted from the Search response with the optional excludeSurchargesInd.
|
Surcharge |
Returned in Surcharges. Key value pairs: currencyCode: Currency code surcharges are returned in. purpose: Possible values:
decimalPlace: Number of decimal places in currency. value: Amount of surcharge. |
Returned only in the responses for the Search APIs and AirPrice. GDS only; not supported for NDC. Any commission filed by an airline in a CAT35 fare is returned in PriceBreakdownAir/Commission. The amount is either a percent of the fare component (@type CommissionPercent and the Percent object) or an amount (@type CommissionAmount with Amount @value). |
|
Discount |
Returned only in search responses. NDC only; not supported for GDS.
Returned for a fare discounted off the published price, such as a promotional discount. Not returned for privately negotiated discounts such as private fares. Key value pairs: description: Text description of this discount. currencyCode: Currency code discount is returned in. decimalPlace: Number of decimal places in the currency the discount is returned in. value: Actual amount of the discount. |
TermsAndConditionsFull object table
Object | Description |
---|---|
TermsAndConditionsFull |
Provides applicable terms and conditions. Key value pairs:
May include BaggageAllowance, ValidatingAirline, TicketingAgency, PaymentTimeLimit, Penalties, TourCodes, TextBlock, and FareRuleInfo objects. TermsAndConditionsFull is a common object in the model. Not all objects in this table may be returned in this specific response.
This table lists objects returned in TermsAndConditionsFull @type TermsAndConditionsFullAir. In a Reservation Retrieve, other types of offers on a booking, such as seats and ancillaries, return TermsAndConditionsFull with @type TermsAndConditionsFullAncillary, which generally returns only Application Limit with a value that indicates the unit represented by this quantity, see Ancillary Shop for supported values.
|
Identifier |
Internal identifier for this set of terms and conditions. Key value pairs:
|
ExpiryDate |
The date and time until which the offer is valid. |
TextBlock |
Includes TextFormatted object. |
TextFormatted |
Array. Returns free text terms and conditions. |
PaymentTimeLimit |
Returned in responses for Search, AirPrice, Exchange Search, Workbench Commit, and Reservation Retrieve responses.
The local (per the point of sale) date and time by which the offer must be ticketed. |
ExpiryDate |
Returned in the AirReservation 22.11.20 and later responses for Booking Workbench Commit and Reservation Retrieve.
The date and time until which the offer is valid. |
BaggageAllowance |
Array. If returned by the carrier, details about a specific type of baggage, or if a baggage embargo is in effect. The baggage allowance is displayed by baggage type with associated conditions (max pieces, weight, and unit of weight) and charges (fee with currency code), if applicable. Key value pairs, returned as available:
May include BaggageItem. In the Reservation Retrieve request, you can send the optional viewBaggageDetailInd query parameter (GDS only) with true to include additional baggage details in the response in TermsAndConditionsFull/BaggageAllowance.
|
BaggageItem |
As returned by the carrier, baggage allowance details. Key value pairs:
May include Measurement, BaggageFee, Text objects. |
BaggageFee |
For paid baggage, cost for this item of baggage:
|
Text |
Text string providing measurements for the allowed baggage dimension; for example, UPTO50LB/23KG AND UPTO62LI/158LCM. |
Measurement |
Measurement details for BaggageItem as applicable and available. Key value pairs:
Baggage measurements are not always returned. NDC returns quantity and measurement details for FirstCheckedBag, SecondCheckedBag and CarryOn, when returned by the NDC carrier. NDC returns measurements in structured format in the Search response when the NDC carrier returns them as structured; otherwise, the measurements are returned as a text string in the Text object above. For GDS baggage measurements are returned in Text. |
FareGuaranteePolicy |
Net ticket data (NTD) is returned in the AirPrice, AirReservation, Exchange Search, and Reservation Retrieve responses for any fare that has a private fare component (fareType is AgencyPrivateFare). When NTD is returned, TermsAndConditionsFuill includes FareGuaranteePolicy to return the fare calculation indicator for the fare. Includes Code object. Because NDC does not support net fares, FareGuaranteePolicy is not returned for NDC.
|
Code |
Returned in FareGuaranteePolicy to identify the quote type, if that information was returned by the airline. Key value pairs:
|
ValidatingAirline |
Array. Each instance lists in a nested ValidatingAirline object a carrier on which the ticket is issued. |
TicketingAgency |
If TicketingPCC was sent in an AirPrice request to override the default ticketing agency, TicketingAgency returns the PCC of the overriding agency. If no override request was made, TicketingAgency returns the default PCC. GDS only; not supported for NDC. Includes Code and ProductRef objects. |
Code |
PCC of the overriding or default ticket agency. |
ProductRef |
Product references to which this ticketing agency PCC applies. |
PricingAgency |
If PricingPCC was sent in an AirPrice request to override the default pricing agency, PricingAgency returns the PCC of the overriding agency. Not returned if no override request was made. GDS only; not supported for NDC. Includes Code object. |
Code |
PCC of any overriding pricing agency. |
Result
Result returns any error and warning messages. See Error Messages for a listing.
ReferenceList
AirPrice returns ReferenceList only when either or both brand details were requested with returnBrandedFaresInd or flight amenities were requested with includeFlightAmenitiesInd.
Object | Description | |
---|---|---|
ReferenceList |
Top level object for the consolidated information referenced in an offer. Returns ReferenceListBrand if brand details were requested and ReferenceListAmenity if flight amenities were requested. |
ReferenceList/ReferenceListBrand
AirPrice returns ReferenceListBrand only when brand details are requested with returnBrandedFaresInd. See Brand Pricing in the Air Pricing Guide for more details.
Object | Description |
---|---|
ReferenceListBrand |
Returns an array of ReferenceListBrand objects that match to brand ids returned in other places in the response. For more about brands see Branded Fares and Upsells in the Air Shopping Guide. |
Brand (ReferenceListBrand/Brand) |
Array. Each instance provides details for one BrandRef id. Key value pairs:
Includes Identifier and BrandAttribute objects. |
Identifier (ReferenceListBrand/Brand/Identifier) |
Brand identifier information. Key value pairs:
|
BrandAttribute |
Array of features that are included, chargeable, or not offered for this brand. Contains one or more instances of the two paired key value pairs classification and inclusion:
The following subattributes are returned if filed by the carrier; AirPrice 24.11.30 and later:
|
AdditionalBrandAttribute |
Array of additional features that are included or chargeable for this brand. An additional brand attribute is returned only for brands that have that attribute associated with it. Contains one or more instances of the two paired key value pairs classification and inclusion:
The following subattributes are returned if filed by the carrier; AirPrice 24.11.30 and later:
|
ReferenceList/ReferenceListAmenity
AirPrice returns ReferenceListBrand only when flight amenities were requested with includeFlightAmenitiesInd.
Object | Description |
---|---|
ReferenceListAmenity |
If flight amenities were requested (includeFlightAmenitiesInd=true), the response returns ReferenceLIstAmenity to list all available amenities across all flights. Flight amenities are provided by ATPCO as RouteHappy data. ATPCO flight amenities do not support the Premium Business cabin. If the fare is in Premium Business, Travelport's system does not look for flight amenities. All other cabins are supported.
If flight amenity data is not available, the warning message FLIGHT AMENITY DATA IS TEMPORARILY UNAVAILABLE is returned in the Result object.
This could be due to a time out or some other issue while accessing the flight amenities data.
|
Amenity |
Array. One instance for each specific amenity. Key value pairs:
Includes Category and Text objects. |
Category |
String. The flight amenity category. Flight amenity categories are as follows and may include the following data as provided by ATPCO:
|
Text |
A description of the amenity in the following key value pairs:
|
Example Request
The following request includes frequent flyer details in the CustomerLoyalty object.
{
"OfferQueryBuildFromCatalogProductOfferings": {
"BuildFromCatalogProductOfferingsRequest": {
"@type": "BuildFromCatalogProductOfferingsRequestAir",
"CatalogProductOfferingsIdentifier": {
"Identifier": {
"value": "3727fcf1-4e0a-4807-90be-f965baa3f8a4"
}
},
"PassengerCriteria": [
{
"@type": "PassengerCriteria",
"number": 1,
"passengerTypeCode": "ADT",
"CustomerLoyalty": [
{
"supplier": "1925825570",
"cardHolderName": "MEMBER LOYTEST"
}
]
},
{
"@type": "PassengerCriteria",
"number": 1,
"passengerTypeCode": "CHD",
"CustomerLoyalty": [
{
"supplier": "1295036",
"cardHolderName": "JORDAN LOYTEST"
}
]
}
],
"CatalogProductOfferingSelection": [
{
"CatalogProductOfferingIdentifier": {
"Identifier": {
"value": "UA_CPO0"
}
},
"ProductIdentifier": [
{
"Identifier": {
"value": "UAp0"
}
}
]
}
]
}
}
}
The following request includes the SellCity pricing modifier, supported only for GDS.
{
"OfferQueryBuildFromCatalogProductOfferings": {
"BuildFromCatalogProductOfferingsRequest": {
"@type": "BuildFromCatalogProductOfferingsRequestAir",
"CatalogProductOfferingsIdentifier": {
"Identifier": {
"value": "bfb9388c-8a72-49aa-af37-7de740611a0f"
}
},
"CatalogProductOfferingSelection": [
{
"CatalogProductOfferingIdentifier": {
"Identifier": {
"value": "o1"
}
},
"ProductIdentifier": [
{
"Identifier": {
"value": "p0"
}
}
]
}
]
},
"PricingModifiersAir": {
"@type": "PricingModifiersAir",
"SellCity": "DEN"
}
}
}
The following request includes PaymentCriteria to request the return of any OB fees charged based on credit card BIN.
{
"OfferQueryBuildFromCatalogProductOfferings": {
"BuildFromCatalogProductOfferingsRequest": {
"@type": "BuildFromCatalogProductOfferingsRequest",
"CatalogProductOfferingsIdentifier": {
"Identifier": {
"value": "d97453a7-3c73-4db9-912a-b9e6802db910"
}
},
"CatalogProductOfferingSelection": [
{
"CatalogProductOfferingIdentifier": {
"Identifier": {
"value": "UA_CPO0"
}
},
"ProductIdentifier": [
{
"Identifier": {
"value": "UAp28"
}
}
]
}
]
},
"PaymentCriteria": {
"IssuerIdentificationNumber": "498765"
}
}
}
The following request includes the includeSplitPaymentInd indicator to request pricing for split ticketing offers from a previous Search response.
{
"CatalogProductOfferingsQueryRequest": {
"CatalogProductOfferingsRequest": {
"@type": "CatalogProductOfferingsRequestAir",
"offersPerPage": 999,
"contentSourceList": [
"GDS"
],
"maxNumberOfUpsellsToReturn": 0,
"PassengerCriteria": [
{
"number": 1,
"passengerTypeCode": "ADT"
},
{
"number": 1,
"passengerTypeCode": "INF"
}
],
"SearchCriteriaFlight": [
{
"departureDate": "2023-10-23",
"From": {
"value": "SYD"
},
"To": {
"value": "CHC"
}
},
{
"departureDate": "2023-10-27",
"From": {
"value": "CHC"
},
"To": {
"value": "SYD"
}
}
],
"PricingModifiersAir": {
"includeSplitPaymentInd": true
}
}
}
}
Example Response
The response is the same for both full payload and reference payload requests. All examples below could be returned for either request.
Base pricing response
In the following example, neither brand details nor flight amenities were not requested and the ReferenceList object is not returned.
{
"OfferListResponse": {
"@type": "OfferListResponse",
"transactionId": "fc8760e8-3f2b-6275-b1e9-10e4444ad595:p",
"OfferID": [
{
"@type": "Offer",
"id": "o0",
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT3H4M",
"id": "p0",
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "s1",
"sequence": 1,
"Flight": {
"@type": "FlightDetail",
"distance": 1207,
"duration": "PT3H4M",
"carrier": "UA",
"number": "2415",
"operatingCarrier": "UA",
"operatingCarrierName": "United Airlines Inc",
"equipment": "738",
"id": "f1",
"Departure": {
"@type": "Departure",
"location": "DEN",
"date": "2023-08-05",
"time": "10:15:00"
},
"Arrival": {
"@type": "Arrival",
"location": "ATL",
"date": "2023-08-05",
"time": "15:19:00"
},
"AvailabilitySourceCode": "P"
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "T",
"cabin": "Economy",
"fareBasisCode": "TAA2AKEN",
"fareType": "PublicFare"
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"id": "price0",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 244,
"TotalTaxes": 41,
"TotalFees": 0,
"TotalPrice": 285,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 244,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 41,
"Tax": [
{
"taxCode": "AY",
"value": 8.5
},
{
"taxCode": "US",
"value": 18.3
},
{
"taxCode": "XF",
"value": 6.9
},
{
"taxCode": "ZP",
"value": 7.3
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0
},
"Total": 285
},
"FareCalculation": "DEN UA ATL 160.93TAA2AKEN USD160.93END"
}
]
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullAir",
"ExpiryDate": "2023-07-06T23:59:00Z",
"BaggageAllowance": [
{
"@type": "BaggageAllowanceDetail",
"url": "http://VIEWTRIP.TRAVELPORT.COM/BAGGAGEPOLICY/UA",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"p0"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1,
"BaggageFee": {
"code": "AUD",
"approximateInd": true,
"value": 53
},
"Text": "UPTO50LB/23KG AND UPTO62LI/158LCM"
}
],
"SegmentSequenceList": [
1
],
"Text": [
"0P"
]
},
{
"@type": "BaggageAllowanceDetail",
"url": "http://VIEWTRIP.TRAVELPORT.COM/BAGGAGEPOLICY/UA",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "SecondCheckedBag",
"ProductRef": [
"p0"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1,
"BaggageFee": {
"code": "AUD",
"approximateInd": true,
"value": 68.15
},
"Text": "UPTO50LB/23KG AND UPTO62LI/158LCM"
}
],
"SegmentSequenceList": [
1
],
"Text": [
"0P"
]
},
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "CarryOn",
"ProductRef": [
"p0"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1,
"BaggageFee": {
"code": "AUD",
"approximateInd": true,
"value": 0
},
"Text": "CARRY ON HAND BAGGAGE"
}
],
"SegmentSequenceList": [
1
],
"Text": [
"1P"
]
}
],
"Restriction": [
{
"value": "NONREF/0VALUAFTDPT"
}
],
"ValidatingAirline": [
{
"@type": "ValidatingAirline",
"ValidatingAirline": "UA"
}
],
"PaymentTimeLimit": "2023-07-06T23:59:00Z",
"FareGuaranteePolicy": [
{
"@type": "FareGuaranteePolicy",
"Code": {
"value": "G"
}
}
]
}
]
}
],
"Result": {
"@type": "Result",
"status": "Complete",
"Warning": [
{
"@type": "Warning",
"Message": "No brand details returned."
}
]
},
"Identifier": {
"value": "bfb9388c-8a72-49aa-af37-7de740611a0f_PC"
}
}
}
Brand pricing response
In the following example response, brand details were requested (returnBrandedFaresInd=true), so the response returns ReferenceList/ReferenceListBrand to list brand attributes.
{
"OfferListResponse": {
"@type": "OfferListResponse",
"transactionId": "62fb28e6-d7ab-4293-a70f-60bdb3de1e8b",
"OfferID": [
{
"@type": "Offer",
"id": "o0",
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT3H10M",
"id": "p0",
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "s1",
"sequence": 1,
"Flight": {
"@type": "FlightDetail",
"distance": 1342,
"duration": "PT3H10M",
"carrier": "QF",
"number": "141",
"operatingCarrier": "QF",
"operatingCarrierName": "Qantas Airways",
"id": "f1",
"Departure": {
"@type": "Departure",
"location": "SYD",
"date": "2024-01-31",
"time": "07:20:00"
},
"Arrival": {
"@type": "Arrival",
"location": "AKL",
"date": "2024-01-31",
"time": "12:30:00"
},
"AvailabilitySourceCode": "S"
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "N",
"cabin": "Economy",
"fareBasisCode": "NTME",
"fareType": "PublicFare",
"Brand": {
"@type": "Brand",
"BrandRef": "b1"
}
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"id": "price0",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 270,
"TotalTaxes": 149.96,
"TotalFees": 3.8,
"TotalPrice": 423.76,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 270,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 149.96,
"Tax": [
{
"taxCode": "AU",
"value": 60
},
{
"taxCode": "WY",
"value": 32.16
},
{
"taxCode": "F1",
"value": 35.4
},
{
"taxCode": "KK",
"value": 22.4
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 3.8,
"Fee": [
{
"@type": "Fee",
"feeCode": "OB",
"description": "CARD FEE",
"FeeAmountOrPercent": {
"@type": "FeeAmountOrPercentAmount",
"Amount": {
"value": 3.8
}
}
}
]
},
"Total": 419.96
},
"FareCalculation": "SYD QF AKL 171.41NTME NUC171.41END ROE1.575081"
}
]
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullAir",
"ExpiryDate": "2024-01-11T23:59:00Z",
"BaggageAllowance": [
{
"@type": "BaggageAllowanceDetail",
"url": "http://VIEWTRIP.TRAVELPORT.COM/BAGGAGEPOLICY/QF",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"p0"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1,
"Measurement": [
{
"measurementType": "Weight",
"unit": "Kilograms",
"value": 30
}
],
"Text": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE"
}
],
"SegmentSequenceList": [
1
],
"Text": [
"30K"
]
},
{
"@type": "BaggageAllowanceDetail",
"url": "http://VIEWTRIP.TRAVELPORT.COM/BAGGAGEPOLICY/QF",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "SecondCheckedBag",
"ProductRef": [
"p0"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1,
"Measurement": [
{
"measurementType": "Weight",
"unit": "Kilograms",
"value": 30
}
],
"Text": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE"
}
],
"SegmentSequenceList": [
1
],
"Text": [
"30K"
]
},
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "CarryOn",
"ProductRef": [
"p0"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1,
"BaggageFee": {
"code": "AUD",
"approximateInd": true,
"value": 0
},
"Text": "CARRYON HAND BAGGAGE ALLOWANCE"
}
],
"SegmentSequenceList": [
1
],
"Text": [
"1P"
]
}
],
"Restriction": [
{
"value": "CARRIER RESTRICTIONS APPLY"
},
{
"value": "FEES APPLY"
}
],
"ValidatingAirline": [
{
"@type": "ValidatingAirline",
"ValidatingAirline": "QF"
}
],
"TicketingAgency": [
{
"@type": "TicketingAgency",
"Code": "5KL6"
}
],
"PaymentTimeLimit": "2024-01-11T17:40:00Z",
"FareGuaranteePolicy": [
{
"@type": "FareGuaranteePolicy",
"Code": {
"value": "G"
}
}
]
}
]
}
],
"Result": {
"@type": "Result",
"status": "Complete",
"Warning": [
{
"@type": "Warning",
"Message": "Requested Additional Classification Unavailable -Refund for brandid - 1280526"
}
]
},
"Identifier": {
"value": "62fb28e6-d7ab-4293-a70f-60bdb3de1e8b_PC"
},
"ReferenceList": [
{
"@type": "ReferenceListBrand",
"Brand": [
{
"@type": "Brand",
"name": "Economy Sale",
"tier": 1,
"code": "ECSL",
"id": "b1",
"Identifier": {
"authority": "Travelport",
"value": "1280526"
},
"BrandAttribute": [
{
"@type": "BrandAttribute",
"classification": "SeatAssignment",
"inclusion": "Chargeable",
"groupCode": "BF",
"subGroupCode": "SE",
"subCode": "050"
},
{
"@type": "BrandAttribute",
"classification": "Rebooking",
"inclusion": "Chargeable",
"groupCode": "BF",
"subGroupCode": "VC",
"subCode": "06I"
},
{
"@type": "BrandAttribute",
"classification": "Refund",
"inclusion": "Chargeable",
"groupCode": "BF",
"subGroupCode": "VR",
"subCode": "06K"
},
{
"@type": "BrandAttribute",
"classification": "Meals",
"inclusion": "Included",
"groupCode": "ML",
"subGroupCode": "DR",
"subCode": "0AX"
},
{
"@type": "BrandAttribute",
"classification": "CheckedBag",
"inclusion": "Included",
"groupCode": "BG",
"subCode": "0C5"
},
{
"@type": "BrandAttribute",
"classification": "CarryOn",
"inclusion": "Included",
"groupCode": "BG",
"subGroupCode": "CY",
"subCode": "0L5"
}
],
"AdditionalBrandAttribute": [
{
"@type": "AdditionalBrandAttribute",
"groupCode": "TS",
"subGroupCode": "PO",
"subCode": "03P",
"Classification": "Priority CheckIn",
"Inclusion": "Not Offered"
},
{
"@type": "AdditionalBrandAttribute",
"groupCode": "BF",
"subGroupCode": "FR",
"subCode": "057",
"Classification": "Mileage Accrual",
"Inclusion": "Included"
},
{
"@type": "AdditionalBrandAttribute",
"groupCode": "TS",
"subGroupCode": "PR",
"subCode": "0G6",
"Classification": "Priority Boarding",
"Inclusion": "Not Offered"
},
{
"@type": "AdditionalBrandAttribute",
"groupCode": "TS",
"subGroupCode": "PY",
"subCode": "0LF",
"Classification": "Priority Baggage",
"Inclusion": "Not Offered"
},
{
"@type": "AdditionalBrandAttribute",
"groupCode": "TS",
"subGroupCode": "SY",
"subCode": "0LW",
"Classification": "Priority Security",
"Inclusion": "Not Offered"
}
]
}
]
}
]
}
}
Credit card BIN response
In the following pricing example for NDC, the credit card BIN was sent in the response to return OB fees. Supported for both NDC and GDS.
{
"OfferListResponse": {
"@type": "OfferListResponse",
"OfferID": [
{
"@type": "Offer",
"id": "o0",
"Identifier": {
"authority": "UA",
"value": "UEEyRDVENEU0LTI0OUYtNEI4NS05RTE2bTNpN2h3YXFyeTU2Yy0xfFBBMkQ1RDRFNC0yNDlGLTRCODUtOUUxNnwyMDIzLTA2LTEzVDE1OjM5OjM2fEFEVDpQQTJENUQ0RTQtMjQ5Ri00Qjg1LTlFMTZtM2k3aHdhcXJ5NTZjLTEtMXxVQUQ="
},
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT6H28M",
"id": "p0",
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "s1",
"sequence": 1,
"connectionDuration": "PT1H50M",
"Flight": {
"@type": "FlightDetail",
"duration": "PT2H33M",
"carrier": "UA",
"number": "2679",
"equipment": "777",
"id": "f1",
"Identifier": {
"value": "Isgm3f000328888fc"
},
"Departure": {
"@type": "DepartureDetail",
"location": "DEN",
"date": "2023-07-13",
"time": "07:48:00"
},
"Arrival": {
"@type": "ArrivalDetail",
"terminal": "1",
"location": "ORD",
"date": "2023-07-13",
"time": "11:21:00"
}
}
},
{
"@type": "FlightSegment",
"id": "s2",
"sequence": 2,
"Flight": {
"@type": "FlightDetail",
"duration": "PT2H5M",
"carrier": "UA",
"number": "2216",
"equipment": "73G",
"id": "f2",
"Identifier": {
"value": "Isgm30000328888fc"
},
"Departure": {
"@type": "DepartureDetail",
"terminal": "1",
"location": "ORD",
"date": "2023-07-13",
"time": "13:11:00"
},
"Arrival": {
"@type": "ArrivalDetail",
"terminal": "N",
"location": "ATL",
"date": "2023-07-13",
"time": "16:16:00"
}
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "Z",
"cabin": "First",
"fareBasisCode": "VAA4OKFM",
"fareType": "PublicFare",
"Brand": {
"@type": "Brand",
"name": "Business Flexible"
}
},
{
"@type": "FlightProduct",
"segmentSequence": [
2
],
"classOfService": "D",
"cabin": "First",
"fareBasisCode": "EAA7AZFZ",
"fareType": "PublicFare",
"Brand": {
"@type": "Brand",
"name": "Business Flexible"
}
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"value": "HKD"
},
"Base": 9240,
"TotalTaxes": 885,
"TotalFees": 0,
"TotalPrice": 10125,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"value": "HKD"
},
"Base": 9240,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 885,
"Tax": [
{
"taxCode": "US",
"description": "US Transportation Tax",
"value": 308
},
{
"taxCode": "US",
"description": "US Transportation Tax",
"value": 385
},
{
"taxCode": "XF",
"description": "US Passenger Facility Charge",
"value": 36
},
{
"taxCode": "ZP",
"description": "United States Flight Segment Tax Domestic",
"value": 38
},
{
"taxCode": "AY",
"description": "United States Passenger Civil Aviation Security Service Fee",
"value": 44
},
{
"taxCode": "XF",
"description": "US Passenger Facility Charge",
"value": 36
},
{
"taxCode": "ZP",
"description": "United States Flight Segment Tax Domestic",
"value": 38
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0
},
"Total": 10125
}
}
]
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullAir",
"ExpiryDate": "2023-06-13T15:39:36Z",
"BaggageAllowance": [
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"p0"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1
}
],
"Text": [
"CHECKED ALLOWANCE"
]
},
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "SecondCheckedBag",
"ProductRef": [
"p0"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 1
}
],
"Text": [
"CHECKED ALLOWANCE"
]
}
],
"ValidatingAirline": [
{
"@type": "ValidatingAirline",
"ValidatingAirline": "UA"
}
],
"PaymentTimeLimit": "2023-06-14T23:59:00Z"
}
]
}
],
"Result": {
"@type": "Result",
"status": "Complete",
"Warning": [
{
"@type": "Warning",
"Message": "No brand details returned."
}
]
},
"Identifier": {
"value": "d97453a7-3c73-4db9-912a-b9e6802db910_PC"
}
}
}
Split ticketing response
The following response is for a split ticketing offer from a previous Search response. It returns pricing for each of two offers instead of one combined offer. For brevity the TermsAndConditionsFull objects in each instance of Offer were truncated.
{
"OfferListResponse": {
"@type": "OfferListResponse",
"transactionId": "c333b955-1f78-4461-92c6-d734a42a07b1",
"OfferID": [
{
"@type": "Offer",
"id": "o0",
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT16H30M",
"id": "p0",
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "s1",
"sequence": 1,
"connectionDuration": "PT11H20M",
"boundFlightsInd": true,
"Flight": {
"@type": "FlightDetail",
"distance": 284,
"duration": "PT1H15M",
"carrier": "AI",
"number": "516",
"operatingCarrier": "AI",
"operatingCarrierName": "Air India",
"equipment": "321",
"id": "f1",
"Departure": {
"@type": "Departure",
"location": "BLR",
"date": "2024-10-23",
"time": "07:25:00"
},
"Arrival": {
"@type": "Arrival",
"location": "HYD",
"date": "2024-10-23",
"time": "08:40:00"
},
"AvailabilitySourceCode": "S"
}
},
{
"@type": "FlightSegment",
"id": "s2",
"sequence": 2,
"Flight": {
"@type": "FlightDetail",
"distance": 1586,
"duration": "PT3H55M",
"carrier": "AI",
"number": "951",
"operatingCarrier": "AI",
"operatingCarrierName": "Air India",
"equipment": "32N",
"id": "f2",
"Departure": {
"@type": "Departure",
"location": "HYD",
"date": "2024-10-23",
"time": "20:00:00"
},
"Arrival": {
"@type": "Arrival",
"location": "DXB",
"date": "2024-10-23",
"time": "22:25:00"
},
"AvailabilitySourceCode": "S"
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "K",
"cabin": "Economy",
"fareBasisCode": "ULOWBLAE",
"fareType": "PublicFare",
"fareTypeCode": "ER"
},
{
"@type": "FlightProduct",
"segmentSequence": [
2
],
"classOfService": "U",
"cabin": "Economy",
"fareBasisCode": "ULOWBLAE",
"fareType": "PublicFare",
"fareTypeCode": "ER"
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"id": "price0",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 231,
"TotalTaxes": 72.8,
"TotalFees": 0,
"TotalPrice": 303.8,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 231,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 72.8,
"Tax": [
{
"taxCode": "IN",
"value": 32.3
},
{
"taxCode": "K3",
"value": 11.8
},
{
"taxCode": "P2",
"value": 21.5
},
{
"taxCode": "ZR",
"value": 2.1
},
{
"taxCode": "YR",
"value": 5.1
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0
},
"Total": 303.8
},
"FareCalculation": "BLR AI X/HYD AI DXB 151.67ULOWBLAE NUC151.67END ROE83.329447"
}
]
},
"TermsAndConditionsFull": [...]
},
{
"@type": "Offer",
"id": "o1",
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT10H45M",
"id": "p0",
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "s1",
"sequence": 1,
"connectionDuration": "PT2H",
"boundFlightsInd": true,
"Flight": {
"@type": "FlightDetail",
"distance": 1048,
"duration": "PT3H25M",
"carrier": "SV",
"number": "551",
"operatingCarrier": "SV",
"operatingCarrierName": "Saudi Arabian Airlines",
"equipment": "320",
"id": "f1",
"Departure": {
"@type": "Departure",
"location": "DXB",
"date": "2024-10-27",
"time": "21:00:00"
},
"Arrival": {
"@type": "Arrival",
"location": "JED",
"date": "2024-10-27",
"time": "23:25:00"
},
"AvailabilitySourceCode": "A"
}
},
{
"@type": "FlightSegment",
"id": "s2",
"sequence": 2,
"Flight": {
"@type": "FlightDetail",
"distance": 2597,
"duration": "PT5H20M",
"carrier": "SV",
"number": "866",
"operatingCarrier": "SV",
"operatingCarrierName": "Saudi Arabian Airlines",
"equipment": "333",
"id": "f2",
"Departure": {
"@type": "Departure",
"location": "JED",
"date": "2024-10-28",
"time": "01:25:00"
},
"Arrival": {
"@type": "Arrival",
"location": "BLR",
"date": "2024-10-28",
"time": "09:15:00"
},
"AvailabilitySourceCode": "A"
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1,
2
],
"classOfService": "V",
"cabin": "Economy",
"fareBasisCode": "VAOXAEC4",
"fareType": "PublicFare",
"fareTypeCode": "ER",
"Brand": {
"@type": "Brand",
"BrandRef": "b1"
}
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"id": "price0",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 174,
"TotalTaxes": 91.1,
"TotalFees": 0,
"TotalPrice": 265.1,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 174,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 91.1,
"Tax": [
{
"taxCode": "AE",
"value": 31
},
{
"taxCode": "F6",
"value": 14.5
},
{
"taxCode": "TP",
"value": 2.1
},
{
"taxCode": "ZR",
"value": 2.1
},
{
"taxCode": "E3",
"value": 6.6
},
{
"taxCode": "IO",
"value": 22.3
},
{
"taxCode": "T2",
"value": 2.1
},
{
"taxCode": "YR",
"value": 10.4
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0
},
"Total": 265.1
},
"FareCalculation": "DXB SV X/JED SV BLR 112.17VAOXAEC4 NUC112.17END ROE3.67275"
}
]
},
"TermsAndConditionsFull": [...]
}
],
"Result": {
"@type": "Result",
"status": "Complete",
"Warning": [
{
"@type": "Warning",
"Message": "Requested Classification Unavailable -CheckedBag for brandid - 1290966"
}
]
},
"Identifier": {
"value": "93d2091d-3d04-48ab-8091-6ae1525f02ea_PC"
},
"ReferenceList": [
{
"@type": "ReferenceListBrand",
"Brand": [
{
"@type": "Brand",
"name": "Semi Flex Eco",
"tier": 15,
"code": "NSEMIFLEXE",
"id": "b1",
"Identifier": {
"authority": "Travelport",
"value": "1290966"
},
"BrandAttribute": [
{
"@type": "BrandAttribute",
"classification": "CarryOn",
"inclusion": "Included",
"groupCode": "BG",
"subGroupCode": "CY",
"subCode": "0M3"
}
],
"AdditionalBrandAttribute": [
{
"@type": "AdditionalBrandAttribute",
"groupCode": "BF",
"subGroupCode": "FR",
"subCode": "09D",
"Classification": "Mileage Accrual",
"Inclusion": "Not Offered"
}
]
}
]
}
]
}
}
Pricing with requested flight amenities data
The following example shows RouteHappy flight amenity data returned when flight amenities are requested with (includeFlightAmenitiesInd=true) and brand pricing is requested with (returnBrandedFaresInd=true).
{
"OfferListResponse": {
"@type": "OfferListResponse",
"transactionId": "17b018d7-d863-4acb-a243-e8a9ee2b6719",
"OfferID": [
{
"@type": "Offer",
"id": "o0",
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT23H15M",
"id": "p0",
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "s1",
"sequence": 1,
"connectionDuration": "PT50M",
"amenityRefs": [
"a0",
"a1",
"a2",
"a4",
"a5",
"a6",
"a7",
"a8"
],
"boundFlightsInd": true,
"Flight": {
"@type": "FlightDetail",
"distance": 3912,
"duration": "PT8H10M",
"carrier": "SQ",
"number": "242",
"operatingCarrier": "SQ",
"operatingCarrierName": "Singapore Airlines",
"id": "f1",
"Departure": {
"@type": "Departure",
"location": "SYD",
"date": "2024-11-05",
"time": "19:10:00"
},
"Arrival": {
"@type": "Arrival",
"location": "SIN",
"date": "2024-11-06",
"time": "00:20:00"
},
"AvailabilitySourceCode": "S"
}
},
{
"@type": "FlightSegment",
"id": "s2",
"sequence": 2,
"amenityRefs": [
"a0",
"a1",
"a2",
"a3",
"a4",
"a5",
"a6",
"a8"
],
"Flight": {
"@type": "FlightDetail",
"distance": 6748,
"duration": "PT14H15M",
"carrier": "SQ",
"number": "306",
"operatingCarrier": "SQ",
"operatingCarrierName": "Singapore Airlines",
"id": "f2",
"Departure": {
"@type": "Departure",
"location": "SIN",
"date": "2024-11-06",
"time": "01:10:00"
},
"Arrival": {
"@type": "Arrival",
"location": "LHR",
"date": "2024-11-06",
"time": "07:25:00"
},
"AvailabilitySourceCode": "S"
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 2,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1,
2
],
"classOfService": "J",
"cabin": "Business",
"fareBasisCode": "J11AUO",
"fareType": "PublicFare",
"fareTypeCode": "BOX",
"Brand": {
"@type": "Brand",
"BrandRef": "b1"
}
}
]
},
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "CNN",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1,
2
],
"classOfService": "J",
"cabin": "Business",
"fareBasisCode": "J11AUO",
"fareType": "PublicFare",
"ticketDesignator": "CH",
"fareTypeCode": "BOX",
"Brand": {
"@type": "Brand",
"BrandRef": "b1"
}
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"id": "price0",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 20607,
"TotalTaxes": 397.01,
"TotalFees": 0,
"TotalPrice": 21004.01,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 2,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 6869,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 155.67,
"Tax": [
{
"taxCode": "AU",
"value": 70
},
{
"taxCode": "WG",
"value": 6.64
},
{
"taxCode": "WY",
"value": 39.33
},
{
"taxCode": "L7",
"value": 3.4
},
{
"taxCode": "SG",
"value": 6.8
},
{
"taxCode": "YR",
"value": 29.5
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0
},
"Total": 7024.67
},
"FareCalculation": "SYD SQ X/SIN SQ LON 4479.03J11AUO NUC4479.03END ROE1.533588"
},
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "CNN",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 6869,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 85.67,
"Tax": [
{
"taxCode": "WG",
"value": 6.64
},
{
"taxCode": "WY",
"value": 39.33
},
{
"taxCode": "L7",
"value": 3.4
},
{
"taxCode": "SG",
"value": 6.8
},
{
"taxCode": "YR",
"value": 29.5
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0
},
"Total": 6954.67
},
"FareCalculation": "SYD SQ X/SIN SQ LON 4479.03J11AUO/CH NUC4479.03END ROE1.533588"
}
]
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullAir",
"ExpiryDate": "2024-11-05T23:59:00Z",
"BaggageAllowance": [
{
"@type": "BaggageAllowanceDetail",
"url": "http://VIEWTRIP.TRAVELPORT.COM/BAGGAGEPOLICY/SQ",
"passengerTypeCodes": [
"ADT",
"CNN"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"p0"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 2,
"Measurement": [
{
"measurementType": "Weight",
"unit": "Kilograms",
"value": 40
}
],
"Text": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE"
}
],
"SegmentSequenceList": [
1,
2
],
"Text": [
"40K"
]
},
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT",
"CNN"
],
"baggageType": "CarryOn",
"ProductRef": [
"p0"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 2,
"BaggageFee": {
"code": "AUD",
"approximateInd": true,
"value": 0
},
"Text": "CARRYON HAND BAGGAGE ALLOWANCE"
}
],
"SegmentSequenceList": [
1,
2
],
"Text": [
"2P"
]
}
],
"Restriction": [
{
"value": "NO CHNG FEE / REFUND FEE"
},
{
"value": "APPLY / NO SHOW FEE APPLY"
},
{
"value": "NO CHNG FEE / REFUND FEE"
},
{
"value": "APPLY / NO SHOW FEE APPLY"
}
],
"ValidatingAirline": [
{
"@type": "ValidatingAirline",
"ValidatingAirline": "SQ"
}
],
"TicketingAgency": [
{
"@type": "TicketingAgency",
"Code": "XB7"
}
],
"PaymentTimeLimit": "2024-11-05T23:59:00Z",
"FareGuaranteePolicy": [
{
"@type": "FareGuaranteePolicy",
"Code": {
"value": "G"
}
}
]
}
]
}
],
"Result": {
"@type": "Result",
"status": "Complete",
"Warning": [
{
"@type": "Warning",
"Message": "SIGN IN "
},
{
"@type": "Warning",
"Message": "Requested Classification Unavailable -CarryOn for brandid - 1532933"
}
]
},
"Identifier": {
"value": "17b018d7-d863-4acb-a243-e8a9ee2b6719_PC"
},
"ReferenceList": [
{
"@type": "ReferenceListBrand",
"Brand": [
{
"@type": "Brand",
"name": "Business Flexi",
"tier": 10,
"code": "BIZFLEXI",
"id": "b1",
"Identifier": {
"authority": "Travelport",
"value": "1532933"
},
"BrandAttribute": [
{
"@type": "BrandAttribute",
"classification": "SeatAssignment",
"inclusion": "Included",
"groupCode": "BF",
"subGroupCode": "SE",
"subCode": "050"
}
],
"AdditionalBrandAttribute": [
{
"@type": "AdditionalBrandAttribute",
"groupCode": "BF",
"subGroupCode": "FR",
"subCode": "06M",
"Classification": "Mileage Accrual",
"Inclusion": "Included"
}
],
"ImageURL": [
"https://cdn.travelport.com/singaporeairlinesltd/SQ_general_large_45936.jpg"
]
}
]
},
{
"@type": "ReferenceListAmenity",
"Amenity": [
{
"@type": "Amenity",
"id": "a0",
"Category": "Beverage",
"Text": {
"language": "en",
"value": "Premium alcohol & beverages provided"
}
},
{
"@type": "Amenity",
"id": "a1",
"Category": "Power",
"Text": {
"language": "en",
"value": "Power & USB outlets"
}
},
{
"@type": "Amenity",
"id": "a2",
"Category": "Layout",
"Text": {
"language": "en",
"value": "1-2-1 seat layout"
}
},
{
"@type": "Amenity",
"id": "a3",
"Category": "Aircraft",
"Text": {
"language": "en",
"value": "777 (widebody)"
}
},
{
"@type": "Amenity",
"id": "a4",
"Category": "WiFi",
"Text": {
"language": "en",
"value": "Basic web browsing"
}
},
{
"@type": "Amenity",
"id": "a5",
"Category": "Entertainment",
"Text": {
"language": "en",
"value": "Seatback on-demand & live TV"
}
},
{
"@type": "Amenity",
"id": "a6",
"Category": "Food",
"Text": {
"language": "en",
"value": "Meal provided"
}
},
{
"@type": "Amenity",
"id": "a7",
"Category": "Aircraft",
"Text": {
"language": "en",
"value": "A350 (widebody)"
}
},
{
"@type": "Amenity",
"id": "a8",
"Category": "Seat",
"Text": {
"language": "en",
"value": "Full flat all aisle access"
}
}
]
}
]
}
}