Flight Reprice, Schedule Change, Ticketing ve Order State
Flight booking lifecycle'ında reprice, schedule change, order, PNR, payment ve ticket/document state'lerini birbirinden ayırın.
Flight transaction state tek status alanıyla güvenli yönetilemez. Reprice, booking/order, payment, ticket/document ve schedule-change state'leri bağımsız lifecycle'lardır.
State separation
OfferState
OrderState
PaymentState
TicketState
ScheduleChangeState
ServicingStateÖrneğin:
- Order CONFIRMED,
- Payment AUTHORIZED,
- Ticket PENDING
aynı anda geçerli olabilir.
Reprice
Reprice sonucu:
- MATCHED,
- PRICE_CHANGED,
- UNAVAILABLE,
- EXPIRED.
PRICE_CHANGED kullanıcının tekrar onay vermesini gerektirebilir.
Ticketing
Order/PNR oluşması ticket issued anlamına gelmez. Ticket/document number ve issuance status ayrı tutulmalıdır.
Schedule change
Airline-initiated change:
- detected,
- pending action,
- accepted,
- alternate selected,
- refund/cancel
gibi ayrı lifecycle gerektirir.
Unknown outcome
Order create veya ticket issue timeout'u:
- FAILED değil,
- UNKNOWN.
Retrieve/reconcile yapılmadan duplicate operation gönderilmemelidir.
Reconciliation
Periodik job:
- local order,
- provider order/PNR,
- ticket/documents,
- airline changes
arasında drift kontrol etmelidir.
Observability
- reprice change rate,
- order unknown rate,
- ticket pending age,
- schedule-change pending age,
- servicing failures,
- reconciliation drift.
Benzer bir entegrasyon mu planlıyorsunuz?
Gereksinim, feed/API tasarımı ve production yaklaşımını birlikte değerlendirebiliriz.