Skip to content
Free

Availability & overbooking protection

How seats and room nights are counted, held and released so nothing is sold twice.

1 min read Updated

On this page

One inventory#

Every tour date and room night has a row in wp_tourivo_inventories with its capacity and the number sold. The booking panel, the calendar, the REST API and admin bookings all read from it.

No double bookings#

When a booking is placed, Tourivo opens a database transaction and locks the rows it needs (SELECT … FOR UPDATE). If two travelers try to take the last seat at the same moment, one succeeds and the other is told the date just sold out.

Holds and expiry#

  • Unconfirmed bookings — when email confirmation is required, the seats are held for the minutes you set, then released.
  • Unpaid pending bookings — can be cancelled automatically after a number of hours.
  • Cancelled bookings give their seats back at once.

All of this is under Settings → General & Currency → Booking Hygiene & Anti-Abuse.

Check from the command line#

wp tourivo inventory 115 --check_in=2026-11-14