Seat Map API Reference

POST

search/seat/catalogofferingsancillaries/seatavailabilities

Base path:

Pre-production https://api.pp.travelport.com/11/air/

Production https://api.travelport.com/11/air/

Related Content: Seats Guide, Seat Book API Reference

The Seat Map request returns seat availability for both free and paid seats. You can request seat availability at several places in the JSON APIs workflow - after searching, pricing, during booking, and after booking. The Seat Map request uses the same endpoint but a different message payload depending on where in the workflow it is sent. See the workflow options in the Seats Guide.

All Seat Map requests allow you to request seat maps for any of the following:

  • all flights within an offer (all flights on the itinerary)
  • all flights within a product (all flights on one leg of an itinerary)
  • one or more individual flights

To book a seat, you next send a Seat Book request as part of a workbench session.

To add ancillaries or seats to a multi-offer booking, send the Ancillary Shop or Seat Map request, then send one book request for each offer, in any order. Supported in the initial booking workflow only for free seats; supported for an existing booking for both ancillaries and seats. GDS only; multi-offers not supported for NDC.
For differences in how the JSON APIs support GDS and NDC content, see the support tables for seats, ancillaries, fare rules, and exchanges. Also see the NDC and GDS Functionality Comparison.
For carrier-specific NDC differences, see NDC capabilities by airline through JSON API in the Travelport Knowledge Base. If you need login assistance, see Knowledge Base NDC Resources.

Request

Query Parameters

None.

Request Body – Seat Map after Search request

GDS only; not supported for NDC.

When sent after a Search request and prior to pricing or a workbench session, the Seat Map request sends identifiers from the Search response. You can request seat maps for a flight, product, or segment returned in any preceding Search, Next Leg Search, or Flight Specific Search response.

Request Body – Seat Map after AirPrice request

When sent after an AirPrice request and prior to initiating a workbench session, the Seat Map request sends identifiers from the AirPrice response.

Request Body – Seat Map during workbench session

When sent during a workbench session, the Seat Map request sends identifiers from the responses in the booking flow or, for a post-commit workbench, from the Workbench Create or Reservation Retrieve responses.

Response

The seat map response is similar for all Seat Map requests, regardless of where sent in the workflow. Exceptions:

  • When sent before creating the booking, TravelerIdentifierRef returns only the PTC, as there are no traveler details at this point in the workflow.

  • HeldAncillary is returned only in a workbench session and only when seat/s have already been assigned. It returns the current seat assignment/s for all travelers on the booking. These will be held while modifying seats until the new seat book request is confirmed at commit.

Example Request

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

Example Request after Search, no workbench

You can request seat maps after any Search, Next Leg Search, or Flight Specific Search response. You can request seat maps for the entire itinerary (the offer), all flights on one leg (the product), or a single flight (the segment). The following example requests seat maps for all flights on product p0.

Example Request after AirPrice, no workbench

After pricing with AirPrice, you can request seat maps for all flights in either the entire itinerary (the offer), only one leg (the product), or one or more flights (segments). The following example requests a seat map for only segment 1 on two products.

Example Request in workbench

When sent during either an initial or post-commit workbench session, the Seat Map request can return flights in either the entire itinerary (the offer), only one leg (the product), or one or more flights (segments). The following example sends only the offer identifier. This returns seat maps for all flights in the itinerary.

The following example requests a seat map for two products. This returns seat maps for all flights on those products. In the JSON APIs, a product is one leg of an itinerary.

The following example requests a seat map for the first segment in the requested product. This returns seat maps for the first flight on the leg specified by that product ID.

Example Response

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

The seat map response is nearly identical whether the request was sent after Search, after AirPrice, or in a workbench session. The only difference is that outside a workbench session, TravelerIdentifierRef returns only passengerTypeCode, as there are no traveler details at this point in the workflow. For brevity, all instances of Row after the first two rows have been edited out.

The following example returns the seat map for a single flight, which offers only free seats, indicated by the single instance of CatalogOffering with a Price/TotalPrice value of 0. For brevity, all instances of Row after the first two rows have been edited out.

The following seat map response for NDC (CatalogOffering/Identifier/authority returns a carrier code instead of the value Travelport) returns both free seats (price of 0) and paid seats (price of 60), each in a separate instance of CatalogOffering. For brevity, all instances of Row after the first two rows have been edited out.

When Seat Map is sent for flight/s in a booking that already have seat assignments, the response inlcudes HeldAncillary to list the current SeatAssignment for each traveler on the flight/s. This supports modifying seats by holding the current seats until the new seats are successfully booked at workbench commit, ensuring those seats remain available in case of a booking failure. For brevity, the objects in Cabin/Layout and Cabin/Row have been removed from this example.