General information about booking availability

Users make a booking based on the dates that the system shows as “available”.
Availability can either be configured from within the specific “Bookable” product or globally.

Product availability

Booking availability

Global availability

booking availability rules tab

Unavailable dates become not-selectable for your customers.

christmas not bookable

Both the global (default) availability rules and the product availability rules have the same options. The only difference is that one applies to all bookable products and the other only applies to the specific bookable product.

Note: To set specific rules per period, use the ‘product availability rules’. Only use the “Global availability rules” for rules that you want to apply to all bookable products. We recommend to use the default “Product availability rules” as much as possible, as they are easy to set on product level.

Set default product availability

From “Booking Availability” we can edit the default product availability.

booking default availability

Let’s explain the options by using an example case, and set up some default availability rules for the bookable product we created.

Example case – rent a meeting room

Step 1 – Availability settings

We create a bookable product that allows the customer to rent a room for meetings, the room can be booked for complete days and costs $500 p/d.

availability example basic settings

Now moving on to the availability. Besides the opening times during bank holidays (that we have set in the ‘Global availability rules), we want to set specific rules for this bookable product.

set default availability

First we set the default availability, we set ‘All days’ to ‘Bookable’, why? You will see in the next step.

availability weekends example

The building that is used to rent the room, is closed in the weekends, that is why we want to set ‘Saturday’ and ‘Sunday’ as not bookable. As you can see, when selecting ‘Sunday’, the ‘Saturday’ we selected before is already blocked out.

Let’s see what this looks like so far:

availability example frontend

As you can see, it is not possible to select the weekends, they are not bookable.

Step 2 – Booking terms

Booking terms

  • Max bookings per unit: maximum number of bookings that can be accepted for the same day/month/hour/minutes (this depends on the booking duration unit)
  • Minimum booking duration: minimum duration that can be selected by customers expressed in months, days, hours, or minutes depending on how previously set in Booking settings. 
  • Maximum booking duration: maximum duration that can be selected by customers expressed in months, days, hours, or minutes depending on how previously set in Booking settings. 
  • Confirmation required: Let users request a confirmation for the booking
  • Cancellation available: Allow customers to cancel the booking product already booked, and set the time limit (xx day(s) or month(s)).

Step 3 – Booking preferences

Booking preferences

  • Allowed start days: to define the days for the booking to start.
  • Buffer time: decide the time between one booking and the next. (For example, if you give in 1, the buffer time between two reservations will be 1 day. You will not be able to make a reservation for that day/that time period).
  • Check-in time: time for the check-in (only for informative reasons).
  • Check-out time: time for the check-out (only for informative reasons).
  • Minimum advance reservation: the first available date will be automatically set x hours/days/months from the date the user is making the booking.
  • Maximum advance reservation: this is the latest available day for the booking and will be automatically set to x days/months/years from the date the user is making the booking.

Let’s go back to our meeting room example, we set a check-in time and check-out time, so the customer knows during which time-frame the room is available.

We furthermore set the minimum advance reservation time to 5 days, because we need time to prep the room, and a maximum advance time of 1 year.

frontend example booking availability

If the customer access the page on 3 November 2021, the first available date will be in 5 days, with a maximum date 2 november 2022. Furthermore he is informed about the opening and closing hours of the office building.

Step 4 – Additional availability rules

add additional rules

We just heard that the office building will be closed for renovations during 2 weeks in March, and the building is always closed on April 1. We have to add these specific rules that only apply to this bookable product using the “additional availability rules”.

In this case we need to create 2 different rules, one using a generic date and one using a specific date.

Specific date example

specific date available example

We have set the specific closing dates for the renovation, and in the booking form the customer will see these 2 weeks as not-bookable.

Generic date example

generic date example available

We have set the specific day of closure to 1 April of each year, in the booking form the customer will see this day as not-bookable.

Combine more rules of availability

As mentioned before, we strongly recommend to use the default product availability as much as you can.

However, it might occur that you need to set company-wide rules, besides your default product rules. In this case, the global rules that you set, will override the default product availability.

On the other hand, if you want to make an exception to the global rules, you can use the ‘Additional availability rules’ in the product edit page.

So, what is the order exactly?

  • First: The global availability rules, from top to bottom (which override the default availability).
  • Second: The additional rules set in the product edit page, from top to bottom (which override the global availability rules).

This implies that at the same time frame more availability rules can apply.

Example case – Paris room

The default availability for our Paris room, is that it is bookable during the complete year.

set default availability

However, now we have 3 separate rules we want to apply:

  1. Each year, during the winter months (December, January, February), it is not possible to book any of our rooms.
  2. Due to renovations, the Paris room is not bookable in November 2021.
  3. Due to Valentines day, the Paris room is bookable in February each year, unlike the rest of the rooms.

Rule 1 – Winter months closure

global availability example

This needs to be a global availability rule, as this closure applies to the complete store. We have set all dates from 1 December to 1 March as ‘not bookable’.

available global frontend example

Rule 2  – Renovation closure for Paris room

add available rules product example1

Because this rule will only apply to this specific bookable product and for this specific date, we create an ‘additional availability rule’ for a ‘specific date’, within the product edit page.

closure example product rules 1

Rule 3 – Valentines day month

open valentines month

Because this rule only applies to this specific bookable product, every year, we crate another ‘additional availability rule’ – ‘generic dates’, within the product edit page.

Closure example product rule2

As you can see in this last calendar, the rules we have created on product level override the global availability rules.

Check-in and Check-out of the booking

The information entered in the “Check-in” and “Check-out” fields is shown at the top of the booking form. This is just a way of sharing information with the customer. You do not manage actual times using this option.

check-in check-out options1

 

You can edit the “Check-in” and “Check-out” labels from YITH > Booking > Settings > “Customizations”.

change checkout label

For example when you rent out bikes, you don’t need the check-in and check-out labels, but you want to show when to pick up and return the bike.

Full day bookings

The “Full day” booking option is useful in the next cases:

  • Rental services
  • Day trips
  • When included the last day in the booking
  • Bookable products that don’t require different start- & end dates.

full day booking

You can enable this option by using the toggle in the ‘Booking Settings’ tab.

Example – Full day enabled vs disabled

You rent out an meeting room, and decide to include the last day (full-day booking). You do this because the last day, the room is often used almost the entire day, and you want to charge the people for using the room that day.

Full day enabled disabled example

Full day enabled: By selecting the days from 1 December to 3 December, in the first example, 3 December will be calculated in the total price.

Full day disabled: In the second example, we select the same days, 1 December to 3 December, however in this case 3 December is not calculated as a full day.

Hourly bookings

The “Hourly bookings” are useful in the following cases:

  • Appointments
  • Lessons
  • Courses
  • Bookings which duration can be configured by hours

You can enable hourly bookings in the “Booking settings”  by selecting “hour(s)”.

enable hours option

You can choose either ‘fixed units of’ or ‘customer can book units of’. Below we will give 2 examples using each one of the options.

  • Example for fixed units of – Restaurant booking
  • Example for customer can book units of – Tool rental
example – fixed units of – restaurant booking

We create a bookable product for a restaurant, brunch and dinner, where people can book fixed units of 2 hours. We are closed on Monday morning and on Tuesdays. From 14.30 – 16.00 we have our break. Our daily opening hours are; Brunch from 10.30 – 14.30 and dinner from 16.00 – 22.00.

booking settings restaurant example

To start of, we set the ‘booking duration’ to “Fixed units of” 2 hour(s). And we set a price of $30 for 2 hours, multiplied by the number of people.

Now we move on to the default booking availability rules.

Default hours restaurant example

We set all days to “Bookable” and select “Set hours” so we can start applying our default opening hours. Below an example of what the booking form will look like for the customer:

booking form view restaurant example

 

Now that we have set our opening hours, we will use the “+ Add options for specific days” option, to decide our days of closure.

availability days restaurant example

We set Monday to bookable from 16.00 to 22.00 as we are closed for the morning, and we set Tuesday to not bookable all day. These rules you add here will override the default availability rules you set before.

Below an example of what the booking form will look like when the customer wants to select one of these days:

days with rules restaurant examples

example – Customer can book units of – tool rental

We create a bookable product for a floor cleaning machine rental.  People can choose for how many hours they need the product. We are closed on Monday morning and Sunday, and open till late on Fridays. Our daily opening hours are from 06:00 to 17.00 and on Friday until 21.00.

example settings tool rent

To start of, we set the ‘booking duration’ to “Customer can book units of” 1 hour(s). And we set a price of $25 per hour.

Now we move on to the default booking availability rules.

add options to tool rental example

We set all days to “Bookable” and select “Set hours” so we can start applying our default opening hours. Below an example of what the booking form will look like for the customer:

frontend example tool rent

Now that we have set our opening hours, we will use the “+ Add options for specific days” option, to decide our days of closure.

added options for special days example

We set Sunday to not bookable all day, we set Monday morning to not bookable from 06:00 to 12:00 as we are closed for the morning. And we set Friday to bookable from 06:00 to 21:00. These rules you add here will override the default availability rules you set before.

Below an example of what the booking form will look like when the customer wants to select one of these days:

options special hours example customer

No time available in calendar

For per-minute bookings, the plugin adds the possibility to disable the complete day, if no time is available. You can do so by enabling the option “Disable day if no time is available“. From YITH > Booking > Settings > “Booking forms”.

option disabled and enabled

We know that all hours of 8 November are booked, therefore it is no longer possible to book this date. In the example above you can see an example of the “Disable day if no time is available” option disabled and enabled.
In the disabled image you can see the date as ‘bookable’ but when you click on it you’ll see ‘no time available‘. In the enabled image, you directly see the date as “not bookable”.

Please note: if enabled, the calendar will show up to 1 month.

Per-minute bookings

The “Minute bookings” are useful in the following cases:

  • Appointments
  • Lessons
  • Bookings which duration can be configured by minutes

You can enable minute bookings in the “Booking settings”  by selecting “minute(s)”.

customer choose units of minutes

You can choose either ‘fixed units of’ or ‘customer can book units of’. Below we will give 2 examples using each one of the options.

  • Example for fixed units of – Call with professor
  • Example for customer can book units of – Massage
example  for fixed units of – call with professor

We create a bookable product for a call with the professor at your university.  Students can book fixed units of 15 minute calls. The professor only works on Monday, Tuesday and Thursday morning, from 08:00 to 12:30.

fixed unit minutes settings

To start of, we set the ‘booking duration’ to “Fixed units of” 15 minute(s). And we set a price of $0, as this is a free call with the professor.

Now we move on to the default booking availability rules.

default availability professor example

We set all days to “Not bookable” and select “+ Add options for specific days” so we can start applying our default availability hours. In this case it is quite clear, we add the 3 days and its specific hours.

The options we set in “+ add options for specific days” will override the default availability (first line).

Below an example of what the booking form will look like for the student:

student view example fixed minutes

Example for customer can book units of – massage

We create a bookable product to schedule a massage, where people can book sessions of 45 minutes. We are only opened on week days in the late afternoon, with the exception of Wednesday when we open only in the afternoon. Evening hours are 16:00 – 22.00 and on Wednesday from 12.00 to 18.00.

customer chooses units of minutes

To start of, we set the ‘booking duration’ to “Customer can book units of” 45 minute(s). And we set a price of $30 per session of 45 minutes.

Now we move on to the default booking availability rules.

add options specific days minute bookings

We set all days to “Bookable” and select “+ Add options for specific days” so we can start applying our default availability hours. We add the special hours for Wednesday (overriding the default hours) and the days of closure for the weekend.

The options we set in “+ add options for specific days” will override the default availability (first line).

Below an example of what the booking form will look like for the customer:

example 45 minute bookings

No time available in calendar

For per-minute bookings, the plugin adds the possibility to disable the complete day, if no time is available. You can do so by enabling the option “Disable day if no time is available“. From YITH > Booking > Settings > “Booking forms”.

option disabled and enabled

We know that all times of 8 November are booked, therefore it is no longer possible to book this date. In the example above you can see an example of the “Disable day if no time is available” option disabled and enabled.
In the disabled image you can see the date as ‘bookable’ but when you click on it you’ll see ‘no time available‘. In the enabled image, you directly see the date as “not bookable”.

Please note: if enabled, the calendar will show up to 1 month.

Time increment for hourly and minute bookings

By enabling the option Time increment based on duration” you can override the default time increment. The increment will be the same as the booking duration. Therefore, for a two-hour booking, the times shown will be 8:00; 10:00; 12:00; etc.

hourly booking example

By default, the time increment for hourly bookings is 1 hour. In this example we have created a two-hour booking and we activated the “Time increment based on duration” option (in “Booking availability).

2 hour booking time increment

This means that on the frontend, the customer will directly see time blocks of 2 hours, when the option is enabled.

increment enabled disabled booking

With the option disabled, the customer will see all available hours, and will only see the time increment of 2 hours after someone has placed a booking.

Hourly booking + buffer time

For this example, the we have created a 2-hour booking and set the “Buffer time” to 1 hour.

buffer time settings

The availability will consider both the booking duration of 2 hours (+ time increment) and the time buffer time of 1 hour after a booking is placed.

before after booking buffer

As you can see, before the booking you see all hours available. Now we book the 1:00 pm time frame for 2 hours. The customer that wants to make a booking after that, will see 5:00 as the next available time. Considering the 2 hour for the booking + 1 hour buffer time.

minute booking example

By default, the time increment for minute bookings is 15 minutes. In this example we have created a 30- minute booking and we activated the “Time increment based on duration” option (in “Booking availability)..

minute time increment settings

This means that on the frontend, the customer will directly see time blocks of 30 minutes, when the option is enabled.

With the option disabled, the customer will see all available hours, and will only see the time increment of 30 minutes after someone has placed a booking.

Minute booking + buffer time

For this example, we have created a 30-minute booking and set the “Buffer time” to 30 minutes

minutes buffer time
The availability will consider both the booking duration of 30 minutes (+ time increment) and the buffer time of 30 minutes after a booking is placed.
Before booking after booking buffer minutesAs you can see, before the booking you see all hours available. Now we book the 10:00 am time frame for 30 minutes. The customer that wants to make a booking after that, will see 11:00 am as the next available time. Considering the 30 minutes for the booking + 30 minutes buffer time.

example Time increment including buffer

This option is available for both hourly and minutes bookings. In this example we use a case with a ‘minutes‘ booking.

fixed units of 30 min example

We have set the booking duration to “Fixed unit of” 30 minutes.

time increment incl buffer settings

Note: this option only becomes available when you select “Fixed units of” in the Booking settings > duration.

We have set an example using a buffer time of 15 minutes, and enabled the “Time increment including buffer” option (in “Booking availability).

buffer included enabled and disabled

Above you see an example of what the booking form looks like when you enable and disable the option. With the option enabled, you are able to see the 30-minute booking + 15 minute buffer included. With the option disabled, you will only see the 30-minute booking time frame, after the customer places a booking, the buffer time will be applied as shown in “Minute booking” and “Hourly booking” examples.