Setting up WooCommerce Bookings and Appointments


This article is a workflow guide that helps you successfully integrate and configure WooCommerce Bookings and Appointments plugin on your WooCommerce store. It will also contain some of the most common business applications of this plugin.

The WooCommerce Bookings and Appointment plugin comes with a bunch of apparent features designed to help you implement various business cases. With this plugin, you can add multiple booking facilities on your website and sell bookable items with no problem.


Creating a Bookable Product

Once you are done installing and activating the WooCommerce Bookings plugin, you can now create bookable products/resources and define the booking rules on your products.

You can either create a new product or convert an existing product into a bookable product. You don’t have to go anywhere else, you can directly define a bookable product right on the Edit product page. Have a look at the following image:

woocommerce product page

Select the “Bookable Product” type and you have a product that is now ready to offer bookings.

Define the Booking Period

Booking period is the amount of time for which a single booking or appointment lasts. For Eg:  1 hour Doctor’s appointment, a 3 hours Salon appointment or a 1day classroom training.

You can configure the booking period right from the Edit product page. As soon as you create a bookable product, you would see the following section.

Booking Settings

You have two options to set the booking period: Fixed Blocks and Enable Calendar range with Blocks of.

What are Fixed Blocks?

Booking settings for blocks

Fixed Blocks Of

When you select this option, the plugin automatically restricts the booking to a pre-defined time duration. For instance, if you define fixed blocks of 1 hour then the plugin displays each block as a 1-hour time slot, For Eg: 08:00 AM to 9:00 AM is the first slot and 9:00 AM to 10:00 AM is the second and so on. With Fixed blocks option, customers can book only one block at a time.

Have a look at the following two images:

Booking for the fixed period of 1 hour:

WooCommerce Bookings

Booking for the fixed period of 2 hours:

WooCommerce Bookings

What is the “Enable Calendar range with Blocks of” option ?

When you select this option, the plugin allows users to book multiple blocks at a time. For Eg: In case of Bike Rentals, the booking period is let’s say 1 hour. With Enable Range option the customers can either book 1 hour or many hours at a time.

Calendar range booking

So it works in cases where a customer needs to book for 4 or 5 hours, depending on his or her need. You can also compare the following image with that of the Fixed period of.

WooCommerce Bookings
Booking for 4 hours

Maximum Bookings per Block 

This option lets you decide the maximum bookings that can be made for each block. Let’s say that you have defined this value as 5, then the maximum no of bookings that are accepted for a block is 5. So, if you have 5 rental cars that are available on Monday then 5 customers can book these cars for Monday.

Daily Booking Time

You can define the bookings opening and closing time which will be the start time of the first booking and the start time of your last booking for the day.

*Note: This feature works only with the Minute(s) and Hour(s) options.

Booking Time

*Note: Front End Calendar Time Format

You can change the time format- 12-hr or 24-hr for your front end calendar. In order to do that you need to go to the WordPress-> Dashboard-> Settings-> General, and then choose the appropriate time format from the various options available.

WooCommerce Bookings
Changing the time format

Have a look at the following two formats.

WooCommerce Bookings
24-hour format
WooCommerce Bookings
12-hour format

Allow Cancellation

The feature to allow customers to cancel the bookings can be really useful. With this option enabled, customers can click on the Cancel button under My Account->Orders and the respective booking will be automatically canceled. You can define the cancellation time before the booking starts. So if your booking starts from 02:00 PM and you have set the Allow cancellation at 1 hour, then the customer has to cancel on or before 01:00 PM.

WooCommerce Bookings
Bookings cancellations

Sample order images

booking cancallation
Booking cancellation

Enable Booking Notes

You can have a text area along with the calendar where your customers can mention additional information.

WooCommerce Bookings
Additional information

Here’s how it appears on the product page.

WooCommerce Bookings

Request Confirmation

This option once enabled, allows your customers to send the booking request to you first. Upon your confirmation, they can further proceed to pay the booking amount. Have a look at the following set of images.

Booking Confirmation

woocommerce cart page
Cart page
Order details
Order details after requesting for confirmation

Buffer Time

This feature allows you to add a buffer or time-gap between consecutive bookings. The plugin blocks this time and thus allows your customers to know that the booking will not be available for that time period. You can define the time period for this delay and set any buffer time before and after every booking. Please check out how to set up Buffer time in WooCommerce bookings to know more about it.

Buffer time

Set Booking Availability

The Booking Availability section lets you set the availabilities for your bookings. So for instance, if you don’t work on weekends then you would be able to define it here. You can also set the availability of the booking based on the following,

  1. Set A Fixed Booking Window
    This option allows you to enter a booking stand and end date. The bookings availability will be only within the dates that you have provided.
    Booking Window
  2. Set a Booking Window Relative to Today
    Using this option you can set the booking availability based on the current day. unlike the fixed booking window, the time period that you set in this option is dynamic and changes based on the current day. If you set the option for 30 days, the product will be available for booking for the next 30 days, instead of an exact date.
    Relative to today booking availability
  3. Avoid Last Minute Bookings
    Using this option, you can restrict customers from placing a booking at a certain time period before the booking start time. For example, if you want the bookings to close before half an hour of the first slot’s starting time, set this option to 30 mins
    Last minute bookings

Availability Rules

If you do not want a fixed time period for booking availability, or your booking availability time period is complex to set up, you can define availability rules based on your requirement. Availability Rules can be defined in two ways,

  • By making all the days unavailable and create rules for the days that you are available.

In the below images, You can see an option to “Make all dates unavailable“. Just enable this option and set the rules as shown below.

Availability rules with Unavailability

In the above image, the rules are defined by making all the dates are unavailable by default and rules are created to tell when you are available.

  • By considering all days are available and create rules for the days that you are unavailable

Availability rules with Availability

In the above image, the rules are defined considering all the dates are available by default and rules are created to tell when you are unavailable.

As you can see in the image below, you can set when the bookings are open or not. You get multiple time options like months, days and time that lets you control the booking availability more efficiently. Following are the options that are available:

Booking ranges
Booking ranges

Set Booking Costs and Rules

One of the most important parts of a booking website is the ability to set the booking cost and the rules that govern them. In the Booking Costs section, users can do the same. It treats you with a rule table that allows you to set the Base CostCost per block and Display cost.

WooCommerce Bookings

Base Cost

Just like the WooCommerce Regular price option, this one lets you define the base cost of a booking product/service. This is a one time cost. It is considered only once for the calculations even when multiple blocks are selected for booking.

Cost per block

This option lets you set the booking price for a block. This booking price multiplies with the number of blocks selected.

For instance, let’s say you have defined a block as 1 day and the cost per block/day is $25. So, if a customer selects three days to book, the total price would sum up to $75 (25*3 days). Also, let’s say you had defined a base price of $100. The total booking cost would then be $100 + $75 = $175.

Display cost

By default, the booking price that is displayed in the front end for a product is Base Cost + Block Cost. Considering the same example quoted above, the booking cost displayed would be $125.

You can, however, choose to display a different amount for the booking using the Display cost. But if you have defined either Base Cost or Cost per block or both then the Display Cost will be excluded and will be not considered for price calculation.

Special Prices or Discounts

You can define special prices or discounts based on various factors using the Booking cost rules feature. So, if you want to increase the booking cost during the weekends while keeping your weekdays set to the usual, then you would find the necessary options here.

WooCommerce Bookings

As you can see in the image above, the plugin also lets you define the rules based on the time range. The range option is very similar to the one in the Booking Availability section.

There is a detailed article on booking cost Rules available here: How to Set Booking Costs using WooCommerce Bookings and Appointments.

Set Booking Participants

The Booking Participants option lets you add participants that come along with the booking. You can also use this option to up-sell extra items along with booking. Have a look at the following image:

WooCommerce bookings

WooCommerce Bookings

Multiply all costs by the number of participants: Once enabled, this option multiplies the entire cost with the number of participants.

Consider each participant as a separate booking: If you want to separate the bookings for each participant then you should enable this option. This way the plugin will create a separate booking order for each participant.

You can also have rules that govern the participants. You can set the minimum and the maximum number of participants allowed and also define the Base Cost and Cost Per Participant.

Participant Rules

Have a look at the following article that explores this feature.

Set Booking Resources

Booking Resources option allows you to offer services, resources, facilities, etc, along with the bookings. You can either charge your customers for the resources they choose or offer them as an added benefit by automatically assigning it to the booking. The following image shows you the back-end:

woocommerce bookings

You have the option to change the resource name, set the resource cost, choose the assigning type and charge per participant. The video above shows how this works. Once you are done defining the resource, the Product page would look something like the following:

WooCommerce Bookings

Please refer to how to set WooCommerce bookings resources for more info.

Bookings Management Section

Like the WooCommerce Orders section, this plugin comes with a Bookings section that allows users to manage the bookings. They can confirm, cancel and even delete a booking. Have a look at the following image:

WooCommerce Bookings
Booking management section

You can select the necessary booking(s) and apply the bulk action to implement any action. As mentioned above, you have the following option:

bulk actions

So, suppose you have enabled the Requires Confirmation option and you receive a new booking. The plugin will indicate in this way, have a look.

Booking confirmation

Once the booking is approved, the customer would be able to see the Pay option as shown below. This option would take them to the Checkout page where they can choose the right payment option to finalize the booking. Have a look at the following image:

Pay for your bookings
The Pay option appears upon admin confirmation
Another good thing is that, if you have enabled the Allow Cancellation feature then your customers would be able to cancel the order right from the My Account page.
Check out page
The Checkout page for your customer

Add a Booking Manually

The plugin also allows you to add a booking manually. Once a customer registers on your website, you can select him or her right from the drop-down menu(Customer) as shown below.

WooCommerce Bookings
Adding a booking

Then select the Bookable product from the list and then either choose to create a new order or assign it to an existing order. For the latter option, you’d need to enter Order ID given in the box above. You can further click on Next and then you would be able to see the calendar right there. Here you can select the booking duration and then click on Add Booking. Have a look at the image below.

WooCommerce Bookings

Booking Settings

The plugin offers a dedicated section to manage the essential settings related to the WooCommerce Bookings and Appointment plugin. You have the following options:

Google Calendar

You can sync your bookings with your Google Calendar. Please refer to Google Calendar Sync with WooCommerce Bookings to know how to do that.

WooCommerce Bookings
Google Calendar

Availability Settings

Apart from the dedicated Booking Availability section present inside each product, you also have this section to set the availabilities globally. Meaning, any form of an availability set here will be applicable on all your bookable products. You have the option to manually hide the available bookings for all the products with just one click.

WooCommerce Bookings
Global Booking Availability set up

Booking Assets

With this option, you can add assets, name them and manage the quantity for them. Here is an article that shows how everything works under Booking Assets.

WooCommerce Bookings
Bookings Assets

License Activation

Here’s a dedicated section to enter your credentials in order to make this plugin work. You can refer to the following article that shows how to do that.

WooCommerce Bookings
License Activations

Please refer to the WooCommerce Bookings page to know more about the product. If you have any query regarding the setting up of this plugin then kindly comment down below. If you need any further help then kindly contact our customer support. We would be more than happy to help you with anything.

Last Updated On October 23, 2020