Guides · Concepts

Shopping vs Orders

The single most important conceptual split in NDC. Get this wrong and the rest of the system makes no sense.

Shopping
Stateless · Produces offers

Nothing is reserved. Two simultaneous searches can return the same seat. Offers expire in seconds to minutes.

Orders
Stateful · Produces bookings

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

  1. Inventory — a seat at a given fare class only makes sense if the airline still has that inventory open by the time you book.
  2. Currency — mid-day FX movements would otherwise invalidate the price.
  3. L2B economics — long offer lifetimes encourage re-shopping, inflating the look-to-book ratio.
Shopping operations
AirShoppingRQ · FlightPriceRQ · OfferPriceRQ · ServiceListRQ · SeatAvailabilityRQ

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

StateMeaning
pendingHeld but not yet paid. Expires if payment isn't submitted within the hold window.
confirmedPayment accepted. Ticketing may be instant (most carriers) or async (some).
ticketede-Ticket number issued. Passenger can check in.
cancelledOrder has been cancelled. A refund event may follow.
refundedRefund issued to original payment method.
Order operations
OrderCreateRQ · OrderRetrieveRQ · OrderChangeRQ · OrderCancelRQ · OrderReshopRQ · OrderHistoryRQ

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.

AirShopping
→ OfferPrice
→ OrderCreate
→ Order confirmed