Fare Upsells
This feature is only accessible by selected partners on an approval basis. Please do not circulate this externally.
Fare upsells is a feature in Flights Live Prices API and Refresh Prices endpoint. It enables the API to return multiple pricing options for a given agent, unlike the default behaviour where only the cheapest pricing option is returned per agent. Each pricing option contains a base price and information about additional attributes. This feature allows you to present multiple fare options to users, enabling them to compare choices and make a more informed selection before redirecting.
This feature is not enabled by default. If you want to onboard onto it, please reach out to your Account Manager for more information.
Constraints
- Make sure fare attributes feature is enabled for you by speaking to your Account Manager
- This feature is not available in all markets. Make sure to use a
market
where the fare upsells feature is enabled for such asUS
. - We do not have data for all flight supply partners due to limited coverage.
- Currency of the baggage pricing is specified in the request object, similar to flights prices.
Please reach out to your Account Manager for more information.
Fare Upsell Structure
Each upsell-enabled pricing option contains those additional fields:
Field name | Description |
---|---|
Price | The base price of the specific pricing option. |
Baggage and other Additional Attributes | Additional information including prices for any additional flight attributes such as baggage or cancellation that is specific to that pricing option. Learn more about Baggage and Additional Attributes fields in our documentation. |
Brand names | Each value in the brandNames array is the brand name provided by the agent itself and associates itself with a specific segment in the itinerary. This is why the field is an array instead of a string. The brand names are not localised. In some edgecases you can expect the brand names to not be populated - in those cases you should consider using some fallback values if they're meant to be surfaced to users. Example values are ECONOMY CLASSIC , ECONOMY STANDARD , ECONOMY FLEX , etc. |
Available Fare Upsell Attributes
Each pricing option includes a base price along with various attributes, such as baggage, cancellation policies, and more.
If you want to know more about the fare upsell attribute fields please consult Baggage and Additional Attributes.
Example Response
- All responses in the
US
market will returnlbs
instead ofkg
for baggage weight.
Example response
{
"pricingOptions": [
{
"price": {
"amount": "1234560",
"unit": "PRICE_UNIT_MILLI"
},
"agentIds": ["skys"],
"pricingOptionFare": {
"cabinBaggage": {
"assessment": "ASSESSMENT_INCLUDED",
"pieces": 1,
"fee": {
"amount": "",
"unit": "PRICE_UNIT_MICRO"
},
"weight": "50lb"
},
"checkedBaggage": {
"assessment": "ASSESSMENT_FEE",
"pieces": 0,
"fee": {
"amount": "77730000",
"unit": "PRICE_UNIT_MICRO"
},
"weight": "50lb"
},
"brandNames": ["BASIC ECONOMY"],
"advanceChange": {
"assessment": "ASSESSMENT_UNKNOWN"
},
"cancellation": {
"assessment": "ASSESSMENT_UNAVAILABLE"
},
"seatPreReservation": {
"assessment": "ASSESSMENT_UNKNOWN"
},
"upgradeEligibility": {
"assessment": "ASSESSMENT_UNKNOWN"
}
}
},
{
"price": {
"amount": "2234560",
"unit": "PRICE_UNIT_MILLI"
},
"agentIds": ["skys"],
"pricingOptionFare": {
"cabinBaggage": {
"assessment": "ASSESSMENT_INCLUDED",
"pieces": 1,
"fee": {
"amount": "",
"unit": "PRICE_UNIT_MICRO"
},
"weight": "50lb"
},
"checkedBaggage": {
"assessment": "ASSESSMENT_INCLUDED",
"pieces": 1,
"fee": {
"amount": "",
"unit": "PRICE_UNIT_MICRO"
},
"weight": "50lb"
},
"brandNames": ["STANDARD ECONOMY"],
"advanceChange": {
"assessment": "ASSESSMENT_UNKNOWN"
},
"cancellation": {
"assessment": "ASSESSMENT_UNAVAILABLE"
},
"seatPreReservation": {
"assessment": "ASSESSMENT_UNKNOWN"
},
"upgradeEligibility": {
"assessment": "ASSESSMENT_UNKNOWN"
}
}
}
]
}
Example responses breakdown (visual)
Here are the visual explanations of how each field correlates to an iteration of Skyscanner UI