Loading...

Knowledge Base
Switch to Bluehost and get money back
Migrate your WordPress website from your current host and we'll cover the costs.

YITH Booking and Appointment for WooCommerce

Making bookings and appointments would appear to be a bit of a hassle, but with YITH Booking and Appointment for WooCommerce, things have really eased up. Get ready for this incredibly detailed how-to from Bluehost on establishing bookable products and services that go live easily with a super useful plugin. Whether you’re offering rooms, equipment rentals, or professional services, this guide will help you configure your booking system to meet your specific needs, ensuring a smooth and efficient experience for both you and your customers.




Activate the Following Modules

This includes disabling some features by default in order to make the plugin faster. Here you will find and activate the rest of options from: Add-ons > Modules.
yith-1booking

For instance, you can activate the People module to create an unlimited number of “people types” and assign specific rules or pricing for each category, such as Adults, Minors, Children, Students, Seniors, Military Veterans, and Members.

Additionally, you can enable the Resources module to generate unlimited “resources” that can be linked to your bookable products, like equipment, staff, technology, or software. You can also activate the Google Calendar module to sync your bookings with your Google Calendar.

Note: The premium version includes additional modules such as Extra Costs and Discounts, Services, and Google Maps. Visit the Get Premium tab to explore all the features available with the premium upgrade.


Setting Up “People Types” for Your Bookable Products

Once you activate the People module, you’ll see the People subtab (2) within the plugin’s Configuration tab.
yith-2booking

In this section, you can create as many “people types” as you need. For each type, simply enter the name and, if desired, a brief description (3).
yith-3booking

Click the Add new type button to save the “people type” and have it appear in the table.

You can now set up people types for each bookable product. For detailed instructions, refer to the How to Create a Bookable Product section.


Setting up the “Resources” to Assign to Your Bookable products

Once you activate the Resources module, you’ll see the Resources subtab (4) within the plugin’s Configuration tab.
yith-4booking

In this section, click the Add new resource button to create as many resources as you need. For each resource, you can enter a name (5), optionally upload an image (a photo or icon to identify the resource) (6), set the available quantity (7), and define the default availability (8).
yith-5booking

Let’s see some examples:

  1. You rent out meeting rooms and workspaces, but you only have three projectors. Additionally, you want to impose some restrictions on this resource: the projectors will be available only from 8 in the moring to 2 in the afternoon on Saturdays and will not be available at all on Sundays.
    yith-6booking
    • Set the quantity to 3 for the projector resource when you create it.
    • Mark the resource as Bookable for All days and All day.
    • Click on + Add options for specific days.
    • Set Saturdays as Bookable only from 8 AM to 2 PM.
    • Click on + Add options for specific days again.
    • Set Sundays as Not bookable for All day.
  2. You run a hairdressing salon with five hairstylists on staff. You want to allow your customers to select their preferred hairstylist when booking a haircut appointment, and you need to manage the availability of your hairstylists in a detailed manner.
    yith-7booking
    • 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.
    • Adjust Julia’s availability based on her work schedule. For example, you can set her availability to All days from 10 AM to 3 PM. On Sundays and Mondays, when she is not available, mark those days as Not bookable.

Select the Save button to save the resource.

You can now configure resources for each bookable product. For detailed instructions, refer to the How to create a bookable product section.


How to Create a Bookable Product

Every product or service you wish to offer through a booking system is handled in WooCommerce as a “bookable product.” Whether you’re taking reservations for a room, a hotel, guitar lessons, or medical appointments, always create a bookable product as your initial step.

  • Navigate to Products > Add New for you to create a new product.
  • Withinn the Product Data section, select Bookable Product (9) and, if the product is not a physical item that needs to be shipped, check the Virtual option. This will reveal the Booking Options menu (10).
    yith-8booking

Booking Settings

 

In this panel, you can start configuring your bookable product.

  • Set the Booking duration, where you can specify whether customers can book in minutes, hours, days, or months. For example, appointments are typically booked in hours or minutes, while hotel rooms are usually reserved for days.
    yith-9booking
  • Activate the calendar range picker to display the calendar in the booking form on this product’s page.
    yith-10booking
  • Select the default day to display in the booking form. You can leave the field empty, show the current day, the current day plus one, the first available date, or set a custom date.
    yith-11booking
  • 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.
    yith-12booking
  • Indicate the allowed start day (e.g., bookings can only commence on Mondays) or leave it empty if customers are allowed to start their booking on any day of the week.
    yith-13booking
  • Determine the maximum number of bookings allowed per unit. For instance, if you have three rooms available in the same house, set this number to “3.” If you rent out the entire house as a single booking and want to avoid multiple bookings for the same timeframe, set it to “1.”
    yith-14booking
  • Optional: set a minimum/maximum booking duration. For example; you might require customers to book hotel rooms for at least three days. If you don’t need to impose any limits, you can leave these fields blank.
    yith-15booking
  • Optional: set a minimum/maximum advance reservation.
    yith-16booking
  • Set optional check-in and check-out times. This information will be displayed in the booking form.
    yith-17booking
  • Set an optional buffer time between bookings. This can be helpful if you need time for cleaning services to prepare the room or if you simply want a break before the next booking starts.
    yith-18booking
  • Activate the Require confirmation option if you prefer to receive booking requests and manually approve each one.
    yith-19booking
  • Activate the Allow cancellation option if you wish to permit customers to cancel their bookings. If enabled, you can specify a time limit, such as allowing cancellations up to 3 days before the booking start date.
    yith-20booking

People Settings (Available Only if the “People” Module is Enabled)

 

In this section, you can set all the options related to the people types.

  • Activate the feature to allocate individuals to the product.
    yith-21booking
  • Specify the minimum and maximum number of people allowed per booking. For instance, if you rent out an apartment with two rooms, you might specify a minimum of one person and a maximum of eight people.
  • Activate the Count people as separate bookings option if you need to limit the number of people per booking and treat each person as an individual booking. This is particularly useful when you have limited availability for the bookable product; for instance, if you have only 10 bikes and need to adjust the available quantity based on the bookings received.
    yith-22booking
  • 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.
    yith-23booking
  • In the section below, you can enable the people types you want to show for this product. For each type, you can set the minimum and maximum number of people per booking (e.g., allowing up to 2 children per booking). You can set different prices for every person; then it will override the original price of the product. For example, the original price is $100/day per person, but you could give a student rate of $50/day.
    yith-24booking

Costs

 

In this section, you can set all the options related to the bookable product’s costs.

  • Determine the base price (per hour/day/week, depending on the booking duration you previously set) and decide whether to multiply this base price by the number of people. For instance, you can rent out an apartment at a fixed rate of $100/day regardless of the number of guests, or set a rate of $100/day that is multiplied by the number of guests.
    yith-25booking
  • In case the Multiply by the number of people option is not selected, you can set an optional additional price for extra guests. For example, you might set a fixed rate of $100/day for the first two guests and then charge an extra $20/day for each additional guest.
    yith-26booking
  • Establish an optional fee and decide if it should be charged per person or as a flat rate for the whole booking. For instance, you might implement an “individual tax fee” that each guest must pay, or a single fee that covers the entire booking, regardless of the number of guests.
    yith-27booking
  • Establish advanced pricing rules: these rules can automatically adjust prices based on the season, such as increasing rates by 10% during August and September for the high season and lowering them during the low season.You can also charge higher prices on Sundays or holidays or offer discounts on Black Friday.
    yith-28booking

Availability

 

This section allows configuration for all options on the availability of the bookable product.

  • Set default availability: make the product available every day and all day, or specify specific days or hours for its availability.
    yith-29booking
  • For instance, a doctor’s office might not be available for appointments on Saturdays or Sundays. Similarly, if you have an apartment that can be booked daily but you want to use it every Monday, you would set all Mondays as “Not bookable.”
    yith-30booking
  • Establish advanced availability rules: these rules allow you to enable or disable booking availability on specific dates or during certain months. For example, if a doctor’s office is closed for the entire month of August for holidays you can create a rule to mark August as Not bookable.
    yith-31booking

Resources (Accessible Only if the “Resources” Module is Activated)

 

In this section, you can set all the options related to the resources.

  • Activate the option to assign resources to the product.
    yith-32booking
  • Decide how resources will be assigned: customers can select a , multiple resources, single resource, or automatically assign one available resource or all resources.
    yith-33booking
  • Set the label for the resources.
    yith-34booking
  • In the section below, click the Add resource button to select which resources to assign to this product.
    yith-35booking
  • You have the option to set the price and the optional fee for each resource added.
    yith-36booking
    Resources will appear in the booking form as follows:
    yith-37booking

Final Step

 

You can now add the product, give it a short description and an image that would identify the product once published. And that's exactly how you would create a basic product on WooCommerce!

Inserting 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.
yith-38booking

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.
yith-39booking

Inserting the Booking Form of a Specific Bookable Product Into a Custom Page

You can also display the booking form for a specific bookable product on any page of your site. For instance, if you want to create a landing page with the booking form or feature it in the header of your home page, you can use the Booking Form block. Simply insert the block and then, on the right side, link the form to a specific bookable product.
yith-40booking

Add the block and then, on the right side, link the form to a specific bookable product:
yith-41booking

Some customization options for the form on the right side are showing/hiding which elements will appear (product title, rating, meta, etc.), customizing the style (border radius, padding, colors, etc.), and the Book button.
yith-42booking

Here’s an example of a custom page featuring a booking form that lets users schedule a “physiotherapy session” directly without needing to navigate to the bookable product page.
yith-43booking

Plugin options

Dashboard and Calendar

 

  • In the Dashboard tab, you’ll see a table listing all customer bookings. You can filter these bookings by date, use bulk actions to export them to CSV or ICS files, and manually edit bookings if necessary.
    yith-44booking
  • The Calendar subtab provides an alternative view of your bookings. Additionally, you can check the Resources calendar to keep track of their availability.
    yith-45booking

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 the description, after the summary, etc.).
    yith-46booking
  • Choose date range format: you can also make the date picker to be shown as one field or as two fields.
    yith-47booking
    yith-48booking
  • Choose the calendar layout: dropdown layout or embedded one on the page.
    yith-49booking
    yith-50booking
  • Choose how many months to preload in the calendar. The rest of them will load via AJAX. We strongly recommend showing no more than 3 months as a limit for performance when possible.
    yith-51booking
  • 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.
    yith-52booking
    yith-53booking
  • 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).
    yith-54booking
  • Decide whether to disable dates that have no available time slots.
    yith-55booking
  • Determine what to do when there is an error in the booking form. You can deactivate the Book button until such a time as the user has selected the right dates and options or you may leave the button active, and an error message would be displayed if the user chose an unavailable date or option.
    yith-56booking
    yith-57booking

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.).
    yith-58booking
  • If the Google Calendar module is activated, you can input your Client ID and Client Secret to connect and sync your account. Follow the instructions on the page to find this information.
    yith-59booking

Customization Options

 

This chapter contains additional functionality to make the plugin conform to your precise needs and your store's style.

  • The format of the date and time picker must be configured for the booking forms.
    yith-60booking
  • Personalize the colors of frontend elements.
    yith-61booking
  • Set the font size for the fields.
    yith-62booking
  • Modify all the plugin labels (e.g., “Book Now,” “Check-in,” “Check-out,” etc.).
    yith-63booking

Availability Rules

 

  • In the Configuration > Availability Rules section, you can create global rules that apply to all your bookable products. These options are identical to those available for individual products but will be applied universally by default. For instance, you can use global availability rules to mark all products as Non-bookable on specific days (e.g., Sundays), during the Christmas holiday, or throughout the summer.
    yith-64booking

Price Rules

 

  • In the Configuration > Availability Rules area, you can define global rules that apply to all your bookable products. These options are identical to those available for individual products but will be applied in general by default. You can use global availability rules to mark all products as Non-bookable on certain days, for example, Sundays or during the Christmas holiday or throughout the summer.
    yith-65booking

Summary

The YITH Booking and Appointment for WooCommerce is the lifeline of any business dealing with bookings and appointments. This practical guide will allow you to customize your booking system for any type of product and service, making your operations and customers much happier. You will be left to care more about quality services and not bookings.

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.

Did you find this article helpful?

 
* Your feedback is too short

Loading...