Activities: Reservation

Maintained by Bobo Roberto Pinna
This activity module permits to schedule an event with a defined reservation time.
733 sites
34 fans
Moodle 2.2, 2.3, 2.4
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 will noticed by mail.

Reservation list may downloaded in several fomats.

- 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;


Screenshot #0


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

Comments RSS

Show comments
  • Picture of Giuseppe Pillera
    Tue, 10 May 2016, 7:24 PM
    Risolto finalmente tutto con l'aggiornamento del db. smile
  • Lina
    Tue, 28 Jun 2016, 4:16 PM
    Hi Roberto. Many thanks for providing this plugin to the community; its functionality is really appreciated by our staff and students, and we’re really grateful to you for your efforts to maintain and update it.

    On that note, please could I quickly query whether you have any plans to update the plugin to be fully compatible with Moodle v3.1, and its new Global Search feature in particular? To clarify: while we’ve tested the Reservation plugin under v3.1 and all of the core functionality seems to work fine, we’ve found that instances of the activity are not searchable via v3.1’s Global Search feature. Please see the following screenshot for details, which lists all of the available areas that can searched under v3.1 (note that these settings are available via: Site Administration -> Plugins -> Search -> Manage Global Search):

    Note also that the above screenshot was taken on a v3.1 system where the Reservation plugin is installed and available. However, as you can see, the Reservation activity is not listed as being available to be searched. Obviously, this is likely to be a significant problem/cause of confusion for users who might want to search for specific instances of the Reservation activity across Moodle.

    I’m not a developer, but my understanding is that mod plugins can be made searchable relatively easily via the addition of a new search class within the plugin’s codebase (located at ../classes/search/activity.php). Please see the following for further details:

    We really hope this search capability can be added to Reservation as I’m sure it would be a huge benefit to our users (as well as those of other v3.1 systems) and, again, many thanks for all your efforts to develop this plugin and share it with the community.

    Best wishes,
  • Picture of Valentino Santucci
    Tue, 20 Dec 2016, 10:06 PM
    Hi, I've discovered two small bugs. I provide the descriptions and the fixes in the following. Perhaps, it should be good to integrate them in the next realease.

    1) The option "Users can view requests list" doesnt work. The problem is a ">" instead of a "<" in line 878 of view.php as in the following:
    ($now < $reservation->timeclose) && (is_enrolled($coursecontext)))) {

    2) The list of teachers in the reservation settings shows also the managers inherited from the category where the course resides. A possible fix in mod_form.php is to replace the line
    if ($teacherusers = get_users_by_capability($context, $capability, 'u.*', 'u.lastname ASC')) {
    with these two
    $teacherRole = $DB->get_record('role',array('shortname' => 'editingteacher'));
    if ($teacherusers = get_role_users($teacherRole->id, $context)) {

  • Bobo
    Tue, 20 Dec 2016, 10:22 PM
    Hi Valentino,
    the first one is not a bug.
    Student can view request list, as for reservation number, only after the reservation time has expired.
    This is done because during reservation time the list numbering can change.
    A new feature for the next release could be to let the teacher choose when list or reservation number are shown.

    For the second I think could be useful to add a capability instead of using course one.

  • Picture of Valentino Santucci
    Tue, 20 Dec 2016, 11:10 PM
    Thanks for the reply. I think that the name of the option is misunderstandable. A lot of our teachers think that, setting that option, the request list should appear to every student at every time.

    To address the complaints I have now changed the if:
    if (has_capability('mod/reservation:viewrequest',$context) || (($reservation->showrequest == 1) && ($now > $reservation->timeclose) && (is_enrolled($coursecontext)))) {
    to this one
    if (has_capability('mod/reservation:viewrequest',$context) || $reservation->showrequest == 1 ) {

    Now, if the option is set, students can see the request list at every time. Moreover, also teacher/manager/admin can see the list if they switch the role to student.

  • Lina
    Mon, 20 Feb 2017, 5:56 PM
    Hi Roberto,
    Thanks for your contributions to this very useful plugin. We are using it for our staff training event booking.
    But I found that it won't send reminder emails to the user who has reserved the event. If we enable the "Create an event from start to end dates (the event)", all the students will have this event on their calendars. But what we want is just for the students who has reserved the event will have this event on their Calendar. Would it possible for your to provide this function?
    Many thanks.
    Best wishes,
  • Bobo
    Mon, 20 Feb 2017, 6:00 PM
    thanks for your suggestion, I will implement it as soon as possible.

  • Lina
    Mon, 20 Feb 2017, 6:37 PM
    Hi Roberto,
    Thanks for your prompt reply. I'll be looking forward to your update.
  • Bobo
    Fri, 24 Feb 2017, 3:54 PM
    I worked on a couple of requested features:
    - teacher can choose if reservation list or number will shown to the user at the end of reservation time or anytime
    - single user calendar events. When a user reserve in a reservation, a user calendar event could be added as a reminder.

    You can get them now, if you download Reservation module from, or wait 3.2 module version on for some other features.

  • Picture of Carl Dennis
    Tue, 9 May 2017, 9:32 PM
    Hi Roberto,

    I have teachers who want to schedule a great many events - they have some tutorial time every day, every week, for the whole course. I would like to make a lot of reservation events without making many hundreds of events. Is this possible?

  • Bobo
    Wed, 10 May 2017, 3:33 PM
    Hi Carl,
    you can't do it with Reservation plugin.
    I think can look at Scheduler ( plugin that it's developed also for that purpose.

  • Picture of Borko Kikić
    Fri, 9 Jun 2017, 9:36 PM
    I get this message
    Parse error: syntax error, unexpected '=', expecting ')' in C:\moodle\server\moodle\mod\reservation\locallib.php on line 615
  • Bobo
    Fri, 9 Jun 2017, 9:45 PM
    Please could you tell me which Reservation version did you use? You can find it in Adiminstration block ->Site Administration->Plugins->Activity Modules->Manage activities
  • Picture of Borko Kikić
    Thu, 15 Jun 2017, 2:57 PM
    It's 2017022101 version
  • Picture of Derek Hawkins
    Fri, 4 Aug 2017, 2:20 AM

    Has your module only been tested with MySQL or have you checked it with other DBs? Thank you.

    - Derek
1 2 3 4
Please login to post comments