Scenario
You own a fitness center that offers personal training sessions with a trainer. You also have two locations, one Downtown and one Uptown. You also have several trainers that can train at either of these locations. You would like for your customers to be able to schedule the trainer they prefer at the location they prefer. The two locations are about 30 minutes apart, so if a trainer was to be scheduled at the Downtown center at 5:00AM and then at the Uptown center at 6:00AM, that would not work. So you also need a way to allow your trainers time to clean up, travel, and then setup.
Products Used
- WooCommerce
- WooCommerce Bookings
Setup and Configuration
Create Product
We’ll need to first create two Bookable Products, one for each location. We will call ours Uptown and Downtown.
- In the sidebar of your WordPress Admin, click on Products.
- Click on the Add New button on the top.
- Under Product data select
Bookable product
. - To the side of the Product data box you will then tick the checkboxes for Virtual and Has Resources.
You’ve created a basic Bookable Product that we can use for our two locations. Now it’s time to configure the product. There are primarily three tabs that we are concerned with.
General Tab
- Product is
Virtual
(no need to ship anything). - Product Has Resources.
- product has Fixed blocks of
1
hour.
Resources Tab
This is where you configure how your resources will be used. We talk about how to create a resource further down. We want our resources to be selectable by our customers, instead of being automatically assigned.
- Product has Resources are
Customer selected
. - You can add resources by clicking on the Add/link Resource button.
- Set the price for the resource as desired.
Availability Tab
Setting the All dates are… to not-available by default
is often the best approach when creating complex availability rules. It’s easier to add what is available, then to add what is and what is not. The buffer period we set here allows our trainers time to travel between locations.
- Product has Max bookings per block set to
1
. - Product has Require a buffer period of
1
hours between bookings. - Product has All dates are…
not-available by default
.
Create Resources
For our example, we are giving each trainer a name as well as setting the quantity of this resource to just 1. That means that this resources can only be used for one bookable slot.
- Product has Title set
- Product has Available Quantity
1
. - Product has availability configured for this particular trainer, which will be reflected on the calendar when this trainer is selected.
Publish the booking, then create the second location remembering to attach the resources there as well, and you’re set!