With the Booking & Appointment Plugin for WooCommerce plugin, you can use the Duration Based Booking feature to allow customers to book time slots for a particular duration. It can be used for various bookings like conferences, seminars, parties, meetings, etc where customers want to book for a particular duration instead of a full-day booking.
Admins can add settings for minimum and maximum duration and the start time of the day. Accordingly, the time slots are created on the front end for the customers to select an appropriate duration for their booking.
In this post, we will focus on a Simple Product but it is also possible to use this setup with all WooCommerce product types. Click the section you wish to visit:
1. Configuring Duration based booking
2. Maximum booking availability
1. Configuring Duration based booking
1. A. ADMIN SECTION
To understand how Duration Based Time setting works, let us take a conference hall example where customers book the hall for a particular duration specific to their meeting hours.
Let’s create a new product Conference Hall. Enable the Booking option and select Booking Type as Date & Time > Duration Based Time under the General tab as shown below. Click the Save Changes button.
Selecting Booking type as Duration Based Time
Now let us set the availability for this product in the Availability Tab. You will find the following settings under this tab:
Settings added for Duration Based Bookings
As you can see, the settings added are as follows:
- Label: It is the text that states what action is to be taken. It is set to Select Duration.
- Duration: It is the time in hours for which the slots will be created on the front end. This is set to 1 hour. You can also set this in minutes.
- Gap between durations: This will let you set a time gap between two booking times. Based on this gap, your durations will be created. This is set to 30 minutes.
- Minimum duration: It is the minimum duration that the customer has to select for their booking. This is set to 1 hour.
- Maximum duration: It is the maximum duration that a customer can select up to for their booking. This is set to 3 hours.
- Maximum booking: It is the maximum number of bookings allowed per slot (duration) created. This is set to 10 bookings per duration.
- Duration price: It is the price per time slot (duration) created. This is set to $50 per duration.
- Duration start & end range for days: This is the time when the first time slot/duration will be created for the day. This is set to 10:00 AM. This is also the time when the first time slot/duration will end for the day. It is set to 20:00 (08:00 PM).
Once all the settings are added and saved, let us Publish the product and view its effect on the front end.
*Note – It is mandatory to add the Regular Price for the product on the Product Page irrespective of adding the price for the duration in the Availability tab. This ensures that the product is available on the Shop page for selling and you can move that to the cart.
1. B. CUSTOMER SECTION
The newly created product to take bookings for Conference Hall will appear on the front end of the website as shown below:
Product displayed on the front end
Now let us select the duration for the time slots to be created. Since we have selected Duration as 1 hour and Minimum duration as 1 hour in the backend, 1 hour will be automatically added for Select Duration on the front end.
You can select a maximum duration of 3 hours. That’s because the Maximum duration was set to 3 hours in the backend.
So let us add Select Duration as 3 hours and the booking date as 14th March 2023. This will create time slots for 1 hour with maximum bookings shown as 10 bookings (as set in the backend):
Time slots created as per the settings
As you can notice, the time slots are created for 1 hour each from 10 AM onwards because the First duration starts at option was set to 10 AM and ends at 08:00 PM.
Since we have added 30 minutes time gap between each booking, our timeslots have been created accordingly:
Time slot 1: 10:00 AM to 11:00 AM
a gap of 30 minutes
Time slot 2: 11:30 AM to 12:30 PM
a gap of 30 minutes
Time slot 3: 1 PM to 2 PM and so on.
Now, let’s select a time slot at 1:00 PM on 14th March 2023. The price will be calculated for 3 hours as shown below:
Booking Time selected
The Booking Time is added for 3 hours where the Total Price is displayed as $150 because the price for each duration is set to $50. Hence $50 x 3 = $150.
For instance, if the Duration price is not set under Set Duration Based Booking section in the backend, then the product price which is $200 will be considered and so the Total Price then will be $600 ($200 x 3 = $600).
It is also to be noted that currently there are 10 bookings available for the 1:00 PM time slot.
Click the Add to Cart button to add this booking to the Cart as shown below:
Booking added to the Cart
Thus the Cart page shows the booking details where Conference Hall has been booked for 14th March 2023 from 1:00 PM for 3 hours. Click on the Place Order button on the Checkout page to complete this booking.
2. Maximum Booking Availability
To understand Maximum Booking Availability, let us consider the same above instance where the maximum bookings per time slot are set to 10 bookings.
Our customer has already booked the Conference Hall for 14th March 2023 from 1:00 PM for 3 hours.
If another customer visits the site and selects the same day as 14th March 2023 to book the Conference Hall from 1:00 PM timeslot. The maximum availability for that time slot will be displayed as 9 left till 4 PM as shown below:
9 bookings left for time slot 1:00 PM – 4:00 PM
Thus, when a booking for a particular time slot is already made, the availability for that time slot decreases by the number of bookings made.
Let us consider another scenario where the Conference Hall is booked for all 10 bookings for the time slot 1:00 PM on 14th March, 2023.
In this case, this time slot will not be displayed on the product page as shown below:
Time slot 1:00 PM to 4:00 PM not being displayed
The time slot of 1:00 AM to 4:00 PM reached its maximum limit and therefore was unavailable. Hence, unavailable time slots were not displayed on the front end for selecting the Booking Time.
Moreover, if the customer changes the Duration for the above instance to 2 hours, then time slots from 12:00 PM to 4:00 PM will not be displayed. Hence change in the Duration affects the display of available time slots on the front end.
Time slot 12:00 PM to 4:00 PM not being displayed
Also, customers can edit and reschedule their existing bookings and add resources with Duration Based Booking, using the Edit Bookings, Reschedule Bookings, and Add Resources options respectively.
Thus, with the Booking & Appointment Plugin for WooCommerce plugin. The feature of duration-based bookings ensures that you are never over-booked for any time slot and provides an accurate and robust solution for all booking activities.