How to accept bookings for yoga or pilates classes with WooCommerce

WooCommerce yoga and pilates classes featured image

In this article, we’ll look at a couple of different methods for accepting bookings for yoga or pilates classes through WooCommerce.

WooCommerce yoga classes product

Because WooCommerce isn’t designed for bookable products by default, you’ll need an extra plugin. The Pro version of our Bookings and Product Add-Ons Bundle contains everything you need to start taking bookings for your yoga classes.

Bookings and Product Add-Ons Ultimate Bundle featured image

WooCommerce Bookings and Product Add-Ons Bundle

Create the ultimate bookings site in WooCommerce

Find Out More

You’ll be able to:

  • Display a calendar for the user to select the date of their class
  • Allow them to specify how many places they want to book
  • Let them choose the time of their session
  • Add extra options like mat hire

Further, you’ll be able to:

  • Accept bookings for multiple sessions each day – e.g. 9am, 10am, etc
  • Set the maximum capacity for each class
  • Disable certain days of the week
  • Set different prices for different session times if required

There’s a demo product here. You can test it out by selecting a date, choosing the number of places you want to book, picking a time and optionally choosing to hire a mat.

Accept yoga class bookings in WooCommerce – tutorial

To create products in WooCommerce where users can book yoga or pilates sessions, you’ll need the Pro version of the Bookings and Product Add-Ons Bundle. This includes two separate plugins:

When you buy the Bookings and Product Add-Ons Bundle, you receive both these plugins at over 25% discount.

Let’s look at how we use these plugins to accept bookings for yoga classes.

Step #1: Install and activate both plugins

When you purchase the Pro version of Bookings and Product Add-Ons Bundle you’ll get an email with links to two zip files – one for each of the plugins above.

Install Bookings for WooCommerce by following these steps:

  • Download the plugin’s zip file by clicking on the link on your order confirmation screen or in your welcome email. You receive the email automatically a few seconds after you’ve completed the purchase
  • Go to Plugins > Add New in your WordPress dashboard
  • Click on the ‘Upload Plugin’ button
  • Drag and drop the plugin’s downloaded zip file into the ‘Choose File’ area and click ‘Install Now’
  • When the plugin has uploaded, click the ‘Activate Now’ button

Repeat the process for Product Add-Ons Ultimate.

Remember: you need the Pro version of the bundle because it contains extra features, specifically the ability to use products as options for other products. This will allow you to create different bookable time slots for your yoga session.

Step #2: Create products for time slots

Once you’ve got the plugins installed and activated, you can start creating time slots for each yoga session you run in a day. Each time slot will be a ‘child product’ for our main Yoga Classes product (see Step 3 below) so there’s not much information we need to enter here.

  • Go to Products > Add New
  • Add a title to reflect the time of the class, e.g. ‘8am session’.
  • Change the ‘Product type’ to ‘Booking’
  • Set the number of places available for this session in the ‘Max bookings per unit’ field – so if only 10 places are available for this class, enter 10 in this field
  • Finally, enter a price. The standard price per session will be set by the main Yoga Classes product – so you can just enter 0 here if this session does not have an additional charge
  • Because this product is just a child product of your main Yoga Classes product, you can hide it by following the steps here
  • Repeat for each time-slot you’re running during the day
WooCommerce product settings for bookable time slot

Step #3: Create your main product

With each time slot created, we can now create our main product for booking yoga classes.

  • Go to Products > Add New
  • Give your product a name, e.g. ‘Yoga Classes’, add a description and featured image – plus any other details you like
  • Change the ‘Product type’ to ‘Booking’

Once you’ve changed the product type to ‘Booking’ you can enter details on the ‘Booking Settings’ tab. This will allow the user to select the date of their session and ensure you don’t overbook.

Choose the date of your yoga class
  • Enter the maximum number of places across all sessions in the ‘Max bookings per unit’ field. So if you have 5 sessions per day with 10 places per session, enter 50 in this field
  • Set the ‘Max booking length’ to 1
  • Enable the ‘Hide duration field’ setting
  • Enter the price per session in the ‘Standard price’ field
  • Enable the ‘Hide cost field’ setting
Settings for WooCommerce yoga classes product

Now, you just need to add the sessions that you’ve created in Step 2. This will create a dropdown field for users to select the time of their session and showing how many places remain for that slot. (Note that this field doesn’t appear until the user has selected a date).

Choose your class time and availability

To create a dropdown list for class times:

  • Click the ‘Product Add-Ons’ tab in the ‘Product data’ section
  • Click ‘Add Group’ then ‘Add Field’
  • Enter a label for your field, e.g. ‘Session time’
  • Select ‘Products’ as the ‘Field Type’
  • In the ‘Child Products’ field, enter each of the session times that you created in Step 2
  • Choose ‘Select’ as the ‘Products Layout’
  • Choose ‘Linked’ as the ‘Products Quantities’
  • Enable the ‘Required Field’ setting
WooCommerce slot times settings

You can save or publish your product at this point. Now, users will be able to pick a date for their yoga class, decide how many people they are booking for, and choose a time. When they make the booking, the availability for their selected time slot will be updated so that other users won’t be able to overbook your sessions.

Step #4 (optional): Offer extra options

You might like to upsell some options to your clients. In this example, we’ll give them the option to hire a yoga mat from you for their class. To add this feature:

  • In the ‘Product Add-Ons’ tab, click ‘Add Field’
  • Enter a label, e.g. ‘Hire a mat’
  • Choose ‘Checkbox’ as the ‘Field Type’
  • Enter the price in the ‘Field Price’ setting
Hire yoga mat product options

Now, users will be able to select this as an extra option.

Hire a yoga mat

So that’s how to create a product to accept date and time-based bookings for your yoga classes in WooCommerce.

WooCommerce yoga classes – additional options

Now let’s look at some additional options you can use.

Set different prices for different session times

If you’d like to charge extra for certain sessions, you just enter the extra cost in the ‘Standard price’ field for the specific session (see Step 2 above). The extra cost will be displayed in the dropdown field against the session time. When the user selects that session, the extra cost will be added to the overall price.

Extra charge for certain sessions

Set the price label

By default, the price label will use the main product price. If you want to add some dynamic text for the price label:

  • Edit the main product, e.g. Yoga Classes
  • In the ‘Price format’ field enter some free text. Use the {price} tag to display the product price dynamically as part of your text – for example, enter ‘From {price} per hour’
Bookings for WooCommerce price format setting

What happens if a session is booked out?

If one or more sessions has been fully booked for the day the user has selected, they’ll be disabled in the dropdown field.

Session fully booked

Disable certain days of week

If your yoga studio is closed on certain days of the week, you can easily prevent users from booking classes on those days.

  • In the ‘Product data’ section of your main product, Yoga Classes, click the ‘Availability’ tab
  • Select which days of the week to disable
Disable certain days of the week

Now users won’t be able to make any bookings on those days.

Check availability

Still on the Availability tab, you can view availability and bookings for your yoga classes per day through a calendar.

Availability and bookings for yoga classes in WooCommerce

How to manage your bookings

Once you’ve got your product online and users are booking classes, you will need to manage bookings.

View bookings as orders

When a user chooses the date and time of their class, they go through to the checkout page just the same as any other WooCommerce product. When they complete the purchase, you’ll receive an email and an order will be created in exactly the same way as for any other product.

WooCommerce yoga class booking order x.jpg

The date and time will be listed as separate line items.

Edit bookings

If you need to change the details of any bookings, you can go to the ‘Bookings’ menu item in the WordPress dashboard. Find the booking that you want to edit and update details as you wish.

Book yoga classes through WooCommerce – recap

In this article, we looked at how to use the Bookings and Product Add-Ons Bundle to accept bookings for yoga or pilates classes through WooCommerce. This bundle contains two plugins – Bookings for WooCommerce and WooCommerce Product Add-Ons Ultimate.

With Bookings for WooCommerce, you can create date-based bookable products allowing your users to select the date of their class.

With Product Add-Ons Ultimate, you can create time-based bookable sessions, allowing you to offer different timed classes.

The plugins are available separately or together at a discount:

Bookings and Product Add-Ons Ultimate Bundle featured image

WooCommerce Bookings and Product Add-Ons Bundle

Create the ultimate bookings site in WooCommerce

Find Out More

Leave a Reply

Your email address will not be published. All fields are required.