Best practices for WooCommerce bookable products

Best practices for WooCommerce bookable products

In this tutorial, I'll guide you through the steps to configure and sell WooCommerce bookable products. I'll also discuss best practices to improve customer satisfaction, user experience, and revenue for bookable products.

Searching for a way to sell bookable products using WooCommerce? Bookable products are a unique product type. They are different from standard physical items that need to be shipped, and at the same time, they’re not simple digital downloads either.

In this post, I'll walk you through in-depth step-by-step instructions to offer WooCommerce bookable products, along with top tips to make the most of your efforts.

WooCommerce bookable products - WooCommerce Product Options

But first, let's kick off with a brief overview of what bookable products in WooCommerce are.

Plugin used in this guide

  • WooCommerce Product Options: A modern bookable products plugin that works with any product type, lets you add fully customizable booking fields, and doesn't lock you into a rigid calendar format. Plus, you can offer extra options and cross-sell relevant products.

A rundown of WooCommerce bookable products

In WooCommerce, bookable products are time-based reservations, services, appointments, and events for which customers select a time slot, date range, or specific period for the item before adding it to their shopping carts.

Bookable products can be services (think: cleaning services, consultations, haircuts, etc.) or rentals for physical items (think: cars, photography gear, homes, bikes, etc.).

To offer a bookable product, you need to define:

  • Availability rules (specific days, time slots, or ranges).
  • Minimum and maximum durations.
  • Buffer times between bookings.
  • Costs per time slot or duration.
  • Person types, so pricing can change based on group size.
  • Resources, like assigning staff or rooms dynamically.

💡Additional resources: This guide focuses on adding features that enable customers to book pre-scheduled equipment rentals, tours, and table reservations. For more, check out this in-depth comparison of different booking plugins and step-by-step instructions on how to set up event bookings using the powerful Events Calendar plugin.

The best Woocommerce bookable products plugin

WooCommerce product date picker field

WooCommerce Product Options is a lightweight plugin that lets you add highly customizable options to any product — think: date pickers, time slots, checkboxes, dropdowns, and even conditional logic — and sell bookable products with ease.

Unlike the traditional calendar-based booking system plugins, WooCommerce Product Options is more efficient and flexible, and gives you total freedom over how you choose to collect booking details.

It is optimized for speed and usability; the booking forms are super responsive and work smoothly on all screen sizes. It loads fast, plays nicely with your existing product layouts, and integrates well with most WooCommerce themes' styles and layouts.

And as a bonus, this bookable products plugin enables you to provide extra options to improve customers' experience and offer relevant add-ons to boost average order value (AOV).

Here are the top features that make it the ideal choice for most stores.

An intuitive date and time slot picker

Its time and date picker fields are simple to use for customers to select their preferred slots directly from product pages. Plus, you can configure it to define valid booking days and prevent last-minute bookings.

14+ additional field types

Beyond enabling customers to select their preferred dates and times, there are 14+ extra fields that you can customize the booking form fields with to offer free and paid add-on services and capture important details. Here are some of the field types:

  • Dropdowns and radio buttons to select session types, staff, locations, extra services, etc.
  • Checkboxes to offer optional add-ons like catering, gear, or priority service.
  • Text fields to collect participant names, special requests, delivery details, etc.

Smart conditional logic for a conversion-focused booking flow

Instead of showing every available option and add-on upfront, you can apply conditional logic to display relevant fields based on what each customer selects. This keeps the product page clutter-free and hyper-focused on conversions.

Dynamic pricing rules

There are various ways to price your bookable products: flat rates, percentage-based, mathematical formulas that automatically update prices based on what each customer selects, and more. This empowers you to manage seasonal demand, offer discounts, and implement a tiered pricing strategy with ease. You can, for instance:

  • Price weekend bookings at a premium.
  • Increase the price for lengthy booking durations (e.g., hourly vs. full-day rates).
  • Add a seasonal surcharge for bookings during peak season or holidays due to higher-than-normal demand.

How to set up Woocommerce bookable products

In this section, I'll guide you through the setups to configure bookable products in Woocommerce. The entire process is pretty straightforward and takes less than ten minutes to set up. For this tutorial, I'll set up bookings for a bike rental company. However, the same steps apply whether you're offering any other kind of time-based service that requires scheduling.

WooCommerce bookable products

Step 1: Create a bookable WooCommerce product

  1. Get WooCommerce Product Options and add it to your site.
  2. In your site's admin sidebar, go to Products Add New Product.
  3. Give this bookable product a name, such as "Bike rental".
    WooCommerce bookable products - edit product page
  4. Add a detailed description, set a featured image, and define the base price, if applicable. Here, I've set the base product price at $25.
  5. Save the draft product.

Step 2: Add booking date and time fields

Add a calendar

  1. In your site's admin sidebar, go to Products Product Options Add Group.
  2. Name the group, such as "Daily Bike Rental”.
  3. Specify whether to present this group of options on all products or on specific ones, as well as products to be excluded, if applicable.
  4. Press "Add option" to start adding booking-related fields.
  5. To add a date picker, select the below configurations.
  6. Option Name: Type in "Collection date”.
  7. Type: Date.
    WooCommerce bookable products - date picker 1
  8. Configure the "Selection options" and "Disable days" options.
    WooCommerce bookable product with date
  9. Enable or disable the past, future, or same-day bookings, as applicable.
  10. Disable specific days (e.g., weekends or holidays), as applicable.
  11. Add a brief description of this field, if applicable.
  12. Make this field required to mandate customers to choose a date.
  13. Expand the "Advanced settings" collapsible tray and configure availability rules using the date limits, disable dates, time limits, and time increment fields. 

Add a pre-set time slots

  1. Press "Add option" to add a range of preset time slots using the below configurations.
  2. Option Name: Type in "Rental Period”.
    WooCommerce bookable products - time picker 1
  3. Type: Text labels.
  4. Set the "Choice type" to "Create custom choices".
  5. Under the "Choices" section, update the "Label", "Price type", and "Pricing" fields to add time slots. For this example, I've set the values for each timeslot option as follows:
    • 1 hour → Value: 0 (because the base product price on the Edit Product page is set to $25.
      WooCommerce bookable products - time picker 2
    • 2 hours → Value: 40
    • 4 hours → Value: 60
    • All day → Value: 75
    • Weekly → Value: 250
  6. Press "Save changes".

Set up conditional logic

Expand the "Advanced settings" collapsible tray and configure settings to apply conditional logic to present time slots only after customers select specific dates. For this example, I want to show time slots after customers select their desired dates.

WooCommerce bookable products - conditional logic backend

Here's the bike rental product page - before customers select the pickup date.

WooCommerce bookable products - conditional logic 1

And here's after they select the bike pickup date.

WooCommerce bookable products - conditional logic 2

Step 3: Add a price formula

WooCommerce bookable products - price formula 1

For this tutorial, we'll use our price formula AI bot to create custom variables and a main price formula that calculates the costs based on selected timeslots and applies a 10% discount for rental periods that exceed 3 days. Note that you can also create price formulas manually; here's an example to walk you through the process.

WooCommerce bookable products - price formula 2

Step 4: Offer optional add-ons

You can add as many additional options as needed to offer add-ons and choices that improve customers' experience and your store's average cart size.

WooCommerce bookable products - additional options

Simply press "Add option", then configure extra options as needed. Continuing with our example of a bike rental company, here are some ideas of add-ons that you can offer:

  • Bike size: Use a checkbox field at no extra cost.
  • Helmet rental: Use a checkbox field and charge a flat rate extra fee.
  • Insurance coverage: Use a checkbox field and charge a flat rate extra fee, or adjust the custom price formula to charge a percentage of the total.
  • Special requests: Use the text field to let users input custom messages.

Best practices for offering bookable products using WooCommerce

The exact configuration for bookable products depends on the specific item. For instance, a consultant would set up their bookable product differently from nail salon appointments. However, regardless of the type of bookable product you sell, these tips will help you make the most of them.

  • Make use of custom price formulas to implement dynamic pricing that charges differently for weekends, holidays, or peak seasons. This fills low-traffic slots and increases profitability during high-demand periods.
  • Block out unavailable dates (e.g., during maintenance, holidays, or team training) and factor in buffer times (i.e., the time between bookings for cleaning, setup, or transition) to prevent bookings that you can't fulfill.
  • Offer relevant add-ons that empower customers to personalize their experience and increase your revenue per booking.
  • Use email marketing tools like Klaviyo or Mailchimp to set up personalized, automated email reminders that prompt customers about their booking. This reduces no-shows and boosts customer engagement.
  • Create a dedicated "Policies" page that details cancellation cut-off times, refund eligibility, rescheduling procedures, and other important booking details. Also, mention key terms in the product description along with a link to the "Policies" page.
  • Booking products already require more input than simple physical and digital products. Minimize required fields to simplify the shopping flow and increase conversions.

Ready to set up WooCommerce bookable products?

In this post, I've shown you how to offer pre-scheduled time-based reservations, services, and events with WooCommerce. If you've followed the instructions in this guide, customers will be able to pick their desired time slot, date range, or specific period for their items before adding them to their shopping carts.

Since WooCommerce doesn't provide all the features to offer bookable products, you'll need to set it up with the help of a plugin.

WooCommerce Product Options is a simple-to-use bookable products plugin that enables you to add fully customizable booking fields, define availability rules, minimum and maximum durations, fixed and flexible costs per time slot or duration, and more.

Unlike conventional booking plugins, it doesn't lock you into a rigid calendar format. And it lets you offer additional options and add-ons that increase the amount customers spend per transaction. Best of all, it is super easy to set up and use.

Get WooCommerce Product Options and start selling bookable products in ten minutes or less!

Please share your thoughts...

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