Flight Specific Search Full Payload API Reference
POST |
catalog/search/catalogproductofferings/buildoptions Base path: Pre-production https://api.pp.travelport.com/11/air/ Production https://api.travelport.com/11/air/ |
Related Content: Air Shopping Guide, Search Workflow Diagrams
Use the Flight Specific Search API's full payload request to return additional upsells for one or more flights. You can request up to 99 upsells.
Request
Also see Authorization and Common Headers.
Query Parameters
None.
Request Body
The Flight Specific Search POST request requires a message payload with itinerary details. The following table details the required objects.
Object |
Description |
Required/Optional |
|
---|---|---|---|
CatalogProductOfferingsQueryBuildOptions |
Top level object for request. |
Required |
|
BuildOptions |
Top level object. |
Required |
|
|
Number of upsells to return. Valid values are 0 to 99 inclusive. If the carrier has filed fewer upsells, all filed upsells are returned. | Optional | |
BuildFromProductsRequest |
Top level object. Includes PassengerCriteria and ProductCriteriaAir. |
Required |
|
PassengerCriteria |
Array. Defines the type of passenger to search for. Send one PassengerCriteria for each passenger type code (PTC). Flight Specific Search supports up to 9 total passengers across all PTCs.
|
Required |
|
|
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. |
Required |
|
|
Number. The number of passengers with this PTC. |
Required |
|
|
Number. The age of the passenger. Notes on PTC and age
|
Optional |
|
ProductCriteriaAir |
Includes SpecificFlightCriteria. |
Required |
|
SpecificFlightCriteria
|
Array. Provides details for one flight to search for upsells for. |
Required |
|
|
IATA code for the airline carrier for this flight. |
Required |
|
|
String. Flight number. |
Required |
|
|
String. Date of departure in YYYY-MM-DD format (e.g., departureDate="2022-12-06"). |
Required |
|
|
String. Time of departure in HH:MM:SS format (e.g., departureTime="18:00:00"). |
Required |
|
|
String. Date of arrival in YYYY-MM-DD format (e.g., arrivalDate="2022-12-06"). |
Required |
|
|
String. Time of arrival in HH:MM:SS format (e.g., arrivalTime="22:30:00"). |
Required |
|
|
String. The IATA location code for the departure airport/city for this flight. |
Required |
|
|
String. The IATA location code for the arrival airport/city for this flight. |
Required |
|
|
Number. Order of the corresponding flight in the sequence; e.g., 1 for the initial flight and 2 for the return flight.
Example segmentSequence scenarioOn an itinerary DEL>LON>JFK>PAR>DEL in which LON is a connecting city and PAR is a stopover city, send segmentSequence values as follows:
|
Required for round-trip and multi-leg Optional for one-way |
Response
The Flight Specific Search response uses the same structure and returns the same objects as the Search response. The differences are:
- Only one instance of CatalogProductOffering (id o1) is returned, as this includes all upsells for the one product sent in the request.
- Only one instance of ReferenceListProduct/Product is returned, as one product was sent in the request.
Example Request
The following example request sends full flight details to request all upsells on a one-way GDS itinerary with connecting flights.
{
"CatalogProductOfferingsQueryBuildOptions": {
"BuildOptions": {
"@type": "BuildOptionsFromProducts",
"maxNumberOfUpsellsToReturn": 99,
"BuildFromProductsRequest": {
"@type": "BuildFromProductsRequestAir",
"PassengerCriteria": [
{
"@type": "PassengerCriteria",
"number": 1,
"passengerTypeCode": "ADT"
}
],
"ProductCriteriaAir": [
{
"SpecificFlightCriteria": [
{
"flightNumber": "481",
"carrier": "AA",
"departureDate": "2024-01-07",
"departureTime": "10:06:00",
"arrivalDate": "2024-01-07",
"arrivalTime": "12:45:00",
"from": "ORD",
"to": "DFW",
"classOfService": "L",
"cabin": "Economy",
"segmentSequence": 1,
"brandTier": "7",
"boundFlightsInd": true,
"AvailabilitySourceCode": "S",
"ContentSource": "GDS"
},
{
"flightNumber": "1832",
"carrier": "AA",
"departureDate": "2024-01-07",
"departureTime": "14:45:00",
"arrivalDate": "2024-01-07",
"arrivalTime": "15:50:00",
"from": "DFW",
"to": "DEN",
"classOfService": "L",
"cabin": "Economy",
"segmentSequence": 2,
"brandTier": "7",
"AvailabilitySourceCode": "S",
"ContentSource": "GDS"
}
]
}
]
}
}
}
}
Example Response
The following example response excerpt returns the base fare (b0) and 11upsell fares (b1-11), each in an instance of ProductBrandOffering. The Result and ReferenceList objects have been edited out for brevity; see the developer toolkits for full examples.
{
"CatalogProductOfferingsResponse": {
"@type": "CatalogProductOfferingsResponse",
"transactionId": "4a3c23fa-b2e9-413e-9573-a2f4b49785db:ppnd1003",
"CatalogProductOfferings": {
"@type": "CatalogProductOfferings",
"Identifier": {
"value": "19c6b779-8fae-40ff-a2f0-7a10d592a7fd"
},
"CatalogProductOffering": [
{
"@type": "CatalogProductOffering",
"sequence": 1,
"id": "o1",
"Departure": "ORD",
"Arrival": "DEN",
"Brand": [
{
"@type": "BrandID",
"BrandRef": "b0"
},
{
"@type": "BrandID",
"BrandRef": "b1"
},
{
"@type": "BrandID",
"BrandRef": "b2"
},
{
"@type": "BrandID",
"BrandRef": "b3"
},
{
"@type": "BrandID",
"BrandRef": "b4"
},
{
"@type": "BrandID",
"BrandRef": "b5"
},
{
"@type": "BrandID",
"BrandRef": "b6"
},
{
"@type": "BrandID",
"BrandRef": "b7"
},
{
"@type": "BrandID",
"BrandRef": "b8"
},
{
"@type": "BrandID",
"BrandRef": "b9"
},
{
"@type": "BrandID",
"BrandRef": "b10"
},
{
"@type": "BrandID",
"BrandRef": "b11"
}
],
"ProductBrandOptions": [
{
"@type": "ProductBrandOptions",
"flightRefs": [
"s1",
"s2"
],
"ProductBrandOffering": [
{
"@type": "ProductBrandOffering",
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 1610,
"TotalTaxes": 313,
"TotalFees": 0,
"TotalPrice": 1923,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 1610,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 313,
"Tax": [
{
"taxCode": "AY",
"value": 44
},
{
"taxCode": "US",
"value": 121
},
{
"taxCode": "XF",
"value": 72
},
{
"taxCode": "ZP",
"value": 76
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0
},
"Total": 1923
},
"Surcharges": {
"@type": "SurchargesDetail",
"approximateInd": true,
"TotalSurcharges": 80,
"Surcharge": [
{
"currencyCode": "HKD",
"purpose": "Other",
"decimalPlace": 0,
"value": 80
}
]
}
}
]
},
"Brand": {
"@type": "BrandID",
"BrandRef": "b0"
},
"Product": [
{
"@type": "ProductID",
"productRef": "p0"
}
],
"TermsAndConditions": {
"@type": "TermsAndConditionsID",
"termsAndConditionsRef": "T0"
},
"CombinabilityCode": [
"j1"
],
"BestCombinablePrice": {
"@type": "BestCombinablePriceDetail",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 1610,
"TotalTaxes": 313,
"TotalPrice": 1923,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 1610,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 313,
"Tax": [
{
"taxCode": "AY",
"value": 44
},
{
"taxCode": "US",
"value": 121
},
{
"taxCode": "XF",
"value": 72
},
{
"taxCode": "ZP",
"value": 76
}
]
},
"Total": 1923
}
}
]
}
},
{
"@type": "ProductBrandOffering",
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 3420,
"TotalTaxes": 449,
"TotalFees": 0,
"TotalPrice": 3869,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 3420,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 449,
"Tax": [
{
"taxCode": "AY",
"value": 44
},
{
"taxCode": "US",
"value": 257
},
{
"taxCode": "XF",
"value": 72
},
{
"taxCode": "ZP",
"value": 76
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0
},
"Total": 3869
},
"Surcharges": {
"@type": "SurchargesDetail",
"approximateInd": true,
"TotalSurcharges": 80,
"Surcharge": [
{
"currencyCode": "HKD",
"purpose": "Other",
"decimalPlace": 0,
"value": 80
}
]
}
}
]
},
"Brand": {
"@type": "BrandID",
"BrandRef": "b8"
},
"Product": [
{
"@type": "ProductID",
"productRef": "p1"
}
],
"TermsAndConditions": {
"@type": "TermsAndConditionsID",
"termsAndConditionsRef": "T1"
},
"CombinabilityCode": [
"j2"
],
"BestCombinablePrice": {
"@type": "BestCombinablePriceDetail",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 3420,
"TotalTaxes": 449,
"TotalPrice": 3869,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 3420,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 449,
"Tax": [
{
"taxCode": "AY",
"value": 44
},
{
"taxCode": "US",
"value": 257
},
{
"taxCode": "XF",
"value": 72
},
{
"taxCode": "ZP",
"value": 76
}
]
},
"Total": 3869
}
}
]
}
},
{
"@type": "ProductBrandOffering",
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 3380,
"TotalTaxes": 446,
"TotalFees": 0,
"TotalPrice": 3826,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 3380,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 446,
"Tax": [
{
"taxCode": "AY",
"value": 44
},
{
"taxCode": "US",
"value": 254
},
{
"taxCode": "XF",
"value": 72
},
{
"taxCode": "ZP",
"value": 76
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0
},
"Total": 3826
},
"Surcharges": {
"@type": "SurchargesDetail",
"approximateInd": true,
"TotalSurcharges": 80,
"Surcharge": [
{
"currencyCode": "HKD",
"purpose": "Other",
"decimalPlace": 0,
"value": 80
}
]
}
}
]
},
"Brand": {
"@type": "BrandID",
"BrandRef": "b9"
},
"Product": [
{
"@type": "ProductID",
"productRef": "p2"
}
],
"TermsAndConditions": {
"@type": "TermsAndConditionsID",
"termsAndConditionsRef": "T2"
},
"CombinabilityCode": [
"j3"
],
"BestCombinablePrice": {
"@type": "BestCombinablePriceDetail",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 3380,
"TotalTaxes": 446,
"TotalPrice": 3826,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 3380,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 446,
"Tax": [
{
"taxCode": "AY",
"value": 44
},
{
"taxCode": "US",
"value": 254
},
{
"taxCode": "XF",
"value": 72
},
{
"taxCode": "ZP",
"value": 76
}
]
},
"Total": 3826
}
}
]
}
},
{
"@type": "ProductBrandOffering",
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 4470,
"TotalTaxes": 528,
"TotalFees": 0,
"TotalPrice": 4998,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 4470,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 528,
"Tax": [
{
"taxCode": "AY",
"value": 44
},
{
"taxCode": "US",
"value": 336
},
{
"taxCode": "XF",
"value": 72
},
{
"taxCode": "ZP",
"value": 76
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0
},
"Total": 4998
},
"Surcharges": {
"@type": "SurchargesDetail",
"approximateInd": true,
"TotalSurcharges": 80,
"Surcharge": [
{
"currencyCode": "HKD",
"purpose": "Other",
"decimalPlace": 0,
"value": 80
}
]
}
}
]
},
"Brand": {
"@type": "BrandID",
"BrandRef": "b10"
},
"Product": [
{
"@type": "ProductID",
"productRef": "p3"
}
],
"TermsAndConditions": {
"@type": "TermsAndConditionsID",
"termsAndConditionsRef": "T3"
},
"CombinabilityCode": [
"j4"
],
"BestCombinablePrice": {
"@type": "BestCombinablePriceDetail",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 4470,
"TotalTaxes": 528,
"TotalPrice": 4998,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 4470,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 528,
"Tax": [
{
"taxCode": "AY",
"value": 44
},
{
"taxCode": "US",
"value": 336
},
{
"taxCode": "XF",
"value": 72
},
{
"taxCode": "ZP",
"value": 76
}
]
},
"Total": 4998
}
}
]
}
},
{
"@type": "ProductBrandOffering",
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 48280,
"TotalTaxes": 3813,
"TotalFees": 0,
"TotalPrice": 52093,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 48280,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 3813,
"Tax": [
{
"taxCode": "AY",
"value": 44
},
{
"taxCode": "US",
"value": 3621
},
{
"taxCode": "XF",
"value": 72
},
{
"taxCode": "ZP",
"value": 76
}
]
},
"Fees": {
"@type": "FeesDetail",
"TotalFees": 0
},
"Total": 52093
}
}
]
},
"Brand": {
"@type": "BrandID",
"BrandRef": "b11"
},
"Product": [
{
"@type": "ProductID",
"productRef": "p4"
}
],
"TermsAndConditions": {
"@type": "TermsAndConditionsID",
"termsAndConditionsRef": "T4"
},
"CombinabilityCode": [
"j5"
],
"BestCombinablePrice": {
"@type": "BestCombinablePriceDetail",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 48280,
"TotalTaxes": 3813,
"TotalPrice": 52093,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 0,
"value": "HKD"
},
"Base": 48280,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 3813,
"Tax": [
{
"taxCode": "AY",
"value": 44
},
{
"taxCode": "US",
"value": 3621
},
{
"taxCode": "XF",
"value": 72
},
{
"taxCode": "ZP",
"value": 76
}
]
},
"Total": 52093
}
}
]
}
}
]
}
]
}
]
},
"Result": {...},
"ReferenceList": [...]
}
}