Seat Book API Reference

POST

book/airoffer/reservationworkbench/{workbenchId}/offers/buildancillaryoffersfromcatalogofferings

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: Seats Guide, Seat Map API Reference

After retrieving available seats with a Seat Map request, you send a Seat Book request to add a selected seat to the workbench. See the Seats Guide for the workflow description.

You can include multiple travelers in the same seat book request; however, you must send a separate book request for each flight on the itinerary.

Ancillaries 24.11.32 & 33 and later. For an existing multi-offer booking only, you can book ancillaries and/or seats by sending one book request for each offer. For ancillaries, the workflow is Initiate Workbench > Ancillary Shop > Ancillary Book for offer 1 > Ancillary Book for offer 2 > Commit Workbench. For seats, the workflow is Initiate Workbench > Seat Maps > Seat Book for offer 1 > Seat Book for offer 2 > Commit Workbench. The book requests can be sent in any order: first and second offer or second and first offer. Not supported in the initial booking workflow. GDS only; multi- offers not supported for NDC.
Ancillaries 24.11.32 and later. You can send the Seat Book request to replace a seat on an existing booking and hold the existing seat assignment until the new seat book request is successful at commit. Otherwise, you can cancel, commit, and rebook a seat assignment, but the seat assignment is lost if the subsequent seat book request is not successful at commit. GDS only; not supported for NDC. Not supported for changing a paid seat to a free seat, modifying a seat booked in the same workbench session, or modifying a seat when the current workbench contains another seat book request.
Seat booking support varies for NDC and GDS, specific carriers, and at places in the booking workflow, See the Seats Guide for support details.
You may need to add payment for seats in the same workbench session. See payment and EMD details in the Ancillary and EMD Guide.
Ancillaries 24.11.31 and later. If an infant PTC that by definition doesn't include a seat assignment is sent in a seat book request, such as INF for an infant in the lap of an adult passenger, Seat Book displays the error message "PASSENGER TYPE CODE CANNOT CONTAIN INFANT". GDS only; not supported for NDC.

Request

Query Parameters

None.

Request Body

Response

GDS Seat Book Response

For GDS, the seat book response returns full details for each seat booked.

Object

Description

OfferListResponse

Top level object for response.

Includes OfferID, Identifier, and ReferenceList objects.

OfferListResponse/Identifier

Identifier for response. Key value pairs:

authority: Returns the value Travelport for GDS.

value: Internal system-generated identifier for the response.

OfferID

Top level object for booked seat details. One instance returned for each booked seat.

If Seat Book is sent for a flight that already has a seat assignment, returned with @type OfferAncillaryModify instead of Offer when there is no current seat assignment. This seat replaces the held seat at workbench commit.

Key value pairs:

id: Identifier for this booked seat.

Includes Identifier, Product, Price, and TermsAndConditionsFull objects. If there is a current seat assignment, also returns ModifyPrice.

OfferID/Identifier

Identifier for booked seat offer. Key value pairs:

authority: Returns the value Travelport.

value: Internal system-generated identifier for the offer.

Product

Top level object for product (one leg of the itinerary; multiple instances are returned if there are multiple legs).

Key value pairs:

id: Custom identifier for product.

Includes Identifier, Ancillary, and SeatAssignment objects. A Quantity object may also be returned to note the number of seats booked.

Product/Identifier

Identifier for the product. Key value pairs:

authority: Returns the value Travelport.

value: Internal system-generated identifier for the product.

Ancillary

Top level object. Includes FlightRef and SeatAssignment object.

FlightRef

Flight reference matching to ReferenceListFlight/Flight/id.

SeatAssignment

Includes Seat object.

Seat

String. Row and seat number of assigned seat.

Price

Top level object for price details; 0 amounts are free seats.

Includes CurrencyCode, Base, TotalTaxes, TotalPrice, and PriceBreakdown objects.

CurrencyCode

The currency in which the price is returned. Currency is the default associated with your provisioned PCC from Travelport.

Key value pairs:

decimalPlace: Number of decimal places in the currency.

value: Currency code value.

Base

Base price before taxes and fees; 0 for free seats.

TotalPrice

Total price for seat including base price, taxes and fees; 0 for free seats.

TermsAndConditionsFull

Any terms and conditions applicable to the seat.

Includes ApplicationLimit.

ApplicationLimit

Any restrictions on the number of this seat product that can be purchased.

Key value pairs:

start: Minimum quantity that can be purchased.

end: Maximum quantity that can be purchased.

value: The unit represented by this quantity. Possible values are:

  • PassengerSegment: Ancillary limit applies to each passenger at the segment level. E.g, Itinerary is LON-SIN-LON and the ancillary limit is “n” per segment per passenger.

  • Segment: Ancillary limit applies to all passengers at the segment level (one flight, or flights under the same number).

  • Itinerary: Ancillary limit applies to all passengers for the full itinerary.

  • Passenger: Ancillary limit applies per passenger for the full itinerary.

  • PassengerOD: Ancillary limit applies per passenger for the origin destination. E.g., Itinerary is LON X/SIN SYD X/SIN LON and the ancillary limit is “n” per origin destination (LON XSIN SYD)

  • Other

ModifyPrice

Ancillaries 24.11.32 and later. GDS only; not supported for NDC. Not supported for changing a paid seat to a free seat, modifying a seat book request sent in the same workbench session, or modifying a seat when the current workbench contains another seat book request. You must add payment and issue tickets at commit; you cannot hold the booking with the modified seats.

Returned if the Seat Book request replaces an existing seat assignment.

Includes the same standard CurrencyCode, Base, TotalTaxes, TotalFees, and TotalPrice objects as the Price object above. Amounts in these objects indicate price changes from the existing seat assignment as follows:

  • 0 indicates no change from the current price, or a free seat assignment to another free seat assignment.

  • a negative number indicates the new amount is that much greater than the existing amount.

  • a positive number indicates the new amount is that much greater than the existing amount.

When Seat Book is sent to replace an existing seat assignment, the current seat assignment is held until the new seat book request is successful at commit; the existing seat assignment is canceled at that time.

ReferenceList

Top level object for flight details. Includes Flight object.

Flight

One instance per flight.

Key value pairs:

duration: Time of the flight in hours (H) and minutes (M).

carrier: Airline carrier.

number: Flight number.

operatingCarrier: When the carrier has filed a codeshare operating carrier for the flight, the IATA code for that codeshare carrier.

operatingCarrierName: Name of the marketing operating carrier.

equipment: Equipment model. Note that TRN, TRS, and BUS equipment codes indicate ground transportation.

id: id for internal flight reference number, also used in products and offers. For GDS, the Flight id is formatted as the letter ‘s’+ unique numeric value, as in s1.

Includes Identifier, Departure, Arrival, and Status objects.

Flight/Identifier

Internal identifier for the flight. Key value pairs:

authority: Returns the value Travelport.

value: Internal system-generated identifier for the flight.

Departure

Departure details. Key value pairs are the location, date, time, and terminal of departure.

Arrival

Arrival details. Key value pairs are the location, date, time, and terminal of arrival.

Status

Returns status of seat booking in the following:

providerCode: Provider code.

value: Status of seat booking, such as Pending.

NDC Seat Book Response

NDC responses return an identifier for each booked seat. You can send a reservation retrieve request to return booked seat details.

Object

Description

OfferListResponse

Top level object for response.

Includes OfferID object.

OfferID

Top level object for seat confirmation. One instance returned for each seat booked.

Includes Identifier.

OfferID/Identifier

Internal identifier for seat confirmation:

authority: Returns the carrier code.

value: Internal system-generated identifier for the booked seat.

Example Request

For additional examples and scenarios, download the developer toolkits and see Using Postman and Developer Toolkits.

You can include multiple travelers in the same seat book request; however, you must send a separate book request for each flight on the itinerary.

The following example sends seat assignments for two travelers on the same flight. This example is for GDS; however, the seat book request is the same for both GDS and NDC, and for both free and paid seats.

Example Response

For GDS, the seat book response returns details for all booked seats, including seat assignments and price details for both paid and free seats.

The NDC seat book response returns an identifier for each seat selection instead of seat details. You can send a reservation retrieve request to return booked seat details.

When Seat Book is sent for a flight that already has a seat assignment, the response returns OfferID with @type OfferAncillaryModify. It also includes the ModifyPrice object to indicate price changes from the existing seat assignment.