Booking Module
June 17, 2026 · 5 min read
The Booking Module is a module that allows the management of reservations, appointments, and schedules. It provides a flexible system for creating booking slots, managing availability, and handling customer bookings.
#Booking Resource
A Booking Resource represents a bookable entity, such as a room, service, or equipment.
The resource also defines the default rules used for the booking process, such as the minimum and maximum booking duration, cancellation policies, other (more on this later).
#Availability Slots
Each resource can have multiple Availability Slots, which define the time periods during which the resource can be booked as well as the rules used for the booking process.
#Slot Properties / Rules
An availability slot defines a set of proprties that control the booking process for that specific slot. By default, the slot clones the default properties of the resource.
#Properties for both "Slot" and "Session" type slots
- Active - Whether the slot is active and can be booked.
- Type - "Slot" or "Session" - read below.
- Slot - a rigid time slot that can be booked as a whole. For example, a 1-hour slot from 10:00 to 11:00.
- Session - a flexible time slot that can be booked partially. For example, a 1-hour session from 10:00 to 11:00 can be booked from 10:00 to 10:30 or from 10:30 to 11:00.
- Capacity - Maximum number of concurrent bookings for the slot.
- Min. advance reservation time - Minimum time before the slot starts that a booking can be made.
- Max. advance reservation time - Maximum time before the slot starts that a booking can be made.
- Allow cancellation - Whether bookings can be cancelled for the slot.
- Cancel window - Maximum time before the slot starts that a booking can be cancelled.
- Cancel advance time - Minimum time before the slot starts that a booking can be cancelled.
#Properties only for "Session" type slots
- Min. duration - Minimum duration of a booking for the session.
- Max. duration - Maximum duration of a booking for the session.
- Duration step - The minimum increment of the duration of a booking (e.g. 5 minutes will allow bookings of 5, 10, 15, 20 minutes, etc.).
#Recurring Availability
Any availability slot can use a recurring pattern (RRULE) to define a repeating schedule. This simplifies the management of availability for resources that have a regular schedule, such as weekly or monthly availability.
- Frequency - The frequency of the recurrence (daily, weekly, monthly, yearly).
- Interval - The interval between each recurrence (e.g., every 2 weeks).
- Weekdays (for weekly recurrences) - The days of the week on which the recurrence occurs (e.g., Monday, Wednesday, Friday).
- End Condition - either "After count" or "Until date"
- After count - The number of occurrences after which the recurrence ends.
- Until date - The date on which the recurrence ends.
#Exclusion Slots
Booking availability management can become difficult for recurring availability slots when there are exceptions to the recurring pattern (e.g. holidays, maintenance). Therefore, the booking module allows for the creation of Exclusion Slots, which are time slots that exclude availability for a specific resource.
In order to create an exclusion slot, just create a new availability slot with the "Active" property set to false. These slots take precendence over other availability slots used for the time period, and will prevent bookings from being made during that time.