RM
Ronnie Mbuqe
Author · ExplainItSimply
31 July 2026
16 minute read
English
The hookYou select seat 12A while someone else may be looking at it too
The seat map looks calm. Behind it, booking software is handling competition, time limits, payment and changing availability.
A green seat does not simply mean “empty forever.” It means “available according to the latest information the system has.”
See the hidden labelsA seat can be in several states
AvailableNo active rule is currently preventing a new selection.
Temporarily heldA customer is completing the booking and the seat is protected for a short time.
ConfirmedThe seat is attached to a completed reservation.
BlockedThe airline may reserve it for operational, accessibility or crew reasons.
ReleasedA previous hold or reservation ended, making the seat available again.
The movie sceneTwo fingers move toward 12A
Person A taps the seat in Johannesburg. Person B taps the same seat somewhere else almost simultaneously.
Both screens were showing information that was true a moment earlier. The database now has to settle the race.
The winner is not decided by whose screen looked faster. It is decided by which valid request the system successfully records first.
Step by stepHow the seat becomes yours
1The seat map is loaded
The app receives the latest known state of the cabin.
2You select a seat
The system sends a request asking whether it can be held for your booking.
3The database checks again
The seat may have changed since the map first appeared, so availability must be confirmed at the moment of action.
4A temporary hold may be created
The hold protects the seat while passenger details and payment are completed.
5Payment and booking complete
The seat moves from temporary protection to a confirmed reservation.
People abandon booking pages, close browsers and fail payments. Permanent reservation on the first click would allow unavailable-looking seats to remain trapped by unfinished bookings.
A time-limited hold gives the customer a fair chance to finish while allowing the seat to return if the booking is abandoned.
The software problemConcurrency: many actions happening together
Concurrency is what developers call situations where several users or processes act on shared data at nearly the same time.
The system can use database transactions, locking or carefully designed conditional updates so only one request changes the seat from available to held.
Everyone else receives the new truth: the seat is no longer available.
What could go wrong?The payment succeeds, but the confirmation screen fails
This is one of the uncomfortable edge cases booking systems must plan for.
The system needs a transaction reference and a reliable booking state so it can determine whether payment succeeded, whether the seat was confirmed and whether a retry would accidentally charge again.
A customer should not have to guess whether they own the seat.
The aircraft changesWhat if the new aircraft has a different seat layout?
An airline may replace the planned aircraft. Row numbers, cabin sections or available seats can change.
Software then has to map passengers to the new layout, preserve preferences where possible and clearly communicate changes.
The seat is part of a living operational system, not only a picture on a booking page.
The bigger systemThe same seat may appear on several sales channels
Customers can book through an airline website, mobile app, travel agent or partner system. These channels must ultimately agree about the same inventory.
If each channel kept an isolated copy for too long, one seat could appear available in several places after it had already been sold.
The hidden heroThe database transaction
A transaction groups important changes into one controlled operation. Either the valid changes complete together, or the system can roll them back.
This protects the relationship between the passenger, booking, payment and seat.
The seat map is a picture. The transaction is the promise behind it.
The human storyPeople are not booking database rows
They may be choosing a window for a child's first flight, an aisle for comfort or nearby seats for a family.
That is why a small square labelled 12A can carry real importance. Software protects the promise made when the confirmation arrives.
Next time you...Receive a seat confirmation
Remember the race you never saw. The system checked the latest availability, protected the seat and connected it to one completed booking.
🤔 The Next Time...
The next time your flight seat becomes confirmed
Other people may have been viewing the same flight while software protected your temporary hold and completed your payment.How many systems had to agree before that one seat officially became yours?