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.
Two related promisesA place on the aircraft and a particular seat are not always the same thing
A ticket or confirmed reservation can represent the right to travel on a flight, while seat assignment identifies a particular place in the cabin. Airlines may manage these as connected but separate records because aircraft changes, accessibility needs and operational decisions can alter the seat map.
This explains why a traveller can have a confirmed booking before choosing a seat, or why a previously selected seat can later change even though the flight reservation remains valid.
The booking protects the journey. The seat assignment describes where the passenger is planned to sit.
The double-click problemWhat if the customer presses Pay twice?
A slow response can make a customer think nothing happened. Pressing again may send a second request. Reliable systems use unique booking and payment references so a retry can be recognised instead of automatically creating another charge or another reservation.
Developers call this idea idempotency: repeating the same identified request should not repeat the business result. The word is technical, but the purpose is simple, one intended purchase should create one booking.
Why availability changesA seat can disappear and later return
A temporary hold may expire, a traveller may cancel or a failed payment may release the seat. Conversely, an airline may block seats for crew, weight distribution, families, accessibility or an aircraft change.
The seat map is therefore a live view of current rules and records, not a permanent photograph. Refreshing can reveal a new state because something real changed after the earlier view was loaded.
Explore more stories about aviation, payments and software in all published articles.
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?