This tutorial is about setting up booking availability using WooCommerce Bookings and Appointment plugin so that you can allow/restrict booking for a particular period.
Booking Availability #
You need to log in to your WordPress as admin and get into the Edit product page of your desired product. Click on Booking Availability:

Booking Availability configuration options: #
- Set A Fixed Booking Window
- Set A Booking Window Relative To Today (Dynamic)
- Avoid Last-Minute Booking
- Add Booking Availability Rules
With the right combinations of availability rules, you can implement any business case. So it’s very important to understand each parameter that can help you govern the rules. Please go through the following examples:
Show a Fixed Booking Window #
Select the Fixed Period option under the Restrict Bookings Availability option. You can use this feature to show a booking window where you can select the starting and end dates. Customers can only reserve your product or service within those days. So, let’s say you have to open your bookings from 06/08/18 to 20/08/18.

The result:

Add a Dynamic Preparation Time for your Next Bookings #
Select the Relative to Today option under the Restrict Bookings Availability option. Now you can add a, let’s say 4 days, period to set the availability that will change based on the current date.

The Result:


Show Booking Availability based on months #
Go to the Bookings Availability section and click on +Add. The plugin will display the following drop-down menu where you need to select the Range of months.

Now you can define the range of months when you want or don’t want to offer bookings. You need to select the starting and ending months in the From and To sections, respectively. Then select whether you want to provide the bookings for the month(s) or not.
Assume that you want to offer bookings starting from May which will last until the end of December. The best way to achieve this is by blocking the remaining months.

You can also offer bookings for multiple months while keeping others non-bookable. Let us assume that you want to offer a service in August, September, December, January, and March. You then have to disable the bookings for other months. Refer to the following image.

The result:

Set Booking Availability based on days #
You can also set the availability for certain days of the week, recurring days, weekends, or any random day. Go to the Bookings Availability section and click on +Add. The plugin will display the drop-down and you have the option to choose either the Range of days or individual days of the week like Monday, Tuesday,…., or Sunday.
Set weekends as non-bookable #
You can apply bookings to a certain period by selecting the Range of Days option. Let’s say that you want to provide bookings from Monday to Friday and set Saturdays and Sundays as non-bookable days.

The result:

Certain days of the week #
You can offer bookings for certain days of the week. These days will be recurring, i.e, they will repeat every week in the same order. So, for example, you want to offer bookings only on Tuesdays, every week.

The result:

Set availability based on the time of the day #
The WooCommerce Bookings and Appointments plugin allows users to set availabilities based on the time of the day.
Go to the Bookings Availability section and click on +Add. The plugin will display the drop-down menu where you can use the Time Ranges section that includes the Time Range(all week) and individual days of the week – Monday, Tuesday, Wednesday, Thursday, Friday, Sunday, and Sunday. The plugin also allows you to set non-bookable hours between the booking hours as well.
Set a common booking period applicable all week #
You can implement fixed booking hours which will be applicable for every day of the week. So, for instance, you can set the bookings starting from 10:00 AM to 05:00 PM.

The result:

Set non-bookable hours in between bookable hours #
You can take a break away from work or simply work on something else by defining non-bookable hour in between your bookable hours. Let us show 1 non-bookable hour in between 10:00 AM and 05:00 PM.

The result:

Set availability on individual days #
You can set bookable and non-bookable hours on individual days of the week. This way, for example, you can set the usual booking hours every day. And if you don’t wish to show bookings for a particular day then you have to define it here.

The result:

Let us know if you find this article useful. And if you have any queries regarding the Booking Availability setup then feel free to comment down below!