Bookings Use Case: Tourist Activity with Fixed Durations and Varying Costs

This scenario will walk you through how to use WooCommerce and WooCommerce Bookings to create a bookable product that makes use of different person types with varying costs, fixed duration blocks, and a maximum capacity for attendees. We’ll make use of the Tourist Activity bookable product template to set this up quickly.

Scenario

↑ Back to top

A tour operator wants to offer daily tours. Tours last two hours with start times at 10:00AM, 2:00PM, and 6:00PM. Costs are different for Adults ( $25.00) vs Children ( $20.00) and the maximum capacity for the tour is 25 people. The operator also requires that there is 1 adult per tour so that there are no unaccompanied children.

Setup and Configuration

↑ Back to top

We’ll start by using a bookable product template (built into WooCommerce Bookings) to set up the basics for the tourist activity. Navigate to Products > Add New Product > Select the “Tourist Activity” template from the Templates tab:

Tourist Activity template selectable from the Templates tab when adding a new product

Template Presets

↑ Back to top

The tourist activity template already configures most of the requirements for us. Below we’ll explain what’s already complete and how it relates to the requirements given to us by the tour operator:

General Settings – The template’s preset configuration is exactly how we need it. The following are the general settings that relate to the requirements for the tourist activity:

  • Virtual and Has Persons checkboxes ticked/checked to remove shipping requirements and add the Persons tab (respectively). We’ll use the Persons tab to configure the Child and Adult booking prices.
  • Booking duration is already set to Fixed blocks of 2 hours. The tours are 2 hours and are at specific times (10:00am, 02:00pm and 04:00pm) .

Here’s what the general settings should look:

General settings for the tourist activity

Availability Settings – The template’s preset configuration is exactly how we need it. The following are the availability settings that relate to the requirements for the tourist activity:

  • Max bookings per block is set to 25 (the maximum number of bookings we can accept for each tour block).
  • All dates are not-available by default is already selected. This ensures that tours aren’t bookable outside of the set availability.
  • Custom Availability is already set to: Time Range (all week) with three separate entries for our tour time slots: 10:00AM - 12:00PM , 02:00PM - 04:00PM, and 06:00PM - 08:00PM. They are all set to Yes for Bookable and have a priority of 10 as we need.

Here’s how the availability settings should look:

Availability settings for the tourist activity

Persons Settings – This template’s presets have the majority of the settings already configured for us, but we’ll need to make a few adjustments (which we explain in the next section of this page).

Below are settings that are correct:

  • Min persons is set to 1 and max persons is set to 25.
  • Enable person types is ticked/checked.
  • Adult and Children person types are already created and their base costs are set to charge $25.00 per adult and $20.00 per child.

In the next section, we’ll explain how to adjust the settings in the Persons tab to fit the rest of our requirements.

Editing the Persons tab (settings):

↑ Back to top

While the bookable product template we are using configures a lot for us we still have some things to configure. We need to ensure that each person in a booking is counts toward our maxing capacity of 25 people per tour and that there is 1 adult per tour but that there are no restrictions on the number of children (as a tour can be entirely adults).

Here’s how we’ll finish editing the Person settings:

  1. Untick/Uncheck the box for Multiply all costs by person count. The tour operator has no additional costs that we need to account for. If you’re curious about this setting, read more in the Persons for Bookable Products documentation.
  2. Tick/Check the box for Count persons as bookings. This ensures that no more than 25 people can book per tour.
  3. Expand the Adults person type and confirm the information/make the following changes:
    • Remove the (sample person) text from the Person Type Name field. You can also add any additional information that you might need for your tourist activity here.
    • Confirm that the Min field is set to 1 (since we need 1 adult per tour). You can either leave the Max field with the default 25 or you can leave the field blank. Both will have the same effect for this particular use case.
  4. Expand the Children (18 and under) person type and confirm the information/make the following changes:
    • Remove (sample person) text from the Person Type Name field.
    • Enter 0 in the Min field, as there is no requirement for a minimum number of children on a tour.
    • (Optional) Enter a maximum number of children allowed on one tour in the Max field. This can be helpful if the tour operator has a specific child to adult ratio they need to meet. Our tour operator hasn’t given us any specifics about that, but it’s helpful to know if they need to change the requirements later. If not entering a maximum, leave this field blank.
  5. Click the Publish button in the top right to save the product and make it bookable for customers.

Here’s how the Persons settings should look after making these changes:

Persons settings for tourist activity

Customer View

↑ Back to top

Once the configuration is complete and the bookable product is live for customers, this is an example of what they see on the tour operator’s site

example of how this tourist activity will appear to customers

Questions and Support

↑ Back to top

Something missing from this documentation? Do you still have questions and need assistance?

  • Have a question about a specific extension or theme you’d like to purchase? Click here.
  • Already purchased and need some assistance? Get in touch with a Happiness Engineer via the WooCommerce.com Support page and choose this extension name from the “I need help with” dropdown.
Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.