When I started working in the travel industry, I was a bit overwhelmed with the jargon… “PNRs”, “EMDs”, “SSRs,” “GDS”, “PSS”… it seemed like everything had to neatly fit in 3 letter travel acronyms.

Any startup that tries to tackle a travel problem can get quickly lost trying to speak the same language as the airlines.  Of course there are professional books & courses that go into this in much detail, but it is not very accessible.  The below article is intended to be a layman’s crash course in how an airline or travel agent books a flight for a passenger.

First things first

Before anyone can book travel, where do they start?  Typically they need an agent to facilitate the shopping & booking in the system on behalf of the customer.  This can be either an agent in a travel agency, an agent in the airline call center, or an “automated agent”, typically a website or mobile app, or eventually a chatbot (Google Home, Amazon Alexa, etc.).

Where does the flight shopping or booking end up? Already there is a flurry of new acronyms:

  • central reservation system (CRS) – simply put, this is the airline’s database where the booking information is stored
  • passenger service system (PSS) – basically not only the reservation system, but flight & seat inventory, ticketing, and check-in/departure control system (see check-in/DCS below)
  • global distribution system (GDS) – the travel agent equivalent of a CRS. Travel agents typically cover multiple airlines, they need to be able to also find availability & book in multiple airlines systems, that is where these intermediaries come in.

In general regardless of which reservation system it goes into, the process itself to actually book is mostly the same.  We’ll avoid throwing in NDC in the mix here, but a quick note to say that it will be *about* the same too.  For the purposes of this article, we’ll assume that at it is any of the three systems above.

Shopping for Flights

Most people today start by shopping for flights – they will browse their favorite travel website, put in some dates & a departure and arrival airport, a couple of passengers and then “submit”.  After a few turns of a “wait” pop-up, a nice and neat list of flights and prices comes up for the customer to pick and choose from.

What happens behind the scenes is actually quite impressive.  In order to search for flights, the system needs to figure out and sort through multiple dimensions:

  • Flight Schedules, Route Planning: based on the departure and arrival airport what are the possible routes?  which airlines fly those routes? which flights? can you fly direct? do you need to connect?  are both possible?  how long do you need between flights? what about the return flight?
  • Flight Inventory, Availability: once we know what eligible flights are out there, are there even any or enough seats on those flights for those dates?  (keep in mind that they need to be checked essentially flight-by-flight, airline-by-airline)
  • Revenue Management, Pricing – ok, so there is a flight for that date and available seats, but are they economy or business seats?  “cheap” seats or not? refundable? any amenities? how much will it cost? (keeping in mind the complexity of calculating the total price of an itinerary with multiple individual flights including connections, possibly mixed airlines, not to mention taxes, fuel charges, airport fees, etc.)

There is a trade-off between performance, or how quickly that all of this can be done vs. accuracy.  This typically comes down to the technical aspects: connectivity to the airline systems, caching data somewhere, etc..  Either you will get a response quickly, but maybe the seat will turn out to be not available or the price might not be accurate.  Or you might need to wait a bit more, but will be pretty sure that whatever flight or seat you choose, it can still be booked at the shown price.  It may seem that more-accurate-is-best, but if the customer is only browsing to get an idea, it may not be actually that critical.

Another side note is that as far as flight pricing is concerned, the airlines, travel agencies, and GDSes usually refer to ATPCO.  ATPCO is a separate external company that maintains a database of the airlines’ flight fares including the various eligibility and calculation rules (days prior to departure, duration of stay, blackout periods, passenger types, etc.).

Booking – the PNR

So they’ve found a flight… with seats available… and an acceptable price.  Time to lock it in and book it in the reservation system.

What is the bare information that goes into a booking? Travel & Airline Agents typically use the PRINT acronym:

  • Phone– contact information, typically the passengers but sometimes the travel agent’s (which can be annoying if the airline needs to contact the passengers themselves such as for flight changes).
  • Received by – who did the booking? travel agency? website? which agent?
  • Itinerary – flights/seats, for example “one economy seat on flight TS 423 departing Singapore on 15 October at 17:15 arriving Bangkok at 19:20”
  • Name – passenger’s first & last name (normally as per ID documentation, title (MR/MS), and passenger type (adult, child, infant)
  • Ticket – there are typically two options here: either wait a certain duration before confirming payment and issuing a ticket (ie: add a a ticket-time limit) or to confirm payment & ticket immediately.

A small point is that the order of the steps in the PRINT acronym is a bit mixed up from how an agent/website typically applies them (normally the passengers and flights are added first to the booking, before it can be priced, paid for, and ticketed) but it helps to memorize the basic steps.

Finally you’ll also notice that payment itself is not among the steps nor mandatory to just create a booking (see next section on Ticketing…).  There are a few reasons for this, either to give a customer time to consider or even to go through payment externally without losing their seat.  But conversely it is not in the interest of the airline to block seats without payment, either for a long time or too liberally, since while the seat is blocked, it conversely is one less seat to offer another potential paying customer (especially if the first one abandons their booking later).

Once the booking information is put into a Passenger Name Record or PNR, the agent can “end transact” or close the booking, after which the system provides an alphanumeric reference to your booking, typically 6 digits (example: “X38BE3”), also known as a record locator or “recloc”.  If the booking is through a GDS and/or has a mix of airlines in the itinerary, there may be different reclocs for the different airlines as they store their portions in their systems.

To a travel agent, a typical booking PNR looks something like this:

RP/SINXX1234/SINXX1234 AA/SU 15MAY19/0837Z X38BE3
2 TS 432 Y 15OCT 1 SINBKK HK1 1715 1920 15OCT E TS/
3 TS 411 Y 21OCT 7 BKKSIN HK1 1720 1935 21OCT E TS/
4 APH 65 9876 5432 SINGAPORE

Payment & Ticketing

So it’s booked, but we’re not finished yet.  Remember the “T” in PRINT above?  The system needs to now issue a ticket.  The ticket is essentially the airline’s guarantee to the passenger whereby:

  • an airline has confirmed to provide a specific seat on a specific flight for a specific total amount to the customer
  • a customer has confirmed to pay the specific amount to the airline

For the system, this means that it needs to simultaneously lock in the flight’s seat in the airline’s inventory AND confirm authorization of the passengers payment.  Simple as it sounds, this can be a bit tricky.

Normally the agent will ask the system to calculate the itinerary’s price again: the base fare for the flights, taxes such as airport taxes, fees such as fuel surcharges or credit card fees, etc., keeping into consideration any currency differences and exchange rates as well.  This will be used to know how much to charge the credit card, etc.   The pricing record for the selected flight is stored in the booking/PNR, typically with the whole breakdown of fees, taxes, etc.

Online Payment is a complex topic by itself.  Typically an airline needs to call a payment gateway (Visa, Mastercard, Ogone, Stripe, Paypay, WeChat Pay, Grab Pay, bitcoins, etc.) to authorize & collect the amount.  These payment gateways or payment service providers (PSPs) each have their own process including fraud checks, authorizing the amount & payment credentials with the issuing bank or credit agency, possibly capturing the amount to be sent the merchant’s bank.

As a rule of thumb, the ticket is only issued after the the payment is confirmed.  When it goes wrong (and it occasionally does), the ticket & payment are inconsistent.  Occasionally a passenger pays but has no confirmation of the seat: money is collected but the last seat gets sold from under to someone else in the meantime. Or there are scenarios where an airline locks in a seat but payment fails or can’t be collected.  There are a lot of reasons this can happen, both technical and other, but needless to say there is a lot of work that is done as well to avoid this by all means possible since this translates into either missed sales or revenue leakage (both which the airline’s revenue & accounting teams hate).

Assuming the payment is confirmed and ticketing goes through without any errors or issues, the booking is considered as complete.  Occasionally some minor booking post-processing is applied by the airline.

 Exit-Row Seats, Extra Bags, etc. – aka Ancillary Services

If the customer has bought anything like extra bags or a seat with extra leg room, these fall into the category of “Ancillary Services”.

These typically have a separate process which include:

  • Shopping – search a catalog of available services for a given flight, checking availability/inventory for the service, checking the service’s price
  • Booking – typically a service request (SSR) is added into the booking/PNR.  Once it is paid for, to issue an Electronic Miscellaneous Document or EMD (basically an e-Ticket or electronic receipt for ancillary services)

In general the ancillary service process & flow is not much different than booking a flight itself, only the acronyms change.

Peeking under the hood, there is a whole different level of complexity around this subject (seat maps, eligibility, bags by weight vs. piece, premium meals, pets, inventory-based services, third-party services, flight vs. itinerary level services, etc. ), but this is beyond the scope of this article.

Ticket Changes

If a customer wants to change or cancel a ticket, it depends on the airline’s fare rules (the fine print that you see when you book).  This is also filed with the fare with ATPCO.

Some of the implications of a ticket include:

  • is it flown/spent?
  • how much is it worth?
  • can you exchange the amount for another flight?
  • can you cancel the booking or leg of the flight in the booking?
  • What about taxes, are any of them refundable?
  • What about any ancillary services?
  • What kind of flight is eligible for exchange?  For instance, can you exchange it for any flight or only the same kind of flight but different dates?

Typically this is another of the agent’s dedicated process whereby:

  • the booking is retrieved, its flights & fares are checked for eligibility for changing
  • new flights are searched and selected based on the eligibility rules
  • the booking is repriced with the new flights and
  • the old ticket is either reissued for a new one only revalidated

There is another case which is involuntary changes: those where the airline needs to reschedule or possibly cancel a flight.  This is a very delicate challenge to minimize the disruption to the passenger including attention to communication/notification, ensuring consistency and convenience, and eventually compensation.

Check-In, Boarding Passes

Coming up on travel day, it is time to check-in to the flight.  Unlike the original booking process which can be done virtually anywhere, the check-in and boarding process implies a physical traveler going to a physical airport and boarding a physical airplane.

The airline usually uses a separate dedicated system called a Departure Control System or DCS which handles the traveler flow through the airport’s check-in and boarding process.  At some point in time (typically approximately 24-72 hours prior to the flight), the booking information/PNR is copied over to the check-in system /DCS, eventually opening the window for the passenger to check-in for the flight.

  • Passenger: initiates checking-in, they typically need to provide as a minimum some their booking reference and some kind of valid identification, optionally a loyalty account number as well to earn points.  This is validated against the booking information by the airline and in exchange, the airline returns a boarding pass.
  • Airport: now the passenger needs to get from “landside” (the public area in the airport terminal) to the boarding gate which is “airside”, so behind immigration and security.  This as everyone knows consists of multiple checks including their boarding pass and identity card, plus security & scanning bags, immigration, etc..
  • Airplane: after a bit of airport lounging or duty-free shopping,  the passenger makes their way to the departure gate.  There they hand over the boarding pass and typically again show ID, which confirms their eligibility to board the airplane.  The information taken at check-in (the passenger, their bags & weight, the booking and so forth) gets passed to the flight crew in the form of the passenger manifest, aircraft weight & balance and fuel calculations, meals for catering, final seating, etc.

From here you know the rest: the flight taxis, flies, lands.


Presuming that everything went as originally planned, the passenger arrived at their destination on time, bags are collected, the trip is finished, etc. we’re still not quite yet done.

There is some administrative cleanup of the booking & tickets which needs to be done which include:

  • marking the ticket as “flown” (ie: “used”)
  • accounting can now take into account the ticket’s revenue amount, or in accounting terms it is “realized”
  • The PNR is then archived in the system

Unhappy flows

Everyone has their favorite unhappy travel story, mine consisted of a flight from Nice to Amsterdam to connect to a flight to the US for Christmas.  As the flight descended to land in Paris Charles de Gaulle (?!?!) due to snow in Amsterdam, I knew this was going to be messy.  Both the CDG airport and airline staff onsite was unprepared for an unexpected plane full of passengers with missed flights.  After a lot of chasing, eventually a rebooking & overnight stay later, I was back on track (and made it home for the holidays).

In an ideal world there would be no travel problems, but the reality is that they do arise.  Some types of issues which can throw a spanner in the works include:

  • flight disruptions such as cancelled flight, late departure / missed connection, diverted aircraft, missed flights
  • as well as incidentals such as lost bags, visa/immigration issues on arrival

These each require special handling to ensure that the passenger is either compensated or able to get to their destination.  In short, these are all topics which deserve (and hopefully will eventually have) an article written in their own right.


Ideally the complexity of the process of shopping & booking a flight is not exposed to the traveler.  A better understanding of how it works behind the scenes will help those with new ideas on travel to come up with solutions that are viable.

I hope this was helpful!


Comments are closed