YITH Booking and Appointment for WooCommerce
Overview
With YITH Booking and Appointment for WooCommerce, you can manage all kinds of bookable products (rooms, houses, sports equipment, bikes, etc.) and services (yoga lessons, medical appointments, legal or business consulting, etc.).
- Enable the modules you need
- How to set up the “people types” to assign to your bookable products
- How to set up the “resources” to assign to your bookable products
- How to create a bookable product
- How to insert the booking form into the bookable product page
- How to insert the booking form of a specific bookable product into a custom page
- Plugin options
Enable the modules you need
For better plugin performance, some features are disabled by default. In the tab Add-ons > Modules (1) you can find the modules you can enable to get additional options.
You can, for example, enable the People module to create unlimited “people types” and set specific rules or prices for them (e.g., Adults, Under 18, Children, Students, Over 60, Military Veterans, Members, etc.).
You can also enable the Resources module to create unlimited “resources” to associate with your bookable products (e.g., equipment, staff, technology, software, etc.) or enable the Google Calendar module to synchronize your bookings with your Google Calendar.
Note: in the premium version, you will find more modules available, like Extra Costs and Discounts, Services, Google Maps, etc. Check the Get Premium tab to discover all the features you can get by upgrading to the premium version.
How to set up the “people types” to assign to your bookable products
After you enable the People module, you will find the People subtab (2) inside the plugin’s Configuration tab.
In this section, you can create unlimited “people types”: for each type, you only need to enter the name and, optionally, a short description (3).
Click on the Add new type button to save the “people type” and see it in the table.
Now you can configure people for every bookable product. Read the How to create a bookable product section for reference.
How to set up the “resources” to assign to your bookable products
After you enable the Resources module, you will find the Resources subtab (4) inside the plugin’s Configuration tab.
In this section, click on the Add new resource button to create unlimited resources: for each of them, you can enter a name (5), upload an optional image (a photo or an icon to identify the resource) (6), set the available quantity (7), and the default availability (8).
Let’s see some examples:
- You rent out meeting rooms and workspaces, and you only have three projectors available. Also, for some reason, you want to set some limits for this resource: the projector will be available only from 8 AM to 2 PM on Saturdays, and it will not be available on Sundays.
- Create the projector resource, and set the quantity to 3
- Set the resource as Bookable, All days for All day
- Click on + Add options for specific days
- Set Saturdays as Bookable only from 8 AM to 2 PM
- Click again on + Add options for specific days
- Set Sundays as Not bookable for All day
- You have a hairdressing salon with five hairstylists employed. You want to give your customers the option to choose the hairstylist when they book a haircut appointment, and you need to manage the hairstylists’ availability in an advanced way.
- Create a resource for each hairstylist. So, for example, let’s create the resource “Julia”. Add a photo to identify her
- Set 1 as the available quantity
- Set Julia’s availability, according to her work shifts. So, let’s say you set her availability to All days from 10 AM to 3 PM, and then on Sundays and Mondays, she is not available, so you set those days as Not bookable
Click on the Save button to save the resource.
Now you are able to configure resources for every bookable product. Read the How to create a bookable product section for reference.
How to create a bookable product
Each product or service you want to offer to your customers through a booking system is managed on WooCommerce as a “bookable product.” So, no matter if you want to get bookings for a room, a hotel, guitar lessons, or a medical appointment: the first step is always to create a bookable product.
- Create a new product in Products > Add New
- In the Product Data section, select Bookable Product (9) and also check the option Virtual if the product is not a physical product that will be shipped. Then you will be able to see the Booking Options menu (10)
In the Booking Settings panel, you can start configuring your bookable product.
- Set the Booking duration - here, you can set if your customers can book for minutes, hours, days, or months (e.g., for an appointment, users usually book for hours or minutes; for a hotel room, they usually book for days, etc.)
- Enable the calendar range picker - by doing so, the calendar will be shown in the booking form on this product’s page.
- Choose the default day to show in the booking form - you can choose to leave the field empty, show the current day, the current day + 1, the first date available, or set a custom date.
- Enable the Full day booking option - if this option is enabled, for a booking from day 1 to day 2, day 2 will be considered as fully booked, and it will not be available for other customers to choose from.
- Set the allowed start day (e.g., bookings can only start on Mondays) or leave empty if customers can start the booking any day of the week.
- Set the maximum number of bookings allowed per unit (e.g., if you rent out three rooms in the same house, you can set “3”. If you rent out the entire house in a single booking and you need to prevent multiple bookings in the same period, you should set it as “1”)
- Optional: set a minimum/maximum booking duration (e.g., you can decide if customers need to book the hotel rooms for a minimum of three days). Leave these fields empty if you don’t need to set any limits.
- Optional: set a minimum/maximum advance reservation.
- Set optional check-in and check-out times. This info will be shown in the booking form.
- Set an optional buffer time between bookings: this can be useful in case you need time between bookings for the cleaning service to take care of the room or simply a pause before the next booking begins.
- Enable the Require confirmation option if you want to get booking requests and confirm each request manually.
- Enable the Allow cancellation option if you want to allow customers to cancel their bookings. If this option is enabled, you can set a time limit, e.g., the user can cancel a booking up to 3 days before the booking start date.
Step 2 – People settings (available only if the “People” module is enabled)
In the People section, you can set all the options related to the people types.
- Enable the option to assign people to the product.
- Set a minimum and a maximum number of people per booking (e.g., if you rent out an apartment with two rooms, you can set, for example, a minimum of 1 person and a maximum of 8 people).
- Enable the Count people as separated bookings option if you need to have only a fixed number of people per booking and count each person as a separate booking. This option is useful if you have limited availability for the bookable product; for example, you only have 10 bikes, and you need to update the available quantity according to the bookings received.
- Enable the people types option if you want to set the people types created in the plugin configuration panel for this specific product. By enabling this option, you will see a table below with a list of all the people types available.
- In the section below, you can enable the people types you want to show in this product and, for each of them, you can set the min/max number of people per booking (e.g., you only want to allow a maximum of 2 children per booking). You can also set the price for each person, this will override the base price set for the product (e.g., the base price is $100/day per person, but you can override this just for students and give them a special price of $50/day).
In the Costs section, you can set all the options related to the bookable product’s costs.
- Set the base price (per hour/day/week: this depends on the booking duration you set before) and decide if you want to multiply the base price by the number of people or not. For example, you can rent out an apartment with a fixed price of $100/day, no matter how many guests are included in the booking or set a price of $100/day to be multiplied by the number of guests.
- If the option Multiply by the number of people is not checked, you can set an optional extra price for additional people (e.g., you set a fixed price of $100/day for the first two guests and then an extra $20/day for each additional guest.
- Set an optional fee to charge and choose if you want to multiply the fee by the number of people or not (e.g., an “individual tax fee” that all guests must pay or just a single fee to charge for the entire booking, no matter how many guests are included in the booking).
- Create advanced price rules: you can use the rules to automatically increase prices during the high season (e.g., +10% during August and September) and decrease them during the low season. You can also increase the price on Sundays or during holidays, or even set a discount on all bookings during Black Friday.
In the Availability section, you can set all the options related to the bookable product’s availability.
- Set the default availability: you can just leave the product as available all days and for the entire day or set a specific availability for days or hours.
- For example, a doctor’s office will not be available for appointments on Saturdays or Sundays; or you have an apartment that can be booked per day, but you want to use it every Monday, so you need to set all Mondays as “Not bookable.”
- Create advanced availability rules: you can use the rules to enable/disable the booking availability on specific dates or months (e.g., a doctor’s office will be closed for holidays for the whole month of August, so you can create a rule to set August as “Not bookable")
Step 5 – Resources (available only if the “Resources” module is enabled)
In the Resources section, you can set all the options related to the resources.
- Enable the option to assign resources to the product.
- Choose how to assign the resources: you can have customers select only one resource or multiple resources, or you can automatically assign one available resource or all resources
- Set the label for the resources.
- In the section below, you can click on the Add resource button to choose which resources to assign to this product.
- For each resource added, you can set the price and an optional fee.
Resources will be shown in the booking form like this:
Now you can finish setting up the product by adding a short description and an image to identify the product and publish it. This is the same process used to create a simple product on WooCommerce!
How to insert the booking form into the bookable product page
You can insert the booking form into the product page by adding the Bookable product form block to the sidebar of the product page or inside the product page if you are using a block theme.
On the right side, you can also find some options to customize the form: you can choose which elements to show or hide (product title, rating, meta, etc.), customize the style (border radius, padding, colors, etc.), and customize the Book button.
How to insert the booking form of a specific bookable product into a custom page
It’s also possible to show the booking form of a specific bookable product on any page of your site. For example, if you want to create a landing page and add the booking form, or show the booking form in the header of your home page, you can use the Booking Form block:
Insert the block and then, on the right side, associate the form with a specific bookable product:
On the right side, you can also find some options to customize the form: you can choose which elements to show or hide (product title, rating, meta, etc.), customize the style (border radius, padding, colors, etc.), and customize the Book button.
This is an example of a custom page with a booking form that allows users to book a “physiotherapy session” without redirecting them to the bookable product page.
Plugin options
- In the Dashboard tab, you can find a table with all the bookings made by your customers. You can filter bookings by dates, use the bulk action to export bookings to CSV or ICS files, and manually edit bookings if needed.
- The Calendar subtab gives you a different view of the bookings. You can also check the Resources calendar to monitor their availability.
- Choose the booking form position: you can use the block as explained above or choose a fixed position on the product page (before or after description, after summary, etc.).
- Choose the date range layout: you can choose to show the date pickers as a unique field or as two different fields.
- Choose the calendar layout: you can choose to show the calendar in a dropdown or embed it directly into the page.
- Choose how many months to load in the calendar. The other months will be loaded via AJAX. We suggest showing a maximum of 3 months to improve performance, if possible.
- Choose how to show the people selector: you can choose to show the people in a dropdown or to list all of them directly on the page.
- Enable the min/max duration control in the calendar: if you have a min/max duration set in the bookable product, the calendar will disable dates according to this option (e.g., if the minimum duration is 7 days, users can only select dates according to this limit, the other dates will be disabled).
- Choose if you want to disable dates when no time slots are available for these dates.
- Choose how to prevent errors in the booking form. You can choose to disable the Book button until the user selects the correct dates and options, or leave the button visible and show an error message if the user chooses a date or an option that is not available.
- Customize the view of the calendar available in Dashboard > Calendar: you can choose the default start time and time step, and which details to show to identify the bookings in the calendar (Booking ID, customer name, bookable product name, etc.).
- If the Google Calendar module is enabled, you can enter your Client ID and Client Secret to connect and synchronize your account. Follow the instructions available on the page to learn how to find this info.
In this section, you can find additional options to customize the plugin according to your needs and the style of your shop.
- Customize the date and time picker format of the booking forms
- Customize the colors of frontend elements
- Set the fields’ font size
- Customize all the labels of the plugin (e.g., “Book Now,” “Check-in,” Check-out," etc.)
- In the Configuration > Availability rules section, you can create global rules to apply to all your bookable products. These options are the same as you can find in each product, but they will be applied by default to all products. For example, you can use the global availability rules to set all products as Non bookable on specific days (e.g., Sundays), during the Christmas holiday, or during the summer.
- In the Configuration > Price rules section, you can create global rules to apply to all your bookable products. These options are the same ones you can find in each specific product, but they will be applied to all products by default. For example, you can use the global price rules to increase or decrease the prices of all products for specific conditions (dates, months, booking duration, number of people, etc.).
If you need further assistance, feel free to contact us via Chat or Phone:
- Chat Support - While on our website, you should see a CHAT bubble in the bottom right-hand corner of the page. Click anywhere on the bubble to begin a chat session.
- Phone Support -
- US: 888-401-4678
- International: +1 801-765-9400
You may also refer to our Knowledge Base articles to help answer common questions and guide you through various setup, configuration, and troubleshooting steps.