How do I set booking limits per day (or per time slot)?
WP Booking System can limit how many bookings are accepted for the same date by using the Inventory add-on.
For example, if you have 5 identical rooms, 10 boats or 20 spaces available per day, you can set that number as the calendar’s inventory. Each booking reduces the remaining inventory, and the date becomes unavailable when inventory reaches zero.
WP Booking System is date-based, so inventory applies per day, not per hour or time slot.
When should I use the Inventory add-on?
The Inventory add-on is useful when several identical units or spaces share the same calendar.
For example:
- 5 identical rooms;
- 3 rental cars;
- 10 bicycles;
- 8 boats;
- 20 spaces for a daily activity;
- 4 identical holiday rental units.
Instead of creating a separate calendar for every identical item, you can use one calendar and set how many bookings are available for each date.
You do not need Inventory if you allow only one booking per day.
You also do not need it if you allow an unlimited number of bookings per day.
How do I set the maximum number of bookings per day?
After activating the Inventory add-on, open:
WP Booking System → Calendars
and edit the calendar.
A new Inventory column appears in the calendar editor, together with an option for setting the calendar’s Default Inventory.
For example, if you have 5 identical units available:
Default Inventory → 5
Dates will then start with an inventory of 5 unless you override the value for an individual date.
Each booking reduces the available inventory until it reaches zero.
Automatically Block Dates must be enabled
The Inventory add-on requires Automatically Block Dates to be enabled when you embed the calendar.
When adding the calendar to a page, set:
Automatically Block Dates → Yes
If you use the shortcode directly, use:
auto_pending="yes"
With Inventory enabled, Automatically Block Dates behaves differently from a normal single-booking calendar.
Instead of marking the date unavailable after the first booking, WP Booking System reduces its inventory.
The date becomes unavailable only when the inventory reaches 0.
Example: allow 5 bookings per day
Suppose your calendar has:
Default Inventory → 5
The inventory changes like this:
- Before any bookings → 5 available
- After booking 1 → 4 available
- After booking 2 → 3 available
- After booking 3 → 2 available
- After booking 4 → 1 available
- After booking 5 → 0 available
When the inventory reaches zero, WP Booking System automatically changes the date to the booked availability status.
Customers can no longer select that date.
Can I set different limits for individual dates?
Yes.
The Default Inventory is applied across the calendar, but you can override the inventory for individual dates from the calendar editor.
For example, your normal capacity might be:
10 per day
but you could change particular dates to:
- Friday → 6
- Saturday → 10
- Sunday → 4
- Closed date → 0
This is useful when your capacity changes depending on staffing, maintenance or other operational requirements.
Can one customer book more than one slot?
Yes.
The Inventory add-on adds an Inventory field to the Form Builder.
When this field is added to your form, customers can choose how many available slots they want to book.
For example, if 8 spaces remain, the field can allow the customer to select:
- 1 space;
- 2 spaces;
- 3 spaces;
- and so on, up to the available inventory.
If a customer books 3 slots, the inventory is reduced by 3 rather than by 1.
Can I limit how many slots one customer can book?
Yes.
The Inventory form field includes a Maximum Limit setting.
For example, your date may have 20 spaces available, but you may want each booking to contain no more than 5 spaces.
Set:
Maximum Limit → 5
Customers can then select up to 5 slots in a single booking, even if more inventory remains available.
What happens when a customer selects a date range?
Inventory is tracked for each date.
If a customer selects several dates, the booking must fit within the available inventory across that selected period.
For example, suppose a customer wants to book one unit from July 10 to July 15.
If July 12 has no remaining inventory, that date is unavailable and the customer cannot create a booking that includes it.
This makes Inventory suitable for multiple identical accommodation or rental units that are booked across date ranges.
Can I use inventory from another calendar?
Yes.
The Inventory field has a Source option.
By default, you can set it to:
Embedded Calendar
which uses the inventory from the calendar attached to the booking form.
You can also select another calendar as the inventory source.
This is useful when an optional item has its own limited availability.
Example: villas and bicycles
Suppose you have:
- 3 villas;
- 10 bicycles.
Your main booking calendar manages villa availability.
You can create a separate Bicycles calendar with an inventory of 10 and add an Inventory field to the villa booking form using the Bicycles calendar as its source.
The customer can then choose how many bicycles they want while making the villa booking.
WP Booking System checks the bicycle inventory independently from the villa inventory.
When inventory is taken from another calendar, WP Booking System automatically creates an associated booking in that calendar and marks it as Automatically Created.
Can I charge for additional inventory items?
Yes.
If you are using an Inventory field with an external inventory source, you can combine it with a Product Field.
Set a price for the Product Field and configure its Multiplication option to use the Inventory field.
For example:
Bicycle rental → €15 per bicycle
If the customer selects 3 bicycles:
3 × €15 = €45
The additional amount can then be included in the booking total.
Can visitors see how many slots are left?
WP Booking System tracks the remaining inventory in the calendar editor, but it does not display the remaining inventory count on the front-end calendar by default.
If you want customers to see something such as:
“3 left”
this can be achieved with a small code customization.
WP Booking System provides an example code snippet that replaces the daily price displayed on the calendar with the remaining inventory.
This is optional and is not required for Inventory to work.
Is Inventory the same as creating separate calendars?
No.
Use separate calendars when customers need to book a specific resource.
For example:
- Villa A;
- Villa B;
- Villa C.
Each villa has its own availability, so each should normally have its own calendar.
Use Inventory when the resources are interchangeable.
For example:
- 5 identical rooms;
- 10 identical bicycles;
- 4 identical kayaks.
The customer does not need to choose exactly which physical unit they receive. They simply book from the remaining quantity.
Can I set booking limits per hour or time slot?
No.
WP Booking System manages availability by date, not by time of day.
Inventory can therefore handle:
- 5 bookings on Monday;
- 10 spaces on Tuesday;
- 3 units available from July 10 to July 15.
It cannot handle:
- 2 bookings at 09:00;
- 4 bookings at 10:30;
- 1 booking at 14:00.
If customers need to choose specific appointment times, you need a booking system designed for hourly or time-slot scheduling.
Can Inventory be used with iCalendar synchronization?
No.
The Inventory add-on is not compatible with iCalendar feeds.
This is an important limitation if you synchronize availability with platforms such as Airbnb, Booking.com or VRBO.
iCalendar communicates whether dates are occupied, but it does not provide the type of shared per-date inventory information WP Booking System needs to manage multiple interchangeable units.
If external channel synchronization is essential to your setup, consider using a separate calendar for each individually bookable unit rather than combining the units using Inventory.
How do I test Inventory?
After configuring Inventory, make several test bookings.
For example, with:
Default Inventory → 3
test the following:
- Submit one booking.
- Confirm that the inventory changes from 3 to 2.
- Submit a second booking for the same date.
- Confirm that the inventory changes to 1.
- Submit the third booking.
- Confirm that the inventory reaches 0.
- Check that the date becomes unavailable on the front-end calendar.
If customers can book multiple slots at once, also test the Inventory form field.
For example, select 2 slots and confirm that the inventory decreases by 2.
What if the date becomes unavailable after the first booking?
Check the following:
Is the Inventory add-on active?
The Inventory column should appear in the calendar editor.
Is the inventory greater than 1?
Check both the Default Inventory and the inventory value for the specific date.
An individual date may have overridden the default value.
Is Automatically Block Dates enabled?
Inventory requires Automatically Block Dates to be enabled when the calendar is embedded.
Without it, the automatic inventory workflow will not operate as intended.
What if the date does not become unavailable at zero?
Open the calendar in the WordPress dashboard and check the affected date.
Its Inventory value should have reached:
0
When inventory reaches zero, WP Booking System should automatically set the date to the booked availability status.
Also make sure the correct calendar is embedded on the page you are testing.
Summary
Use the Inventory add-on when you want a single WP Booking System calendar to represent a limited number of identical resources or spaces.
To configure it:
- Activate the Inventory add-on.
- Set the calendar’s Default Inventory.
- Enable Automatically Block Dates when embedding the calendar.
- Optionally add an Inventory field if customers can book multiple slots at once.
- Test bookings until the inventory reaches zero.
Each booking reduces the remaining inventory, and the date becomes unavailable when no inventory remains.
Inventory works per date, not per time slot, and it is not compatible with iCalendar feeds.