Give Your Online Bookings a Boost with WooCommerce Tickets.

Online retailers selling bookable products need an easy way to sell and manage them through their WooCommerce store. An efficient way of doing that is using the WooCommerce Bookings extension.

The plugin lets you add a new type of product called Bookable Product that allows customers to make bookings directly through your website. The bookings are then automatically added to your calendar.

Using the WooCommerce Bookings, you can let customers book appointments, reservations, or rentals all by themselves without having to manually add them to your calendar. You can let your website do the work for you and save time filling up your calendar and managing customer bookings.

With this in mind, we’ll dive deeper into the features and benefits of the WooCommerce Bookings plugin and explain how you can set up bookings on your WordPress site!

WooCommerce Bookings Overview

Without attending a single phone call, you can fill up your calendar with customer bookings. Built with flexibility in mind, the WooCommerce Bookings extension can handle a wide range of use cases:

  • Booking services and appointments. You can provide booking services and appointments for things like yoga classes, tours, or even gym memberships. It also lets you create bookable products for different types of services and appointments.
  • Hotel reservations. The WooCommerce Bookings extension can also help you provide hotel reservations on your website as a bookable product. All your customers have to do is select the date and time they want to stay at the hotel, and your calendar will automatically be updated.
  • Rentals and hires. You can also provide rentals and hires such as cars for rent or audio and video (AV) equipment rented for events on your online store.

Although the WooCommerce Bookings extension lets you set up many different products and services as bookable products, it is not suited for one-off or recurring tickets. Since these are not classified as bookings, you may use other plugins that are well suited for event management or for selling the above ticket types through your store.

WooCommerce Bookings for Customers

Now you might be wondering: what does the WooCommerce Bookings process look like for the customers on your site’s front-end?

Let’s take a look.

Front-end Viewing Form

The booking form is generated for your site’s front-end based on how the product has been configured. Here’s what an hourly booking looks like on the front-end for a bookable event ticket product:

hourly booking on the front-end

The price will update according to the option selected. For instance, if the customer selects an earlier date for the booking, they might have to pay higher and the price will be updated according to the date selected. Once the customer selects a valid booking, they can click the Book Now button to add to the cart.

Checkout Process

Once your customers add the desired products to the cart, the booking data such as dates, time, persons, and resources are displayed in the Product column. Following our event ticketing example, it might look something like this:

cart view

The extension also takes care of bookings that cross over into the next calendar date. If the booking provided requires your approval, the Add to Cart button will be replaced with the Check Availability button and the payment will not be charged to the customer at checkout.

check availability option

The booking does go through checkout but this process does not require the customers to pay while checking out. Customers pay once you approve their booking.

billing details

The plugin sends them a Booking Confirmed email which contains a payment link they can click to pay. Additionally, customers also have the option to log in to their My Account page and pay for the booking there.

Receiving Emails

Customers can receive up to five different email notifications depending on where they are in the booking process.

booking reminder

Customers will receive emails for:

  • Booking Confirmed. An email will be sent to customers when their booking is confirmed.
  • Booking Reminder. Customers will receive an email one day before their upcoming booking, as a reminder.
  • Booking Pending Confirmation. Customers will be notified through an email when the booking is awaiting confirmation from the store owner.
  • Booking Notifications. Customers can receive notification emails for their bookings once the admin decides to manually send them.
  • Booking Canceled. Customers receive an email if their booking is canceled.

How to Set Up WooCommerce Tickets and Bookings

Get the WooCommerce Bookings extension and install it on your WordPress website to start creating WooCommerce tickets.

Step #1: Create a Bookable Product

To start accepting bookings on your site, go to Products → Add New. Next, enter a title and description for your product. Scroll down to the Product data section and select Bookable Product using the dropdown menu. If your product does not need shipping, you can remove the Shipping Costs tab from your product by ticking the Virtual checkbox.

Booking duration

The booking duration field will tell customers how long the booking will last. The duration can be set in Hours, Minutes, Days, and Months. You can set this yourself or let customers set it when booking online.

booking duration

Fixed blocks are used when the duration is set by the admin. The customer has the option to choose one block that will determine the amount of time. For instance, if the spa’s appointment lasts one and a half hours, the customer can only book one slot at a time.

customer defined blocks

On the other hand, customer-defined blocks also have a set duration but the customers have the option to select as many blocks as they’d like. For instance, if the car rental provides an hourly rental system, the customer can choose as many one-hour blocks as they want to rent the car for.

When using customer-defined blocks, here are a few things to keep in mind:

  • You can include a minimum and maximum allowed value for the booking in the General tab. This enables you to provide a flexible starting schedule for your bookings.
  • You can also use 30-minute blocks for your bookings. Additionally, you can set the minimum booking to two blocks, as well. Customers will now have to book for at least one hour, and if they want more time, they can add increments of 30 minutes to the booking.
  • When using customer-defined blocks, the duration in minutes or hours will display a dropdown.

Require confirmation

If the bookings need to be reviewed by the admin before they can finally be confirmed, you can tick the Requires Confirmation? checkbox. This allows the customer to input their details and start the approval process, rather than pay at checkout.

billing details

Once you tick the Requires Confirmation? checkbox, the Check Availability option will be the only option presented to customers at checkout. Additionally, other items will be automatically removed from the customer’s cart when they add the bookable product.

Keep in mind that the Check Availability option can’t be enabled or disabled from WooCommerce → Settings → Payments like other payment gateways.

Allowing cancellations

You can also decide if you want your customers to have the option to cancel their booking. You can do that by selecting the Can be canceled? option.


All you have to do is fill out the two fields that define the time before the start date that the customer will be able to cancel the booking. The time can be set in Minutes, Hours, Days, and Months.

Changing availability

Your customers can see which slots are available for booking on the front-end. You can control the options by going to the Availability tab.

check availability

These options let you define which dates can be booked by the customer or the available dates for bookings.

Costs and changing costs based on blocks of times or persons

You can change the costs of specified slots directly from the Costs tab. The two main costs that can be added are Base cost and Block cost.


The base cost is applied regardless of what the customers choose when booking their order. On the other hand, the block cost is the cost per block that you can assign in the General tab. If a customer books multiple blocks, the cost will be multiplied by the number of blocks that the customer books.

Step #2: Using Resources in Bookings

You can use resources to add to multiple bookable products with a global level of availability or individual availability. For example, a hairstylist can provide hair treatment and haircuts but not both at the same time.

You may use resources for mutually exclusive things. For instance, rooms can be rented only once at a time, or people hired to manage only one service at a time.

Here’s how you can add resources to bookable products:

To add a global resource to your site, go to Bookings → Resources. You will be presented with a list of current resources and any products that are assigned. Click the Add Resource button at the top, which will open the Add New Resource screen.

new resource

Next, enter a name for your resource. Enter the Available Quantity and then Add Range if the resource has any restrictions on availability. After making all the necessary changes and additions, click the Publish button to make the resource available.

Now that the resource has been added, you can assign it to any of your available bookable products.

You can add a resource to a bookable product by going to WooCommerce → Products. Select the bookable product you want to edit and scroll down to the Product data section and tick the Has Resources box.


Next, go to the Resources tab and enter a Label that will be shown to customers only If the Resources are Customer Selected. If they’re automatically assigned, you can leave the field blank. After entering a label, select a Resource using the dropdown in the lower right-hand side of your screen.

Step #3: Managing Bookings

Now that we’ve successfully added bookings to our WooCommerce store, the next step is managing bookings.

Using the bookings list

You can view all of the bookings created on your website by going to the Bookings tab from the dashboard. A list of all the bookings on your website will be displayed in reverse chronological order.

booking list

You can filter bookings by status, date, and product using the options from the menu at the top.

You can also use the Bulk actions by selecting an action from the dropdown menu and clicking Apply to make changes. To search bookings, you can use the upper-right search bar to search from your available bookings and click Search booking.

booking details

For individual bookings, you are given the option to perform two actions. You can either use the checkmark button that allows you to confirm a pending booking and the eye button that lets you view booking details.

Manual approval of bookings

To view a booking that requires your confirmation to process the order further, go to Bookings from the WordPress admin panel.

You’ll see booked products awaiting confirmation with a Pending Confirmation status. Next, select the Confirm checkmark to approve the booked product.

Viewing bookings on a calendar

You can view a booking by clicking the eye button that takes you to the Edit Booking page. This page works similarly to other admin pages such as the Edit Order page.

You may edit any of these details as you desire and save them once you’re done.

Manual creation of bookings

You can also manually create a booking for a customer that needs it. Start by going to Bookings → Add Booking. Next, search for a customer by entering their name. Alternatively, you can leave it as a Guest.

add booking

Now, select a bookable product from the dropdown menu. There are multiple options to create bookings. For instance, you can either create a:

  • New booking creates a new order that needs to be processed and completed before it can be active.
  • Addition option which adds the order to the existing booking.
  • No order which creates a booking only.

After creating a booking, the Bookings calendar will be displayed on your screen. After that, select a date and time and click the Add Booking button.

Use case: Museum Tickets

Let’s step through a use case to better understand how you can set up a ticketing solution on your website, using WooCommerce tickets.

The director of a local museum wants people to book their tickets online and have a more competitive pricing on the market.

museum tickets

To create a bookable product, you can start by creating a virtual product since these do not require shipping. Once that’s done, you can set the availability by providing the maximum and minimum booker per block the customer can make. You may also provide the date and time the booking will be valid for.

number of persons

Next, enter a price for each block of booking that you may provide for your virtual, bookable product. You can also set different price tags for adults, senior citizens, and members by enabling person types on your product. Once everything is done, you may save the booking and view it on the order screen.

You can further add more virtual, bookable items using the WooCommerce Bookings extension on your store.


Setting up bookable products can help you save a lot of time and help make it easier for your customers to book your services. With the WooCommerce Bookings extension, you can create bookable products in a few easy steps.

After creating your bookable product, make sure to add resources and then, add them to your products, as well. You can also view all of your bookings from the booking list and approve them from there. Additionally, if needed, you can manually create a booking for your customers through the Bookings page.

Are you ready to let your customers make reservations, appointments or rentals on their own, through your online store? Let us know in the comments section below.

Simon Gondeck

I’m a big fan of WordPress + WooCommerce (especially WooCommerce Subscriptions). Check out my YouTube channel.

Leave a Comment