Product Icon

WooCommerce Bookings

Allow customers to book appointments, make reservations or rent equipment without leaving your site.

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.

Author

Current Status

Open

Last updated: May 24, 2014

13 comments

Log in to comment on this feature request.

  1. kamryn6666 says:

    If you are a personal trainer, you need to provide your clients with certain music for them to listen to and enjoy. the track I recommend https://dzwonkimp3.com/

  2. Marco says:

    The ability to book multiple blocks on different days would be a massive step forwards for the pluggin !
    I need my clients to be able to book all their classes at once !

  3. Fred says:

    We need this too, as soon as possible. Thank you!

  4. Anonymous says:

    This should definitely be possible. I am building a site for a fitness instructor, and they need to allow people to book one-off sessions, or an entire month at once. Without this functionality, Bookings is essentially useless for our purposes, and I’ll have to go looking for another solution.

  5. Bruce Sexton says:

    Oh, that would be so beautiful to have and save my clients and myself heaps of time. Thank you

  6. Aiden Berzins says:

    Yes! It is so frustrating to tell clients they need to go and select all time slots rather than it just being an option to book out all of them in one go. It adds too much friction the way it is currently set up.

  7. WCC says:

    I am in a similar situation: A single course of instruction may be 8 hours, but needs to be broken up into multiple two-hour blocks, either because the customer will not have the endurance to complete the entire eight hours in one go, or because (in my case) some of the work is to be done in a classroom and some in the field. When a customer purchases a class which I have configured for a maximum of 4x 8-hour blocks, the customer should be able to continue selecting start- and end-times on the calendar (on different days as desired) until the customer has scheduled all desired blocks or has scheduled the maximum number of blocks.

  8. Nagui Bihelek says:

    Similarly with running online classes or in person coaching sessions.
    When someone buys a program which has multiple weekly sessions they should be able to book these at time of purchase.
    Admin should be able to set product details to show that this requires 1 number of dates to be booked. Admin can also specify if price is for full series or by each time slot/block.
    On front end, the client should be able to select weekly, fortnightly (bi-weekly), etc.
    Also client should be allowed to edit some of these in case they have conflicts of their own. That way they can make sure all dates booked are available for themselves and their coach.
    Once completed, please do not provide multiple invitations for each session, only one with recurring event and the specified dates.
    This would be awesome.
    Thanks in advance.

  9. akal says:

    5 years waiting for that… any news ?

  10. decomplexity says:

    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.

  11. David says:

    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-665×365.png and https://theeventscalendar.com/content/uploads/2014/12/Screen-Shot-2015-09-02-at-10.53.57-AM-665×154.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 

  12. Tyler says:

    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.

  13. Jo Myers says:

    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.

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.