Add Offer Reference Payload API Reference
POST |
book/airoffer/reservationworkbench/{workbenchID}/offers/buildfromcatalogproductofferings 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, Booking Session Workflow
Use the Add Offer reference payload request to add an offer to the reservation workbench as part of the booking workflow. The reference payload request sends identifiers from the Search response instead of full itinerary details.
NDC supports only the reference payload detailed here. For GDS, you can send either a reference payload or a full payload.
Start with a post-commit workbench. before sending Add Offer, per the booking workflow.
Add offer to expired booking
For GDS only, you can use this Add Offer reference payload request, or the Add Offer full payload request, to add an offer to an existing reservation, such as when the previously added offer has expired and can no longer be booked. (For NDC, use the NDC-specific Standalone Reprice API instead.)
Request
Also see Authorization and Common Headers.
Query Parameters
None.
Request Body
Basic Add Offer Request - Reference Payload
Object |
Description |
Required/Optional |
---|---|---|
OfferQueryBuildFromCatalogProductOfferings |
Top level object for request. |
Required |
BuildFromCatalogProductOfferingsRequest |
Top level object for identifiers from search response. Top level object. Includes CatalogProductOfferingsIdentifier and PricingModifiersAir (optional). |
Required |
CatalogProductOfferingsIdentifier |
Top level object for transaction identifier from either the Search or AirPrice 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 the preceding response this request refers to. To add an offer from a previous Search, Next Leg Search, or Flight Specific Search response, send the value returned that response in
To add an offer from a previous Price response, either full or reference payload, send the value returned in the response in
When adding an offer from a previous Price response, either full or reference payload, you must remove the _PC from the end of the identifier returned in Price, as in
|
Required |
CatalogProductOfferingSelection |
Top level object for offer and product identifiers from the search response. Array. Send one instance for each offer. |
Required |
CatalogProductOfferingIdentifier |
Top level object for offer identifier. Array. 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 CatalogProductOfferings/CatalogProductOffering/id To add an offer from a previous Price response, either full or reference payload, send the value returned in the response in
|
Required |
ProductIdentifier |
Top level object for product identifier. Array. Includes Identifier object. |
Required |
|
Top level object. Includes value. |
Required |
|
Sends the product identifier from the Search, Next Leg Search, or Flight Specific Search response in
To add an offer from a previous Price response, either full or reference payload, send the value returned in the response in
|
Required |
OrganizationInformation |
Any optional account codes. |
Optional |
GSTRegistrationNumber |
Send to add India GST (Goods and Services Tax) SSRs. If sent, all of the following are required; these are details for the business purchasing the goods and services in the GST:
See India GST SSRs in the Remarks & Service Requests Guide for important details.
|
All values are required if sent
|
PricingModifiersAir
|
Any optional pricing modifiers. See PricingModifiersAir table below. GDS only; modifiers are not supported for NDC.
|
Optional |
PricingModifiersAir (optional pricing modifiers)
Optionally, you can store fares with one or more pricing modifiers. If a pricing modifier is not added, the auto stored fare is added to the reservation. There is no change in the AirReservation response when pricing modifiers are requested. AirReservation applies modifiers from Add Offer and earlier steps as follows:
-
Modifiers sent in the Add Offer request (supported for both full and reference payload)
-
If no modifiers are sent in Add Offer, any pricing modifiers sent in AirPrice are applied
-
If no modifiers were sent in AirPrice, any pricing modifiers sent in Search are applied
If the requested modifier does not have any fares associated with it, the workbench commit fails and returns the error message No Fare Found. Pricing happens at commit, not at Add Offer.
Object |
Description |
Required/Optional |
---|---|---|
PricingModifiersAir
|
Any optional pricing modifiers. Required only when sending fare modifiers. Includes FareSelection. |
Optional |
|
The currency code for overriding the default currency associated with your PCC provisioned by Travelport. |
Optional |
|
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 |
|
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 |
TaxExemption |
AirReservation 23.11.25 and later.
Sends specific tax codes to mark as tax exempt. Send either or both the key value pairs countries and taxCodes or allTaxesExemptInd 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. |
Optional |
countries |
Array. One or more two-letter alphanumeric codes for the countries in which the taxCodes sent are tax exempt. Must send with taxCodes. |
Optional |
taxCodes |
Array. One or more two-letter alphanumeric tax codes to mark as exempt. Must send with countries if sent. |
Optional |
|
Boolean. Send with true to omit all taxes from the response. Do not send if false; use countries and taxCodes to specify which taxes to exempt. |
Optional |
FareSelection |
Additional optional fare modifiers. Stores 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 |
|
Allows you to store either a private fare or a public fare, or the lowest of either private or public fares. These can be combined. Supported values are:
|
Optional |
|
true stores only refundable fares, false stores only non-refundable fares. |
Optional |
|
true stores only fares that do not require a minimum stay; false allows minimum stay fares. |
Optional |
|
true stores only fares that do not require a maximum stay; false allows maximum stay fares. |
Optional |
|
true stores only fares that do not require advance purchase; false allows fares with advance purchase restrictions. |
Optional |
|
Allows you to specify the carrier to override the default validating carrier (the airline designator that the ticket is issued against). String to send the IATA code for a carrier to override the default validating carrier. If the validating carrier code is not supported for an itinerary, the response returns the error Ticketing Agreement does not exist. If an invalid validating carrier code is sent in the request, the response returns the error Unknown Carrier. |
Optional |
FareModifiers |
Top level object for account codes. Required only when sending account code. |
Optional |
Account |
Sends account codes for negotiated fares. |
Optional |
|
The account code to price. |
Optional |
Brand |
Send in PricingModifiersAir only if requesting to store a fare with brand details at the offer level. |
Optional |
|
The brand tier. |
Optional |
Response
The response returns the system-generated offer identifier. This identifier must be sent in several subsequent transactions, such as payment and ticketing.
Object |
Description |
---|---|
OfferListResponse |
Top level object. |
OfferID |
Top level object. |
Identifier |
Returns the system-generated offer identifier in the following key value pairs; in this case authority value is Travelport:
|
Example Request
The following reference payload is for GDS.
{
"OfferQueryBuildFromCatalogProductOfferings": {
"BuildFromCatalogProductOfferingsRequest": {
"@type": "BuildFromCatalogProductOfferingsRequestAir",
"CatalogProductOfferingsIdentifier": {
"Identifier": {
"value": "b6179851-fd68-4cba-a010-f6dc3235b398"
}
},
"CatalogProductOfferingSelection": [
{
"CatalogProductOfferingIdentifier": {
"Identifier": {
"value": "o1"
}
},
"ProductIdentifier": [
{
"Identifier": {
"value": "p0"
}
}
]
}
]
}
}
}
The following reference payload is for NDC. The only difference is that NDC identifiers offer and product identifiers include the airline code, in this case, QF.
{
"OfferQueryBuildFromCatalogProductOfferings": {
"BuildFromCatalogProductOfferingsRequest": {
"@type": "BuildFromCatalogProductOfferingsRequestAir",
"CatalogProductOfferingsIdentifier": {
"Identifier": {
"value": "1fceb004-aaca-4657-930a-cb6304fa89e2"
}
},
"CatalogProductOfferingSelection": [
{
"CatalogProductOfferingIdentifier": {
"Identifier": {
"value": "QF_CPO0"
}
},
"ProductIdentifier": [
{
"Identifier": {
"value": "QFp0"
}
}
]
},
{
"CatalogProductOfferingIdentifier": {
"Identifier": {
"value": "QF_CPO1"
}
},
"ProductIdentifier": [
{
"Identifier": {
"value": "QFp24"
}
}
]
}
]
}
}
}
Example Response
The response returns the system-generated offer identifier. This identifier must be sent in several subsequent transactions, such as payment and ticketing.
{
"OfferListResponse": {
"OfferID": [
{
"@type": "OfferIdentifier",
"Identifier": {
"authority": "Travelport",
"value": "12ec2ce3-b451-404c-ab2a-16c5b049d70b"
}
}
]
}
}