Your Moodle version

Activities: Scheduler

Maintained by Picture of Henning Bostelmann Henning Bostelmann
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.

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


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


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, 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.)
  • Giovanni Marangelli
    Thu, May 15, 2014, 5:34 PM
    Hi Henning,

    I have found a little problem. If you try to setup schedule in a course in which there isn't yet a user with the role of teacher. There isn't a warning and moodle gave with an database error.

    Best regards,

    Giovanni Marangelli
  • Picture of Henning Bostelmann
    Thu, May 15, 2014, 5:41 PM
    Hi Giovanni, you're right, that's currenty a bug. It will be fixed in the next release of Scheduler (2.7 onwards). See .
  • Picture of Tyler Gilpin
    Wed, Jun 18, 2014, 11:13 PM
    scheduler for 2.7 ETA?
  • Picture of Henning Bostelmann
    Thu, Jun 19, 2014, 4:09 AM
    @Tyler: July to August. For a beta version, see the master branch on github. Don't use it on production systems yet!
  • Picture of Sebastien Jaffredo
    Tue, Jul 1, 2014, 4:56 PM

    A very useful plugin, thanks again for this piece of software.

    One question : I need to show the available slots to a guest user. That user won't have permissions to book, nor see the names of the users who made a booking. Is there a simple way to do this ?
  • Picture of Henning Bostelmann
    Mon, Jul 14, 2014, 7:39 AM
    Hi Sebastien,

    sorry, guest users are currently not able to use Scheduler at all (not even to see the available slots).

    In fact, only when a user is logged in, Scheduler can decide which slots are available to them for booking (as this might be user-dependent).
  • Picture of Luca Soncini
    Tue, Jul 22, 2014, 8:38 PM
    Hi everyone and thanks for this plugin.
    I'm testing it and moodle give me a db error:
    Debug info: Column 'userid' cannot be null
    INSERT INTO mdl_event (name,description,format,userid,instance,timemodified,timestart,timeduration,visible,eventtype) VALUES(?,?,?,?,?,?,?,?,?,?)
    [array (
    0 => 'Meeting with your Student, test paypal',
    1 => 'Test


    2 => 1,
    3 => NULL

    I added a teacher in the course, but it doesn't work.
    Do you have any suggestion?
    Thanks in advance,
  • Picture of Henning Bostelmann
    Wed, Aug 20, 2014, 1:50 AM
    Hi Luca
    sorry for replying late. If you're still interested, it would be important for me to know which version of Moodle and which exect version of the Scheduler plugin you are using.
  • Picture of Chester Folming
    Thu, Aug 28, 2014, 4:29 AM
    I would love to have this plugin for Moodle 2.7, is a release date scheduled..?
  • Picture of Henning Bostelmann
    Thu, Aug 28, 2014, 6:33 PM
    There is a (now fairly stable) beta version at (master branch) and I'm planning a release within a week or so.
  • Picture of Derek Henderson
    Wed, Feb 11, 2015, 12:52 AM
    Small bug when using this with Oracle - on 2. 7 see:

    The workaround is fairly easy.

1 2 3 4
Please login to post comments