1. Documentation /
  2. Introduction to WooCommerce Bookings /
  3. WooCommerce Bookings: Use Cases /
  4. Bookings Use Case: Boat Cruise with Cabin Types, Occupancy Rates and Discounts

Bookings Use Case: Boat Cruise with Cabin Types, Occupancy Rates and Discounts

This use case will walk you through using WooCommerce and WooCommerce Bookings to create a bookable product with varying resource types, costs, and available occupancy.


↑ Back to top

You’re selling tickets for a cruise and want to allow passengers to book their cabins. The following requirements need to be implemented:

  • Different cabin types: rooms with and without windows have different rates (i.e. rooms with a window are $100 more per person)
  • Number of passengers in each cabin: per person rates are different based on single or double occupancy and doubles get $50 discount per person
  • Different dates have discounts: holidays have higher costs per person (i.e. July 4th, November 22nd and December 25th are extra $45 per person)
  • Customers can book up to ten days

Here is an example fee table:

Normal DatesNo WindowSingle$250/person
Normal DatesNo WindowDouble$200/person
Normal DatesWindowSingle$350/person
Normal DatesWindowDouble$300/person
HolidaysNo WindowSingle$295/person
HolidaysNo WindowDouble$245/person

Products Used

↑ Back to top

Setup and Configuration

↑ Back to top

Creating a Bookable Product

↑ Back to top
  1. In the sidebar of your WordPress Admin, click on Products.
  2.  Click on the Add New button on the top.
  3.  Under Product data select Bookable Product.
  4. Select the options for Virtual, Has Persons, and Has Resources as each is required for this use case.

Configure the General Tab

↑ Back to top
  1. Select the dropdown menu next to Booking Duration and select Customer defined blocks of, enter 1 in the next field, and select Days as the measurement of time in the final dropdown.
  2. Ensure the Minimum Duration is set to 1 and the Maximum Duration is set to 10.

Configure the Resources Tab

↑ Back to top
  1. Select the Resources tab (note: The tab only appears if you selected Has Resources when creating the product).
  2. Select Add/link Resource to add a resource.
  3. Name your resource Cabin - With Window when the window opens, and select OK.
  4. Under Block Cost add 100 as the room type includes an additional $100 cost per person, per day. (Note: If you prefer the cabin with window is only $100 extra for the entire booking, add $100 to the base cost instead).
  5. Select Add/link Resource to add a second resource.
  6. Name your resource Cabin - No Window and hit ok (Since there is no additional cost for this cabin type we do not need to add anything to base or block cost).

Configure the Costs Tab

↑ Back to top
  1. Click the Add Range button to add your first line to the table.
  2. Under Range Type select Range of Days, under Range select Monday to Sunday, finally under Block Cost select + in the dropdown and enter 250 beneath it. This adds our base cost for a standard booking with no additional costs or discounts.
  3. Click the Add Range button again to add a second line.
  4. On the second line under Range select Person Count, under Range enter 2 to 2, finally under Block Cost select - in the dropdown and add 50 to the field below. This adds our discount for double occupancy.
  5. Click the Add Range button again to add a third line.
  6. On the second line under Range select Date Range, under Range select July 4th in each field, finally under Block Cost select + in the dropdown and add 45 to the field below. This will add the additional cost for the holiday.
  7. Repeat steps #5 and #6 to add lines for additional dates (i.e. December 25th, November 22nd).

Configure the Persons Tab

↑ Back to top
  1. Ensure Min Persons is set to 1 and Max Persons is set to 2.
  2. Enable Multiply All Costs by Person Count, Count Persons as Bookings, and Enable Person Types.
  3. Click Add Person Type.
  4. Under Person Type Name enter Number of Persons, under Description add Sharing One Cabin, set the Min to 0 and the Max to 2.


↑ Back to top

This is what the user will see when visiting the front end of your site:

Questions and Support

↑ Back to top

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

  • Have a question before you buy this extension? Please fill out this pre-sales form – please include the name of this extension in your query.
  • 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