Create a Tour
1: Create a Tour
1.1: Add General Fields
Product Name
Product Image
Product Gallery
Product Description
Product Short Description
Embed Video Link: Currently only support Youtube link.
Destination: Read here to know how to create Destination

1.2: Add Global Price
Config
Regular Price: This price is applicable for Adults
Sale Price: The Sale price is applicable for Adults
Children Price: The price is applicable for Children
Baby Price: The price is applicable for babies
Example:
Total Amount = 2(Adults) * $390 + 1 (Children) * $300 = $1080


1.3: Add Quantity and Guest
Quantity: The maximum number of tours that can be booked at once
Stock Quantity by Guests: Check available dates based on the number of guests or stock quantity.
a) Case 1: Check available dates based on the number of guests.
Setup Scenario:
Quantity: 1
Stock Quantity by Guests: Checked
Maximum adults: 4
Maximum children: 3
Maximum babies: 3
Tour availability calculation:
Maximum adults per booking: 4 (Maximum adults)* 1 (Quantity) = 4
Maximum children per booking: 3 (Maximum children)* 1 (Quantity) = 3
Maximum babies per booking: 3 (Maximum babies)* 1 (Quantity) = 3
Note: Each guest type has its own stock that is tracked independently.
Suppose that:
The customer 1 books a tour at 05/08/2025 with 6 guests (2 adults, 2 children, 2 babies)
→ Remaining guest stock: Adults - 2 left , Children - 1 left and Babies - 1 left
The customer 2 also books a tour at 05/08/2025
He can book the tour at 05/08/2025 if within remaining quota ( For example: 2 Adults, 1 Child, 1 Baby → Booking allowed )
Booking is not allowed if he want to book more than what remains ( For example: 3 Adults, 0 Children, 1 Baby → Booking not allowed )




b) Case 2: Check available dates based on stock quantity.
Setup Scenario:
Quantity: 1
Stock Quantity by Guests: Un Checked
Maximum adults: 4
Maximum children: 3
Maximum babies: 3
Tour availability calculation formula:
Maximum adults per booking: 4(Maximum adults) = 4
Maximum children per booking: 3(Maximum children) = 3
Maximum babies per booking: 3(Maximum babies) = 3
Note:
In this case, the system only tracks overall tour stock (i.e., how many bookings are allowed), not individual guest types.
Each booking reduces the total quantity, regardless of how many guests are included
Suppose that:
The customer 1 books a tour at 05/08/2025 with 6 guests (2 adults, 2 children 2 babies)
→ One booking has been used up
The customer 2 tries to book a tour at the same date ( 05/08/2025 ): Booking is not allowed because the tour’s Quantity is set to 1 and it has already been booked by the customer 1



1.4: Add Insurance
Support 2 types: General Price and Guest type price
Read more here
a) General Price
Insurance: Choose "General Price" option


b) Guest type price
Insurance: Choose "Guest type price" option


1.5: Add Deposit
Support partial payment in two types: Percent and Fixed amount.
Read more here
a) Percent
Deposit type: Choose "a percentage amount of payment" option


b) Fixed
Deposit type: Choose "a fixed amount of payment" option.


1.6: Add Tour with Fixed Dates
Time slots: No
Days: Add the number of days for the tour.
Fixed Dates: Setup check-in and check-out date.


1.7: Add Tour with Duration
Time Slots: Yes
Hours: Enter the number of hours for the tour
Schedule: The Price in Duration will take priority over the global price.
Case 1: The Price Is Calculated Based on the Number of Guests in each Type
Total Amount = 3 (Adults) * $10 + 1 (Children) * $7 + 1 (Baby) * $7 = $44


Case 2: A Fixed Total Price for each Guest Type
In this case, for each guest type (like adults, children, or babies), the total price is a fixed amount, no matter how many guests of that type are included in the booking.
Example: A customer books a tour with 2 Adults, 1 children and 1 baby at 07:00 on Monday


1.8: Add Features
Icons: you can find icon class here


1.9: Add Global Discount
Price in Global Discount will override both the global price and the duration-based price.
The system will apply a discount depending on the total number of guests (Adults + Children + Babies).
If you want to apply a discount depending on the number of Adults only or Adults + Children, you only need to customize the code using following hook:
add_filter( 'ovabrw_get_price_by_global_discount', function( $gd_prices, $product_id, $numberof_adults, $numberof_children, $numberof_babies ) {
return $gd_prices;
}, 10, 5 );


1.10: Add Price with Special Time
Price in special time will override global price, duration-based price and global price.
The system will apply a discount depending on the total number of guests (Adults + Children + Babies).
If you want to apply a discount depending on the number of Adults only or Adults + Children, you only need to customize the code using following hook:
add_filter( 'ovabrw_get_price_by_special_time', function( $special_time_prices, $product_id, $checkin_date, $numberof_adults, $numberof_children, $numberof_babies ) {
return $special_time_prices;
}, 10, 6 );



1.11: Add Resources
Example 1: The Resource Price Is Calculated Based on the Number of Guests in each Type
In this case, the price of each resource is calculated based on number of guests in each type
Total = 1 (Adult)*$390 + 1 (Children)*$200 + 1 (Baby)*$100 + 1 (Adult resource)*$10 = $800


Example 2: A Fixed Resource Price for each Guest Type
In this case, for each guest type (like adults, children, or babies), total price of a resource is a fixed amount, no matter how many guests of that type are included in the booking.
Suppose that The customer selected Resources 3 with 2 adults, the system still calculates the price of Resources 3 for only 1 adult.
Total = 1 (Adult)*$390 + 1 (Children)*$200 + 1 (Baby)*$100 + 1 (Adult resource)*$8 = $798


1.12: Add Services
Example 1: The Service Price Is Calculated Based on the Number of Guests in each Type
In this case, the price of each service is calculated based on number of guests in each type
Total = 1 (Adult)*$390 + 1 (Children)*$300 + 1 (Baby)*$100 + 2 (Adults )*$10 = $810


Example 2: A Fixed Service Price for each Guest Type
In this case, for each guest type (like adults, children, or babies), the total price of a service is a fixed amount, no matter how many guests of that type are included in the booking.
Suppose that the customer selected pack 1 ( an extra service) with 2 adults, the system still calculates the price of the service: "pack 1" for only 1 adult.


1.13: Add Unavailable Time


1.14: Add Place

a) Short Address
The short address will be displayed in Archive/Category, Single Tour instead of address in google map.


b) Show Map
You can choose: Global, Yes, No
"Global": Use setting in global settings for map
"Yes": Show Google Map and Google Map Iframe
"No": Hide Google Map and Google Map Iframe
c) Use Google Map:
You have to insert Google Key Map in Settings to display Google Map here.


d) Use Iframe to display a Route Tour
Create a route tour in Google Maps, then use the "Share or Embed a map" feature to get the iframe



1.15: Advanced Options

1) Product Template

"Category Settings": Use the product template that is set up in the category. Learn more in Tour Template.
"Tour detail 1", "Tour detail 2": These two templates are built with Elementor. You can create and assign templates to any product. Learn more in Tour Template."
2) Disable Weekday
Enter the numbers that correspond to each day of the week:
0: Sunday
1: Monday
2: Tuesday
3: Wednesday
4: Thursday
5: Friday
6: Saturday

Example:
Backend: Enter 0,6
Frontend: The calendar will block Saturday and Sunday.

3) X days preparation time
Example:
"X Days Preparation Time": 2
Today is 25 July
=> The customer is allowed to book from 27 July


4) Book before X hours today
Example:
"Book before X hours today": 18:00
Today: 25 July ⇒ If now is 15:00 => The customer can book this product today ⇒ If now is 19:00 => The customer can't book this product today


5) Guest
a) Setup
Show children field: "Global", "Yes", "No" options
Global: Get value from WooCommerce >> Settings >> Booking Tour >> Guests >> Show children field.
Yes: Use children for this tour.
No: Not Use Children for this tour.
Show Babies field: Choose "Global", "Yes", "No"
Global: Get value from WooCommerce >> Settings >> Booking Tour >> Guests >> Show babies field.
Yes: Use Baby for this tour.
No: Not Use Baby for this tour.

b) Example
Step 1: Choose "Show babies field": No
Step 2: Save Tour
Step 3: All baby fields will be hidden in both the backend and frontend sections.
6) Custom checkout fields
Use Custom checkout fields in Booking Form, Request Form.


a) Config
Display custom fields from: Category Settings, New, No
Category Settings: Get value that are set up in the category. Lean more in categories
New: You can insert slug of multi custom checkout fields here. Lent more in Custom Checkout Field
Example:
No: Don't use any custom checkout fields.
7) Check-out field
Show/Hide Check-out date field in booking form, request form
Display: Global Settings, Yes, No
Global settings: Get value that are set up in Global Settings (WooCommerce settings)
Yes: Display the field .
No: Hidden the field.


8) Forms
Display Booking Form, Request Form, Enquiry Form in tour detail


Setup
Show Forms: Global settings, only booking form, only request form, only enquiry form, show all
Global settings: Get value that are set up in the Woocommerce ( Go to WooCommerce >> Settings >> Booking Tours >> Product Details >> "Show booking form", "Show request form", "Show enquiry form"). Learn more in Show Forms
Only Booking Form: Learn more in Tour Template
Only Request Form: Learn more in Tour Template
Only Enquiry Form: Show content of shortcode. You can insert Shortcode of "contact form 7" plugin.
Show All: Show 3 forms
Enquiry Shortcode: Insert a shortcode like contact form 7, so the shortcode will display in Enquiry Form.
If you empty this fields, the tour will get shortcode in Enquiry Setting under WooCommerce Settings.
Config Contact Form 7: You have to insert "[product-link]" in "Message body", so you will see Tour Title and link of tour in mail.
9) Header & Footer
Choose Header & Footer for this tour.
Global: Get value in Customize (Apperance >> Customize >> WooCommerce >> Product Detail >> choose "Header", "Footer" setting )
Default: Use "Default" header/footer of theme.
Header, Header Banner, Header Blog Detail, Header 4, Header 6, Footer 1, Footer 2, Footer 3 ...: There header/footer build with elementor. Learn more in Header Setting and Footer Setting.

1.16: Add Included/Excluded, Tour Plan
Step 1: You have to install and active CMB2 plugin

Step 2: Show "Included/Excluded, Tour Plan" section when create a tour

Step 3: Insert Data

Step 4: Display in tour detail page

2: Tour Template
To learn how to create, customize, and assign tour templates for each tour, please read here.
Last updated