Bookings Use Case: Hair Salon (Using Resources and Availability)

This scenario will walk you through how to use WooCommerce and WooCommerce Bookings to book appointments with a specific person and set their specific availability during the week. The business hours are also different on weekends from the weekdays. We’ll utilize the Bookable Product Template, Hair Salon to make this process easier.

Scenario

↑ Back to top

A hair salon has four hairdressers, and each appointment lasts one hour. While the salon is open from 9:00 am – 8:00 pm on weekdays (Monday-Friday) and 8:00 am – 4:00 pm on weekends, each hairdresser has different times and days they are available for an appointment. Having a general understanding of Resources in Bookings, Availability rules , and how to set priority for those rules is helpful when setting up this use case, but since we’re using a template it’s not required.

The Hair Salon template does the work of setting up availability (product and store) as well as adding resources (hairstylists) for us. For this scenario, we need to update the resource (hair stylist) availability to the following:

  • Joel has no availability Saturday to Monday
  • Laurena only works between 9:00am and 12:00pm on Monday.

Setup and Configuration

↑ Back to top

In this example, we’ll be utilizing the Hair Salon bookable product template to help us configure it quickly. While we are focusing on the Hair Salon use case and doing a direct modification of that template to suit a hair salon business, you can always use the templates for different business types by modifying the default options to save you some clicks. Learn more about using templates by reading: Using Bookable Product Templates.

Let’s get started by selecting the correct template:

  1. First, create a new product under Products > Add New.
  2. Select the “Hair Salon” template that appears in the product data area(when Bookings is installed):
  1. Click the Use Template button when the template overview screen appears.
  2. Once on the bookable product’s edit page, click on the Resources tab in the product data area.
  3. (Optional) – Enter a label (name) for the resources at the top of the general resources details. For this use case, we’ll use “Stylists”.
  4. Click “Update” in the top right.

Configuring Joel’s Availability:

Stay on the Resources tab and and follow these steps to set up Joel’s availability:

  1. Find Joel’s name in the resource list and clickEdit Resource ->
  2. On Joel’s configuration page, click the Add Range button at the bottom of the screen.
  3. Select “Range of days” from the Range type dropdown menu.
  4. Under the Range column, select Saturday in the first box, and Monday in the second box
  5. Select “No” under Bookable.
  6. Set the Priority to 9 (as we want this to override the store’s availability).

Here’s how Joel’s availability settings should look:

The image illustrates the settings for a Resource that is unavailable from Saturday through Monday.
  1. Click “Update” in the top right.

Configuring Laurena’s Availability:

Now that Joel’s availability is updated, we’ll update Laurena’s availability so she’s only available between 9:00am and 12:00pm on Mondays by following similar steps:

  1. Find Laurena’s name on the resource list and clickEdit Resource ->
  2. Click the Add Range button at the bottom of the screen.
  3. Select “Monday” in the Range type dropdown menu.
  4. Under the Range column, enter 12:00pm in the first box and 8:00pm in the second box (the salon’s additional operating hours when she’s not available).
  5. Select “No” under Bookable.
  6. Set the Priority to 9 (as we want this to override the store’s availability).

This is how Laurena’s availability settings should look:

The image illustrates the settings for a Resource that is unavailable on Mondays between 12:00pm and 8:00pm.
  1. Click “Update” in the top right.

Customer View

↑ Back to top

Now that we’ve configure Joel and Lauren’s schedules, let’s take a look at how customers will see their availability on the front-end of your store.

If a customer selects Joel as a stylist, you can see in this image that Joel only has availability between Tuesday-Friday. Saturday, Sunday, and Monday are unavailable for bookings just as we configured it earlier:

If a customer selects Laurena as a stylist and then selects a date on a Monday, they will only see appoints for 9:00am, 10:00am, and 11:00am since Laurena is only available between 9:00am and 12:00pm on Mondays:

Questions and Support

↑ Back to top

Something missing from this documentation? Do you still have questions and need assistance?

  • Have a question about a specific extension or theme you’d like to purchase? Click here.
  • Already purchased and need some assistance? Get in touch with a Happiness Engineer via the WooCommerce.com Support page and choose this extension name from the “I need help with” dropdown.
Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.