Select Moodle version:

Activities: Scheduler

An appointment scheduler for planning face-to-face meetings between teachers and students. Teachers can set up time slots, and students can choose one of these on Moodle.
Maintained by: Picture of Henning Bostelmann Henning Bostelmann
for Moodle
2.0, 2.1, 2.2

The Scheduler module helps you in scheduling appointments with your students. Teachers specify time slots for meetings, students then choose one of them on Moodle. Teachers in turn can record the outcome of the meeting - and optionally a grade - within the scheduler.

Group scheduling is supported; that is, each time slot can accomodate several students, and optionally it is possible to schedule appointments for entire groups at the same time.

This is a migration to Moodle 2.x of the Scheduler 1.9 module, maintained by Valery Fremaux.

Please note that minor updates to this module will normally be released on github only.

For discussion about the module, please see the Scheduler forum on


Picture of Henning Bostelmann
Henning Bostelmann (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Henning Bostelmann
    Wed, Dec 11, 2013, 5:45 AM
    @Steven Malikowski
    For the number of slots available, there's now a global configuration setting (scheduler_maxstudentsperslot). The default is 9 but you can increase this if you wish. This is available in the MOODLE_23_STABLE and MOODLE_25_STABLE branches. For Moodle 2.4, you would use the MOODLE_23_STABLE branch.

  • Picture of Steven Malikowski
    Thu, Dec 12, 2013, 12:22 AM
    Thanks very much. I'll pass that on to our 'Moodle Service Provider'. This small change will make a big difference for us.
  • Peacock
    Thu, Dec 12, 2013, 4:38 PM
    As a teacher, tested scheduler in 2.6. Whenever I click the scheduler added to my course page, I get a blank page . I'm able to see the slots scheduled and tabs for adding and deleting slots when my course page is on editing mode! No issues in 2.5.
  • Picture of Henning Bostelmann
    Fri, Dec 13, 2013, 9:45 PM
    @Dr. Indira Koneru
    Try the latest version from github, where this problem has been fixed.
  • Picture of Александр Козлов
    Mon, Jan 20, 2014, 5:37 PM
    in version 2.5 found an error in the execution of cron
    I think it is connected with your plugin

    "Processing customized cron scripts ...Processing cron function for local_reminders...
    ... started 12:49:21. Current memory use 77.8Мбайт.
    [Local Reminder] Time window: Пятница, 17 Январь 2014, 06:40 to Понедельник, 20 Январь 2014, 14:49
    [Local Reminder] Found 54 upcoming events. Continuing...
    !!! Error reading from the database !!!"

    sorry for my english
  • Picture of Henning Bostelmann
    Mon, Jan 20, 2014, 7:16 PM
    The plugin "local_reminders" is not mine; this page is for mod_scheduler. Instead please see
  • Picture of Michael Milette
    Mon, Jan 27, 2014, 2:27 AM

    Hi Nenning,

    Thanks for making this very useful plugin available to the Moodle community.

    Please note that I created CONTRIB-4845 tracker issue to request that an issue where the use of print_continue() in Scheduler is causing a deprecation warning to appear on the Statistics pages when debugging is turned on.

    According to the message, $OUTPUT->continue_button() should be used instead.

    Best regards,

    Michael Milette
  • Picture of Michael Milette
    Mon, Jan 27, 2014, 2:13 PM
    Just noticed... sorry for the typo in your name above Henning.
  • Picture of Jona Turner
    Tue, Jan 28, 2014, 5:03 PM
    Hi Henning,
    Thanks for the great plugin. We're using it quite a lot.
    However - a potential feature request - is there any way to book a timeslot with a room rather than a teacher? This is much requested at the moment and I think that this plugin works and looks a lot better than certain other specific room booking plugins, (It would also mean teachers don't need to learn another plugin).

    Hopefully this is an easy feature to implement (or an easy workaround that someone is aware of)?

    Many thanks
  • Picture of Henning Bostelmann
    Tue, Jan 28, 2014, 7:36 PM
    Hi Jona,
    no, this isn't a current feature (and I'm not currently planning to add it on the short term). However, you may want to comment here:
  • Picture of Luis Perez
    Mon, Feb 17, 2014, 3:12 AM
    Hi Henning:

    I installed the module without any problem in moodle 2.52. I entered the information required to use the module in one of my courses but when I pulsed the button Save and Display, got the following error message
    [an error occurred while processing this directive]. What are the possible causes and what should I do to solve it?

    Thanks, Luis
  • Picture of Henning Bostelmann
    Wed, Feb 19, 2014, 6:43 AM
    Hi Luis,
    sorry, I haven't ever seen this error message before. It might have to do with the file permissions in your Scheduler installation. If that doesn't help, would you mind opening a ticket on the Moodle Tracker and add some more details - exact version of Scheduler (from mod/scheduler/version.php), PHP version that you use, operating system and version?
  • Picture of Michael Milette
    Thu, Mar 20, 2014, 9:23 PM
    Hi Henning,

    Just wanted to let you know that I submitted a Pull Request #13 on Github. See:

    The patch addresses several issues including:
    - Minor bug fixes
    - Support for multi-lingual text in the location field.
    - Correction of some typos in English.
    - Addressing issues to make the student facing pages WCAG 2.0 level AA compliant.
    - Correcting a couple of HTML validation issues
    - Replacing some hard coded CSS styles with classes

    Let me know if you have any questions or concerns with these changes. Hope they can be integrated into future releases of this great plugin.

    Best regards,

    Michael Milette
  • Picture of Michael Milette
    Thu, Mar 20, 2014, 10:18 PM
    Hi Henning,

    I was testing out the code in Moodle 2.6. For the most part it works very well. However I could not figure out how to cancel an appointment. If I make an appointment as a student and save, it all works fine which is confirmed when I got back to the page. However if I then click on the "Drop my appointments" link at the bottom of the page, it:

    1) Gives me a page that looks identical to the "Schedule an appointment" page except that it does not show my booked appointment which is very confusing.

    2) Lists available time slots instead of just my booked appointment which, by the way, says is still an available slot even though I had previously booked it.

    3) Even if I then select the time slot and click the "Save my choice" button, it still doesn't un-book my appointment.

    As it looks like you included the functionality, I'm sure this was not your original intention. If you don't mind, I have a suggestion to improve the usability aspect of your fine plugin.

    Personally, I recommend SOLUTION A as I believe this would result in the best UX and requires the least amount of work on your part.


    This is the simplest solution of the three proposed here, also requiring the least amount of effort to implement. It also produces an easy and clear UX solution.

    Since as you can only book one appointment per activity instance at the moment, it would make more sense to me if you:

    1) Replaced the "Drop my appointments" link with a button called "Drop my booked appointment" and placed it next to the "Save my choice" button. Naturally this button would only be visible if you already had a booked appointment.

    2) Replaced the list of appointments on the "Drop my appointments" version of the page with a confirmation box listing the appointment to be dropped and asking the user to confirm that they really do want to drop it. Buttons would include "Drop appointment" and "Cancel".

    If your intention is to allow students to book more than one appointment at a time, then the radio buttons should really be checkboxes. In that case, see SOLUTION C below.


    This is the most versatile solution of the three proposed here but also involves the most work. The resulting user interface is a little more complex than the one proposed in SOLUTION A but makes it easy for students to get an overview of their appointments in an environment where they might have multiple.

    If your intention was not to just list the appointment for the activity but rather your appointments for all of your booked activities, then the solution would be:

    1) Replace the "Drop my appointments" link with "View all my booked appointments" button.

    2) Replaced the list of appointments on the "Drop my appointments" version of the page with list of all of the users booked appointments, not just the ones for this activity. The user could then choose which appointment they wanted to manage. At the bottom of the page, there would be two buttons. One would say something like "Change this appointment" and the other would say "Drop this appointment.

    The "Change this appointment" button would take you to a screen where you could change your booked appointment for the related specific activity which is not necessarily the one you were in in the first place.

    The "Drop this appointment" button would take you to a a confirmation box listing the appointment to be dropped and asking the user to confirm that they really do want to drop it. Buttons would include "Drop appointment" and "Cancel".


    This solution just takes what you already have but makes it work. It is a little more work than SOLUTION A above since you still need to implement it as well. However it is less work than SOLUTION B. The user interface for this solution may still be confusing to users as it results in an extra step which is unnecessary.

    This means modifying the "Drop this appointment" version of the page to better reflect it's functionality, list only the booked appointment and change the wording of the button at the bottom to "Drop appointment".... oh, and make it actually drop the appointment of course.

    Let me know if you have any questions.

    Best regards,

    Michael Milette
  • Picture of Henning Bostelmann
    Fri, Mar 21, 2014, 6:03 PM
    Hi Michael,
    i just tested this on the latest version; for me dropping appointments works as intended. If it doesn't work for you, please feel free to file a bug report on the tracker (, including precise steps to reproduce if possible. If you need general advice, please also see the discussion forum ( (The "comment" functionality here isn't so great for structured discussion.)
1 2 3
Please login to post comments