1. Home
  2. Knowledge Base
  3. Bookings for WooCommerce
  4. Mixed duration bookings
  1. Home
  2. Knowledge Base
  3. Time Slots
  4. Mixed duration bookings

Mixed duration bookings

In Bookings for WooCommerce, you can let customers book a part day or several whole days on a single product. This setup is often called hourly or daily booking, or half-day and full-day booking. It’s ideal, for example, if you have a venue that can be booked by the hour or by the day.

WooCommerce page showing product that can be booked by the hour or for multiple days

With this feature, users will be able to:

  • Choose between ‘Part day’ and ‘Full days’ on the product page
  • Book one or more time slots on a single date
  • Book several consecutive whole days as a single multi-day booking

And, as the store owner or admin, you’ll be able to:

  • Set separate prices for time slots and whole days
  • Limit how many whole days customers can book
  • Prevent part-day and whole-day bookings from overlapping

How do mixed duration bookings work?

Customers choose the booking type, and each type has its own price. The price doesn’t switch automatically based on the length of the booking.

Part dayFull days
Customer selectsA date and time slotsA start date and number of days
Price‘Price per slot’‘Standard price’ for each day, plus any ‘Custom Pricing’ and ‘Discounts’
Time bookedThe selected slotsFrom ‘First slot time’ to ‘Last slot end time’ on each day

Both booking types share the same availability. For example, a two-hour booking on Saturday means that Saturday can’t be booked as a whole day, although its other free slots can still be booked.

Set up your product

You can create your mixed duration product in the same way you would any other product. In these steps, we’ll set up a community hall that hires for $50 per hour or $400 per day.

Step #1: Create a booking product

  • Go to Products > Add New
  • Enter a name, such as ‘Riverside Hall’
  • Select ‘Booking’ from the ‘Product type’ field

You now have a bookable product. Now let’s add its settings.

Step #2: Enter the booking settings

Click the ‘Booking Settings’ tab in the ‘Product data’ section, then:

  • Select ‘Day’ from the ‘Booking unit’ field
  • Enter 1 in the ‘Max bookings per unit (quantity)’ field, as there’s only one hall
  • Enter 400 in the ‘Standard price’ field

The whole-day price is now set at $400 per day.

Step #3: Create your time slots

Click the ‘Time Slots’ tab, then:

  • Check the ‘Enable time slots’ field
  • Enter 60 in the ‘Slot duration (minutes)’ field
  • Enter 09:00 in the ‘First slot time’ field
  • Enter 22:00 in the ‘Last slot end time’ field
  • Enter 50 in the ‘Price per slot’ field

The hall now has hourly slots from 09:00 to 21:00 at $50 per hour. Now let’s allow whole-day bookings.

Step #4: Allow whole-day bookings

  • Check the ‘Allow whole-day bookings’ field
  • Enter 7 in the ‘Maximum whole days’ field

If you leave ‘Maximum whole days’ blank, customers can book up to 12 days.

Step #5: Optionally set a minimum duration

Enter 120 in the ‘Minimum duration (minutes)’ field to require a two-hour minimum for part-day bookings. This setting doesn’t affect whole-day bookings.

Step #6: Optionally add whole-day pricing rules

Click the ‘Pricing’ tab to add ‘Custom Pricing’ or ‘Discounts’, such as a lower daily rate for longer bookings. These apply to whole-day bookings, while the ‘Slot Discounts’ on the ‘Time Slots’ tab apply to part-day bookings.

'Allow whole day bookings' setting on Time Slots tab

What will your customers see?

Customers see a ‘Book by’ heading with two tiles: ‘Part day’ and ‘Full days’. ‘Part day’ is selected by default and shows your usual time slot selector.

Selector to choose booking type

When customers select ‘Full days’, they pick a start date and the number of days:

  • 12 days or fewer: Each option appears as a tile showing the number of days, end date and price
  • More than 12 days: The options appear in a dropdown list

The calendar only offers whole days that are completely free. A date with a two-hour booking is available under ‘Part day’ but not under ‘Full days’.

For Riverside Hall, a customer would pay:

  • $150 for a three-hour birthday party on Saturday (3 slots × $50)
  • $800 for a two-day conference on Saturday and Sunday (2 days × $400)

Customize your labels

Go to WooCommerce > Settings > Bookings > Calendar and scroll down to ‘Time Slot Labels’. You can change these settings:

SettingDefault
‘Booking type heading’Book by
‘Time slots option label’Part day
‘Whole days option label’Full days
‘Number of days label’Number of days

Choose the wording your customers already use. For instance:

  • Venue or room hire: ‘Hourly’ and ‘Daily’
  • Boat or equipment rental: ‘By the hour’ and ‘By the day’
  • Half-day sessions: ‘Half day’ and ‘Full day’

These labels apply to all of your mixed duration products.

Example setups

These examples show how the same settings suit different types of business.

Example #1: Boat rental with half-day and full-day options

A boat rental company offers a morning, an afternoon or a whole day. Use these settings:

SettingValue
‘Slot duration (minutes)’240
‘First slot time’09:00
‘Last slot end time’17:00
‘Maximum duration (minutes)’240
‘Price per slot’$250
‘Standard price’$450
‘Maximum whole days’3

Customers can book 09:00–13:00 or 13:00–17:00 for $250, or a whole day for $450. A three-day fishing trip costs $1,350.

Example #2: Coworking space with several desks

A coworking space has five hot desks that can be hired by the hour or by the day. Enter 5 in the ‘Max bookings per unit (quantity)’ field, then use a 60-minute slot.

If two desks are booked at 14:00 on Tuesday, only three can be booked as whole days that day. A whole-day booking needs a place to be free in every slot.

Example #3: Photography studio closed on Sundays

A photography studio offers hourly shoots and multi-day hire, but it’s closed on Sundays. A whole-day booking can’t include an unavailable date.

A customer starting on Saturday therefore can’t book two days, because the booking would run into Sunday. The same applies if any date in the range is fully or partly booked.

What’s the difference between ‘Allow full day’ and ‘Allow whole-day bookings’?

Use ‘Allow whole-day bookings’ to offer multi-day bookings or a separate daily price. Both settings reserve the full slot window, but they work differently:

‘Allow full day’‘Allow whole-day bookings’
What it addsA ‘Whole day’ option in the slot selector‘Part day’ and ‘Full days’ tiles
LengthOne dayOne or more days
PriceBased on your slot price‘Standard price’, plus any pricing rules

Manage your mixed duration bookings

Once you’ve got your products up and running, you’ll want to manage them from the back end:

  • Manage orders: Go to WooCommerce > Orders to view and process orders
  • View bookings: Go to Bookings > Calendar to see your bookings, including multi-day bookings
  • Add bookings manually: Go to Bookings > Add Booking to add part-day bookings

You can’t currently create whole-day bookings manually from the back end. To add one, place an order for it on the product page.

Troubleshooting

The ‘Allow whole-day bookings’ field isn’t showing. Check ‘Enable time slots’ on the ‘Time Slots’ tab, and select ‘Day’ from the ‘Booking unit’ field on the ‘Booking Settings’ tab.

A date is available for ‘Part day’ but not ‘Full days’. At least one slot on that date is fully booked. Whole-day bookings need every slot to be available.

Customers can’t book as many days as expected. Check the ‘Maximum whole days’ field, then look for bookings or unavailable dates within the range.

Today isn’t available for ‘Full days’. Customers can’t start a whole-day booking today once ‘First slot time’ has passed.

Was this article helpful?

Related Articles