Usually it's a terminal emulator (in most cases implemented in Java) providing a thin client to a mainframe or Global Distribution System, such as Amadeus. This type of frontend is being phased out but the new systems usually have a requirement to maintain the exact same keyboard mappings so that the GUI can be navigated in the same way as the terminal.
Huh, found this video about one of those systems, pretty interesting UI actually. For most parts it is very much a true command line interface, and pretty hard-core with everything abbreviated to minimum.
> Amadeus is a computer reservation system (or global distribution system, since it sells tickets for multiple airlines) owned by the Amadeus IT Group with headquarters in Madrid, Spain. The central database is located at Erding, Germany.
Which kinda implies that all terminals all around the world are connected to one single database! I imagine they have fairly hefty mainframes in the backend.
The truly fun thing for someone working on these systems is each booking is just a flat text file with the line prefix indicating what is on the line. Sometimes when we need to implement new features/products we just have to use a generic remark (RX) and kind of coordinate with each other about what it means (or not, which sometimes causes fun when trying to manage interline bookings).
Another fun fact is that the booking records are recycled, the frequency of which depends on how many bookings there have been recently. The storage is "infinitely scalable" until the number of seats on planes starts to outgrow the number of bookings that we can hold.