I’m not sure about the architecture, but airline booking is very complex. You basically need to support a traveling salesman algorithm. It’s also one of the original use cases for large scale computers. The Sabre airline booking program dates back to the 60’s so it’s also very legacy. The Arstechnica article (below) has a good history of the original military program and how it helped to spin out airline booking.
Modernization for these systems was probably long overdue.
I recall talking to people who worked at a company that competed w/ Sabere/IBM
There was a project they did not want to do. To avoid saying "no" and risking the relationship they quoted what they thought was an outrageous price, expecting to loose. The customer said yes. They had underestimated how much IBM had been gouging them for so long.
It's kind of similar in some ways to the traveling salesman problem. Which is not considered np-hard.
"How do you get to tokyo from paris", the cheapest, the shortest time, the least layovers, add a stop in X, etc. Not that easy.
Then you have to remember all the stuff under the hood like how are you caching all that information, how do you actually register the sales of all those tickets. Are they in your flight alliance? Are they goign through your regional airline systems too?
I would never want to touch that stuff. Way too hard. Way too many legacy systems powering it too, probably.
Every single airline they ingest probably has a phone book sized list of special cases and edge conditions that are distinct and unique. Multiply that by every airline on the platform and every consumer of the dataset and yeah… it’s incredibly complex.
Not to mention the uptime requirements and other SLAs in place (which probably are all different for each contract they sign)… yup. It’s probably a monster.