> For the complete documentation index, see [llms.txt](https://resources.atriptech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://resources.atriptech.com/api-document/readme/booking-overview/seats-and-baggage.md).

# Seats

{% hint style="info" %}
💬 **Need help?** If you're stuck, ask Eva on ATRIP for instant diagnostics.

<a href="https://www.atriptech.com/" class="button primary" data-icon="comments">Ask Eva</a>
{% endhint %}

Use this page to build seat selection into the booking flow.

Start here when you need to:

* surface seat options before booking
* confirm whether seat selection is supported
* add seat choice to the booking experience

### Service scope

Atlas supports seat selection for these scenarios:

* airlines that support Atlas API seat capability
* Atlas-issued orders
* seat selection purchased with the ticket in the booking flow

Atlas does not support seat selection for these scenarios:

* non-Atlas-issued orders
* post-ticketing seat selection

A non-Atlas-issued order is ticketed by another party.

In this case, Atlas is only used to add seat service after ticketing.

### FAQ

#### When should I call `seatAvailability.do`?

Call `seatAvailability.do` as a recommended step before payment.

Seat choice helps improve traveler confidence and order conversion.

Call it after `verify.do` or `getOffers.do`.

#### Which identifiers can I use?

Use a valid `sessionId` from `verify.do` or `OfferId` from `getOffers.do`.

Do not call it with flight data alone.

#### What happens if the selected seat becomes unavailable?

This is a fulfillment-stage rule.

It applies when the selected seat is no longer available at ticketing time.

Atlas supports these handling modes:

* `STOP_TICKET` — stop ticket issuance, cancel the whole order, and refund it
* `STOP_SEAT` — issue the ticket, remove the seat, and refund the seat amount
* `SIMILAR_SEAT` — issue the ticket with a similar seat selected by operations

For deposit customers, `STOP_SEAT` may require a split fund order and a `credit note`.

Atlas does not expose similarity rules for `SIMILAR_SEAT`.

If manual handling is needed, operations selects the similar seat in OPSDeck.

Choose the handling mode in the order creation request for that booking.

### Main API

* `seatAvailability.do`

### SeatAvailability call rules

`seatAvailability.do` only supports transaction-linked calls.

Use one of these identifiers:

* `sessionId` from `verify.do`
* `OfferId` from `getOffers.do`

Independent mode is no longer available.

Flight-only seat quote requests are not supported.

### What should you confirm first?

Confirm that the airline supports seat selection for the current flow.

Confirm that the current session or offer context is still valid for the ancillary request.

Confirm that the seat request still maps to the original booking context.

### Use this when you need

* Seat map and seat upsell support
* Seat-selection support checks
* Seat decisions before payment

### Best practice

Choose the itinerary first.

Then query seats as a recommended conversion step before payment.

Position seat choice as a standard part of the booking journey.

Keep ancillary mapping consistent with the current booking context before `order.do`.

If your upstream seat request arrives without `sessionId`, cache the `sessionId` from `verify.do` first.

Then match the incoming flight to that cached `sessionId`.

If no match exists, do not send a flight-only `seatAvailability.do` request.

### Notes

* Availability depends on airline support
* `seatAvailability.do` requires a valid `sessionId` or `OfferId`
* Flight-only seat requests are not supported
* Seat rules may vary by carrier
* Seat fulfillment handling should be chosen before `order.do`

### What comes next?

Use [Create Order](/api-document/readme/booking-overview/create-order.md) to send the selected ancillary data with the booking when required.

If you also need baggage options, use [Baggage](/api-document/readme/booking-overview/baggage.md).

### Related pages

* [Verify](/api-document/readme/booking-overview/verify.md)
* [Create Order](/api-document/readme/booking-overview/create-order.md)
* [Baggage](/api-document/readme/booking-overview/baggage.md)
* [Post-ticketing Ancillaries](/api-document/readme/post-booking-overview/post-booking-operations/post-ticketing-ancillaries.md)

### Full API reference

See the complete endpoint schemas and samples here:

[Seat](/api-document/api-reference/booking-apis/inflow-seat-and-baggage.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://resources.atriptech.com/api-document/readme/booking-overview/seats-and-baggage.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
