Flight Reprice, Schedule Change, Ticketing and Order State
Separate reprice, schedule change, order, PNR, payment and ticket/document states across the flight-booking lifecycle.
A flight transaction cannot be safely represented by one generic status field. Reprice, order/booking, payment, ticket/document and schedule-change states are separate lifecycles.
State separation
OfferState
OrderState
PaymentState
TicketState
ScheduleChangeState
ServicingStateOrder CONFIRMED, Payment AUTHORIZED and Ticket PENDING can all be true at the same time.
Reprice
Map reprice to MATCHED, PRICE_CHANGED, UNAVAILABLE or EXPIRED.
PRICE_CHANGED may require explicit user reconfirmation.
Ticketing
An Order or PNR does not prove a ticket was issued. Keep ticket/document numbers and issuance state separately.
Schedule change
Airline-initiated changes need their own lifecycle such as detected, pending action, accepted, alternate selected or refund/cancel.
Unknown outcome
Order-create or ticket-issue timeout is UNKNOWN, not proven failure. Retrieve/reconcile before repeating the operation.
Reconciliation
A periodic process should compare local order, provider order/PNR, ticket/documents and airline changes for drift.
Observability
Track reprice-change rate, unknown-order rate, ticket-pending age, schedule-change pending age, servicing failure and reconciliation drift.
Planning a similar integration?
We can review requirements, feed/API design and the production approach with you.