Why a booking needs a transaction
One booking, several writes
The service above wrote a single row. A real booking write touches more than one: you insert the booking, you insert a hold on the walker's slot so nobody else can grab it, and (next module) you record the charge. Three writes that must all succeed or all fail β together.
Picture them running one at a time and the process crashing between write two and write three: the booking exists, the slot is held, but no charge was recorded. Or worse, the charge went through and the booking insert failed β you took the money and have nothing to show for it. A half-written booking is the exact bug that turns into an angry customer and a manual refund.
The rule for anything money-shaped: writes that belong together must be atomic β all-or-nothing. There is no valid state where two of the three landed.