Shopping vs Orders
The single most important conceptual split in NDC. Get this wrong and the rest of the system makes no sense.
Nothing is reserved. Two simultaneous searches can return the same seat. Offers expire in seconds to minutes.
Persists at the airline. Inventory is held, ticketing is triggered, changes are audited.
Shopping
A request asks for available flights and returns a list of offers. Each offer is a price-and-itinerary package the airline is willing to sell, right now, for a bounded time. Nothing is reserved on the airline side.
Each offer carries
- OfferID — opaque token unique to the airline.
- ExpiresAt — usually 1–30 minutes from issue. After expiry the offer cannot be turned into an order.
- Slices + segments — the itinerary.
- Price — total + base fare + taxes, in a specific currency.
- References to fare rules — refundability, change fees.
- Sometimes: an OfferItem per branded option (Basic / Standard / Flex) or per ancillary.
Why offers expire
- Inventory — a seat at a given fare class only makes sense if the airline still has that inventory open by the time you book.
- Currency — mid-day FX movements would otherwise invalidate the price.
- L2B economics — long offer lifetimes encourage re-shopping, inflating the look-to-book ratio.
Orders
An order is the persistent record at the airline that a passenger intends to fly. It is created from one or more priced offers, passenger data, and payment.
Order lifecycle
| State | Meaning |
|---|---|
| pending | Held but not yet paid. Expires if payment isn't submitted within the hold window. |
| confirmed | Payment accepted. Ticketing may be instant (most carriers) or async (some). |
| ticketed | e-Ticket number issued. Passenger can check in. |
| cancelled | Order has been cancelled. A refund event may follow. |
| refunded | Refund issued to original payment method. |
The bridge: OfferPrice
OfferPrice is the bridge between shopping and ordering. Take the cheap AirShopping OfferID, send it to the airline, and get a priced offer that survives long enough to book against (5–15 min). Some airlines guarantee price-lock; others may reject the order if the price moved.