How to Setup WooCommerce Bookings to sell Bookable products on your WordPress Website

Updated on By

WordPress was basically designed for creating blogging websites but then with the advanced tools and developments it became one of the people’s favorite platform to create their website. With plugins like WooCommerce and WP ecommerce, you can now create feature rich ecommerce website with unparalleled features.

If you want to create your hotel websites with online booking system, you can do so easily using the advanced tools available on the internet, without writing a line of code. The reasons to choose WooCommerce and WooCommerce bookings to create your website are many. A few of them are listed below

  • Simple setup, very easy to use
  • Extensible and Flexible
  • Feature rich and manageable
  • Manage persons and resources
  • Create custom availability and price slots

Now, if you are ready to kick start your website development process, here are the steps through which you can install and use WooCommerce bookings –

Installing WooCommerce bookings

WooCommerce bookings is a plugin that works with WooCommerce to create bookable products. Therefore, to use WooCommerce bookings, you need to first install and configure WooCommerce plugin. To setup WooCommerce, you can use this guide. Once WooCommerce is ready to use on your website, you can install WooCommerce bookings and start creating bookable products.

Here are the simple steps through which you can install WooCommerce bookings:

  1. Download the WooCommerce bookings zip file from here.
  2. Login to your dashboard
  3.  Navigate to Appearance ⇒  Plugins ⇒ Add new
  4. Upload the zip file and install it
  5. Activate the plugin once successfully installed

When you activate WooCommerce bookings, an additional menu item will appear under WooCommerce. This tab will introduce all the settings available for the booking feature on your website. However, there is a different procedure to add bookable products into your website which we shall see in the later section.

Creating a bookable product

Creating a bookable product using WooCommerce bookings is as easy as you create normal products with WooCommerce. All it needs is a few extra configurations.

To add a bookable product, the first step is to navigate to Products ⇒ Add Product.

In the next step, you have to specify that the product you are creating is a “Bookable product”. The option for bookable products in the drop-down for product data will only appear when you have WooCommerce bookings installed and active.

Bookable products are generally not physical. So don’t forget to check mark the virtual product box for intangible bookable services.

When you choose the “bookable products” options from the dropdown, the field for the products will change accordingly. Let’s understand what each of the fields mean.

Booking duration

The drop-down selection allows you to choose if you want to allow booking for a fixed block of time or if you want the customers to book for the duration determined by the customer.

Fixed block of

You can choose the pre-determine the duration of bookings. So whenever a user tries to book, the booking will be processed for the fixed period of time only.

For instance, if you are creating a website for booking an appointment at a massage parlor, it’s for a fixed duration of 2 hours. So for this situation, you can choose the “fixed block of” option and specify the duration.

Customer defined blocks of

When you choose this option, you can allow the customers to choose. You can determine the duration and allow the customer to choose the number of blocks they want to book. However, when you choose these option, you can specify the minimum or maximum duration of days/hours for the booking.

Enable the calendar range picker

Enabling this will allow the users to select a start date and end date on the calendar. This will calculate the duration automatically.

Calendar display mode

You can choose to display the calendar on click or you can make the calendar visible by default.

Requires confirmation

If checked, booking request will be sent and payment processing won’t be done till the admin confirms the booking. So the booking request will only be confirmed when the admin reviews and approves it.

Can be cancelled

This option lets you determine if the visitors can cancel their booking once confirmed. If you disable this option they won’t be allowed to cancel their booking once done. If you choose to allow cancellation, you can choose till when can be the booking be cancelled.

In the example shown below, the booking can be cancelled before one hour of the commencement of the booked time. This means, that for the massage parlor appointment, the visitors can cancel their appointment one hour before the commencement of their appointment time. They won’t be allowed to cancel their booking after that. For example – If a user has an booked a session that starts at 2 PM, they will be allowed to cancel the appointment till 1 PM. After 1 PM the cancellation will not be allowed.

You can also choose the duration, before the start date, for which the cancellation will be allowed. So, as per the example in the image, you can cancel the booking before 1 hour of the start time.

Setting up the costs

You can set up the cost for each block you’ve created and show it on the sales page of your booking site.

Base cost

This can be the booking charge or the sign up cost or anything, the base cost will be charged with each and every booking regardless of the block cost. It’s important to note that the base cost is independent of the block cost. Even when a user books more than one block, the base cost remains the same for a booking.

Block cost

You can set the price of a single block here. The total cost will be calculated by multiplying the per block price and

Display cost

This is the price displayed to the customers regardless of the base cost and the block cost. When you leave this field blank If there are different price ranges, they will be calculated by the system according to the system based on the selections made by the customer. If the price to be displayed is from a custom defined range the front end will display “from:” before the display cost.


For additional customization for your booking costs, you can use these fields. This is helpful when you want to offer your users a special discount or a special hike for a specific situation. For instance, your beauty salon is going to have a bumper discount offer from 25th Feb to 27th Feb. For this duration, bookings will be available at half the price. So, in the example, a range is created accordingly.

Setting up the availability

Max booking per block – The number of bookings that can be allowed for the same block. This can be better understood through an example. Suppose you have 5 hair treatment experts that can work simultaneously at a given block. So you can specify “5” as the value for “Max booking per block”.

Minimum block bookable

You can specify, with this field, the extent of time in future, for which the booking can be done. For example,  If according to the example, we’ve specified minimum block bookable as 1 week into the future. This means that the visitors can book only for a block available a week after today’s date. Suppose today is 3rd May, then the visitors can only book for blocks on 10th May and onwards.

Maximum block bookable

This option is similar and complementary to the previous one. With this option you can specify the maximum time in the future for which the users can book. For instance, most probably, you wouldn’t want visitors to book one or two years in the future.

Example – We have specified “2 months” in our example. So the visitors can book for a date within two months of the current date. So if the current month is January 31st, the visitors will be able to book for February and March. They won’t be allowed to book for any date after march.

All dates are

With this option you can specify if all the dates will be available by default. You can make all the dates unavailable for default too. This can be helpful for limited period offers. You can make all the dates unavailable for default and then use the range to make them available for a specific time range.

Check rules against

You can make the system check the rules for all the blocks being booked, or just the first block of the range of blocks being booked.

If you specify “All the blocks being booked”, the rules will be checked for each and every block that the user books. If a users books for 3 blocks at once, the availability of each and every block will be checked and booking will be allowed only if all three of them are available. However, specifying “starting block only” will only check the availability of the first block only.


You can specify the range for availability as per your requirements using the range option. Click add range and create custom availability. For instance, you know your beauty salon will be closed for 10 days in March, then you can specify a range for the unavailability.


This is how you can sell bookable products using WooCommerce and WooCommerce bookings plugins. It is easy to use and configure. If you find difficulty regarding any of the features of this plugin you can refer the WooCommerce’s documentation for creating online booking system using WooCommerce Bookings.

Good luck with your new online booking website!!

3 thoughts on “How to Setup WooCommerce Bookings to sell Bookable products on your WordPress Website

  1. Hugo

    Hi there,
    Can i allow users to booking day only? I don’t want to show Hours or minutes, i need to booking only rooms by days. Thank you. Nice blog.

    1. Disha

      Hi Hugo,

      You can definitely decide the minimum bookable block for your rooms. All you need to do is set the booking duration as – Fixed block of 1 day. So your visitors will only be allowed to choose the how many blocks of 1 day they want to book for.

      And thanks for your kind words 🙂

  2. Matheos

    First I use 10 minute blocks over a 8 hour day as a base. So my clients can book me for 10 minutes at a time.
    After 10 minutes with me the clients can purchase a package. But in order to have a package you need to book a 10 minute block.

    I can not figure out how to make it a pre-requisite to by a package you must have a 10 minute session block booked.

    I have multiple packages product to sell them, but in order for them to have them they need a session.
    Any help would be great.

Leave a Reply

Your email address will not be published. Required fields are marked *

Full Disclosure This post may contain affiliate links, meaning that if you click on one of the links and purchase an item, we may receive a commission (at no additional cost to you). All opinions are our own and we do not accept payments for positive reviews.