Activities: Reservation

Maintained by BoboRoberto Pinna
This activity module permits to schedule an event with a defined reservation time.
799 sites
47 fans

moodle-mod_reservation Build Status

Reservation module

This module permits to schedule an event with a defined reservation time. The main targets of this module are schedule laboratory sessions and exams but you can schedule everything you want.

Teacher can define the number of seats available for the event, event date, reservation opening and closing date. A reservation may have a grade or a scale. Students can book and unbook a seat and add a note about this reservation.

After the event starts the teacher can grade the event. Students and teachers may will notified by mail.

Reservation list may be downloaded in various formats.

  • teacher can also define multiple sublimits for available seats basis on user profile fields;
  • reservation permits overbooking, also for sublimits;
  • teacher can manually reserve seats for other user;
  • teacher can send messages to reserved users;
  • admin can define which profile fields are shown in reservation list table in reservation module settings;
  • reservation can be connected to another reservation so students can reserve to only one of them;
  • managers and administrators can upload list of reservation through a CSV file;


  • v3.6
    • Full code revision
    • Added option to make Note field required
  • v3.5
    • Added Moodle Privacy API support
    • Fixed note display to students
  • v3.4
    • Disabled overbooking when no reservation limit is set
    • Added option to do not show reservation number to students
    • No time limit to manual reservation
  • v3.3
    • Update to Moodle 3.3
    • Added options in what student can view in reservation page (number, list and when)
  • v3.2
    • Added options to choose which calendar events must be created with reservation
    • Moved italian translation on AMOS
    • Fixed long sheet name in excel downloading error
  • v3.1
    • Added Global Search support
  • v3.0
    • Fixed compatibility with Moodle 2.7/2.8
    • Changed plugin icon
  • v2.9
    • Added support on activity completion with rule reserved


  1. Copy the plugin directory "reservation" into moodle/mod/.
  2. Check admin notifications to install.
  3. Done


The module is being maintained by Roberto Pinna

Thanks to

With thanks to various friends for contributing (Angelo, Matteo, Wiktor, Cecilia, Francesco). Thanks also to users who have taken the time to share feedback and improve the module.

Technical Support

Issue tracker can be found on GitHub. Please try to give as much detail about your problem as possible and I'll do my best to help.


Released Under the GNU General Public Licence


Screenshot #0


Roberto Pinna (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Majid Hussain
    Tue, Oct 9, 2018, 8:54 PM
    Hi Roberto.

    I have this plugin installed on a Moodle 3.3 site with PostgreSQL database server. I am using version 2017110300 of the plugin and when trying to add a new activity, I see the following error:

    Debug info: ERROR: invalid input syntax for integer: ""
    SELECT * FROM mdl_reservation WHERE id = $1
    [array (
    0 => '',
    Error code: dmlreadexception

    Stack trace:
    line 486 of /lib/dml/moodle_database.php: dml_read_exception thrown
    line 242 of /lib/dml/pgsql_native_moodle_database.php: call to moodle_database->query_end()
    line 776 of /lib/dml/pgsql_native_moodle_database.php: call to pgsql_native_moodle_database->query_end()
    line 1558 of /lib/dml/moodle_database.php: call to pgsql_native_moodle_database->get_records_sql()
    line 1530 of /lib/dml/moodle_database.php: call to moodle_database->get_record_sql()
    line 1509 of /lib/dml/moodle_database.php: call to moodle_database->get_record_select()
    line 231 of /mod/reservation/mod_form.php: call to moodle_database->get_record()
    line 204 of /lib/formslib.php: call to mod_reservation_mod_form->definition()
    line 97 of /course/moodleform_mod.php: call to moodleform->__construct()
    line 141 of /course/modedit.php: call to moodleform_mod->__construct()

    Please can you help with this?
  • Picture of Bligh Hedges
    Mon, Mar 4, 2019, 4:34 AM

    I have this plugin installed on a Moodle 3.6 site, and am having problems with sending out messages to all reserved students. I think that the error has to do with the deprecation of print_textarea() (

    Is there anyway to get this plugin to work with Moodle 3.6? (Can attach error_log but it is quite long).
  • Bobo
    Mon, Mar 4, 2019, 4:47 PM
    i'm working on it in these days. I hope I can release a new version this or next week.

  • Picture of Bligh Hedges
    Tue, Mar 5, 2019, 8:04 AM
    Hi Roberto,

    Great to hear, looking forward to getting the plugin back up and running again.

  • Picture of Bligh Hedges
    Wed, Mar 27, 2019, 4:30 AM
    Hey Roberto,

    Just checking around what time you think the update will be available, or if you know a work around. The site we have is live at the moment, and this plugin is used quite frequently by the lecturers.

  • Bobo
    Thu, Mar 28, 2019, 3:55 PM
    the 3.6 release it's out on
    If you want take the last release and help me to debug it you can get it from github.
    I'm still working on reservation plugin in these days.
    Next release on will be in May.

    Stay tuned.

  • Aaron Cauchi
    Thu, Mar 28, 2019, 5:40 PM
    What's new in 3.6 Roberto??
  • Bobo
    Thu, Mar 28, 2019, 6:02 PM
    Hi Aaron,
    3.6 is a full code review to meet latest moodle UI and structure.
    There's no new features, just small fixes and enhancements.
    I'm working now on new things: moodle mobile support and multiple rounds in a single reservation are the big news.

  • Picture of Bligh Hedges
    Fri, Apr 5, 2019, 4:17 AM
    Thanks Roberto,

    The team is testing the plugin now, will tell you if we come across any other big errors.

    Kind Regards,
  • Picture of Nicoleta Nae
    Mon, May 6, 2019, 2:45 PM

    Is there a way to take attendance for only for people that reserved a specific timeline, maybe creating a specific group automatically? We have several timelines to choose from and right now we see all the enrolled users.

    Thank you,
  • Picture of richard clason
    Sun, May 12, 2019, 10:23 PM
    I can seem to find where in moodle you can add the events and set up the callander
  • Picture of richard clason
    Tue, May 14, 2019, 1:01 AM

    every time I try to add a reservation get an error
    504 gateway time out
    any suggestions?
  • Bobo
    Tue, May 14, 2019, 11:56 PM
    Hi Richard,
    It seems a web server performance problem.
    You need to enable moodle debugging and take a look to error log.
    Then you can try to add a reservation and check any error message.

  • Picture of Filippo Caburlotto
    Wed, May 15, 2019, 3:49 PM
    Hi Roberto,
    thank you for this plugin. Just a question: is it possible to split reservation into sub-groups? For example I can fix 100 as a maximum number of reservation, but I'd like students should be organized into little groups of 4.
    Thank you in advance.
  • Bobo
    Wed, May 15, 2019, 5:16 PM
    Hi Filippo,
    sorry but you can't do it with reservation plugin.
    I think you can use something like choice group

1 2 3 4 5 6 7
Please login to post comments