As a business owner, you might sell products or services that customers need to book ahead of time or make an appointment for. Adding a booking system to your WordPress website can be difficult – especially if you need a way for customers to make payments. You can quickly get started by using a WooCommerce bookings and appointment plugin.
However, finding the right bookings plugin can be a daunting task. The first step is to determine what you need it for. For example:
- Are you looking for a way to increase your overall bookings or conversions?
- Do you need a WooCommerce booking plugin that allows you to streamline the organization of your business?
- Or do you need a simple solution to help decrease no-shows for upcoming events?
In this post, we’ll run the rule over some of the best WooCommerce bookings and appointment plugins and highlight their standout features to help you make an informed decision. We’ll also walk you through a quick tutorial explaining how you can get started with the WooCommerce Bookings plugin. Finally, we'll explain how to display bookings in a front-end table layout using WooCommerce Product Table.
But first, let’s quickly take a look at some of the different types of businesses that can benefit from a WooCommerce booking plugin.
Who needs a WooCommerce bookings plugin?
Any business that requires bookings, appointments, or reservations of any sort can use a WooCommerce bookings plugin to improve their service quality and deliver better customer experiences. Here’s a look at some of them:
Selling rental products
If you run a business that rents out products such as cars, boats, Christmas trees, or rooms and apartments then you’ll need a WordPress booking plugin to better manage booking products, customer bookings, and reservations.
This way, you won’t have to maintain a manual, paper-based booking system or collect payments in person. Instead, customers will be able to use an automated reservation platform to learn about your products, the available time slots, proceed to book their desired product, and make payments.
Selling appointments and booking slots
A WooCommerce bookings plugin can help doctors better manage their patients’ appointments, and track any cancellations in time to squeeze in more patients. In addition, customers will no longer have to respond to emails or phone calls to book appointments.
Similarly, personal service professionals such as wedding photographers, gardeners, and birthday decorators will also be able to fulfill client needs and requirements more efficiently.
Various types of product that may require a date picker
Online teaching businesses can also benefit from using an online booking system to complement their online learning website. You’ll be able to hire teachers who could each set up their available hours to teach students.
A WooCommerce bookings plugin lets you create all sorts of bookable products including university courses, cooking classes, guitar lessons, or even dance instructions. You can also set a price and charge your clients a flat rate or by the hour.
5 best WooCommerce bookings and appointments plugins
Here, we’ll step through five of the most popular WooCommerce bookings plugins and highlight their key features.
WooCommerce Bookings plugin enables your visitors to book appointments and reservations online – without making any phone calls. This way, you don’t have to mark dates on your calendar or maintain a paper-based booking system. Instead, your website will manage your bookings and payments automatically.
- You can define set options like fixed time slots for a guided tour or an appointment or let your customers choose a time that suits them best.
- It lets you set the minimum and the maximum number of participants allowed in a session. So, for example, you can choose to hold one-one-one appointments or allow multiple visitors to reserve a class.
- You’ll be able to control how appointments are confirmed and cancelled on your WordPress website.
- It allows you to send reminder emails to your customers when they make a reservation when it is confirmed, and the day before the booking date.
- You can use a calendar to keep track of all your bookings and automatically sync all your booking dates with Google Calendar to view them on the go.
- WooCommerce Bookings also integrates with WooCommerce Product Table - ideal for listing bookable products in a searchable, filterable table view. More on this later.
YITH Booking and Appointment for WooCommerce helps you create a simple and easy-to-use booking system for your WordPress business website. This WooCommerce booking plugin supports all sorts of e-commerce sites built on WooCommerce and lets you create various types of bookable products with different pricing options.
- It enables you to easily manage bookings for apartments, rooms, and other living facilities by setting their daily or hourly booking rates.
- You’ll be able to set the minimum and the maximum number of days available for booking by individual visitors.
- You can set to approve reservations as soon as the customer confirms it or require approval from the admins.
- You can set the maximum period until when customers will be allowed to cancel their bookings.
- It enables you to manage appointments and bookings for services such as nail salon, physiotherapy sessions, or beauty parlors and sync your booking dates with Google Calendar.
Bookly is a useful WooCommerce booking plugin that offers seamless integration with WooCommerce. It lets your customers book appointments for all types of businesses including spas and massage, law consultancy, car repair, beauty, and private clinics.
- It helps you save time by eliminating your manual scheduling system. It automates the entire process which enables your customers to quickly book their appointments even on weekends.
- Bookly is easy to set up and lets you start receiving booking requests almost instantly.
- You’ll be able to include several employees in the booking schedule, enabling them to charge different rates and show their available time slots.
- You’ll be able to add an unlimited number of business services to your booking page and categorize them for easier management.
- It offers integration with Google Calendar which lets you organize multiple calendars of all of your employees or staff members.
WooCommerce Appointments is a popular WooCommerce booking plugin that enables you to easily schedule and reserve bookings on your WordPress business site. It’s an ideal solution for companies that want to focus on their core business activities and leave the appointment scheduling tasks to the software.
- It is easy-to-use, fast to install, and doesn’t require any coding skills or staff training.
- Its two-way Google Calendar sync feature lets you automatically synchronize bookings from your website with the Google Calendar and vice versa.
- You’ll be able to assign multiple employees to appointments, manage their calendars individually, and enable them to log in and display their available times.
- You can schedule appointments for multiple days for your customers or offer extended durations using add-on fields. Similarly, you’ll be able to extend duration by minutes or hours.
- WooCommerce Appointments lets you determine the number of times visitors can schedule an appointment in advance. This way they won’t be able to book an appointment a few months (or a year!) in advance.
Booked are an easy-to-use and flexible WooCommerce booking plugin that enables you to send booking registrations including registered bookings, paid bookings, and guest bookings. It lets you customize the settings to match your business needs.
- You’ll be able to collect payments from your visitors for appointments and allow them to quickly checkout using WooCommerce.
- It gives you access to multiple calendars, each with its own time slots and custom fields. This helps your employees easily manage their schedules and available times.
- Booked enables your guest visitors to book registrations without requiring any registration. However, they’ll have to provide their name and email address.
- Its built-in color pickers let you personalize your calendars based on your preferences or to match your business’ brand.
- It lets you showcase your appointment booking calendar on your WordPress business site.
How to get started with the WooCommerce Bookings plugin
WooCommerce Bookings is a popular and versatile WooCommerce booking plugin for WordPress. Since it's the official bookings plugin by Woo, this is the one we're going to focus on in this tutorial. It's also fully compatible with the non-lazy load option in WooCommerce Product Table, which is fantastic if you want people to be able to make bookings from a neat table layout.
In this section, we'll walk through step-by-step instructions to help you get started. We'll cover:
- Installing WooCommerce Bookings
- Creating a bookable product
- Setting up the costs
- Configuring available booking slots
- Integrating with WooCommerce Product Table to showcase bookings in a table layout
Feel free to follow the entire tutorial or use the jump links above to skip to a particular step.
Installing WooCommerce Bookings
The WooCommerce Bookings plugin works seamlessly alongside WooCommerce allowing you to create bookable products. Assuming you already have WooCommerce installed on your WordPress website, here are the steps you need to follow to install WooCommerce Bookings:
Get the WooCommerce Bookings plugin's zip file. Next, log in to your WordPress website and head over to Plugins -> Add New and click the Upload Plugin button.
Upload the plugin's zipped file and click Install Now to proceed. Activate the plugin to your website.
You'll notice that a new menu item in the side menu bar, Bookings. This is where you'll be able to create new bookable products and configure different settings related to accepting bookings. Next, we'll show you how you can begin creating a bookable product using WooCommerce Bookings.
Creating a bookable product
One of the reasons why WooCommerce Bookings is an incredibly popular booking solution in the WordPress space is because it's incredibly intuitive. The plugin lets you create bookable products in the same way you'd add new products in WooCommerce. The only difference is in the product's configuration settings. Here's what you need to do to get started:
Head over to Products -> Add New from the WordPress admin panel. Add in product details (such as the product name, description, and featured image) and set categories and tags as you normally would.
Next, scroll down to the Product data section. From here, use the dropdown menu next to where it says Product data to set the product as a Bookable product. If you're selling a virtual bookable product (such as an online course, training program, classes, or services), click the checkboxes next to the Virtual and Downloadable boxes, as necessary.
At this stage, you'll notice that the Product data section has been updated to reflect configuration settings for bookable products. Next, let's quickly step through these settings.
The Booking duration option lets you decide between a fixed block of or customer-defined blocks of:
- Fixed block of. With this option, you'll be able to restrict customers and clients from booking outside of fixed slots. For instance, if you're setting up a website for a salon, you might need to set a fixed duration of 30 minutes to 2 hours, depending on the services you offer. You can set fixed blocks of minutes, hours, days, and months.
- Customer defined blocks of. If you need to let customers set their own blocks, select this option. This way, you'll be able to set the duration and let customers select the number of blocks they'd like to book with you. With this option, you'll also be able to specify the minimum and maximum duration (in terms of days and hours) for bookings.
Note: If you set the Booking duration in Day(s) for Customer defined blocks of, you'll also be able to enable calendar date range picker to make it easy for customers to select a start date and end date on the calendar.
Calendar display mode
You can use this option to set the calendar to always be visible or to be displayed when customers click.
If you check this option, the booking request will be sent but the payment will not be processed until the admin confirms the appointment. Once the admin reviews and approves it, the booking request will be confirmed and the payment will be processed.
Can be cancelled
This option enables you to choose whether you’d want to enable customers to cancel their bookings after they are confirmed. Disabling this option will no longer let them cancel bookings after confirmation. If you select the option to allow booking cancellation, you can determine the period before it can be cancelled. For example, if you want to let customers cancel bookings up to two hours before their appointment, you'd configure the Booking can be cancelled until option as follows:
Setting up the costs
With WooCommerce Bookings, you can also set up pricing for each block you create by heading over to the Costs tab under the Product data section. You can choose to display prices on the sales page of your website or in a front-end table layout -- more on this later. Here's a look at the different options available to you for setting up costs for bookable products:
This is a one-off cost for the booking as a whole. You can set this as the booking fee or the signup charges. This cost will be charged on every booking made regardless of the block cost. It's important to keep in mind that the base cost doesn’t depend on the block cost. In other words, even if a customer books more than one block, the base cost will remain the same for that booking.
Here you’ll be able to set the price of a single block. The price per block multiplied by the number of blocks booked is the total cost of the booking.
This is the price that’ll be shown to the users on the front-end regardless of the block cost and the base cost. This is great for when you'd like to display costs as, say, Starting from $9.95! Leave this option blank to have the cost automatically calculated for you.
These fields will enable you to add more customizations to your booking costs. This is especially useful for when you are looking to offer customers a special discount for a limited time. For instance, if you offer a discount from August 5th to August 7th, you might configure the range as follows:
This will set the block cost for services at $9.95 from August 5th to August 7th.
Configuring available booking slots
WooCommerce Bookings also lets you set up availability rules for each block you create by heading over to the Availability tab under the Product data section. Let's step through the different setting options available to you.
Max bookings per block
Max booking per block denotes the maximum number of bookings that are available for the same block. Let’s look at an example to better understand this. Let’s say you employee three nail experts who can offer manicure services at the same time i.e. in a bookable block. For this, you'd enter 3 as the Max bookings per block value.
Minimum block bookable
In this field, you can enter the minimum amount of time in the future for which the appointment can be booked. For example, if you set this to 2 weeks, customers will be able to book appointments with you up to 2 weeks before the day of the appointment.
Maximum block bookable
This option lets you specify the maximum period in the future for which customers will be allowed to make bookings. This is especially useful because you don’t want to let them book a few months or a few years in advance!
All dates are
This option lets you specify all the dates that are available by default. You can choose to set all the dates as not-available by default, as well.
Check rules against
You’ll be able to set the bookings system to check the rules for all the blocks that are booked or only the first block of the range of blocks being booked.
If you choose All the blocks being booked, the rule will be checked against every single block that the customer books. If a customer books 3 blocks simultaneously, all the blocks will be checked for availability individually and booking will be confirmed only if all three are available. However, if you specify the starting block only, the rule will check only for the availability of the first block.
You can use this option to specify the range for availability according to your requirements. Just click Add Range and set custom availability. For instance, if your salon will remain closed over the first week of September, then you can create a range for the unavailability of those days. This is also useful if you want to make weekends un-bookable.
Of course, there are many other settings you can configure with WooCommerce Bookings such as sending custom email notifications or SMS notifications. You can even use the Follow-Ups plugin to send custom emails for each bookable product. This is handy if you want to send directions or 'what to bring' instructions to people before their appointment.
Integrating with WooCommerce Product Table to showcase bookings in a table layout
With the default WooCommerce shop page layout, customers will have to click through to single product pages to be able to book products or appointments. This doesn't make for an intuitive shopping experience.
Instead, you can display all bookable products (along with booking availability, pricing, and other product information) in a table layout. The front-end table will also display a booking calendar against each product in a column. This is possible with the AJAX-based WooCommerce Product Table plugin integration with the WooCommerce booking plugin.
Here's what you need to do to get started:
Step #1: Install and activate WooCommerce Product Table
Get the WooCommerce Product Table plugin. You'll find your license key in the confirmation email.
Next, head over to Plugins → Add New from the WordPress dashboard and upload the plugin’s zipped file to your site. Click the Activate button.
Navigate to WooCommerce → Settings → Products → Product Table. Copy and paste the license key from the confirmation email into the License Key input field.
Step #2: Configure the Product Table settings
Once you've activated the plugin to your WordPress website, head over to its Settings page to configure various options. You can modify the bookings table to make it look the way you want it to appear on your site's front-end. At the bare minimum, you'll want to set Columns. This will let you decide which columns to display in the table layout. For example, you can set this to image,name,description,price,add-to-cart.
Important! Make sure you do not tick the 'lazy load' option on the WooCommerce Product Table settings page. WooCommerce Bookings only works with non-lazy loaded tables.
Step #3: Create your bookings and appointments page
By now, you've installed and activated the WooCommerce Product Table plugin to your WordPress website and configured its settings. Next, we'll create a bookings and appointments page for customers to book products and appointments.
Navigate to Pages → Add New from the WordPress admin panel and create a new page for accepting bookings and appointments. Your customers and clients will be able to use this page to select view bookable products, see pricing, book slots, and add bookable products to the cart.
Once that's done, simply add the shortcode
[product_table] to the text editor. This will create a single bookings table on your site's front-end. If you offer different types of services, you might consider creating a separate table for each type of service. You can do this by using the shortcode
[product_table category="category-slug"]. (This also works for different product types.) This will display all bookable products from the relevant category.
Click the Publish button and preview the page on your site's front-end. It might look something like this:
Bonus tip - Sell extras with your bookable products
WooCommerce Bookings makes it easy to sell appointments or other bookable time slots in WordPress. You can increase your average income per booking by selling extras at the same time.
For example, if you're selling massage appointments then you may want to offer optional extras, such as skincare products or massage oils? You can do this with WooCommerce Product Add-Ons, which integrates seamlessly with both WooCommerce Bookings and WooCommerce Product Table.
For more information, be sure to check out Best WooCommerce Product Add-Ons (And How to Use Them).
Having a robust WooCommerce booking plugin allows you to easily accept, manage, and track customer and client bookings directly through your WordPress website. You can create bookable products the same way as you would in WooCommerce. Once you've created bookable products, you can set costs and availability and start accepting bookings right away!
The WooCommerce Bookings plugin also integrates with the WooCommerce Product Table plugin allowing you to create a searchable, sortable bookings table with filter options. This makes it easy for customers and clients to:
- View all of the services (and corresponding booking period) you offer at a glance.
- View bookable product information (image, description, pricing, and available date in a calendar view) without having to click through to the single product page.
- Book multiple products (or services) and add them to cart in one go.
What are some of the features you look for in a WooCommerce booking plugin? We'd love to hear from you so let us know in the comments section below!