Activities: Booking

Maintained by it's meDavid Bogner
The module is perfect for managing participants and subscription of online and offline courses and events.
763 sites
86 fans
Current versions available: 9

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


  • Picture of Michael Milette
    Tue, May 29, 2018, 9:37 AM
    Note to others: If you are using Moodle 3.4 or later, do not install this plugin until it has been updated to support Moodle 3.4+. I installed the plugin and it didn't really work (added nothing to the calendar). There were other issues too. Uninstalling it was also very problematic, displaying many errors with debugging set to developer mode. Looking forward to seeing support for this plugin in Moodle 3.5 in the future.
  • it's me
    Tue, May 29, 2018, 2:19 PM
    @Michael Milette: could you please post the issues at as described in the description of the latest release. Comments like this are really not helpful and I can not reproduce your statements. If you really want to help, than please do this in a proper way. Thank you. Maybe you do not have a compatible system....
  • Picture of Rob Johnson
    Sat, Jun 2, 2018, 6:40 AM
    Hi David,
    Can a custom field be populated via the csv import?
  • it's me
    Mon, Jun 4, 2018, 3:12 PM
    Hi Rob, if you mean the fields that can be configured in the site administration. Then these can not be imported. Kind regards, David
  • Picture of Clement Herr
    Fri, Jun 22, 2018, 4:02 PM
    Hi David,
    I am looking into e-mail notifications and posted an issue on your Github.
    I also had a question because I'm not sure if this was a feature : are notification e-mails sent (with icalendar attachment) to users if the date of an existing booking option is changed ?
    Thanks again
  • it's me
    Sat, Jun 23, 2018, 1:02 AM
    Hi, Clement Herr. I fixed the issue posted on github. There is no feature for e-mail notifications when a booking option date was changed. But you can always contract me if you want to add that feature. Kind regards, David
  • Picture of Jurgita Rimkiene
    Mon, Oct 8, 2018, 3:02 PM
    Hi David,
    When I download the sign in sheet the font does not sow the Lithuanian letters. How can I change the font the sign in sheet?
  • it's me
    Mon, Oct 8, 2018, 3:17 PM
    Hi Jurgita,

    thank you for your question. In fact this is a known bug and has been fixed with this issue: I will release the new version with the fix this week here in the plugin database.

    Kind regards,
  • it's me
    Sun, Oct 14, 2018, 2:37 AM
    Hi Jurgita,
    the version, that provides support for your language is available now. Please give feedback, if it works.
    Kind regards,
  • Picture of Jurgita Rimkiene
    Mon, Oct 15, 2018, 1:50 PM
    Hi David,
    thank you for help. It seems to be working, just there is still problem with the title of booking - it is still not good.

  • Picture of Marko Marko
    Tue, Oct 16, 2018, 6:13 AM
    Hi David,

    I have a list of booking options for my students where they can pick only one, so I setup to 1 on the section "Max current bookings per user". The help button claims this "The maximum of number of bookings an individual user can make in this activity at once. After an event end time has passed, it is not longer counted against this limit."

    After the end time of the booking option has passed, the student can't book because they booked in another one previously.

    Thank you for this great plugin, and I appreciate the time to check this issue.

    All the best!
  • Picture of Rob Johnson
    Sat, Oct 27, 2018, 5:12 AM
    Hi David, One of my schools is using the connected booking option to copy students from a Wednesday booking to a Tuesday booking for tutorial sessions. These tutorials happen on a weekly basis. When users are transferred, they go to the previous week's booking instead. I have looked at the database, and the connected booking ID's are correct. Is there any other place I should look to try to figure out why the mapping is not correct?
  • Picture of Rob Johnson
    Tue, Oct 30, 2018, 12:22 AM
    Hi David, Another issue we are seeing with Connected Bookings is if there are allready users booked into sessions when the connected booking is set, the option to copy users does not appear for teachers. Should I report this as a bug or was this intended?
  • Picture of Nico Hang
    Fri, Nov 30, 2018, 4:53 PM
    Hey David,
    Thank you for your great Plugin!
    One Question: When i duplicate the Activity, then all Institutions I've created get duplicated as well. Is this intended?
  • Picture of ali niciejewski
    Tue, Dec 4, 2018, 6:41 AM
    Hello All,

    I have recently updated to moodle 3.5.3 and upgraded all my plugins as well. When I try to update the booking plugin I get the following error:

    Error writing to database

    More information about this error

    ×Debug info: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'bt
    WHERE bt.optionid NOT IN
    (SELECT FROM m' at line 1
    DELETE FROM mdl_booking_teachers bt
    WHERE bt.optionid NOT IN
    (SELECT FROM mdl_booking_options bo
    [array (
    Error code: dmlwriteexception
    ×Stack trace:
    line 489 of /lib/dml/moodle_database.php: dml_write_exception thrown
    line 1139 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
    line 1787 of /mod/booking/db/upgrade.php: call to mysqli_native_moodle_database->execute()
    line 806 of /lib/upgradelib.php: call to xmldb_booking_upgrade()
    line 512 of /lib/upgradelib.php: call to upgrade_plugins_modules()
    line 1857 of /lib/upgradelib.php: call to upgrade_plugins()
    line 694 of /admin/index.php: call to upgrade_noncore()

    When clicking on more information, I see that increasing the max_allowed_packets can sometimes work. I have increased out max_allowed_packets for 1.3 gigs and nothing changed. I have also converted our InnoDB to Barracuda as the dmlwriteexception instructions say might help and still the same error message pops up when trying to update the plug in. What do I do next? We utilize this plugin daily and would be heartbroken if we lost it
Please login to post comments