Our Booking & Appointment for WooCommerce plugin has different Booking Types. Earlier for Duration Based Booking Type & Fixed Time Booking Type, you could only set the start time & end time for the duration which was limited to all the Weekdays/Date. If someone wanted to disable the particular time range then that was not possible.
Now, with v5.9.0 of Booking & Appointment Plugin for WooCommerce, you can manage the time availability of these booking types with our feature ‘Manage Time Availability’. This feature is available for Date & Time Booking Type and Dates & Fixed Time Booking Type only.
Manage Time Availability: Admin Settings
To configure this setting at the Global level, you can go to Booking > Settings > Bulk Booking Settings > Availability Tab > Manage Time Availability:
This will ensure that the settings you choose here will be applied to all the products in your store.
If you wish to apply these settings to a particular product then you will have to configure this setting at the Product level.
You can go to the Edit Product Page & scroll down to the Booking meta box. Go to Availability Tab > Manage Time Availability:
Now, let’s have a look at the settings under this one by one.
1. Make all data block unavailable:
If you enable this option then all the dates in the calendar will be disabled. You can enable desired dates for bookings using this option with the table given below it.
2. Range Type:
The different range types offered to us for managing time availability are as such:
1. Date range
Selecting this will allow you to set a range from one date to another date. For instance, if you wish to manage the time availability of a booking from 1st December 2021 to 5th December 2021, then you can choose this option.
2. Range of months
If you wish to manage time availability from one month to another, for instance, from January to March, then you can choose this option.
3. Range of weeks
In Range of weeks, you can either assign the full week for availability or make it disabled for booking, by enabling or disabling the bookable option.
4. Range of days
If you wish to manage time availability from one specific day to another, for instance from Monday to Wednesday, then you can choose this option.
5. Time Ranges
The following are the different options that fall under Time Ranges:
a) Time Range (all week)
If you wish to set a specific time range for all weeks then you should select this option. For example, if you wish to make 9 AM to 10 AM bookable for the whole week, then you can choose this option.
b) Date range with recurring time
Let’s say that you wish to allow bookings for a particular date range at a particular time. For instance, if you want bookings to be enabled from 2nd December 2021 to 10th December 2021 only from 1 PM to 2 PM, then you can choose this option. This would allow the recurring time of 1 PM to 2 PM from the specific date range to be enabled.
c) Specific Days:
This option will allow you to set a time range for specific days that you select. For instance, if you wish to enable bookings for Mondays from 10 AM to 2 PM, then you can choose this setting.
3. From and To:
As discussed earlier, here you will have to either select the Date, Day, or Time from which a certain range will begin and end.
4. Bookable:
This setting will allow you to enable or disable the booking for the range that you have selected.
5. Priority:
This setting will allow you to choose which range type will be considered first. If one of your ranges is set to the lowest priority, then that range will be considered first. For instance in the following case:
The range of Months has a lower priority than the Date range, thus, the Range of months would be considered first.
Now, let us have a look at how Manage Time Availability works for different Booking Types.
Booking Type: Date & Time
The Date & Time Booking Type has two options – Duration Based Time and Fixed Time. Let us have a look at them both:
1) Duration Based Time
Let us say that you offer Bookings for a Conference Hall. For this, you have selected the Booking Types as Duration Based Time. Here are the settings that we have configured for our Conference Hall based on the Booking Type Duration Based Time:
As you can see, the Duration of our Conference Hall is set to 1 hour. We have also entered the Duration Start range for days which is 9:00 (9 AM) and Duration End Range for days as 18:00 (6 PM).
We will scroll down and set our Manage Time Availability for Mondays, Wednesdays, and Fridays as shown below:
As we can see Time Availability for Mondays is set to be Bookable from 10 AM to 2 PM.
For Wednesdays, it is set to be Bookable from 8 AM to 8 PM.
For Fridays, it is set to Non- bookable from 12 PM to 4 PM.
Let us have a look at how these Time availability settings will work in different Cases.
Case 1:
Make all data block unavailable – Disabled
Monday – 10 AM to 2 PM – Bookable
Wednesday – 8 AM to 8 PM – Bookable
Friday – 12 PM to 4 PM – Non-bookable.
On the front end, All the days/dates will start from 9 AM and end at 6 PM.
Since we have already set the main bookable time from 9 AM to 6 PM, the bookable time added for Mondays (10 AM to 2 PM) and Wednesdays (8 AM to 8 PM) will not be effective. This means, that for dates falling on Mondays and Wednesdays, the Bookable Time would be from 9 AM to 6 PM because of our main bookable time. For example, here’s how the Booking calendar will appear for Monday 13th September 2021:
Since we have set 12 PM to 4 PM as Non-bookable, then on the front end, for Friday, the booking time slots that would be available would be from 9 AM to 12 PM and 4 PM to 6 PM. For example, here’s how the Booking calendar will appear for Friday 17th September 2021:
Case 2:
Make all data block unavailable – Enabled
Monday – 10 AM to 2 PM – Bookable
Wednesday – 8 AM to 8 PM – Bookable
Friday – 12 PM to 4 PM – Non-bookable.
Since we have decided to make all data block unavailable, on the front end, all the days/dates will be disabled except Mondays and Wednesdays because those were the two days that were set to be Bookable. Since Friday’s booking was not enabled, the added range for Friday will not be effective & thus it would not appear as Booking Dates in the Calendar as shown below:
The Start & End time for them will be 10 AM to 2 PM and 9 AM to 6 PM respectively.
If a customer chooses a date on Monday, then they will get to view booking timeslots from 10 AM to 2 PM since that is the start time and end time. For example, after selecting Monday, 13th September 2021, the booking timeslots available are as shown below:
If a customer selects a date on Wednesday, then the time availability displayed to them will be from 9 AM to 6 PM since the main start and end time is set to 9 AM to 6 PM. Adding range out of Wednesday’s time range will not be effective. Here’s how it will appear on the frontend when Wednesday 15th September 2021 is chosen by a customer:
Case 3:
Make all data block unavailable – Disabled
No Ranges are added.
Since we haven’t added any range to manage time availability, the Duration Start and End range for days that we had added will be displayed for all the enabled weekdays. For example, if you have enabled all the weekdays, then selecting any one of them would display start and end time as 9 AM to 6 PM:
Case 4:
Make all data block unavailable – Enabled
No Ranges are added.
In this scenario, we have chosen to make all data block unavailable. This would mean that all the dates in the calendar would be disabled except for the ones added in the Range. Since we haven’t added any Range type, no dates would be available for the customer. Thus, on the front end, ‘The product is currently unavailable for the booking. Please try again later’ message will be displayed.
2) Fixed Time
Let us say that you offer medical appointments. For this, you have selected the Booking Type as Fixed Time. Here are the settings that we have configured for our medical appointments:
We’ll go to the Availability tab and select our Appointment Days:
Next, we’ll keep one-hour timeslots from 9 AM to 6 PM.
Case 1:
Make all data block unavailable – Disabled
Monday – 10 AM to 2 PM – Bookable
Wednesday – 8 AM to 8 PM – Bookable
Friday – 12 PM to 4 PM – Non-bookable
On the front end, the customer will get to view all the days/dates with all the time slots that have been added from 9 AM to 6 PM. For instance, if the customer selects a date on Tuesday, 7th September 2021, then they will get to choose their time slots from 9 AM to 6 PM as shown below:
Now, if a customer chooses a date on a Monday or Wednesday, then they will be displayed the fixed timeslots that range from 9 AM to 6 PM since we have already set that in the Set Weekdays/Dates and its Timeslots table. Adding range as bookable out of this time range will not be effective. This means that the bookable timeslots that we have added in Manage Time Availability for Mondays (10 AM to 2 PM) and Wednesdays (8 AM to 8 PM) will not be effective. To illustrate, here’s the frontend display of choosing Monday, 13th September 2021:
If the customer chooses a date on Friday, then the time slots that fall between 12 AM to 4 PM will be unavailable since we have made them non-bookable. Here’s how it will appear on the frontend when the customer chooses Friday, 17th September 2021 as their appointment date:
Case 2:
Make all data block unavailable – Enable
Monday – 10 AM to 2 PM – Bookable
Wednesday – 8 AM to 8 PM – Bookable
Friday – 12 PM to 4 PM- Non-bookable
Since we have decided to enable Make all data block unavailable, this would mean that all the dates in the calendar would be disabled except for the ones that we have added under the Manage Time Availability table. This means that on the front end, all the days/dates will be disabled except Monday and Wednesday. Since Friday is not enabled, the added range for Friday will not be effective & thus no dates would appear for Fridays:
For Monday, the fixed time slots fall between 10 AM to 2 PM. If a customer selects Monday, 20th September 2021, then they will be displayed those timeslots only:
For Wednesday, we have set time slots bookable from 8 AM to 8 PM. However, the availability of the fixed time will fall between 9 AM to 6 PM. The reason for this is that our main start and end time is set to 9 AM to 6 PM. That’s why, adding range out of this time range will not be effective. For instance, on Wednesday, 15th September 2021, the customer will get to view all the fixed time slots from 9 AM to 6 PM as shown below:
Case 3:
Make all data block unavailable – Disabled
No Ranges are added.
In the front end, All the enabled weekdays will be displayed and all the time slots will appear in the dropdown/list view. Since we have enabled appointments for all days with one hour fixed time slots from 9 am to 6 PM, then all of them will be displayed on the frontend as shown below:
Case 4:
Make all data block unavailable – Enabled
No Ranges are added.
As discussed earlier, if Make all data block unavailable is enabled, then all the booking dates and timeslots will be disabled. Thus, on the front end, instead of seeing appointment dates and timeslots, the customer will get a message that says ‘The product is currently unavailable for the booking. Please try again later.’
Booking Type: Dates & Fixed Time
Under Multiple Dates Booking Type, one of the booking types that you will see is ‘Dates & Fixed Time’. Let’s see how the cases work for this booking type.
Let’s say that you offer Guitar lessons. For this, you have selected the Booking Types Dates & Fixed Time. Here are the settings that we have configured for it:
We’ve set our fixed time slots from 9 AM to 6 PM. Each timeslot is for one hour each. The customer will have to choose 2 dates for this booking.
Case 1:
Make all data block unavailable – Disabled
Monday – 10 AM to 2 PM – Bookable
Wednesday – 8 AM to 8 PM – Bookable
Friday – 12 PM to 4 PM – Non-bookable
On the front end, the customer will get to view all the days/dates with all the time slots that have been added from 9 AM to 6 PM. The range added for Monday and Wednesday as Bookable will not be effective. This is because our main bookable time is already enabled. Thus, for instance, if a customer chooses one of their dates as Wednesday 15th September 2021, all the time slots from 9 AM to 6 PM will appear for them:
Now, if the customer decides to go for Friday 17th September 2021 as their second date, then they will get to view all the slots except the ones from 12 PM to 4 PM since we have made them non-bookable:
Case 2:
Make all data block unavailable – Enable
Monday – 10 AM to 2 PM – Bookable
Wednesday – 8 AM to 8 PM – Bookable
Friday – 12 PM to 4 PM – Non-bookable
Since we have decided to enable Make all data block unavailable, this would mean that all the dates in the calendar would be disabled except for the ones that we have added under the Manage Time Availability table. This means that on the front end, all the days/dates will be disabled except Monday and Wednesday. Since Friday is not enabled, the added range for Friday will not be effective & thus no dates would appear for Fridays:
For Monday, the fixed time slots fall between 10 AM to 2 PM. If a customer selects Monday, 20th September 2021, then they will be displayed those timeslots only:
For Wednesday, we have set time slots bookable from 8 AM to 8 PM. However, on Wednesdays, the customer will get to view all the fixed time slots from 9 AM to 6 PM because of our main bookable time. The range added will not be effective. For instance, the second date & time is selected as Wednesday 22nd September 2021:
Conclusion
This feature will help you manage time availability for different Time-based bookings & services that you provide on your WooCommerce store!