Standalone Price API Reference
POST |
book/airoffer/reservationworkbench/{workbenchID}/offers/buildfromshoppingcartproducts For {workbenchID} send the workbench identifier returned in ReservationResponse/Identifer/value in the workbench create response. Base path: Pre-production https://api.pp.travelport.com/11/air/ Production https://api.travelport.com/11/air/ |
Related Content: Booking Guide
The Standalone Price request is an optional request that follows Add Product in the Add Product booking workflow, an alternate workflow that skips the Search and AirPrice requests that usually initiate the JSON APIs workflow. Standalone Price prices any unpriced flight products in the workbench. You can send Standalone Price in either the initial booking workbench or a post-commit workbench, such as during ticketing. You must have already sourced all details for the flight you want to book.
Note the following known issues with the initial release of Standalone Price:
- All unpriced products in the workbench are priced together. Pricing by traveler or segment is not supported at this time.
- The PassengerFlight object does not return PTCs, passenger quantity, or cabin class.
- The response returns the FlightStatus object instead of Flight, which contains the StatusDetail information.
Request
Also see Authorization and Common Headers.
Query Parameters
None.
Request Body
Basic Standalone Price Request
Object |
Description |
Required/Optional |
---|---|---|
OfferQueryBuildFromShoppingCartProducts |
Top level object. Includes PricingModifiersAir and ProductIdentifier. |
Required |
PricingModifiersAir |
Optional pricing modifiers. See table below. |
Optional |
ProductIdentifier |
Reference details for the products to price. Includes Identifier. |
Required |
id |
Text. Custom user-assigned id of choice. |
Required |
Identifier |
The system-generated identifier values for each product from the Add Product response. Key value pairs:
|
Required |
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 Standalone Price response is the same as the response for the AirPrice reference and full payload requests, except that StandalonePrice does not return terms and conditions (TermsAndConditions object). See the AirPrice Reference Payload API Reference for the response table.
See the Air Pricing Guide for response layout diagrams and description.
Example Request
{
"OfferQueryBuildFromShoppingCartProducts": {
"@type": "OfferQueryBuildFromShoppingCartProducts",
"PricingModifiersAir": {
"@type": "PricingModifiersAirDetail",
"currencyCode": "AUD",
"FareSelection": {
"@type": "FareSelectionDetail",
"fareType": "PublicFaresOnly"
}
},
"ProductIdentifier": [
{
"id": "P1",
"Identifier": {
"authority": "Travelport",
"value": "2c18911d-b130-4cb5-a2bd-54ce8057a478"
}
},
{
"id": "P2",
"Identifier": {
"authority": "Travelport",
"value": "1899822c-6cec-4b1a-9aec-7f29ec81e7e5"
}
}
]
}
}
Example Response
{
"OfferListResponse": {
"@type": "OfferListResponse",
"OfferID": [
{
"@type": "Offer",
"Identifier": {
"authority": "Travelport",
"value": "6787f382-c92b-476c-ae97-0066cdaaf974"
},
"Product": [
{
"@type": "ProductAir",
"id": "product_1",
"Identifier": {
"authority": "Travelport",
"value": "2c18911d-b130-4cb5-a2bd-54ce8057a478"
},
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "FlightSegment_01",
"sequence": 1,
"Flight": {
"@type": "Flight",
"duration": "PT1H25M",
"carrier": "QF",
"number": "410",
"equipment": "73H",
"id": "Flight_01",
"Identifier": {
"authority": "Travelport",
"value": "92a1cd1b-24c0-437a-bb46-208e7d3bc69b"
},
"Departure": {
"@type": "Departure",
"location": "MEL",
"date": "2023-04-02",
"time": "07:00:00"
},
"Arrival": {
"@type": "Arrival",
"location": "SYD",
"date": "2023-04-02",
"time": "08:25:00"
}
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "E",
"cabin": "Economy"
}
]
},
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "CHD",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "E",
"cabin": "Economy"
}
]
},
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "INF",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "E",
"cabin": "Economy"
}
]
}
]
},
{
"@type": "ProductAir",
"id": "product_2",
"Identifier": {
"authority": "Travelport",
"value": "1899822c-6cec-4b1a-9aec-7f29ec81e7e5"
},
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "FlightSegment_02",
"sequence": 2,
"Flight": {
"@type": "Flight",
"duration": "PT1H30M",
"carrier": "QF",
"number": "554",
"equipment": "73H",
"id": "Flight_02",
"Identifier": {
"authority": "Travelport",
"value": "05c297ed-b9bb-4507-a93d-0e2070f123d9"
},
"Departure": {
"@type": "Departure",
"location": "SYD",
"date": "2023-04-07",
"time": "21:35:00"
},
"Arrival": {
"@type": "Arrival",
"location": "BNE",
"date": "2023-04-07",
"time": "23:05:00"
}
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
2
],
"classOfService": "E",
"cabin": "Economy"
}
]
},
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "CHD",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
2
],
"classOfService": "E",
"cabin": "Economy"
}
]
},
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "INF",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
2
],
"classOfService": "E",
"cabin": "Economy"
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"id": "PriceDetail_1",
"CurrencyCode": {
"value": "AUD"
},
"Base": 558.2,
"TotalTaxes": 166.2,
"TotalFees": 0,
"TotalPrice": 724.4,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 279.1,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 83.1,
"Tax": [
{
"currencyCode": "AUD",
"taxCode": "QR",
"value": 37.17
},
{
"currencyCode": "AUD",
"taxCode": "WG",
"value": 13
},
{
"currencyCode": "AUD",
"taxCode": "UO",
"value": 32.93
}
]
},
"Total": 362.2
}
},
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "CNN",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 279.1,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 83.1,
"Tax": [
{
"currencyCode": "AUD",
"taxCode": "QR",
"value": 37.17
},
{
"currencyCode": "AUD",
"taxCode": "WG",
"value": 13
},
{
"currencyCode": "AUD",
"taxCode": "UO",
"value": 32.93
}
]
},
"Total": 362.2
}
},
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "INF",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 0,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 0
},
"Total": 0
}
}
]
}
}
]
}
}