1. 79

  2. 49

    Airline computer systems are astonishing. A few years ago, I turned up at a check-in desk for a two-hop flight and discovered that I didn’t have an included bag for one hop. The person at the desk helpfully told me that it was because I had booked the two hops separately and they could replace it with a single booking for the two hops to get a free checked bag. To do this without losing my seat, they needed to do an atomic delete and insert into the database. This was accomplished by telephoning the DBA, asking them to lock out all updates from every terminal except theirs for a minute, and then doing the two transactions.

    A lot of airlines used to be vulnerable to the same issue with their predictive pricing models, where they’d dynamically adjust pricing based on demand. 15-20 years ago, this was easy to game by going to a load of different travel web sites and starting the process of reserving a ticket. Each of the sites would place a hold on a ticket for the flight, which would trigger a price increase. A few hours later, if you didn’t complete the purchases, the holds would time out and the back-end system would detect a sudden drop in demand and adjust the price down a lot. At that point you could book the flights for a lot less than the original price.

    1. 7

      About ten years ago I boarded a flight and had the same seat on my boarding pass as another passenger.

      The crew were apologetic and explained “you must have checked in at two different counters at exactly the same time”.

      At the time I thought to myself “surely it can’t be that simple”. But maybe it was!

      1. 5

        At the same time, it’s kind of amazing how the ancient mainframe-era systems still hold up today, and how you occasionally see bits and pieces of their interfaces “leaking” outward. For example, many airlines used to have odd password restrictions for their online accounts – you couldn’t use certain “Q” or “Z” in your password. I’ve been told by people whose knowledge I trust that this was due to the ultimate backend system being originally designed decades ago for travel agents to use via telephone, where “Q” and “Z” could not be entered. These days I think most of the US airlines have upgraded/modernized at least enough of the intermediate layers to not have that be a problem anymore, but it amused me at the time.

        As to your story of the DBA: the hardcore frequent-flyer people (I used to fly a lot, and so spent a fair amount of time in their forums) are pretty good at figuring out patterns and cycles of when airlines do various types of data load/data change operations, since often it affects which fare buckets are available and thus what kinds of deals you can get. That community does plenty of impressive reverse engineering of internal processes, and the stuff you learn from just reading their forums can be fascinating.

      2. 15

        Maia has a wikipedia page that may help understand what she’s done in the past.

        1. 2

          Impressive list of work!

        2. 8

          Hilarious. Well done.

          1. 8

            This is amazing. Congratulations