The airline owns its inventory: every flight has a fixed number of seats per fare class. A booking decrements that count with an optimistic concurrency check, creates a passenger record (PNR), takes payment and issues a ticket. Operations events — delays, gate changes, cancellations — flow through an event stream to notify passengers and rebook them.
Functional requirements
- Search flights and fares; book one-way, return and multi-city trips
- Choose seats, add bags and meals
- Manage bookings: change, cancel, refund
- Online check-in and boarding passes
- Flight status updates and automatic rebooking on cancellations
Non-functional requirements
- No overbooking beyond the airline's chosen limit
- Bookings and payments are exactly-once
- Highly available — check-in can't go down at the airport
- Sell through travel agents and GDSs as well as direct channels
Extensions
- Loyalty programme with miles and upgrades.
- Dynamic pricing per fare class.
- Crew and aircraft scheduling.