Block Bookings on Woocommerce bookings
In the case of say a personal trainer or driving instructor, they should be able to take block bookings. For example, a client would go on the website and book Weds @ 7.30pm for the next 6 weeks and pay for all 6 weeks in 1 go, rather than have to book each week separately.
I would be content with a simpler version of this idea. Imagine a course made up of weekly sessions (e.g. each Monday 10.00 - 12.00 for 10 weeks). So the course itself (not individual sessions) is the product and the price of the course is assigned to the first session. I would simply like to be able to label the remaining sessions so that, looking at the calendar, it shows them as non-bookable and 'part of' the first session.
I'm not sure I'd describe my need as "block". More of a "pass". In the fitness space, it's quite common to offer a bulk class pass. Example: 10 class pass. One, discounted transaction grants the ability to book up to 10 classes. After the first transaction, no more is necessary until the quantity of classes has been reached. Still, the class can be booked so the studio has an idea of how many people are coming and to prevent overbooking.
On the admin side, there would need to be a way to manually enter a class as booked / attended in case someone showed up without bothering to book in order to keep proper track of remaining classes.
This feature could then also encourage further use with WooCommerce Memberships & WooCommerce Subscriptions, as this feature would mean an individual could purchase a subscription product which grants them membership that, upon activation of aforementioned membership, block books all classes the membership makes them eligible for, for the next month (or whatever the duration of the membership is). Enabling customers to pay monthly to be able to attend classes, weekly PT Sessions, or driving lessons. If such a feature existed this WooCommerce Bookings and WooCommerce as a whole would be opened up to a world more use cases, as well as making other great extensions from the Woo Themes team even more tantalizing.
I really suggest this one guys, I see from the documentation that it is possible to programmatically create bookings; adding this feature would be effectively just enabling people with little PHP knowledge, or those who just generally avoid coding actions themselves, to now create recurring or block bookings for their customers using whatever far simpler intuitive GUI I'm sure you would create for them to set the bookings up.
I personally don't know PHP but I'm going to guess what this feature may look like coded, so that I actually contribute something somewhat useful to the developers who will read this, other than my purchase..
Example: on frontend customer selects 'recurring booking' checkbox option, they then select the recurrence rules. This may look something like setting up recurrence rules in the Events Calendar plugin by Modern Tribe. So.. https://theeventscalendar.com/content/uploads/2014/12/Screen-Shot-2015-09-02-at-10.47.21-AM-665x365.png and https://theeventscalendar.com/content/uploads/2014/12/Screen-Shot-2015-09-02-at-10.53.57-AM-665x154.png
Or this could be used as inspiration for the bank end design for setting up recurrence or block booking ‘packages’
After this is selected, let’s say the user chose a start date of today so.. (2016-10-08 20:00 – 21:00) and end date of 2.5 months from now so they get 10 weeks of this bookable product at this time, then for recurrence rules selects every week. Then the code could be something like..
For booking in range (start-date, end-date, 1 week):
create_wc_booking( $product_id, $new_booking_data = array(), $status = 'confirmed', $exact = false )
$defaults = array(
'product_id' => $product_id, // Booking ID
'start_date' => '',
'end_date' => '',
'resource_id' => '',
And then maybe create some kind of parent booking or order or special unique tag, so if the entire block needs to be deleted, or replaced it can be done so in one hit,
And then to put the cherry on the cake if one booking could be broken from the series, let’s say the student or teacher is ill and therefore desires to reschedule just that one booking for the next day.
Kinda wish I worked at WooThemes or actually just knew PHP I would try and code this stuff and put it on github as a mini-extension or something.
But this plugin has got a heck of a lot of potential, people pay so much for solutions that don’t even touch this. This feature, and some of the others I’ve seen on ideas.woothemes.com are just killer. I’ve become a little carried away in this comment aha, it’s become a little long
Good luck guys
Jo Myers commented
Must agree with this idea, because I was searching all over for a plugin with this functionality. It can be time consuming and a bit of a turnoff for customers who want to book multiple sessions if they have to book each one individually especially if the bookings are in January and then March for example.
Rodrigo Soares commented
Jess had a great idea! I totally agree with him, it would be nice to have such a flexibility.
Jess Messervey commented
To expand on this idea -- even more flexibility! It would be nice to see clients have the ability to select multiple days from the week and multiple time blocks. It would be very useful for "package-like" bookings.
Example: Two sessions/bookings a week - Wednesday @ 4:00PM & Fridays @ 1:00PM
Example: Three sessions/bookings a week - Tuesday @ 9:00AM, Wednesday @ 2:00PM & Saturday @ 5:00PM