View Product Page

General settings

From YITH > Settings > “General settings” you can decide which theme you want to use in combination with the booking plugin. We suggest using our YITH Proteo theme, but you are free to use your own theme.

You only have to activate it by clicking on the link ‘activate’, and you are ready to go. The plugin will show a ‘check mark’ once the theme has been activated.

booking proteo integration

From Appearance > “Proteo Theme” you can find the 3 ‘Booking’ skins you can activate and use. These skins are ONLY available if you’ve purchased and activated the YITH WooCommerce Booking and Appointments plugin.

For more information on how to set up your Proteo theme, check out the documentation here.

Now we go back to the ‘General settings’ page, as from here you can also set some other general settings:

General settings booking
  • Set which categories to show in search forms:
    • All product categories: Useful if you do not sell non-booking products.
    • Choose specific product categories: Useful if you also sell non-booking products. Eg. you do not want to show the clothing category in the booking search form.
      If this option is not available in your installation, make sure you have enabled the related module from YITH > Add-ons > Modules.
  • Reject a “Pending confirmation” booking after a specific time: Decide if you want to reject a booking automatically and set the number of days.
    • The booking with pending confirmation will be rejected automatically when reaching the number of days you have previously configured.
  • Set paid booking to “Completed”: Decide if you want to set a booking to ‘completed’ automatically and set the number of days.
    • The paid booking will be set to completed automatically, as soon as the End Date has been exceeded by the specified number of days.

Please note: it doesn’t take into account hours/minutes since the check is executed daily.

Google Map API KEYS

To set the location for your products, the plugin uses Google Maps services.

First of all, you have to generate and copy your “Google Maps API Key”.
To access Google, go to, and click on “Get a key”.

Google Maps API KEy authentication

After selecting the project, in the next step, you will obtain the key required by the plugin.

Google Map API KEY

Now, make sure you have enabled the Google Maps module from YITH > Add-ons > Modules.

Now, you will be able to see the Google Maps API Key fields in YITH > Booking > Settings > General settings > “Google Maps API Key”: copy and paste the key there.

Google api and geocode fields

Now open your product settings (Booking Options > Settings > Google Maps), type in the name of the location you wish to select and you are done.

You can set 2 different API Keys for:

  1. Google Maps API Key
  2. Google Maps Geocode API Key
Google api and geocode fields

To set them correctly, you should create 2 different API Keys in Google Console:

1. The Google Maps API Key can be restricted through HTTP referrers.

api key settings google

2. The Google Maps Geocode API Key can be restricted through IP addresses.

api key settings google

How to enable Geocode and Places libraries in your Project

To have everything work correctly, you need to enable Geocode and Places libraries in your Google project.

Geocode library

To enable the Geocode API library, please follow this procedure:

  • Now search for Geocode API and enable it.

Places library

To enable the Places API library, just follow the same procedure described above.

How to display the map

By entering the shortcode [booking_map] within the Booking product page, the Google map linked to the product location will be automatically displayed.


The shortcode attributes are:

  • width: map width
  • height: map height
  • zoom: map zoom level
  • type: map type, choosing from:
    • roadmap: displays the default road map view. This is the default map type.
    • satellite: displays Google Earth satellite images
    • hybrid: displays a mixture of normal and satellite views
    • terrain: displays a physical map based on terrain information.

Usage example:

 [booking_map width='300px' height='300px' zoom='100' type='satellite']

Booking form position

From YITH > Booking > Settings > “Booking forms” you can manage the booking form position on the single product page.

showing the booking form
  • Show booking form in booking product page to: Decide to show the form to all users or only to logged users. If you decide to show it only to logged users, guest users will not be able to place a booking.
  • Booking form position:
    • Default
    • Before summary
    • After title
    • Before description
    • After description
    • After summary
    • Use widget
    • None (use shortcode)

We especially want to highlight the “use widget” and the “none” options.

None – use shortcode

Selecting the None” option, allows you to use the “[booking_form]” shortcode to place the booking form anywhere you want. You can use it without any parameter on the product page.

If you want to use it on other pages, you’ll need to use a parameter (product ID), eg: “[booking_form id=123]”.

example shortcode

Use widget

Selecting the use widget” option, the special “Booking product form” widget becomes available. You can find this widget in Appearance > Widgets.

Add booking form widget

This widget needs to be added to the product page sidebar. If you are using the YITH Proteo Theme, you can use any Proteo additional sidebar (sidebar 2, sidebar 3, …), you should set the sidebar to be shown in the product pages.

Note: the widget is only shown on the product page. If your theme does not include a product page sidebar, you are not able to use this widget.

example widget

People in booking form

If you want to show the types in a unique field in the booking form, you can enable the option “People types layout” in the YITH > Booking > Settings > “Booking form” section.

booking form people settings

  • Show as dropdown: Click on the “people” field in order to see the people types.
  • Show people type fields: People types are shown in the booking form.
    • Columns for people fields: Decide how many columns to show.

show people

How to enable people management for your bookable products? Take a look at this page here.

Services options

From YITH > Booking > Settings > “Booking forms”  you can manage the visibility of the services and their details.

Please, note that these options are only visible if you have enabled the Services module from YITH > Booking > Add-ons > Modules.

booking form calendar options 2
  • Info to show before “Book” button: (Example)
    • Prices for services
    • Descriptions for services
    • Included services
    • Totals
  • Service info layout: (Example)
    • Show in tooltip
    • Show inline
  • In case of errors in the booking form: (Example)
    • Disable the “book” button and show messages when updating the form
    • Show error messages after clicking on the “book” button
Example with all services selected
frontend booking form example


Example of services layout inline and tooltip
show services info inline or tooltip


Example In case of errors in the booking form
error in booking form

Plugin calendar settings

From YITH > Booking > Settings > “Calendars” you are able to manage the settings for the calendars that are visible to you (admin) in the backend in Dashboard > Calendar.

Calendar settings
  • Default time step in daily calendar: Decide to show the daily calendar in blocks of 1 hour, 30 minutes or 15 minutes.
  • Default start time in daily calendar: Decide the default start time of your calendar view.
  • Booking name in calendar will include: Decide which information is shown in the name of the booking in the calendar.
Booking ID and user name
Booking ID & product name
Booking ID, product name & user name
Booking ID, user name and product name

External calendars

In YITH > Booking > Settings > “Calendars”, you can find these two options:

External calendar settings

  • Calendar synchronization expires after: The minimum time for which the external sync is considered expired.
  • Show bookings of external calendars in plugin calendar: Enable to show external bookings in Dashboard > Calendar.


If you set the first option to 30 minutes and synchronize a Booking product now (by contacting external services such as Airbnb or, the loaded data will expire in 30 minutes.

So, if a customer checks the availability now, the plugin uses the loaded data as it is -still not expired-. After 30 minutes, the data will no longer be updated automatically, since it requires to be synchronized again.

If a customer checks the availability after 1 hour, the plugin will consider the data as expired and will update the external data to check the correct availability.

We recommend setting this option to a reasonable value to improve performance. Therefore, if you usually get a booking every 6 hours, you can set the “Calendar synchronization expires after” option, to 2 hours.
As a general rule, 30 minutes is a good sync expiration time for every Booking system.

Please note: Airbnb synchronizes external bookings every 2 hours.

For more information on synchronizing your calendars, please refer to this page here.

Cart & Orders

From YITH > Booking > Settings > “Cart & Orders” you can manage the cart page and checkout page related to booking products.

  • Show “Booking of” text before product name: This can be useful in case you are booking an apartment or renting a car. Enabling this option prevents the doubt that you are actually buying an apartment or buying a car.
Cart with label
  • “Booking of” label: Decide the name of the label that is shown in the cart and on checkout.
  • Show totals in the cart and checkout: Enable to show a breakdown of the price in the cart and checkout page.
show totals in cart and checkout

Price options

From YITH > Booking > Settings > “Customizations” you can set the booking form options.

The price shown will include: This manages how the price is shown on the shop page. You can decide to show:

  • Base price
  • Fixed base fee
  • Service costs (available if the Services module is enabled)
  • Extra costs (available if the Extra costs and discounts module is enabled)

You always have to select at least one option.

Base price example
base fee shown
Base price + Fixed base fee example
fixed + base fee shown
Base price + Extra costs example
base price plus extra costs
Base price + Service costs example
base price plus service costs

As you can see in the examples above, when selecting either “Extra costs” or “Service costs” the option to show the price per day/week/month, is no longer available.

  • Show the price type: decide to show the price per day/month etc.
show price per day option
  • Replace ‘days’ with ‘weeks’: Decide to convert multiple of 7 days, as weeks.
show price per day or week