The next release for Booking & Appointment plugin for WooCommerce, v4.1.0, is the first one in a series of updates making the plugin more feature rich and compatible with third party plugins. The expected release date is 24 July, 2017.
Below is a summary of the changes in this update:
- Revamped the Fixed Blocks and Price Ranges tabs in the Booking Settings
- Modified the plugin to use templates for the booking div
- Added the ability to modify the booking details on Cart and Checkout pages
- Added the ability for customers to reschedule bookings
- Completely refurbished the way manual bookings are created
- Made the plugin compatible with WooCommerce Subscription(using an addon)
The development for this update started after we released version 4.0.0 in mid-June. Version 4.0.0 was in a way, a starting point for the changes that are to come. Version 4.1.0 contains changes mainly related to editing the booking details by the customers, be it on the Cart and Checkout pages or after they have completed placing their orders. Along with that we have continued to improved the Booking Settings UI at the backend.
This update also contains some DB changes and hence it highly advisable to take a backup of your site before updating. Please test on a staging site if possible before updating.
Below are the details for each of the points mentioned above.
1. Revamped the Fixed Blocks and Price Ranges tabs in the Booking Settings
As you are already aware, 2 different pricing options are provided for bookings spanning multiple nights, namely Fixed Blocks and Price Ranges. Earlier each of these pricing option settings were available in different tabs.
But they have now been merged into a single tab as Block Pricing. The tables will be displayed based on the Pricing Option selected.
Until this release, the blocks and/or ranges were saved in custom plugin tables. From now on, they will be saved in the post meta table just like the other plugin settings.
2. Modified the plugin to use templates for the booking div
The plugin displays the booking fields on the front end product page in a div. Since we have now decided to allow the admin/user to modify the booking details at multiple places throughout the order life cycle, it became imperative to reuse the same code as much as possible to ensure uniformity. Hence we modified the code and created templates for each of the steps and reused the templates at all the places where the admin/user can modify the booking details.
The templates can be found in woocommerce-booking/templates/booking/ folder.
3. Added the ability to modify the booking details on Cart and Checkout pages
In the current version, if a bookable product has been added to the Cart and the user wishes to modify the booking details, he/she would have to remove the product from the Cart and again add it back with the new details.
This was a time consuming process, hence we decided to simplify it. We are now providing the user the ability to edit their booking details on the Cart and Checkout pages itself.
Once you click on the button, a pop-up will be displayed using which the details can be edited as desired.
4. Added the ability for customers to reschedule their bookings
The plugin now allows the customers to reschedule their bookings after an order is placed. This can be achieved from the My Account page. Settings have been provided using which the site admin can decide if rescheduling should be allowed or no and if yes, up to how many days in advance.
Once the booking is rescheduled, the site admin and customer receives an email notification with the updated booking details.
5. Completely refurbished the way manual bookings are created
Until now, the site admin could create manual bookings using the WooCommerce->Add Order page. When a bookable product was being added to the order, the booking details could be added as item meta.
In a scenario where the admin wished to modify the booking details of an existing order, he had to remove the item from the order and add it again with the new details.
This was a tedious and complicated process and caused the site admin quite some problems. Adding to that, the WooCommerce 3.0.0 release, broke the feature completely.
So now, we’ve created a new page which allows the admin to create an order.
This page also allows the admin to create a new order entirely for the bookable item or add the bookable item to an existing order.
The existing View Booking link in WooCommerce->Edit Order page has now been modified to Edit Booking. Since v4.0.0 we have started saving each booking as a post. This Edit Booking link displays the booking post. The site admin can edit the booking status, quantity and booking details for the product as desired.
6. Made the plugin compatible with WooCommerce Subscriptions
This compatibility is not a part of the core plugin update 4.1.0. It will be released as an addon in the next few days.
- Customers will get next Booking slots for their renewal orders based on the subscription periods.
- Moreover in case of manual renewals users will get the options to edit the bookings on Checkout page.
- Subsequent renewal orders will have the new booking details.
More details on this will follow soon in a separate post.
Along with these changes, we’ve now registered the bookings as a custom post type. As of now, the custom post type is not being displayed publicly. Hence you will continue to see the Booking menu as is. However, the plan is to make the custom post type visible in the next update.
We have had a few clients come to us with load issues for the Booking->View Bookings page in the admin. This is mainly because as the number of bookings cross the 10k mark, pulling data from the custom plugin tables and displaying it on a single page causes these load issues. Over the last few updates (before v4.0.0), we tried to minimize these issues by modifying the way the DB is queried and so on. However it was not a full proof plan and we knew that at some point in the near future, we would have to start looking for other options.
This is where bookings as a custom post type comes into the picture. Once we start saving bookings as posts it will become easier for us to add/edit/view the bookings.
You will continue to see changes along these lines and many more in the coming updates. In case if you wish to see any new features included in the plugin, please drop us a comment below.