Booking conflict rule
The booking conflict rule is the server-side rule that prevents two confirmed bookings from overlapping on the same asset. It rejects the later of any two confirmed bookings whose time ranges overlap.
The check happens on the server, not just in the app. It holds regardless of which device the two bookings were created on, and it holds when one booking was created offline and the other was booked online in the meantime. The later write to reach the server is rejected and surfaces as a sync error on the losing device.
The rule applies only to confirmed bookings. Tentative and pending bookings can overlap each other and confirmed bookings freely; conflict is only checked at the moment a booking becomes confirmed.