Commit Workbench API Reference
POST |
book/reservation/reservations/{workbenchID} For {workbenchID} send the workbench identifier returned in ReservationResponse/Identifer/value in the workbench create response. Base path: Use this base path if you have not yet received or not migrated to the new credentials from Travelport:
Use this base path after you have migrated to the new credentials from Travelport (using .net instead of .com):
|
Related Content: Booking Guide, Ticketing Guide
The Commit Workbench request ends a workbench session and commits all requests made in that session to the booking.
Depending on the requests sent in the workbench session, the workbench commit could result in any of the following:
-
Create a booking (at the end of the initial booking workflow)
-
Issue a ticket or EMD (if payment for that ticket or EMD is included in the workbench with the Payment request)
-
Modify traveler data (after the Traveler Updatable Items and Traveler Update requests are sent in the workbench)
-
Exchange a ticket using the GDS Exchange APIs (NDC exchanges use Modify to end the exchange)
Note that some workbench commit options are supported only in specific flows, such as the initial booking flow, a ticketing commit, or an exchange commit, as specified for that option where applicable in this topic.
In the initial booking workflow, if any pricing modifier sent in the Add Offer full payload or reference payload request does not have any fares associated with it, the commit will fail and return the error message No Fare Found. Pricing happens at the commit, not the Add Offer step.
NDC carrier British Airways (BA) does not guarantee the price of a held booking. When ticketing a held booking, if the price has changed, the JSON APIs return the error message "ERROR AT ISSUANCE TIME: TST EXPIRED - OVERRIDE OR DELETE AND REPRICE Code = \"376\". In this case, you must use the Reprice and Modify APIs (see the Exchange, Refund, and Void Guide) and send payment to complete ticketing.
Carrier Code Delay at Booking
In some instances, the carrier requires additional time to return the carrier locator code. Because this can be an issue for agencies that require this code at the time of booking, AirReservation makes one additional attempt to retrieve the reservation from the carrier. If the carrier locator code cannot be retrieved, and agencies must retrieve the reservation later. This can happen in any booking scenario upon commit but is most common when the booking contains an ancillary such as a wheelchair.
Request
As part of the request requirements, also see Authentication and Common Air Headers.
Query Parameters
Parameter | Description | Required/Optional |
---|---|---|
autoDeleteDate |
Optional. Use to create, update, or delete retention segments, and to create a shell booking for booking failures caused by specific scenarios. Retention Segments By default, reservation details are stored for one month after all travel on the itinerary is completed. This means you can continue to retrieve the reservation for one month after travel, at which time the reservation is purged and no longer available. You can extend this time by setting a purge date that is up to 331 days from the date the reservation was created: In the commit of the initial booking workbench session, send autoDeleteDate with a date in YYYY-MM-DD format, as in ?autoDeleteDate=2024-08-12. Adding a purge date creates a retention segment on the host reservation. The autoDeleteDate value is returned in the Reservation Retrieve, Workbench Commit, and Post-Commit Workbench responses. To update or delete the autoDeleteDate, at the end of a post-commit workbench session, send autoDeleteDate with one of the following:
Create Reservation Shell (Shell Booking) Sending autoDeleteDate with any date value in the commit of the initial booking workbench session creates a reservation shell if the booking fails either because the offer cannot be added or the fare cannot be quoted. This reservation shell contains traveler details and allows the booking to be completed later. See Create Shell Booking in Case of Booking Failure. |
Optional |
Optional. Send with a value of BACKOFFICE to update any back office accounting systems. You can send Issuance in the workbench commit at the end of a booking session, or at ticketing. The response includes an interface control number. |
Optional |
|
payLaterInd |
For use only when exchanging GDS tickets; see the Exchanges, Refunds, and Void Guide for details. Sets whether to issue the new ticket/s now, or create a held booking for later fulfillment. Supported values:
|
Required for a ticket exchange only |
DocumentValue |
For use only when exchanging GDS tickets; see the Exchanges, Refunds, and Void Guide for details. If sent, send with a value of REFUND, which refunds an EMD that has a refundable balance to the original FOP and is the only supported value. Refunds are indicated in the Exchange Search response by a negative amount in ModifyPrice/TotalPrice, and a value of either EMD or MCO in TermsAndConditions/FulfillmentMethod/RefundMethod. Alternately, you can refund or forfeit any EMD value using the EMD Void request.
If the new itinerary is ticketed at the time of reservation (pay now flow), and there is a residual balance to an MCO (miscellaneous change order), the MCO is issued along with the ticket at workbench commit. If the new itinerary is booked but not ticketed (pay later flow), any MCO is created but not issued yet. This allows customers to display, modify, and issue their own MCO outside of the JSON APIs if desired. If the reservation is subsequently ticketed using Exchange Ticketing, the MCO is issued at commit as usual.
|
Optional for a ticket exchange If not sent any value remains on the EMD. |
Request Body
Although a workbench commit does not require any message payload, it supports several optional actions that can be specified in an optional payload. The following table includes all objects that are supported for the optional workbench commit payload. See the following links in the Air Booking Guide for a full description of these optional actions supported at commit:
- Enable Two-Step Commit and Warnings for Price Change, Schedule Change, or Minimum Connect Time (MCT)
-
Specify a queue at ticketing (Ticketing Guide)

Object |
Description |
Required/Optional |
---|---|---|
ReservationQueryCommitReservation |
Top-level object. May include Notification and ReceivedFrom objects. |
Required |
|
Indicator to update the booking with an involuntary flight schedule change, which occurs when an airline has modified a flight schedule. Used when a schedule change has occurred after the booking has been made. If you are only accepting a schedule change, you can but are not required to create a workbench session before this commit. Boolean. Supported values:
To check whether a flight schedule has been modified, send a Reservation Retrieve request. In the response:
Currently there are defects associated with accepting involuntary schedule changes for NDC. Until these are resolved you may receive error messages for NDC.
|
Optional |
|
AirReservation 25.11.67. GDS only; not supported for NDC.
In the initial booking workflow, or when adding an offer to an existing reservation, enables a two-step commit process that, when combined with errorWhenPriceChangesInd, errorWhenScheduleChangesInd, and/or overrideMCTInd, returns a warning if the error for that indicator occurs. If so, AirReservation keeps the workbench active and returns a warning message and additional details. Boolean. Supported values:
If a two-step commit is triggered, you must send an additional commit request if you want to complete the booking. See the Air Booking Guide for a full description, examples, and alternative actions to proceeding with the booking.
|
Optional |
|
AirReservation 25.11.67. GDS only; not supported for NDC.
Boolean. Supported values and behavior at initial workbench commit:
If no price change occurs, AirReservation creates the booking at initial commit as usual. If a two-step commit is triggered and you want to proceed with the booking, for the second workbench commit, send with false or do not send. Do not send with true, which returns an error and discards the workbench. |
Optional |
|
AirReservation 25.11.67. GDS only; not supported for NDC.
Boolean. Supported values and behavior at initial workbench commit:
If no schedule change occurs, AirReservation creates the booking at initial commit as usual. If a two-step commit is triggered and you want to proceed with the booking, for the second workbench commit, send with false or do not send. Do not send with true, which returns an error and discards the workbench. |
Optional |
|
AirReservation 25.11.67. GDS only; not supported for NDC.
A Minimum Connect Time (MCT) violation occurs when an airline deems there is not sufficient time for passengers to reach their connecting flight. MCT thresholds are set by individual carriers. Boolean. Supported values and behavior at initial workbench commit
If no MCT violation occurs, AirReservation creates the booking at initial commit as usual. If a two-step commit is triggered and you want to proceed with the booking, for the second workbench commit, send overrideMCTInd as true, or send empty or do not send, to override the MCT message from the carrier and create the booking. Do not send again with false, which discards the workbench. |
Optional |
ReceivedFrom |
GDS only; not supported for NDC. Supported for both ticketing and exchanges.
ReceivedFrom is used on the Deem platform to add name details for the person a backoffice comment was received from. After sending, receivedFrom details are viewable only in a terminal program, not in the JSON Reservation Retrieve API. String. Value to note received from. |
Optional |
Notification |
Top-level object. May include QueueNumber and Date objects. |
Optional; required for QueueNumber or Date objects |
QueueNumber |
After booking and either with or prior to ticketing, you can place a booking on a queue. (See Queues in the Ticketing Guide for details.) If sending, send with Notification; at a minimum must send queue number in value below. This is one of two ways to specify a queue. Alternately, you can send the standalone Queue Placement request anytime after booking and before ticketing. |
Optional |
|
String. Queue category. |
Optional |
|
String. Queue subcategory. | |
|
Send only if overriding the default PCC. |
Optional |
|
Send the queue number. |
Required if sending QueueNumber object |
Date |
Send to update or delete the ticketing time limit on a booking. This is the last day to ticket the booking before the offer expires. If sending, send with Notification, Send one of the following in YYYY-MM-DD format:
|
Optional |
Response
The workbench commit response uses the same structure as the Reservation Retrieve response. Reservation Retrieve can return additional data with query parameters not available for Workbench Commit. See the Reservation Retrieve API Reference for full details on the response structure. The following table includes objects returned for either booking or ticketing workbench commits. It does not include all objects that could possibly be returned, such as for seats or ancillaries on the booking, which are documented in several other places in the online help.
If the flight schedule or price has changed since the offer was added to the workbench, the booking is created at workbench commit and the response returns a notification in Result/Error/Message per the examples below. For GDS only, you can activate two-step commit if you want to receive a message prior to creating the booking so you can decide whether to proceed.
- Price increase example: "The Total Price has been increased from 17272.68 USD to 18272.0 USD"
- Price decrease example: "The Total Price has been decreased from 665.7 USD to 620.8 USD"
- Flight time change example: "The Departure Date and/or Time has changed from 2023-01-19/16:35:00 to 2023-01-23/18:35:00 for KL 1243 from AMS to CDG"

ReservationResponse objects
Object |
Description |
---|---|
ReservationResponse |
Top level object for response. Includes Reservation and Result objects. May include AvailabilitySourceCode. |
AvailabilitySourceCode |
GDS only; not supported for NDC.
Returned in Product/FlightSegment/Flight in the workbench commit response but not the Reservation Retrieve response. Can be used to assist in troubleshooting. Possible values and definitions are:
|
Reservation |
Top-level object for reservation details. See Reservation Objects table immediately below for details. |
Result |
Returns any error or warning message. See Error Messaging for details. |
Reservation Objects
The table below lists the primary objects returned in the Reservation object for the workbench commit. The links below open to tables in the Reservation Retrieve API Reference for detailed descriptions.
Object |
Description |
---|---|
Reservation |
Top-level object for reservation details. For unticketed bookings, at a minimum, includes the Offer, Traveler, Receipt, and ReservationDisplaySequence objects. Depending on the information in the booking file, and if the booking has been ticketed, may include FormOfPayment, Payment, and other objects per below. May include key value pairs:
|
Offer |
Array. Each instance returns details about one offer on the reservation. Key value pairs:
For air, an offer could be the flight/s, seats, or a paid ancillary. Additional instances of Offer are returned by default if the booking includes hotel and/or car segments, if those segments were booked with the JSON Hotel APIs or JSON Car APIs (full release pending), or a Travelport+ terminal program. See the Multi-Content Booking Guide (Air, Hotel, Car). For objects see the tables in Offer object - Air, Offer object - Hotel, and Offer object - Car. |
Traveler |
Array. One instance for each unique traveler on the reservation. See Traveler table. |
FormOfPayment |
Returned if form of payment has been added to this booking. See FormOfPayment table. |
Payment |
Returned if payment has been made for an offer in this booking, such as for a ticket, seats, EMDs, etc. See Payment table. |
Receipt |
Array. Returns confirmation details, including the booking locator code. May return multiple instances with @type values ReceiptConfirmation (for booking confirmations) or ReceiptPayment (for ticketed bookings). See Receipt table. |
CustomAuxiliarySegment |
Returns any auxiliary segments on a booking. Auxiliary segments can include air taxi, cars, hotels, surface transportation, and tours. TUR (tour) or SUR (surface) segments are commonly used for rail content, but can be used for other ground transportation such as taxis, surface transportation and tours. This content cannot be booked in the JSON APIs but is returned when booked through another Travelport platform or an external provider. See CustomAuxiliarySegment in the Reservation Retrieve API Reference for details on this object. |
ReservationDisplaySequence |
Provides the chronological (by date) order of all offers on the booking. If a booking includes car and/or hotel segments along with air segments, includes those offers. Returned for all reservations even if hotel/car content is not on the booking. See Multi-Content Booking Guide (Air, Hotel, Car) for more details. Includes DisplaySequence object. May include AuxiliaryDisplaySequence. |
|
One instance for each air, hotel, or car offer on the booking. Includes the following:
|
|
Returned if a booking includes auxiliary segments per above. One instance for each tour or surface segment on the booking. |
Response for initial workbench commit for two-step commit
In the initial booking workflow, or when adding an offer to an existing reservation, you can enable a two-step commit process that returns a warning if specific error scenarios occur. If a two-step commit is triggered, the booking is not created and the response differs from the typical commit response. The table below lists the top-level objects returned in the first commit of the two-step commit response, and provides details on any objects that are returned only in that response. For shared objects that are the same as in the regular Workbench Commit and Reservation Retrieve responses, the links below lead to full descriptions in the Reservation Retrieve API Reference.
For the second commit in the two-step commit process, see the typical Workbench Commit response in the preceding table.
See the Air Booking Guide for a full description and examples for two-step commit.

Object |
Description |
---|---|
ReservationResponse |
Top level object for response. Key value pairs:
Includes Reservation, Result, and Identifier objects. |
Result |
Returns the error or warning message about the warning condition that triggered the two-step commit. Because the booking was not committed, Result/status is Not Processed. An error or warning like the following example is returned in Result/Error/Message or Result/Warning /Message: "The Total Price has been increased from 725.0 GBP to 740.0 GBP". See Error Messaging for additional details about errors. |
Identifier
|
Identifier for the two-step commit response. Key value pairs:
|
Reservation |
Top-level object for reservation details. Generally includes the Identifier, Offer, Traveler, Receipt, and ReservationDisplaySequence objects. May include additional objects if seats or other ancillaries were added to the workbench, or if two-step commit occurs for an existing booking instead of at initial booking workbench commit. |
ReservationResponse/Identifier
|
Identifier for the Reservation object. Key value pairs:
|
Offer |
In the two-step commit, several objects in Offer vary from the standard response. The following differences apply in the event of a price change:
![]() In this excerpt, the Taxes object has been truncated for brevity. In this example, per ModifyPrice, the price of the base fare (Base) did not change, but the tax amount (TotalTaxes) and thus the TotalPrice both increased by 15.
The following applies in the event of a schedule change:
![]() In this excerpt, the PassengerFlight object has been truncated for brevity. In this case, the flight number (Flight/number) and the departure and arrival times (Flight/Departure/time and Flight/Arrival/time) have changed.
|
TermsAndConditionsFull |
Standard structure, no changes for two-step commit. |
Traveler |
Standard object; no changes for two-step commit. |
Receipt |
In the event of a two-step commit for any reason, Receipt/Confirmation/OfferStatus/StatusAir/value is returned as Rejected, as the booking has not been committed. |
ReservationDisplaySequence |
Returned to provide the chronological (by date) order of all offers on the booking. Includes DisplaySequence object. |
DisplaySequence |
Array. One instance for each offer. In the event of a price change, no change from standard format. In the event of a schedule change, note that one instance is returned for the previous flight segment, and a second instance is returned for the updated flight segment. Both instances have the same OfferRef and ProductRef values; however, the Sequence values are different. To identify the Sequence value for each flight segment, check the values in Offer/Product/FlightSegment/sequence, as described above for the Offer object. |
Example Request
No message payload is required for workbench commit. The following examples show some of the optional payloads supported; see the response table above and the Booking Guide for full details.

This example shows a complete payload.
{
"ReservationQueryCommitReservation": {
"scheduleChangeAcceptedInd": true,
"enableTwoStepCommitInd": true,
"overrideMCTInd": true,
"errorWhenScheduleChangesInd": true,
"errorWhenOfferPriceChangesInd": true,
"Notification": [
{
"@type": "Notification",
"QueueNumber": [
{
"value": 1234,
"category": "CAE",
"subCategory": "D1",
"overridePCC": "0XS4"
}
],
"Date": "2025-01-24"
}
],
"ReceivedFrom": "B. Carpenter"
}
}
Send the following optional payload at workbench commit to trigger a two-step commit in the case of warnings about a schedule change, price change, and/or MCT warning.

{
"ReservationQueryCommitReservation": {
"enableTwoStepCommitInd": true,
"overrideMCTInd": false,
"errorWhenScheduleChangesInd": true,
"errorWhenOfferPriceChangesInd": true,
}
}
Send the following optional payload to accept an involuntary schedule change from the carrier. This is not related to schedule changes at initial commit in the preceding example.

{
"ReservationQueryCommitReservation": {
"@type": "ReservationQueryCommitReservation",
"scheduleChangeAcceptedInd": true
}
}
Send the following optional payload to add the booking to an agency queue (QueueNumber) and update the ticketing time limit (Date object).

{
"ReservationQueryCommitReservation": {
"@type": "ReservationQueryCommitReservation",
"Notification": [
{
"@type": "Notification",
"QueueNumber": [
{
"category": "DM",
"overridePCC": "39RA",
"value": 5
}
],
"Date": "2025-10-16"
}
]
}
}
Send the following optional payload to send a ReceivedFrom object. This allows online travel agencies (OTAs) and agents using the Deem platform to send a receive field at reservation creation or update. This object is not returned in the reservation retrieve.

{
"ReservationQueryCommitReservation": {
"ReceivedFrom": "BHarper"
}
}
Example Response
The following examples show workbench commit responses for both GDS and NDC content.
See the Air Booking Guide for a full description and examples of the two-step commit process, including examples of the responses returned for the price and schedule change warning scenarios.
The example below is the response to a workbench commit at the end of the initial booking workflow. It creates a GDS booking with record locator BXPJVM. This is a one-way itinerary with one traveler.
For comparison purposes, this same example booking (locator code BXPJVM) is also shown in the following example response for the ticketing commit, in the Post-Commit Workbench Create API Reference example response, and in the Reservation Retrieve API Reference example for the ticketed one-way GDS Itinerary.

{
"ReservationResponse": {
"@type": "ReservationResponse",
"Reservation": {
"@type": "Reservation",
"Offer": [
{
"@type": "Offer",
"id": "offer_1",
"Identifier": {
"authority": "Travelport",
"value": "c1f71f98-58d4-44cf-b9cb-0c22357b9aae"
},
"ContentSource": "GDS",
"Product": [
{
"@type": "ProductAir",
"id": "product_1",
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "FlightSegment_01",
"sequence": 1,
"Flight": {
"@type": "Flight",
"duration": "PT2H34M",
"carrier": "AA",
"number": "2755",
"equipment": "319",
"id": "Flight_01",
"Departure": {
"@type": "Departure",
"location": "ORD",
"date": "2025-06-28",
"time": "07:00:00"
},
"Arrival": {
"@type": "Arrival",
"location": "DEN",
"date": "2025-06-28",
"time": "08:39:00"
}
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "Y",
"cabin": "Economy"
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"id": "PriceDetail_1",
"CurrencyCode": {
"value": "AUD"
},
"Base": 854,
"TotalTaxes": 89.6,
"TotalFees": 0,
"TotalPrice": 943.6,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"currencySource": "Charged",
"approximateInd": true,
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 854,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 89.6,
"Tax": [
{
"currencyCode": "AUD",
"taxCode": "AY",
"value": 9.3
},
{
"currencyCode": "AUD",
"taxCode": "US",
"value": 64.1
},
{
"currencyCode": "AUD",
"taxCode": "XF",
"value": 7.5
},
{
"currencyCode": "AUD",
"taxCode": "ZP",
"value": 8.7
}
]
},
"Total": 943.6
},
"FiledAmount": {
"currencyCode": "USD",
"decimalPlace": 2,
"value": 514.59
}
}
]
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullAir",
"Identifier": {
"authority": "Travelport",
"value": "515849d1-5a35-43d1-abd3-a59df70247ed"
}
},
{
"@type": "TermsAndConditionsFullAir",
"ExpiryDate": "2025-05-30T23:59:00Z",
"PaymentTimeLimit": "2025-05-30T23:59:00Z"
}
]
}
],
"Traveler": [
{
"@type": "Traveler",
"birthDate": "1986-11-11",
"gender": "Male",
"passengerTypeCode": "ADT",
"id": "travelerRefId_1",
"Identifier": {
"authority": "Travelport",
"value": "cf222445-50ac-414e-a9b0-ee2f729406a9"
},
"PersonName": {
"@type": "PersonName",
"Given": "TESTFIRST",
"Surname": "TESTLAST"
},
"Telephone": [
{
"@type": "TelephoneDetail",
"countryAccessCode": "1",
"phoneNumber": "212456121",
"id": "telephone_1",
"cityCode": "ORD",
"role": "Home"
}
],
"Email": [
{
"emailType": "TO",
"value": "TravelerOne@notmail.com"
}
],
"TravelDocument": [
{
"@type": "TravelDocumentDetail",
"birthDate": "1986-11-11",
"Gender": "Male",
"PersonName": {
"@type": "PersonName",
"Given": "TESTFIRST",
"Surname": "TESTLAST"
}
},
{
"@type": "TravelDocumentDetail",
"docNumber": "A123123",
"docType": "Passport",
"expireDate": "2035-05-28",
"issueCountry": "US",
"birthDate": "1986-11-11",
"Gender": "Male",
"PersonName": {
"@type": "PersonName",
"Given": "TESTFIRST",
"Surname": "TESTLAST"
}
}
]
}
],
"Receipt": [
{
"@type": "ReceiptConfirmation",
"Identifier": {
"authority": "Travelport",
"value": "599f068a-8956-4c92-a997-3f28f394b21d"
},
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "1G",
"creationDate": "2025-05-28",
"value": "BXPJVM"
},
"OfferStatus": {
"@type": "OfferStatusAir",
"StatusAir": [
{
"flightRefs": [
"Flight_01"
],
"code": "HK",
"value": "Confirmed"
}
]
}
}
},
{
"@type": "ReceiptConfirmation",
"Identifier": {
"authority": "Travelport",
"value": "981d43eb-70fe-49ed-a4ff-46564705354d"
},
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "AA",
"value": "IUSHNW"
}
}
}
],
"ReservationDisplaySequence": {
"@type": "ReservationDisplaySequence",
"DisplaySequence": [
{
"@type": "DisplaySequence",
"displaySequence": 1,
"OfferRef": "offer_1",
"ProductRef": "product_1",
"Sequence": 1
}
]
}
}
}
}
The example below is the response to a workbench commit at the end of the ticketing workflow. It tickets the same booking in the previous example, with record locator BXPJVM. The FormOfPayment and Payment objects here were not returned in the first commit. In addition, Receipt includes an instance with @type ReceiptPayment that includes the Document object, which returns the ticket number in Number.

{
"ReservationResponse": {
"@type": "ReservationResponse",
"Reservation": {
"@type": "Reservation",
"Offer": [
{
"@type": "Offer",
"id": "offer_1",
"Identifier": {
"authority": "Travelport",
"value": "10b0ef3b-0797-447b-9b82-0cb59e1494c1"
},
"ContentSource": "GDS",
"Product": [
{
"@type": "ProductAir",
"id": "product_1",
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "FlightSegment_01",
"sequence": 1,
"Flight": {
"@type": "Flight",
"duration": "PT2H34M",
"carrier": "AA",
"number": "2755",
"equipment": "319",
"id": "Flight_01",
"Departure": {
"@type": "Departure",
"location": "ORD",
"date": "2025-06-28",
"time": "07:00:00"
},
"Arrival": {
"@type": "Arrival",
"location": "DEN",
"date": "2025-06-28",
"time": "08:39:00"
}
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "Y",
"cabin": "Economy"
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"id": "PriceDetail_1",
"CurrencyCode": {
"value": "AUD"
},
"Base": 854,
"TotalTaxes": 89.6,
"TotalFees": 0,
"TotalPrice": 943.6,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "USD"
},
"Base": 514.59
},
"TravelerRefs": [
"travelerRefId_1"
]
},
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"currencySource": "Charged",
"approximateInd": true,
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 854,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 89.6,
"Tax": [
{
"currencyCode": "AUD",
"taxCode": "AY",
"value": 9.3
},
{
"currencyCode": "AUD",
"taxCode": "US",
"value": 64.1
},
{
"currencyCode": "AUD",
"taxCode": "XF",
"value": 7.5
},
{
"currencyCode": "AUD",
"taxCode": "ZP",
"value": 8.7
}
]
},
"Total": 943.6
},
"FiledAmount": {
"currencyCode": "USD",
"decimalPlace": 2,
"value": 514.59
},
"TravelerRefs": [
"travelerRefId_1"
],
"FareCalculation": "CHI AA DEN Q0.17 514.42B0AIZNN1 USD514.59END"
}
]
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullAir",
"Identifier": {
"authority": "Travelport",
"value": "b4cf6d38-0a8c-4080-a524-fcffe6bd3633"
},
"ExpiryDate": "2025-05-29T23:59:00Z",
"PaymentTimeLimit": "2025-05-30T23:59:00Z"
}
]
}
],
"Traveler": [
{
"@type": "Traveler",
"birthDate": "1986-11-11",
"gender": "Male",
"passengerTypeCode": "ADT",
"id": "travelerRefId_1",
"Identifier": {
"authority": "Travelport",
"value": "a493cb07-cae0-42fe-b80e-6278ce21c0d7"
},
"PersonName": {
"@type": "PersonName",
"Given": "TESTFIRST",
"Surname": "TESTLAST"
},
"Telephone": [
{
"@type": "TelephoneDetail",
"countryAccessCode": "1",
"phoneNumber": "212456121",
"id": "telephone_1",
"cityCode": "ORD",
"role": "Home"
}
],
"Email": [
{
"emailType": "TO",
"value": "TravelerOne@gmail.com"
}
],
"TravelDocument": [
{
"@type": "TravelDocumentDetail",
"birthDate": "1986-11-11",
"Gender": "Male",
"PersonName": {
"@type": "PersonName",
"Given": "TESTFIRST",
"Surname": "TESTLAST"
}
},
{
"@type": "TravelDocumentDetail",
"docNumber": "A123123",
"docType": "Passport",
"expireDate": "2035-05-28",
"issueCountry": "US",
"birthDate": "1986-11-11",
"Gender": "Male",
"PersonName": {
"@type": "PersonName",
"Given": "TESTFIRST",
"Surname": "TESTLAST"
}
}
]
}
],
"FormOfPayment": [
{
"@type": "FormOfPaymentCash",
"id": "formOfPayment_1",
"FormOfPaymentRef": "formOfPayment_1",
"Identifier": {
"authority": "Travelport",
"value": "8bd8e02c-7a1d-4979-b563-4811095cbe42"
}
}
],
"Payment": [
{
"@type": "Payment",
"id": "payment_1",
"Identifier": {
"authority": "Travelport",
"value": "d95e702e-671f-4a3e-835f-4bdc78f6ec65"
},
"Amount": {
"code": "USD",
"minorUnit": 2,
"currencySource": "Charged",
"value": 943.6
},
"FormOfPaymentIdentifier": {
"FormOfPaymentRef": "formOfPayment_1",
"Identifier": {
"authority": "Travelport",
"value": "1546cc57-c5c3-4670-b555-fed35dd69ddf"
}
},
"OfferIdentifier": [
{
"id": "offer_1",
"offerRef": "offer_1",
"Identifier": {
"authority": "Travelport",
"value": "9829d223-66dc-4590-8a8e-66a1669f8b00"
}
}
]
}
],
"Receipt": [
{
"@type": "ReceiptConfirmation",
"Identifier": {
"authority": "Travelport",
"value": "17653ad8-eeae-4e88-a537-9a8b55323bba"
},
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "1G",
"creationDate": "2025-05-28",
"value": "BXPJVM"
},
"OfferStatus": {
"@type": "OfferStatusAir",
"StatusAir": [
{
"flightRefs": [
"Flight_01"
],
"code": "HK",
"value": "Confirmed"
}
]
}
}
},
{
"@type": "ReceiptConfirmation",
"Identifier": {
"authority": "Travelport",
"value": "dfa0a8de-2e33-4f88-aed7-7afc197e9d30"
},
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "AA",
"value": "IUSHNW"
}
}
},
{
"@type": "ReceiptPayment",
"Document": [
{
"@type": "DocumentTicket",
"Number": "0019905292727",
"TravelerIdentifierRef": {
"id": "travelerRefId_1",
"value": "a493cb07-cae0-42fe-b80e-6278ce21c0d7"
},
"Amount": {
"@type": "Amount",
"Total": 943.6
}
}
]
}
],
"ReservationDisplaySequence": {
"@type": "ReservationDisplaySequence",
"DisplaySequence": [
{
"@type": "DisplaySequence",
"displaySequence": 1,
"OfferRef": "offer_1",
"ProductRef": "product_1",
"Sequence": 1
}
]
}
}
}
}
The next three commit response examples are for NDC bookings. Similarly, the following example is for an NDC held booking, one-way with one traveler. This commit response shows the Travelport locator code B7KT1S.

{
"ReservationResponse": {
"@type": "ReservationResponse",
"Reservation": {
"@type": "Reservation",
"Identifier": {
"authority": "Travelport",
"value": "0ac7cfce-6192-4f32-b6b7-6dede455c17b"
},
"Offer": [
{
"@type": "Offer",
"id": "offer_1",
"Identifier": {
"authority": "AA",
"value": "MTVhM2E4ZjQtM2Y2Mi00MzlmLTgyMzctYWVlYzMwZTA4ODY5fFA1QjQyQTU3My1CMTIxLTRGODMtODY3OHN4aHRiMTR5MjNydmMtMS0x"
},
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT2H29M",
"id": "product_1",
"Identifier": {
"authority": "AA",
"value": "3e08fb8b-b5ed-42e6-be7f-f0e628307d26"
},
"FlightSegment": [
{
"@type": "FlightSegment",
"sequence": 1,
"Flight": {
"@type": "Flight",
"duration": "PT2H29M",
"carrier": "AA",
"number": "6221",
"equipment": "E75",
"id": "seg_1",
"Identifier": {
"authority": "AA",
"value": "6bc12b59-3387-4509-8975-64cd37e28d7d"
},
"Departure": {
"@type": "DepartureDetail",
"terminal": "0",
"location": "LAX",
"date": "2025-03-21",
"time": "09:22:00"
},
"Arrival": {
"@type": "ArrivalDetail",
"location": "DEN",
"date": "2025-03-21",
"time": "12:51:00"
}
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "L",
"cabin": "Economy",
"fareBasisCode": "LUAIYSN1",
"fareType": "PublicFare",
"Brand": {
"@type": "Brand",
"name": "Main Cabin"
}
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 370,
"TotalTaxes": 51.8,
"TotalPrice": 421.8,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 370,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 51.8,
"Tax": [
{
"taxCode": "US",
"description": "U.S.A Transportation Tax",
"value": 27.7
},
{
"taxCode": "XF",
"description": "U.S Passenger Facility Charge",
"value": 7.1
},
{
"taxCode": "ZP",
"description": "U.S. Flight Segment Tax",
"value": 8.2
},
{
"taxCode": "AY",
"description": "Passenger Civil Aviation Security Service Fee",
"value": 8.8
}
]
},
"Total": 421.8
}
}
]
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullAir",
"ExpiryDate": "2025-02-23T23:59:00Z",
"TextBlock": [
{
"@type": "TextBlockDetail",
"description": "FARE RULES",
"title": "Ticketing",
"TextFormatted": [
{
"value": "NONREF/FAREDIF/"
},
{
"value": "CXL BY FLT TIME OR NOVALUE"
}
]
}
],
"BaggageAllowance": [
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"product_1"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 0
}
],
"SegmentSequenceList": [
1
],
"Text": [
"0PC"
]
},
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "CarryOn",
"ProductRef": [
"product_1"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 2
}
],
"SegmentSequenceList": [
1
],
"Text": [
"2PC"
]
}
],
"FareRuleInfo": [
{
"@type": "FareRuleInfoText",
"flightsRefs": [
"seg_1"
],
"TextFareRule": [
{
"name": "Cancel",
"value": "Not Allowed"
}
]
}
],
"PaymentTimeLimit": "2025-02-23T23:59:00Z",
"Penalties": [
{
"@type": "Penalties",
"Change": [
{
"@type": "ChangePermitted",
"ProductRefs": [
"product_1"
]
}
],
"Cancel": [
{
"@type": "CancelNotPermitted",
"ProductRefs": [
"product_1"
],
"NotPermittedInd": "true"
}
],
"PassengerTypeCodes": [
"ADT"
]
}
]
}
]
}
],
"Traveler": [
{
"@type": "Traveler",
"birthDate": "1986-11-11",
"gender": "Male",
"passengerTypeCode": "ADT",
"id": "trav_1",
"TravelerRef": "trav_1",
"Identifier": {
"authority": "Travelport",
"value": "QURUfFQx"
},
"PersonName": {
"@type": "PersonName",
"Given": "TESTFIRST",
"Surname": "TESTLAST"
},
"Telephone": [
{
"@type": "Telephone",
"countryAccessCode": "1",
"phoneNumber": "212456121",
"id": "4",
"cityCode": "ORD",
"role": "Home"
}
],
"Email": [
{
"id": "email_1",
"validInd": true,
"value": "TRAVELERONE@GMAIL.COM"
}
],
"TravelDocument": [
{
"@type": "TravelDocumentDetail",
"docNumber": "A123123",
"docType": "Passport",
"expireDate": "2035-02-21",
"issueCountry": "US",
"birthDate": "1986-11-11",
"Gender": "Male",
"PersonName": {
"@type": "PersonName",
"Given": "TestFirst",
"Surname": "TestLast"
}
}
]
}
],
"Receipt": [
{
"@type": "ReceiptConfirmation",
"id": "receipt_1",
"Identifier": {
"authority": "AA",
"value": "4afd7900-bcf6-4473-9109-44bd60d14ffb"
},
"OfferRef": [
"offer_1"
],
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "AA",
"sourceContext": "OrderId",
"value": "AA001HGO3HWA4"
}
}
},
{
"@type": "ReceiptConfirmation",
"id": "receipt_2",
"Identifier": {
"authority": "AA",
"value": "ba4391ec-e0da-4290-98ca-f17d5b7b1060"
},
"OfferRef": [
"offer_1"
],
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "AA",
"sourceContext": "VendorLocator",
"value": "IKRWES"
},
"OfferStatus": {
"@type": "OfferStatusAir",
"StatusAir": [
{
"flightRefs": [
"seg_1"
],
"code": "HK",
"value": "Confirmed"
}
]
}
}
},
{
"@type": "ReceiptConfirmation",
"Identifier": {
"authority": "Travelport",
"value": "9acfe47e-c903-491b-b3d1-c8bb80970815"
},
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "1G",
"creationDate": "2025-02-22",
"value": "B7KT1S"
}
}
}
],
"ReservationComment": [
{
"@type": "ReservationComment",
"id": "reservationComment_1",
"Comment": [
{
"id": "comment_1",
"name": "SWITT1G/XB7/99999992/SYD/1G/T/AU/AUD/001TEST",
"language": "EN",
"value": "SWITT1G/XB7/99999992/SYD/1G/T/AU/AUD/001TEST"
}
]
}
],
"ReservationDisplaySequence": {
"@type": "ReservationDisplaySequence",
"DisplaySequence": [
{
"@type": "DisplaySequence",
"displaySequence": 1,
"OfferRef": "offer_1",
"ProductRef": "product_1",
"Sequence": 1
}
]
}
}
}
}
The example below shows the commit response when ticketing the same NDC booking in the preceding example, with the Travelport locator code B7KT1S.

{
"ReservationResponse": {
"@type": "ReservationResponse",
"Reservation": {
"@type": "Reservation",
"Identifier": {
"authority": "Travelport",
"value": "5dad819f-f6cf-4a62-9670-12e1e9b89cd3"
},
"Offer": [
{
"@type": "Offer",
"id": "offer_1",
"Identifier": {
"authority": "AA",
"value": "QUEwMDFIR08zSFdBNHxQNUI0MkE1NzMtQjEyMS00RjgzLTg2NzhzeGh0YjE0eTIzcnZjLTEtMXxTdGF0dXM6VVNFRCBOVEFD"
},
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT2H29M",
"id": "product_1",
"Identifier": {
"authority": "AA",
"value": "2d30cc3f-bdff-4abf-ad3d-90a155905c6a"
},
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "s1",
"sequence": 1,
"Flight": {
"@type": "Flight",
"distance": 860,
"duration": "PT2H29M",
"carrier": "AA",
"number": "6221",
"operatingCarrierName": "SKYWEST AIRLINES AS AMERICAN EAGLE",
"equipment": "E75",
"id": "Flight_01",
"Identifier": {
"authority": "AA",
"value": "2442a99c-51e3-471f-8357-4283a0f37853"
},
"Departure": {
"@type": "DepartureDetail",
"terminal": "0",
"location": "LAX",
"date": "2025-03-21",
"time": "09:22:00"
},
"Arrival": {
"@type": "ArrivalDetail",
"location": "DEN",
"date": "2025-03-21",
"time": "12:51:00"
}
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "L",
"cabin": "Economy",
"fareBasisCode": "LUAIYSN1",
"fareType": "PublicFare",
"Brand": {
"@type": "Brand",
"name": "Main Cabin"
}
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 370,
"TotalTaxes": 51.8,
"TotalPrice": 421.8,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 370,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 51.8,
"Tax": [
{
"taxCode": "US",
"description": "U.S.A Transportation Tax",
"value": 27.7
},
{
"taxCode": "XF",
"description": "U.S Passenger Facility Charge",
"value": 7.1
},
{
"taxCode": "ZP",
"description": "U.S. Flight Segment Tax",
"value": 8.2
},
{
"taxCode": "AY",
"description": "Passenger Civil Aviation Security Service Fee",
"value": 8.8
}
]
},
"Total": 421.8
}
}
]
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullAir",
"ExpiryDate": "2025-02-23T23:59:00Z",
"BaggageAllowance": [
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"product_1"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 0
}
],
"SegmentSequenceList": [
1
],
"Text": [
"0PC"
]
},
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "CarryOn",
"ProductRef": [
"product_1"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"quantity": 2
}
],
"SegmentSequenceList": [
1
],
"Text": [
"2PC"
]
}
],
"FareRuleInfo": [
{
"@type": "FareRuleInfoText",
"flightsRefs": [
"s1"
],
"TextFareRule": [
{
"name": "Ticketing",
"value": "NONREF/FAREDIF/"
},
{
"name": "Ticketing",
"value": "CXL BY FLT TIME OR NOVALUE"
},
{
"name": "Change",
"value": "Allowed"
},
{
"name": "Cancel",
"value": "Not Allowed"
},
{
"name": "AdvanceStay",
"value": "AdvancePurchase:P14D"
}
]
}
],
"PaymentTimeLimit": "2025-02-23T23:59:00Z",
"Penalties": [
{
"@type": "Penalties",
"Cancel": [
{
"@type": "CancelNotPermitted",
"ProductRefs": [
"product_1"
],
"NotPermittedInd": "true"
}
],
"PassengerTypeCodes": [
"ADT"
]
}
]
}
]
}
],
"Traveler": [
{
"@type": "Traveler",
"birthDate": "1986-11-11",
"gender": "Male",
"passengerTypeCode": "ADT",
"id": "trav_1",
"TravelerRef": "trav_1",
"Identifier": {
"authority": "Travelport",
"value": "QURUfFQx"
},
"PersonName": {
"@type": "PersonName",
"Given": "TESTFIRST",
"Surname": "TESTLAST"
},
"Telephone": [
{
"@type": "TelephoneDetail",
"countryAccessCode": "1",
"phoneNumber": "212456121",
"id": "telephone_1",
"cityCode": "ORD",
"role": "Home"
}
],
"Email": [
{
"id": "email_1",
"emailType": "TO",
"validInd": true,
"value": "TRAVELERONE@GMAIL.COM"
}
],
"TravelDocument": [
{
"@type": "TravelDocumentDetail",
"docNumber": "A123123",
"docType": "Passport",
"expireDate": "2035-02-21",
"issueCountry": "US",
"birthDate": "1986-11-11",
"birthCountry": "US",
"Gender": "Male",
"PersonName": {
"@type": "PersonName",
"Given": "TESTFIRST",
"Surname": "TESTLAST"
}
}
]
}
],
"FormOfPayment": [
{
"@type": "FormOfPaymentPaymentCard",
"id": "formOfPayment_1",
"FormOfPaymentRef": "formOfPayment_1",
"Identifier": {
"authority": "Travelport",
"value": "A0656EFF-FAF4-456F-B061-0161008D6FOP"
},
"PaymentCard": {
"@type": "PaymentCardDetail",
"id": "paymentCard_4",
"expireDate": "0139",
"CardType": "Credit",
"CardCode": "VI",
"CardHolderName": "JANE DOE",
"CardNumber": {
"@type": "CardNumber",
"PlainText": "XXXXXXXXXXXX8769"
},
"SeriesCode": {
"@type": "SeriesCode",
"PlainText": "123"
}
}
}
],
"Payment": [
{
"@type": "Payment",
"id": "payment_1",
"Identifier": {
"authority": "Travelport",
"value": "57f3d29b-aca0-483d-913f-1d11f86cfe30"
},
"Amount": {
"code": "AUD",
"minorUnit": 2,
"currencySource": "Charged",
"approximateInd": true,
"value": 421.8
},
"FormOfPaymentIdentifier": {
"FormOfPaymentRef": "formOfPayment_1",
"Identifier": {
"authority": "Travelport",
"value": "A0656EFF-FAF4-456F-B061-0161008D6FOP"
}
},
"OfferIdentifier": [
{
"offerRef": "offer_1",
"Identifier": {
"authority": "AA",
"value": "QUEwMDFIR08zSFdBNHxQNUI0MkE1NzMtQjEyMS00RjgzLTg2NzhzeGh0YjE0eTIzcnZjLTEtMXxTdGF0dXM6VVNFRCBOVEFD"
}
}
]
}
],
"Receipt": [
{
"@type": "ReceiptConfirmation",
"id": "receipt_1",
"OfferRef": [
"offer_1"
],
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "AA",
"sourceContext": "VendorLocator",
"value": "IKRWES"
},
"OfferStatus": {
"@type": "OfferStatusAir",
"StatusAir": [
{
"flightRefs": [
"Flight_01"
],
"code": "HK",
"value": "Confirmed"
}
]
}
}
},
{
"@type": "ReceiptConfirmation",
"id": "receipt_2",
"OfferRef": [
"offer_1"
],
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "AA",
"sourceContext": "OrderId",
"value": "AA001HGO3HWA4"
}
}
},
{
"@type": "ReceiptConfirmation",
"id": "receipt_3",
"Identifier": {
"authority": "Travelport",
"value": "11e196fb-9e04-4268-9330-e2e93ff19762"
},
"OfferRef": [],
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "1G",
"creationDate": "2025-02-22",
"value": "B7KT1S"
},
"OfferStatus": {
"@type": "OfferStatusAir",
"StatusAir": [
{
"flightRefs": [
"Flight_01"
],
"code": "ZK",
"value": "Pending"
}
]
}
}
},
{
"@type": "ReceiptPayment",
"dateTime": "2025-02-22T11:13:00Z",
"id": "receipt_4",
"ReceiptRef": "receipt_1",
"Identifier": {
"authority": "AA",
"value": "OWM1MzQwMmUtMTk1NS00NzFjLWE3ZTUtNzJiZjI5ODI3YmI0"
},
"OfferRef": [
"offer_1"
],
"Document": [
{
"@type": "DocumentTicket",
"Number": "0015756496641",
"TravelerIdentifierRef": {
"value": "trav_1"
},
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"value": "AUD"
},
"Total": 421.8
}
}
],
"PaymentIdentifier": {
"id": "payment_1",
"PaymentRef": "payment_1",
"Identifier": {
"authority": "Travelport",
"value": "57f3d29b-aca0-483d-913f-1d11f86cfe30"
}
}
}
],
"ReservationComment": [
{
"@type": "ReservationComment",
"id": "reservationComment_1",
"Comment": [
{
"id": "comment_1",
"name": "SWITT1G/XB7/99999992/SYD/1G/T/AU/AUD/001TEST",
"language": "EN",
"value": "SWITT1G/XB7/99999992/SYD/1G/T/AU/AUD/001TEST"
}
]
},
{
"@type": "ReservationComment",
"shareWith": "Agency",
"id": "RSRVComment_1",
"Comment": [
{
"value": "* PNR CONTAINS NDC AIR SEGMENTS-SERVICE VIA SMARTPOINT NDC APP *"
}
]
}
],
"ReservationDisplaySequence": {
"@type": "ReservationDisplaySequence",
"DisplaySequence": [
{
"@type": "DisplaySequence",
"displaySequence": 1,
"OfferRef": "offer_1",
"ProductRef": "product_1",
"Sequence": 1
}
]
}
},
"SupplementalInformation": [
{
"@type": "SupplementalInformation",
"NameValuePair": [
{
"name": "AgreementPCC",
"value": "PCC"
},
{
"name": "EMDIndicator",
"value": "N"
}
]
}
]
}
}
The next example shows the response for the NDC Instant Pay flow, which books and issues the ticket in the same, initial booking workbench (NDC only; carrier support varies). Receipt/Document/Number returns the ticket number while Receipt/Document/contentSource returns NDC, indicating the ticket was issued on NDC. This is a round-trip itinerary with one traveler.

{
"ReservationResponse": {
"@type": "ReservationResponse",
"Reservation": {
"@type": "Reservation",
"Identifier": {
"authority": "Travelport",
"value": "647583df-8d6f-4f8b-bcc5-e961100cb09f"
},
"Offer": [
{
"@type": "Offer",
"id": "1",
"Identifier": {
"authority": "SQ",
"value": "NUZLTjRLfFNRXzVGS040S19BSVItMS0yfFNRfFNRXzVGS040S3xwcm9kdWN0Ml9zMi1TRUcyOnByb2R1Y3QxX3MxLVNFRzF8QURUOlBBWDE="
},
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT4H",
"id": "product1",
"Identifier": {
"authority": "SQ",
"value": "ad94565e-5b81-497f-876b-f6723038ba98"
},
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "s1",
"sequence": 1,
"Flight": {
"@type": "Flight",
"duration": "PT4H",
"carrier": "SQ",
"number": "899",
"operatingCarrier": "SQ",
"operatingCarrierName": "SINGAPORE AIRLINES",
"id": "seg1",
"Identifier": {
"authority": "SQ",
"value": "d350d71c-c1af-4518-a231-99ea00a3918a"
},
"Departure": {
"@type": "DepartureDetail",
"terminal": "1",
"location": "HKG",
"date": "2025-03-21",
"time": "09:05:00"
},
"Arrival": {
"@type": "ArrivalDetail",
"terminal": "0",
"location": "SIN",
"date": "2025-03-21",
"time": "13:05:00"
}
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
1
],
"classOfService": "K",
"cabin": "Economy",
"fareBasisCode": "K16HKRPO/DP"
}
]
}
]
},
{
"@type": "ProductAir",
"totalDuration": "PT3H45M",
"id": "product2",
"Identifier": {
"authority": "SQ",
"value": "21f11ea0-8388-447c-a7c1-e2b07c8307c3"
},
"FlightSegment": [
{
"@type": "FlightSegment",
"id": "s2",
"sequence": 2,
"Flight": {
"@type": "Flight",
"duration": "PT3H45M",
"carrier": "SQ",
"number": "874",
"operatingCarrier": "SQ",
"operatingCarrierName": "SINGAPORE AIRLINES",
"id": "seg2",
"Identifier": {
"authority": "SQ",
"value": "9c4e962f-b80c-49bf-aeb2-4fd518cf0539"
},
"Departure": {
"@type": "DepartureDetail",
"terminal": "3",
"location": "SIN",
"date": "2025-03-24",
"time": "07:35:00"
},
"Arrival": {
"@type": "ArrivalDetail",
"terminal": "1",
"location": "HKG",
"date": "2025-03-24",
"time": "11:20:00"
}
}
}
],
"PassengerFlight": [
{
"@type": "PassengerFlight",
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"@type": "FlightProduct",
"segmentSequence": [
2
],
"classOfService": "K",
"cabin": "Economy",
"fareBasisCode": "K16HKRPO/DP"
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 378,
"TotalTaxes": 133.3,
"TotalFees": 0,
"TotalPrice": 511.3,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Base": 378,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 133.3,
"Tax": [
{
"taxCode": "G3",
"value": 18.4
},
{
"taxCode": "HK",
"value": 24.5
},
{
"taxCode": "I5",
"value": 13.3
},
{
"taxCode": "L7",
"value": 12.8
},
{
"taxCode": "OP",
"value": 9.5
},
{
"taxCode": "SG",
"value": 54.8
}
]
},
"Total": 511.3
}
}
]
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullAir",
"BaggageAllowance": [
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"product1"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"Measurement": [
{
"measurementType": "Weight",
"unit": "Kilograms",
"value": 25
}
]
}
],
"SegmentSequenceList": [
1
],
"Text": [
"25K"
]
},
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"product2"
],
"BaggageItem": [
{
"@type": "BaggageItem",
"Measurement": [
{
"measurementType": "Weight",
"unit": "Kilograms",
"value": 25
}
]
}
],
"SegmentSequenceList": [
2
],
"Text": [
"25K"
]
}
],
"ValidatingAirline": [
{
"@type": "ValidatingAirline",
"ValidatingAirline": "SQ"
}
]
}
]
}
],
"Traveler": [
{
"@type": "Traveler",
"birthDate": "1986-11-11",
"gender": "Male",
"passengerTypeCode": "ADT",
"id": "trav_1",
"TravelerRef": "trav_1",
"Identifier": {
"authority": "Travelport",
"value": "QURUfFBBWDE="
},
"PersonName": {
"@type": "PersonName",
"Given": "TESTFIRST",
"Surname": "TESTLAST"
},
"Telephone": [
{
"@type": "Telephone",
"countryAccessCode": "1",
"phoneNumber": "212456121",
"id": "4",
"cityCode": "ORD",
"role": "Home"
}
],
"Email": [
{
"id": "email_1",
"value": "TRAVELERONE@GMAIL.COM"
}
],
"TravelDocument": [
{
"@type": "TravelDocumentDetail",
"docNumber": "A123123",
"docType": "Passport",
"expireDate": "2035-02-21",
"issueCountry": "US",
"birthDate": "1986-11-11",
"Gender": "Male",
"PersonName": {
"@type": "PersonName",
"Given": "TestFirst",
"Surname": "TestLast"
}
}
]
}
],
"FormOfPayment": [
{
"@type": "FormOfPaymentCash",
"id": "formOfPayment_1",
"Identifier": {
"authority": "SQ",
"value": "c2a72cc6-779d-4f72-b76c-87f9c78a4d5f"
}
}
],
"Payment": [
{
"@type": "Payment",
"id": "payment_1",
"Identifier": {
"authority": "SQ",
"value": "NGI2NDExYmItZjk0ZS00N2UwLWEzZDEtMjg0ODI0NjNiMWVhfDpJTlY="
},
"Amount": {
"code": "AUD",
"value": 511.3
},
"FormOfPaymentIdentifier": {
"FormOfPaymentRef": "formOfPayment_1",
"Identifier": {
"authority": "SQ",
"value": "c2a72cc6-779d-4f72-b76c-87f9c78a4d5f"
}
},
"OfferIdentifier": [
{
"offerRef": "1",
"Identifier": {
"authority": "SQ",
"value": "NUZLTjRLfFNRXzVGS040S19BSVItMS0yfFNRfFNRXzVGS040S3xwcm9kdWN0Ml9zMi1TRUcyOnByb2R1Y3QxX3MxLVNFRzF8QURUOlBBWDE="
}
}
]
}
],
"Receipt": [
{
"@type": "ReceiptConfirmation",
"id": "receipt_1",
"OfferRef": [
"1"
],
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "SQ",
"sourceContext": "VendorLocator",
"value": "5FKN4K"
},
"OfferStatus": {
"@type": "OfferStatusAir",
"StatusAir": [
{
"flightRefs": [
"seg1",
"seg2"
],
"code": "HK",
"value": "Confirmed"
}
]
}
}
},
{
"@type": "ReceiptConfirmation",
"id": "receipt_2",
"OfferRef": [
"1"
],
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "SQ",
"sourceContext": "OrderId",
"value": "SQ_5FKN4K"
}
}
},
{
"@type": "ReceiptPayment",
"dateTime": "2025-02-22T01:05:52Z",
"id": "receipt_3",
"Identifier": {
"authority": "SQ",
"value": "OTRkYzljNDEtMTYwNy00YmM2LWFhMzEtYjBjMTA5OGQ1MzMz"
},
"OfferRef": [
"1"
],
"Document": [
{
"@type": "DocumentTicket",
"contentSource": "NDC",
"Number": "6182461381138",
"TravelerIdentifierRef": {
"value": "trav_1"
},
"Amount": {
"@type": "Amount",
"CurrencyCode": {
"decimalPlace": 2,
"value": "AUD"
},
"Total": 511.3
}
}
],
"PaymentIdentifier": {
"id": "paymentIdentifier_1",
"PaymentRef": "payment_1"
}
},
{
"@type": "ReceiptConfirmation",
"Identifier": {
"authority": "Travelport",
"value": "3e4c843c-859f-4901-80b7-6438afc96ef4"
},
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "1G",
"creationDate": "2025-02-22",
"value": "B7KT35"
}
}
}
],
"ReservationDisplaySequence": {
"@type": "ReservationDisplaySequence",
"DisplaySequence": [
{
"@type": "DisplaySequence",
"displaySequence": 1,
"OfferRef": "offer_1",
"ProductRef": "product_1",
"Sequence": 1
},
{
"@type": "DisplaySequence",
"displaySequence": 2,
"OfferRef": "offer_1",
"ProductRef": "product_2",
"Sequence": 2
}
]
}
}
}
}