Activities: Booking

Maintained by it's meDavid Bogner
The module is perfect for managing participants and subscription of online and offline courses and events.
825 sites
85 fans

This plugin needs funding. If you rely on it, then consider a support contract so you can use it in the future as well. There are a lot of necessary tasks to be accomplished in order to keep the module working and up to date.


Version for Moodle 3.8 is not yet funded. If you use this plugin consider a maintenance/support contract in order to have a working module for your next Moodle upgrade! Contact info (at) for further information.


  • Implement automated testing
  • Upgrade from custom availability to Moodle availability API has to be done
  • Replace YUI Javascript framework with JQUERY framework (YUI is not developped anymore)
  • Provide documentation (only a part of the features are documented)
  • Language optimization (German language support lacks some strings)
  • Additional features

Recent contribution:

  • Automn 2018: Added Moodle mobile support. Added GDPR API.
  • Spring 2018: Moodle 3.4 suppport added, new features to add notes to bookings and to send ical fiels separately and to choose which data is used for the ical-field location. Several bug fixes.
  • Automn 2017: Sign-In Sheet download form with new download options, Customizable fields to display in the sign-in sheet and other areas, Improved editing of session times, Include session times in confirmation mail, and much more
  • July 2017: Transfer users to other booking option within a booking instance. Support for Moodle 3.2, 3.3 and Boost theme added. Bug fix when status changed from waitinglist to regularly booked in order to automatically subscribe users to the associated course. Design improvements, replace YUI framework with JQuery and AMD.
  • April 2017: New features added: sign-in sheet customization, custom fields for booking options funded by Lesterhuis Training & Consultancy
  • February 2017: PostgreSQL is available again! Thanks to funding of University of Applied Sciences Würzburg-Schweinfurt
  • January 2017: Added completion settings based on rating and added rating feature for bookings. Thanks to funding of the University of Coventry
This is a powerful booking tool, that provides a lot of features. It is perfect managing course bookings, or bookings of events, that are not associated with a moodle course. Some of the features are:
  • Max participants
  • Waitinglist
  • Automatic course subscription
  • Automatic group subscription and creation of groups
  • Confirmation mail
  • Download userlist as xls or ods
  • Cancellation system
  • Subscription period
  • Accept terms and conditions
  • Custom messages
  • Bulk subscription management
  • Assign teachers to be able to manage a single booking option
  • Sign-in Sheet as PDF (for print)
  • Custom fields for booking options
  • Activity completion
  • Rating and Grading
  • and a lot more.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3


it's me
David Bogner (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • it's me
    Sat, Apr 4, 2020, 10:49 PM
    @Antoine: Please write to

    @Mike: I do not think I understand correctly. You can add the booking activity in the main menu on the frontpage or as activity on the frontpage (Maybe stealth activity). Then you can link there from anywhere. Also you could create a course with open access, that is reserved for bookings, and have the booking activity placed there.

    Concerning: Single activity booking: You could make courses in "Single activity format", that's a course format, that transforms a course into a single activity.

    You cann add multiple fields to a booking. You have to have a closer look at booking instance settings and also in the overall admin settings of the booking module at site admin level.

    Not sure, if that answers your questions...

    Kind regards,
  • Picture of Doug Henner
    Tue, Jun 9, 2020, 11:07 PM

    ...probably this is not a bug, but I need some help here

    I want make the visibility of a section in a course subject to if the user has registered via
    the booking plugin. So I creaed a booking element in an instance of the booking plugin in the
    same course. Then I set a restriction in the config of the section:
    Show only if "booking-instance"-name is marked as complete.
    Now user register. We mark their registration as complete.

    however, wether a user has made a bookig or not. The section always gets shown.

    How can I use a restriction of the booking plugin here in order to
    to handle the visibility of another element...?

    I tried to describe this here as well

    ...would be grateful, if you can get me started !


  • it's me
    Tue, Jun 9, 2020, 11:33 PM
    Hi Doug,
    I answered in the forum.
    Kind regards,
  • Picture of Diego Levental
    Fri, Jul 10, 2020, 9:45 AM
    Hello DAvid. thank you very much.
    I have to put a booking for aircraft flight reservation system for practice and learning.
    I have 5 aircraft and availability is from Monday to Friday from 1 p.m. to 6 p.m.
    How can I make each student select a plane, day and time? And also, that another student cannot reserve that same plane, day and time if already reserved.
    So far from what I saw, I would have to generate all the reservations on all the planes, all days and times and list them.
    Ej> For Monday i have: Option Booking #1: Aircraft1 - Jul 14th - 1 pm.
    Option Booking #2: Aircraft1 - Jul 14th - 2 pm.
    Option Booking #3: Aircraft1 - Jul 14th - 3 pm.
    Option Booking #1: Aircraft2 - Jul 14th - 1 pm.
    Option Booking #2: Aircraft2 - Jul 14th - 2 pm.
    Option Booking #3: Aircraft2 - Jul 14th - 3 pm.
    There are other option ?
    Other way?
  • it's me
    Sun, Jul 12, 2020, 4:32 AM
    Hi Diego,
    the module was programmed for courses and trainings, that have a start and end time, but it could also cover your scenario. My suggestions would be to create a booking instance per plane and day. The booking options would be the time slots available. Other possibility: One booking instance per plane, then you create for each time slot a booking option for all days available. Use the template feature to create the options fast.
    Kind regards,
  • Picture of Diego Levental
    Sun, Jul 12, 2020, 7:01 AM
    Hi... DAvid !!1 very thanks !!! I don't know how use slots availables in the 1er way.
    In 2do way you refer a template using TAG templates? I found tag templates but i not know how i put in the instance for this as select by the user. Can you help me? please...thanks so much!!
  • it's me
    Mon, Jul 13, 2020, 5:54 PM
    Depending on your theme, you find this in the action menu icon when you are in an booking instance. (usually a cog wheel).
    Kind regards,
  • Picture of Diego Levental
    Mon, Jul 13, 2020, 8:28 PM
    Nice DAVID. I use instance for PLAIN + DAY , and in the options put the hour. I found a option "Multiple dates session" , i can put in the options, but this will be use for the select by the users?
    And the other cuestion, can i connect with Paypal module, for when they booking, the users will be to pay the reservation. This it is possible?
    And it is imposible, how i can Admin the payments in the reservations? I need to put in a reservation, it is payed or not.
    VERY Thanksss !!!!
  • Picture of Julien Legond
    Wed, Jul 22, 2020, 11:54 PM
    Hi David,
    I really enjoy your booking plugin. It's gonna save a lot of time for my team to organize training sessions more efficiently! Thanks again.
    However, i was trying to figure out how a user (not a manager or teacher with the full good rights on your activiy) is able to book for another user?
    For instance, i defined a Mentor role who should be able to book instead of the user if the user didn't do it by him/her-self.
    In the fine grained rights you added the right : "Make bookings for other users".
    If i log into Moodle with the such granted user with that role (so that right among all), i'm not able to book for anyone, because i don't have any icon mixed
    Did i miss or misunderstood something on that usage?
    Capture here : (available for 1 week)

    Thanks a lot for your reply wink
  • it's me
    Thu, Jul 23, 2020, 2:03 PM
    Hi Julien,
    basically you have the right permission set. What version do you use? There has been a version, where the button for subscribing other users was not visible, but should be in the most recent version. You have to click on the cog wheel see screenshot:
    Kind regards,
  • Picture of Julien Legond
    Thu, Jul 23, 2020, 3:25 PM
    Hi David,
    Hum i see... I have this context menu as a Manager. The thing is, i was hoping (because you have the single right about "book for other users") that a user without any other rights than "booking for him/her-self" could have that additionnal right individually added in a specific role.
    Because as i see on your screenshot, user will be able to "book for other users" but also "Edit this booking option", "Edit teachers"...etc

    In other words, if I want someone to only be able to book for him/her-self and for his/her mentee (and no editing capabilities at all), and i give him/her the role with only these booking capabilities, i don't have the gear icon on the top right with the context menu at all mixed
  • it's me
    Thu, Jul 30, 2020, 5:37 PM
    if that's the case, then it is a bug. The icon should be visible with the appropriate rights. I will fix that for the next release.
    Kind regards,
  • Picture of Julien Legond
    Fri, Sep 11, 2020, 8:10 PM
    (sorry for my late reply)
    Thanks David!
    I tried on a Moodle set up with a PgSQL Database. I have the same issue. I did what you explain in your documentation regarding the overide role rights. Nothing changed. I still don't have any context menu for my mentor to only book for their mentee mixed
    I hope you will find the bug or maybe i miss something.
    Kind regards,
  • Picture of Bruno DA
    Sun, Oct 18, 2020, 4:36 PM
    I created some active bookings, but the option to book is no were to be found!

    I get this: "Booking is not possible for your user role. Please contact the site administrator to give you the appropriate rights or enrol/sign in."

    I'm using my admin account to manage the bookings, so the option should be available...

    I lost already hours and cannot sort this.

    Thank you
  • it's me
    Sun, Oct 18, 2020, 6:01 PM
    Hi Bruno,
    there is a permission you have to set to "allow" for each role, not matter if you are admin or manager. Usually this is set to allow for students: mod/booking:choose
    So you have to get the permissions right for your role.
    Kind regards,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Please login to post comments