Travel is a blessing — connecting to different places, cultures, and people has no equivalent and it is hard to explain to anyone who doesn’t have the travel bug.
Today, we take travel for granted. Yet, just a few centuries ago it used to take ages to go from one place to another or to explore lands not seen and conquered before. Today’s technology allows us to connect, plan, purchase, and experience travel at an unprecedented speed.
However, the magic that happens behind the beautiful interfaces is mind-blowing and hard to fathom — it is one of the most complex technology problems you can imagine. Let me explain.
Aggregating Book Information
Let’s start with something simple — purchasing a book. You go to Amazon, type in your choice of reading material (these days I am reading ‘A Beautiful Constraint’) and in milliseconds you get your results — a set of choice from hardcover, paperback, Kindle edition, or audio book at different prices.
The inventory system is binary (available or out of stock), while the pricing one is straightforward — it doesn’t matter whether you buy the book on Monday morning or Tuesday night, you have it with a Saturday delivery (maybe a bit more expensive, but fixed price) or via Prime by noon the next day. In just a few simple clicks you can get your desired title shipped to you or put in a queue.
The seller could be one or a few, but the product is the same. So is the quality.
Now let’s take a look at travel.
Aggregating Flight Information
Imagine you want to fly from your closest airport (say Sofia) to TechCrunch (San Francisco). While there are four (maybe a bit more) inputs, in essence you play with Origin (SOF), Destination (SFO), Date Out / Date In, Class of service (Economy, Business, First) and number of passengers. Now the fun starts after you hit search.
To deliver a set of results, there’s no real inventory system you can call via an API. In fact, you need to call multiple ones and in a way, multiply exponentially the complexity. See below:
- There are 700+ airlines in the world (not counting the charter flights)
- 256 passenger types. Yes, not just adult, infant, child. There are also students, military, veterans, diplomats, nationals of origin country and even a companion to a member of the European Parliament
- 26 Classes of Service — Economy (23), Business (2), and First (1), with some more if you include premium economy, flex tickets, hand baggage only fares, etc.
- Length of stay. Whether you stay on a Saturday night or you fly Monday-Thursday defines a different price and availability
- 14,000 airports, with 3,500 handling 90% of this traffic
- Any airport could be potentially a connecting point, so even for our SOF-SFO-SOF trip, there’s hundreds of thousands of combinations, just some of them being:
SOF — FRA — SFO connecting Lufthansa (LH) with United (UA), with Return SFO — JFK — FRA — SOF on JetBlue (B6) connecting to United (UA) and then Lufthansa (LH). That’s one possible combination. But you can connect in almost any airport (Milan (MXP), London (LHR), Copenhagen (CPH), etc). On almost any airline or even create your own (Low Cost + Scheduled Carrier — or easyJet to London and BA to SFO).
Now add to this more than 1,000 agencies and carriers that sell these tickets and you are starting to get to the core of the problem.
Given the real time problem — whether a flight is available and if yes, at what price, you have literally unlimited number of combinations.
That’s without even going into the product (seat, food, in-flight entertainment)…
Returning that in less than a few seconds is a small miracle of smart algorithmic architecture, API optimization, logical caching that ensures availability. Oh yeah, and also you need to ensure that millions of people can do that at scale, at any point in time, without jeopardazing the systems that support these APIs or push partners to incur hefty costs (yes, that search is actually costly).
Now that was a simple Origin/Destination search on two specific dates. Imagine if you need to show a price to any destination for any given length of stay in any month of the year. This is the kind of stuff that keeps us busy in what we do on daily basis and we love it.
If we manage to get the flight buying to a state that it is as simple as buying a book, then we have not only solved a massive tech challenge. We have also allowed millions of people to find their destination at a price point that gives them the chance to experience the magic of travel.
Complex problems live in travel.
To Be Continued… [product], [business development and operations].
P.S. If you are still not convinced travel is amazing, take a look at what Louis C.K. has to say about it — air travel routine starts at the 4:20 min.