
Technology that changed air travel - bane
https://retool.com/blog/air-travel-software/
======
dvdhsu
Hi all! I'm the editor of this post. I love traveling, and have always
wondered how reservations systems worked. This post explores that.

In the future, we're hoping to write a piece about how air fare pricing works
too. There's a lot of interesting stuff re. fare buckets, forecasting supply +
demand, etc. It's also very topical with COVID:
[https://www.flyertalk.com/forum/united-airlines-
mileageplus/...](https://www.flyertalk.com/forum/united-airlines-
mileageplus/2017932-ridiculously-uncompetitive-airfares.html)

(If HN has any ideas about what else we should write about, let me know! I'm
david AT retool.com)

~~~
zan
Just the level of airplane nerdery one needs right now. Also probably the best
explanation of EDIFACT artifacts I've seen.

I just have one remark - how on earth does a 737 fly from SFO to LHR without
stopping as in the example?

~~~
raverbashing
It doesn't. Or it has a technical stop.

The MAX has a range of 3850 nm, LHR-SFO is 4664 nm

So unless it's an empty ferry flight and you've got very favorable winds,
you're not doing that without stopping.

Hawaiian needed extra tanks to ferry their 717 (or was it MD something) over
there (there's a picture around IIRC)

~~~
thunfischbrot
See [https://www.avgeekery.com/boeing-717-fly-way-
mainland/](https://www.avgeekery.com/boeing-717-fly-way-mainland/)

and
[https://joepriesaviation.net/photoalbum/displayimage.php?alb...](https://joepriesaviation.net/photoalbum/displayimage.php?album=3&pid=3414)

Seems obvious once you've seen it...

------
timrogers
This is an awesome post - nice work! It does a fantastic job of laying out
clearly the incredible complexity that underpins travel (which totally shocked
me when I started in the industry).

I'm Tim, and I lead airline partnerships at [Duffel][1] (YC S18) - although
I'm an engineer by trade ;) We're building a new API platform to make it easy
for anyone to sell flights (think "Stripe for travel").

We make integration simple with our beautiful REST API (no XML or EDIFACT) and
allow anyone to sign up in 30 seconds, with no need to become an accredited
IATA agent.

We're rebuilding the industry's infrastructure from scratch, with direct
connections to 20+ airlines' systems using the new technology mentioned in the
article, NDC, rather than going through the traditional GDSs like Sabre and
Amadeus.

If you want to give our API a try for yourself, you can sign up on our website
and book your first flight in our sandbox in less than 2 minutes.

Equally, if this sounds like an interesting problem space to you - we're
hiring, so do reach out. My email is in my bio.

[1]: [https://duffel.com](https://duffel.com)

~~~
wenc
That looks amazing. Just curious, what is your target customer base?

~~~
timrogers
In the short term, our goal is to build the _best flight API for new travel
businesses_ by making it way easier to get started and build a great customer
experience.

We're also in a good position today to help existing travel sellers who want
to access exclusive NDC content (mentioned in the article) that they can't get
through a traditional GDS.

From there, the sky's the limit really. We'll be in a great position to help
anyone who wants to sell flights - new entrant or existing seller.

------
tobych
Video here of a training session on GDS:

[https://www.youtube.com/watch?v=1PHJkm_nNL8](https://www.youtube.com/watch?v=1PHJkm_nNL8)

Typing commands starts at 2:05 in. Watching this left me feeling like I was
being taught how to use the "rm" UNIX command while logged in as root on a
production machine that wasn't backed up and this was my final chance to keep
my job.

~~~
tschwimmer
Of all the ways to book an airline ticket... this has got to be near the
worst. Imagine if car mechanics or hair stylists had to learn an extremely
esoteric quasi scripting language to do their job. If you swap in travel
agent, that’s basically this.

------
supernova87a
Well, just to discuss a separate point for a moment:

Although the story describes in a technical way that the EDIFACT, XML, etc
standards are cumbersome, inert, and resistant to change, I think the real
story is somewhat external to the "code" level reasons. And it will also be a
lesson (for the proponents of some change to any kind of standard) about why
just a technically better solution doesn't always win.

Because, if you look at almost any standard, there's generally nothing
stopping someone from proposing an alternative or better version. It's the
adoption that's the tough part.

The more fundamental root cause of why this particular "bad" or outdated
standard persists so long is that airlines are a very risk averse and capital
intensive business. Any change -- especially one so fundamental as could
interfere with their minute-by-minute booking engine (companies can lose
billions if that system goes down) -- is highly risky. And it wasn't really
built with incremental changeability or "hot swappability" in mind. Changing
it involves retraining thousands of people, changing computer terminals,
keyboards (with special character keys coded in plastic), practices,
interfaces to yet other vendors. And when your company is burning dozens of
millions of $ per day, that's something that you don't risk unless it's a
strategic decision.

So that dynamic flows down into what your software vendors are incentivized
(or become attuned) to produce or charge you for. Until there's some ground-
level shift -- for example suddenly everyone needs to charge baggage fees --
no airline was actively asking for that capability to add on ancillary fees.
And no GDS provider was seeking to innovate on it. Airlines simply wouldn't
pay the extra for that unnecessary functionality... until they did.

Old, expensive, risky industry -- and that's why sometimes the change has to
come from new entrants who aren't tied to these legacy systems. Although, and
this is an even more involved topic, sometimes those new entrants find they
have to tie into the legacy system to survive and get customers.

~~~
notahacker
Travel distribution is a problem which becomes computationally complex
surprisingly quickly and easily (in addition to doing transactions with
limited inventory and highly variable pricing in real time at scale with no
errors, you keep running into NP-hard problems. This essay from ITA software
founder is a good primer:
[http://www.ai.mit.edu/courses/6.034f/psets/ps1/airtravel.pdf](http://www.ai.mit.edu/courses/6.034f/psets/ps1/airtravel.pdf)

And at the time ITA found getting airlines to adopt their tech even more
challenging (though a big exit to Google validated their tech stack). The
complexity and legacy code behind existing integrations is also part of the
GDS suppliers moat when it comes to renewing contracts and whilst airlines
want the ability to upsell 'packages' with hotels/transport etc (one of the
rationales for NDC, because now baggage fees and travel partnerships _are_
really important to airlines), the GDS companies' travel agent partners whose
bookings represent a sizeable part of client airlines' revenue base (and
therefore their other moat) want to sell their own hotel/transport bundles.

------
shubhamjain
> To book a seat, the operator would have to find the flight’s index card,
> mark it to indicate the booked seat, and write the flight ticket out by
> hand. The process would take 90 minutes for each reservation.

While it sounds horribly inefficient, I can't understand what sort of archaic
process can make reserving a ticket a 1.5 hours task. Any ideas?

~~~
roelschroeven
I don't really understand either. Sounds like it should take no more than 10
minutes for a somewhat experienced operator.

Find the flight's index card: 1 minute Indicate the booked seat: 0.5 minutes
Return the flight's index card: 1 minute Write flight ticket out by hand: 2.5
minutes

That seems a very conservative estimate to me. What happens during the other
85 minutes?

~~~
qw
I think it is more to it than that. The index card only tells them that a seat
is available. They also need to read other documents to find out which fares
are available and match that to the seat. There are probably specific
conditions for that fare that need to be applied and may require calling the
agent or or someone else to confirm. If the seat is too expensive or the fare
is unavailable, they need to reset the index card, pick a new one and repeat
the process.

~~~
vwcx
I imagine arranging payments was also part of the 90-min average.

------
dfboyd
The post has annoying little errors that make it harder to read. The figure
says BA286, and the text says "BA287 means British Airways flight 287". So
does that mean you always add 1 to the flight number shown on the screen, to
get the actual flight number? "388 equipment type: 389 refers to Airbus
A380-800". Again, you add 1 to the number shown on the screen? Why does "389"
mean "A380-800" and not "A380-900"? I realize it's possible to figure out that
these are just typos and you don't really mean "take the number shown on the
screen and add 1 to it to get the actual flight number", but why would you
make your readers deal with that kind of confusion?

~~~
dvdhsu
I'm sorry. I made the change quickly at around 11pm my time (when I was a bit
tired) because somebody in another thread here [1] noticed that a 767 wouldn't
make it from SFO to LHR. I made two typos in this edit (typo-ing "286" to
"287" and "388" to "399"), and have just corrected both. If there are any more
issues you notice, please let me know (I'm david AT retool, or commenting
publicly here works), and I'd be happy to fix them when I wake up again (in
around 8 hours' time).

(The former error is indeed because I confused the outbound / inbound flights.
I've taken BA286 quite a few times, but I forgot which direction was which.
When I was initially fixing the article I thought it was "BA286" but then
looked it up and found it was "287". I then fixed the error in the screenshot
but forgot to fix the error in the text itself. Apologies the edit introduced
annoying little errors — this is entirely on me trying to do fix something
quickly.)

1\.
[https://news.ycombinator.com/item?id=23231453](https://news.ycombinator.com/item?id=23231453)

------
on_and_off
I hoped this would be about GDS.

My first job was in that sector.

I learned a lot during that time. It was an enormous c++ codebase (as I
remember it, millions of lines) and as much as I profoundly disliked some
aspects of it, there were also a lot of interesting things. IIRC they had a
pretty large platform team maintaining their own compiler and eclipse plugin.

One aspect of pricing (and availability, just because there are free seats on
a plane does not mean they are available to you) that is not touched in that
article is not multi legged flights are almost all the time deeply favored by
the algorithm.

So if you absolutely NEED to go somewhere but the website shows zero
availability, try to search for a multi leg trip including your intended
destination.

~~~
aembleton
[https://www.kiwi.com](https://www.kiwi.com) is good for finding these multi
leg tickets as single tickets.

------
t0mas88
One interesting artefact of the old GDS interface is that the commands are
position based. The field for the amount of people in a group booking is only
length 1, so virtually no airline supports group booking of more than 9 people
in their standard online flow.

Another place where this leaks through is if your initials are similar to
"Mr", you'll get very strange tickets once in a while because the system
doesn't actually have the components of your name in separate fields. It
parses them from a text command.

The NDS change should solve all of these things, but it's a costly exercise so
expect it to be delayed by the current downturn in the travel sector.

------
tragomaskhalos
The airline industry is a rich source of interesting IT projects: I once
worked on a scheduling system for BA, which boiled down to a big ol'
constraints-based optimisation problem, viz: lots of aircraft constantly
moving about < * > mandated max hours they can fly before maintenance < * >
restricted set of locations where said maintenance can be performed. I
remember that the brief dalliance with individually decorated tailfins - which
doubtless seemed like a great idea in a marketing meeting - caused carnage for
the maintenance folks because the fins suddenly stopped being interchangeable.

------
bpodgursky
> But the future is looking bright — air travel is growing at twice the rate
> of GDP. Low-cost airlines are making it ever more accessible, and the
> industry is already seeing an impressive amount of innovation. With NDS,
> things are sure to get even better. “This is your captain speaking. Please
> fasten your seatbelts for take-off.”

Timely :/

Side note, I can get faint hints of how this topic relates to Retool (eg, the
GDS CLI is not a good internal tool), but it's pretty rare in my experience
for a corporate blog to not try to shoehorn its own solution into the picture,
and there's literally no mention of Retool in here. Kinda novel to just have a
vaguely related exploration on a company blog.

------
kleiba
_Booking air travel today isn’t the most pleasant experience_

Unfortunately, the _booking_ part is almost the most pleasant aspect of it
all.

~~~
code4tee
For anyone old enough to remember the old way with visiting travel agents to
book a flight and then getting paper tickets in the mail the booking
experience is actually quite good at the moment.

The actual travel experience itself though has totally gone in the other
direction!

------
dehrmann
[https://retool.com/blog/content/images/2020/01/s_07FFC171A6B...](https://retool.com/blog/content/images/2020/01/s_07FFC171A6B02DDAB81420CDDEA0D560431DF40B78F79F86BDACCB7F4E97B3A4_1542329515593_airline-
gds-agents.png)

Almost looks like Uber and Lyft!

While Uber and Lyft might not be as crazy-profitable as people had hoped,
establishing a marketplace by connecting a large number of suppliers with a
large number of buyers _is_ a valid business. The other big commonality is
that both air travel and taxis are low-margin.

------
kccqzy
This needs an "(2018)" at the end.

Fascinating article, but the wild optimism about air travel at the end was
almost creepy. Then I looked at the publish date, 18 November 2018.

------
dmitriid
I watched an agent being educated in these systems. It seems impossible to
make the heads or tails out of it at first, since al commands are terse and
cryptic, but then the productivity gains are unparalleled in any other
software.

When you see a person entering something like "flight from Istanbul to Moscow
with a mandatory 24-hour layover in Frankfurt for a family of three" in under
5 seconds, your worldview is shattered :)

------
jasode
Relevant StackExchange q&a about agents mistyping data into Amadeus terminal
emulator command line:

[https://travel.stackexchange.com/questions/149323/my-name-
ca...](https://travel.stackexchange.com/questions/149323/my-name-causes-an-
issue-with-any-booking-names-end-with-mr-and-mrs/#149371)

------
OliverJones
A couple of other resistant-to-change legacy data interchange formats:

HL7 for health information. [https://www.hl7.org/](https://www.hl7.org/)

MARC for bibliographic information.
[https://www.loc.gov/marc/](https://www.loc.gov/marc/)
[https://www.loc.gov/marc/](https://www.loc.gov/marc/)

XML has been the vehicle for attempted rework of these formats. I wonder,
though, whether the time might be ripe for less cumbersome reworks, maybe
using JSON with validated schemata?

------
ben_roeder
Systems we love talk Life of an Airline Flight: What Systems Get You From Here
to There via the Air by Adam Fletcher
[https://www.youtube.com/watch?v=8_t41xvPp1w](https://www.youtube.com/watch?v=8_t41xvPp1w)

------
mavhc
"But the future is looking terrible — air travel is growing at twice the rate
of GDP."

------
PuddleOfSausage
I appreciate how hard it is to get buy-in from all parties involved, and NDC
was initially launched in 2012, but is XML still a good fit for this solution?
Are there better alternatives now?

------
codesnik
oh, so many memories. 4 years debugging barely documented xml output of
Amadeus SOAP services (SOAP in name only), (re)inventing rules engines for tax
calculations, fearing to receive a bunch of Debit Memos to come 2 months after
deploying another poorly understood rule.

Metasearches more or less killed OTA's since. Nobody cares about user
experience anymore, if tickets are 1 dollar cheaper on some other OTA, traffic
will go there.

------
longcommonname
I look forward to the air fare article. I worked at 1G for a few years and am
interested in seeing your take.

------
starpilot
[computer] technology, so not like the turbine engine or carbon fiber that led
to real advancements.

~~~
kortilla
Are autopilots, ILS, etc not “real advancements”? How about the airbus fly by
wire system? How about the computer systems that control the turbines on
modern aircraft?

~~~
redis_mlc
I's kinda with starpilot on this one. The article was about booking systems,
not aircraft systems.

Also, ILS itself is fairly primitive, as is anything prior to GPS. It was all
more radio technology than computer technology.

