How do you prevent double bookings or overbooking?
The system applies an atomic temporary lock in the database (PostgreSQL) while payment is in progress. The selected slot is held for 10 minutes. If the payment does not go through, the system releases the slot automatically.