Create Post-Commit Workbench API Reference
POST |
book/session/reservationworkbench/buildfromlocator?Locator={LocatorCode} For {LocatorCode} send the locator code of the reservation to retrieve (returned in the workbench commit in Confirmation/Locator/value). Base path: Pre-production https://api.pp.travelport.com/11/air/ Production https://api.travelport.com/11/air/ |
Related Content:Booking Guide, Ticketing Guide
Initiate a post-commit workbench to create a session for ticketing or updating an existing reservation. This is a prerequisite step for any workbench session to modify, update, or ticket a reservation.
Hotel and Car Content with Air Bookings
The Reservation Retrieve and Create Post-Commit Workbench responses return air, hotel, and/or car segments for any reservation that includes that content, called a multi-content booking. All segments must have been booked with the JSON Air APIs, JSON Hotel APIs, JSON Car APIs (full release pending), or a terminal program. You can also add either GDS or NDC air offers to a hotel and/or car booking. See the Booking Guide for Air, Hotel, & Car for workflows.
Request
Also see Authorization and Common Headers.
Query Parameters
Parameter | Description | Required/Optional |
---|---|---|
Locator |
Send the reservation locator code in the Locator parameter. |
Required |
Request Body
None.
Response
The response returns existing details in the reservation. The response is the same as for a Reservation Retrieve, plus a workbench ID in an additional Identifier object at the end of the response.
Object |
Description |
---|---|
ReservationResponse |
Top level object for response. Includes Reservation and Identifier objects. When a post-commit workbench is created, ReservationResponse is the same response returned in a Reservation Retrieve, plus the workbench identifier below. See Reservation Retrieve API Reference for a listing of all objects in ReservationResponse.
|
ReservationResponse/Identifier
|
Workbench identifier details. In this case authority is always Travelport, and value is the workbench identifier that must be sent in all subsequent requests for this workbench session.
This workbench ID must be sent in all subsequent requests for this workbench session.
|
ReservationResponse/Reservation |
To-level object for reservation details. Depending on the information already added to the reservation, may include Identifier, Offer, Traveler, Receipt, ReservationComment, and PrimaryContact objects. See Reservation Retrieve API Reference. |
Example Request
No request body. POST request example:
https://api.travelport.com/11/air/book/session/reservationworkbench/buildfromlocator?Locator=0058XL
Example Response
The response returns all existing details in the reservation, using the same format as a Reservation Retrieve, plus a workbench identifier at the end of the response. The Identifier/value at the end of the response (36b6297f-b317-46fd-aaf1-1443faa8f3ef in this example) would be sent in subsequent transactions to refer to this workbench.
{
"ReservationResponse": {
"Reservation": {
"@type": "Reservation",
"Identifier": {
"authority": "Travelport",
"value": "36b6297f-b317-46fd-aaf1-1443faa8f3ef"
},
"Offer": [
{
"@type": "Offer",
"id": "Offer_1",
"Identifier": {
"authority": "QF",
"value": "UUYwODFCN0M5RjcxNHxQOUExNzA3Mi1GNDEyLTQwRjYtQTQzQWlmNWlpajQ2dTE0MWctMS0x"
},
"Product": [
{
"@type": "ProductAir",
"totalDuration": "PT1H35M",
"id": "product_1",
"Identifier": {
"authority": "QF",
"value": "a52ba7e3-195b-4a3f-abab-da5789a6bbd0"
},
"FlightSegment": [
{
"id": "s1",
"sequence": 1,
"Flight": {
"@type": "Flight",
"distance": 438,
"stops": 0,
"duration": "PT1H35M",
"carrier": "QF",
"number": "449",
"equipment": "73H",
"id": "seg_1",
"Identifier": {
"authority": "QF",
"value": "b50660d8-6338-413f-a38e-036dc97c7c75"
},
"Departure": {
"@type": "DepartureDetail",
"terminal": "3",
"location": "SYD",
"date": "2021-12-12",
"time": "14:00:00"
},
"Arrival": {
"@type": "ArrivalDetail",
"terminal": "1",
"location": "MEL",
"date": "2021-12-12",
"time": "15:35:00"
}
}
}
],
"PassengerFlight": [
{
"passengerQuantity": 1,
"passengerTypeCode": "ADT",
"FlightProduct": [
{
"segmentSequence": [
1
],
"classOfService": "O",
"cabin": "Economy",
"fareBasisCode": "OSQW07",
"fareType": "PublicFare",
"Brand": {
"@type": "Brand",
"name": "RED eDeal"
}
}
]
}
]
}
],
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"value": "AUD"
},
"Base": 103.07,
"TotalTaxes": 26.82,
"TotalPrice": 129.89,
"PriceBreakdown": [
{
"@type": "PriceBreakdownAir",
"quantity": 1,
"requestedPassengerType": "ADT",
"Amount": {
"CurrencyCode": {
"value": "AUD"
},
"Base": 103.07,
"Taxes": {
"@type": "TaxesDetail",
"TotalTaxes": 26.82,
"Tax": [
{
"taxCode": "QR",
"description": "PASSENGER SERVICE CHARGE DOMESTIC DEPARTURE",
"value": 9.42
},
{
"taxCode": "QR",
"description": "PASSENGER SERVICE CHARGE DOMESTIC ARRIVAL",
"value": 5.59
},
{
"taxCode": "UO",
"description": "GOODS AND SERVICES TAX GST",
"value": 10.31
},
{
"taxCode": "UO",
"description": "GOODS AND SERVICES TAX GST",
"value": 1.5
}
]
},
"Total": 129.89
}
}
]
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullAir",
"ExpiryDate": "2021-11-13T23:59:00Z",
"TextBlock": [
{
"@type": "TextBlock",
"TextFormatted": [
{
"value": "Baggage Disclosure - Not subject to US DOT and CTA Reservation or Disclosure"
}
]
},
{
"@type": "TextBlockDetail",
"description": "FARE RULES",
"title": "Ticketing",
"TextFormatted": [
{
"value": "NON-REF/NON-END"
},
{
"value": "SPECIAL FARE CONDITIONS"
}
]
},
{
"@type": "TextBlockDetail",
"description": "FARE RULES",
"title": "Change",
"TextFormatted": [
{
"value": "Allowed"
}
]
},
{
"@type": "TextBlockDetail",
"description": "FARE RULES",
"title": "Cancel",
"TextFormatted": [
{
"value": "Not Allowed"
}
]
}
],
"BaggageAllowance": [
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "CarryOn",
"ProductRef": [
"product_1"
],
"BaggageItem": [
{
"quantity": 2
}
],
},
{
"@type": "BaggageAllowanceDetail",
"passengerTypeCodes": [
"ADT"
],
"baggageType": "FirstCheckedBag",
"ProductRef": [
"product_1"
],
"BaggageItem": [
{
"quantity": 1,
"Measurement": [
{
"measurementType": "Weight",
"unit": "Kilograms",
"value": 23
},
{
"measurementType": "Weight",
"unit": "Pounds",
"value": 50
},
{
"measurementType": "OverallDimension",
"unit": "Centimeters",
"value": 158
},
{
"measurementType": "OverallDimension",
"unit": "Inches",
"value": 62
}
]
}
],
"Text": [
"CHECKED ALLOWANCE"
]
}
],
"FareRuleInfo": [
{
"@type": "FareRuleInfo",
"flightsRefs": [
"seg_1"
],
"ruleNumber": "70J"
}
]
}
]
}
],
"Traveler": [
{
"@type": "Traveler",
"birthDate": "1986-11-11",
"gender": "Male",
"passengerTypeCode": "ADT",
"id": "trav_1",
"Identifier": {
"authority": "Travelport",
"value": "QURUfFQx"
},
"PersonName": {
"@type": "PersonName",
"Given": "TESTFIRST",
"Surname": "TESTLAST"
},
"Telephone": [
{
"@type": "Telephone",
"phoneNumber": "1212456121",
"id": "telephone_1"
}
],
"Email": [
{
"id": "email_1",
"emailType": "Operational",
"validInd": true,
"value": "TRAVELERONE@GMAIL.COM"
}
],
"TravelDocument": [
{
"@type": "TravelDocumentDetail",
"docNumber": "A123123",
"docType": "Passport",
"expireDate": "2022-10-20",
"issueCountry": "US",
"birthDate": "1986-11-11",
"birthCountry": "US",
"Gender": "Male",
"PersonName": {
"@type": "PersonName",
"Given": "TestFirst",
"Surname": "TestLast"
}
}
]
}
],
"Receipt": [
{
"@type": "ReceiptConfirmation",
"OfferRef": [
"Offer_1"
],
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "QF",
"sourceContext": "VendorLocator",
"value": "586KGJ"
}
}
},
{
"@type": "ReceiptConfirmation",
"OfferRef": [
"Offer_1"
],
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "QF",
"sourceContext": "OrderId",
"value": "QF081B7C9F714"
}
}
},
{
"@type": "ReceiptConfirmation",
"Identifier": {
"authority": "Travelport",
"value": "7ecfe707-4582-4a40-8b09-499a39bd042a"
},
"Confirmation": {
"@type": "ConfirmationHold",
"Locator": {
"source": "1G",
"value": "0GJQNB"
},
"OfferStatus": {
"@type": "OfferStatusAir",
"StatusAir": [
{
"flightRefs": [
"Flight_01"
],
"code": "ZK",
"value": "Pending"
}
]
}
}
}
],
"ReservationComment": [
{
"@type": "ReservationComment",
"shareWith": "Agency",
"Comment": [
{
"value": "* reservation CONTAINS NDC AIR SEGMENTS-SERVICE VIA SMARTPOINT NDC APP *"
}
]
}
],
"PrimaryContact": [
{
"@type": "PrimaryContact",
"shareWith": "Supplier",
"id": "primaryContact_1",
"TravelerIdentifier": {
"Identifier": {
"value": "QURUfFQx"
}
}
}
]
},
"Identifier": {
"authority": "Travelport",
"value": "36b6297f-b317-46fd-aaf1-1443faa8f3ef"
}
}
}