NDC Offer/Order Lifecycle: Search to Servicing
Model NDC Offer/Order lifecycle across search, offer, revalidation, order creation, payment, ticketing, servicing and reconciliation states.
In NDC, Offer and Order are different entities. An Offer is an airline retail proposition at shopping time; an Order is transaction and servicing state after booking. Collapsing both into one DTO creates stale-price, duplicate-booking and servicing errors.
Canonical state machine
NDC Offer to Order to Ticket lifecycle
Offer identity
A normalized fingerprint can support deduplication but cannot replace the provider offer/reference.
Preserve source/carrier, offer ID/reference, observation time, expiry, itinerary, fare family, baggage, ancillaries, totals and penalties.
Revalidation
After selection, stale-state risk increases. Revalidation should map to explicit outcomes:
same -> continue
price changed -> user reconfirm
expired/unavailable -> re-shopOrder creation and unknown state
A network timeout is not proven failure.
create sent
-> confirmed
-> rejected
-> no definitive response = UNKNOWNRetrieve/reconcile before another create when state is UNKNOWN.
Ticketing is not Order
A confirmed Order does not necessarily mean ticket/document issuance is complete. Keep order, payment and ticket/document state separate.
Schedule change and servicing
Post-booking lifecycle may include involuntary schedule changes, voluntary changes, exchange, cancellation, refund and ancillary modifications. Capability varies by carrier/provider.
Observability
Track offer age, reprice-change rate, unknown-create rate, order-to-ticket latency, schedule-change lag, servicing failures and refund reconciliation.
Anti-patterns
- itinerary == offer,
- offer == order,
- PNR == ticket,
- timeout == failure,
- removing source lineage during normalization.
Failure modes
- stale offer used for order creation,
- order confirmed while ticket issuance fails,
- duplicate order creation,
- ancillary or fare-family detail lost during normalization,
- delayed schedule-change propagation,
- assuming servicing capability is uniform across providers.
Production checklist
Keep Offer and Order separate, make revalidation explicit, model UNKNOWN order state, track ticket/document state independently, maintain provider/carrier capability maps, define servicing/reconciliation paths, preserve source lineage and correlate the lifecycle end to end.
Planning a similar integration?
We can review requirements, feed/API design and the production approach with you.