You tap “Book” on Expedia. Two seconds later you have a seat on a Tuesday night flight you have never thought about before. That click feels like one app talking to one airline. It is not. It is a chain of systems older than most of the engineers maintaining them.
I wanted a map of that chain — not marketing copy about “seamless travel,” just who owns which piece of truth when you search for a fare.
It started with a phone call and a mainframe
In the 1960s, booking a seat meant a travel agent called the airline, and a person at a terminal typed into a mainframe. American Airlines and IBM built Sabre (Semi-Automatic Business Research Environment) on an IBM 7090 in Briarcliff Manor, New York, wired to about 1,500 remote terminals. Peak load was around 84,000 phone transactions a day. That is the ancestor of almost everything that still runs flight distribution.
By the 1970s those terminals sat in travel-agent offices. Airlines stopped answering every call themselves. That shift is what we now call a Global Distribution System — a GDS.
Three GDSs still sit in the middle
A GDS aggregates flights from hundreds of airlines (on the order of ~400) and sells access to travel agencies and OTAs through APIs. The big three:
- Sabre — spun out as its own business in 2000
- Amadeus — started in 1987 by four European carriers
- Travelport — UK-based, built from mergers of smaller players
Seat inventory still lives in each airline’s central reservation system (CRS). The GDS does not invent schedules or fares on its own. It stitches three feeds together:
- OAG / Innovata — schedules, routes, flight codes
- ATPCo — published fares and rules
- Airline CRS / ARS — live seats, holds, tickets
That architecture is powerful and also awkward. Airlines often cannot see the customer the way they can on their own site. Ancillaries (bags, seats, meals) are clumsy. Inventory control is shared with a middleman that takes a cut.
The other names on the diagram
ATPCo is where airlines publish tariff data. GDSs, OTAs, and metasearch engines read from it so the same fare rule shows up in more than one place.
OAG and Innovata own the schedule graph — when flight XY123 actually leaves, and how it connects.
The airline reservation system is the airline’s own inventory brain: seats, PNRs, tickets. Direct airline websites talk to this. OTAs usually talk to a GDS first (sometimes also direct). Metasearch engines (Skyscanner, Kayak, Google Flights) mostly compare and redirect; they are not the booking system of record.
What actually happens on a booking
Search. On an airline site, the request hits that airline’s inventory. On an OTA, the request usually hits Sabre, Amadeus, or Travelport, which then pulls schedule + fare + seat data from the three sources above.
Channel. Direct airline booking is often nicer for changes and extras. OTAs win on comparison shopping. Same seat can show different UX for the same reason different UIs wrap the same GDS response.
PNR. When you commit, the airline (or GDS on its behalf) builds a Passenger Name Record: name, itinerary, contact, ticket timing, who last touched the booking. You get a six-character record locator. That short code is the handle everything else hangs on.
Pay, then ticket. Payment and ticketing are separate steps. Money clears through a gateway; then the ticketing system issues an e-ticket tied to the PNR. OTAs add a hop: they must confirm the seat is still there before they finalize.
Day of travel. The Departure Control System (DCS) runs check-in, boarding, and bags. Boarding pass, bag tag, PNR flipped to boarded, then flown.
Why airlines keep trying to route around GDSs
Lufthansa has charged extra for some GDS bookings to push people direct. Ryanair mostly skipped the GDS world. In 2015 IATA published NDC (New Distribution Capability): airlines expose their own richer APIs so OTAs can buy without the classic GDS pipe. Adoption has been slow — dozens of airlines, not the whole industry — and the GDSs are busy adding NDC support rather than disappearing.
So the industry is stuck in a useful tension. Airlines want the customer relationship. Travelers still want one place to compare five carriers and a hotel. The plumbing from Sabre’s mainframe days is still under the floorboards, even when the frontend looks like a 2026 React app.
Next time the spinner sits on “confirming your flight,” you are waiting on that old chain to agree with itself.
~ Comments & Discussion ~
Have thoughts on this post? Join the discussion below! Comments are powered by Disqus.