Domains

Aviation

Airline software is a real-time negotiation system built on top of a forty-year-old data model.

2/10 chapters written

Aviation is one of the rare domains where engineers say “why is this so complicated” and almost all of the complexity turns out to have a real reason.

I am writing this file because the most instructive modelling mistakes I have seen in my career are concentrated here. Thinking a reservation is a row, thinking a seat is a stock item, thinking a delay is an exception — all three get made in other domains too, but in aviation the consequences show up immediately.

My sources are public: IATA standards, published incident and outage reports, and airlines’ own technical documentation. Nothing here is internal knowledge belonging to a particular company.

Contents

Unwritten chapters are listed too. The line beneath each is a promise of what it will cover.

  1. 01From mail contracts to SABREWhy inventory and the passenger record were born apart, and why that split still costs us.
  2. 02A PNR is not a record, it is a contractModel a reservation as a row and it works for a month, then collapses. The cause is misunderstanding not what a PNR is, but what it represents.
  3. 03Overbooking is not a mistake, it is a modelAirlines sell more tickets than seats, and that is a deliberate decision rather than a software bug. What is interesting is not the decision but how the system carries it.
  4. 04Inventory is not seatsWhat an airline sells is not a physical seat, and confusing the two breaks the pricing model.
  5. 05A price is not a number, it is a stack of rulesWhy the same flight has a different price for every passenger, and where that is computed.
  6. 06Codeshare: two airlines, one seatWhen two carriers sell the same seat, who owns the truth about it.
  7. 07IROPS: when the plan collapsesDisruption is not an exception path, it is the hardest normal path in the system.
  8. 08Why crew scheduling is NP-hardLegal duty limits, rest rules and fairness turn rostering into a genuinely hard problem.
  9. 09The industry still speaks EDIFACTA 1980s message format underneath modern APIs, and why replacing it keeps failing.
  10. 10NDC: who controls distributionA standard that is also a commercial power struggle, and what that means for the architecture.

Read written chapters on one page