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.).
Overview
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 a.m. to 2 p.m. 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 a.m. to 2 p.m.
- 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 “Dory”. Add a photo to identify her
- Set 1 as available quantity
- Set Dory’s availability, according to her work shifts. So, let’s say you set her availability to “All days” from 10 a.m. to 3 p.m., 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 check also 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)
Step 1 – Booking settings
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.
- 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 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).
Step 3 – Costs
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 July and August) 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.
Step 4 – Availability
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 be not 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.
- Choose the resources layout: you can choose to show the resources either in a dropdown menu or as a list in the booking form. The “default” the resource layout will be the layout set in the plugin settings.
- Set the label for the resources.
- Choose the field placeholder for the resources (if you select a dropdown menu layout)
- 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:
Final step
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 meeting room without redirecting them to the bookable product page.
Plugin options
Dashboard and Calendar
- 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.
Booking form options
- 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.
- If you select the people types layout as fields, you can choose the number of columns to show in the Booking form.
- Choose the resources default layout. You can override this option in the bookable product edit page.
- Choose the time selector layout in the Booking form
- 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).
- Enable this option to update non-available dates in the calendar on page loading. Activate it only if you use a plugin to cache product pages.
- 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.
Calendar options
- 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.
Customization options
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.)
Availability rules
- In the Configuration > Availability rules section you can create global rules to apply to all your bookable products. These options are the same 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 Christmas holiday, or during the summer.
Price rules
- 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.).
Need support?
No problem, we’re here to help. Based on your hosting company, you can get support through the following channels.
Feel free to contact Bluehost Chat Support or Phone Support via 888-401-4678.
For Bluehost India: phone support via 1800-419-4426 - chat support via https://helpchat.bluehost.in
Feel free to contact our Crazy Domains team through the online support page: https://www.crazydomains.com/help/