# Seat or bag beside the ticket

Status: pre-launch. Open-source self-hosted version and Ancilair Cloud are coming; join the waitlist at https://ancilair.com/#waitlist.

Airline seats and extra bags on a ticket or a Duffel offer. The routed ids are anc.seat.map, then anc.seat.add, and anc.extrabag.list, then anc.extrabag.add. They do not search for flights.

A map or a bag list is not a confirmed extra. Adding it runs only after an explicit yes, and the payment has to include the service price the supplier just returned.

Routed: `anc.seat.map, then anc.seat.add. anc.extrabag.list, then anc.extrabag.add`.

The price is quoted on the call, at the supplier's rate, with 0% markup. This page does not publish a rate card.

The open-source, self-hosted version is coming. Contact: https://ancilair.com/contact

## What's the best way to ask?

Coming soon. Contact: https://ancilair.com/contact

- One token. Supplier credentials stay on the server.
- The price is the quote on the call, at the supplier's rate, with 0% markup.
- A quote, a search, a plan list, or a requirements check is not a booking. The follow-up runs only after an explicit yes, with an Idempotency-Key.
- A named Duffel call without a Duffel id is a 422, not a silent handoff to Gordian. Duffel seat quantity is 1. Post-booking Duffel bags are only returned when bags were not already on that order.

## Suppliers

### Duffel

Airline ancillaries on Duffel offers and Duffel orders: seats and bags. Duffel's service types for this are seat and baggage. This shelf does not call Duffel offer search.

- `duffel.seat.map` — A Duffel offer id. Returns the seat map. Each open seat has an available service, a price, and any disclosure Duffel returned. Seat quantity is 1.
- `duffel.seat.add` — That service id, quantity 1, on the order for that offer. Idempotency-Key required.
- `duffel.extrabag.list` — A Duffel offer id before the order, or a Duffel order id after it. Each service has a price and a maximum quantity.
- `duffel.extrabag.add` — The service id and the quantity, on create-order or on the existing Duffel order. Idempotency-Key required.

### Gordian

Seat maps and bag selection for an itinerary a travel platform already holds. Gordian does not shop the flight. A seat call does not book a lounge.

- `gordian.seat.map` — Carrier, flight number, date, airports, passengers.
- `gordian.seat.add` — The seat the traveller accepted on that trip. Idempotency-Key required.
- `gordian.extrabag.list` — The same trip. Returns cabin and checked bag products and a price.
- `gordian.extrabag.add` — The bag product the traveller accepted. Idempotency-Key required.

## Sequences

- [Beside the ticket](https://ancilair.com/workflows/beside-the-ticket)

