Appointments with WooCommerce Booking & Appointment Plugin
In the last article we saw how you can Sell Appointments with WooCommerce only with recurring weekdays. This article will further explain how to sell appointments with Specific Dates and the other way would be a combination of both Specific Dates and Recurring weekdays.
Specific Dates means a schedule that is not fixed or does not follow a fixed pattern. For example, I could have only 19th August, 24th August, 25th August & 29th August 2015 as available. But those are not recurring, so I want only these 4 dates to be available for selection in the calendar. We can do that using Specific Dates booking method.
A combination of specific dates & recurring weekdays is one where you do have a fixed scheduling pattern, like you do take appointments from Monday to Friday. However, on one odd weekend, you decide to take appointments for Saturday & Sunday too, let’s consider 22nd August & 23rd August 2015 too. However, I do not want to repeat this for every weekend. It’s only those 2 dates, 22nd & 23rd August 2015 where I wish to take appointments for and still continue the regular Monday to Friday schedule. In such a case, I would select both booking methods, Specific dates as well as recurring weekdays.
Appointments with WooCommerce: Admin Experience
We will take the same example as the last article i.e for a doctor’s appointment setting.
The first step will be creating your appointment product. You can do that from the Products -> Add Product link. On the same page, you would also find the Booking meta box that allows you to setup your appointment. Then you have to do some general booking settings.
Under the “Booking options” tab, I have selected the Enable Booking Date. Under Select Booking Method, I have enabled Specific Dates. Here you need to select the dates you want to enable booking for.
We have selected 13th August, 14th August & 15th August 2015 as the bookable dates.
Once this is done, there is an option called Enable Booking Time in the “Booking Options” tab. You need to enable this in order to add time slots.
You can add new time slots by clicking on the “Add Time Slot” button. The Lockout time slot after X orders lets you give a number for maximum appointments that can be fixed in that particular time slot. Once the threshold is reached, it will lock the time slot so it is unavailable for further bookings.
The Price for the time slot field will let you add different prices for each time slot. I have already entered the price in the product settings and hence I left this field empty to avoid multiple calculations. You just have to set the From time & To time for each time slot and you are done.
The checkbox “Make unavailable for other products once lockout is reached” is left unchecked. It is used for cases where we have a single person providing multiple services. We will explore that in a different blog post.
Once you have added your time slots, you will need to click on the “Update” button.
All your time slots will be displayed in the Manage Dates, Time Slots tab. In our case, a total of 15 time slots were created i.e. 5 time slots for each of the 3 dates are displayed.
You can delete a time slot by clicking on the red cross icon. Currently we do not have the ability to edit a time slot. That will be added very soon in the plugin.
An appointment system must allow you to specify how much time in advance you want the appointment to be booked. You might not want the customer to book a slot for an appointment just few minutes before the actual timing.
The WooCommerce Booking & Appointment plugin allows you to do that by specifying the number of hours in the Advance Booking Period field. It is present in the Bookable Time Period tab. I have set it to 24 hours. It means that an online appointment booking can be done only 24 hours prior to the appointment date. So if you are trying to book today for today’s slot, you won’t be able to do that. You will have earliest booking of 24 hours from today, which would be tomorrow.
The Number of Dates to choose lets you determine the maximum number of days from today which you want to allow booking an appointment for. In some cases, this could be a month (30 days) or even a year (365 days). I have set it to 30 days, which means the calendar will have dates for a month from today to choose from. In this example, only three dates have been made available for booking so 30 days will display the month of  August and the available dates in that month.
Since this is a “Simple Product”, there aren’t any specific settings under the product data section. You just have to enter the basic details like the Regular price and Sale price. This will be used for all time slots.
Appointments with WooCommerce: User Experience
Once the above setup is created, my product page on frontend looks like below:
Once you select the appointment date and time slot, the “Add to Cart” button is visible. When you click on that button, the order is added to your cart and there is a button to “View your Cart”. On clicking that, you are redirected to the cart page which will show the appointment details.
When on the cart page, unless you don’t want to update your cart, you can go to the checkout page by clicking on “Proceed to checkout” button.
The checkout page will show the appointment date and time you have chosen and the total amount for your order. You can place your order if everything seems fine. Checkout page gives you a preview of the actual order. Please ensure you check everything and then click on the “Place Order” button.
After placing your order, the appointment details are shown on the Thank You page. Email notifications are sent to the customer and the administrator with the appointment details.
As I mentioned earlier, we will see how to do a combination of both recurring weekdays & specific dates. We need to follow similar steps as mentioned in previous article for “Recurring Weekdays” along with the above steps to have it working properly.
Once that is done & you have updated the product, you can then select the Specific dates booking method, select the dates & then add the time slots for those specific dates. This way, you can have different time slots for the specific dates. You need to do the same way if you want to have different time slots for any recurring weekday too.
Step 3:Â Click on the “Update” button and you are ready to go. This is how the frontend would appear, more or less the same like the previous one.
The benefit of the combination is that if you keep recurring weekdays from Monday-Friday and choose a particular weekend of that month for Specific dates booking, The entire month is available for booking with different appointment time slots and rates.
Conclusion
In the above example, I have shown the setup for booking an appointment with a doctor. Similarly you can setup appointments for massage centers, hair salons, therapists and so on with WooCommerce Booking & Appointment Plugin.
Specific dates help you set appointments for certain dates only. Say, there is a specialist doctor visiting your hospital for a weekend, you might want to keep his set of appointments separate and the regular ones separate. In such cases, appointments become hassle free and easily managed without any complications.
It is also possible to use this setup with WooCommerce Variations. The above example was for Simple Products only.
Since there is a need to create time slots, the setup took quite some time. It will take around 30 minutes to set the entire thing up and running.
The main advantage of this kind of setup is the ability to book a schedule that does not have a fixed pattern or insert odd dates for booking in middle of your fixed recurring schedule.
If you haven’t bought the plugin yet, you can purchase it from here.