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.
2637 sites
46 fans
Moodle 2.5, 2.6

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.

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

For help and discussion about the module, please use the Scheduler forum on

For an earlier version supporting Moodle up to release 1.9, see the Scheduler 1.9 module.


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, 17 May 2017, 4:07 AM
    Yes, certainly. All you've done so far is hiding the paging bar. If you want to change the size of the pages itself, you would need to change the variable $pagesize (where it currently says "$pagesize = 25;"). Set it to a very large value.
  • Picture of Sebastien Jaffredo
    Wed, 17 May 2017, 9:48 AM
    Hi Henning

    I'm using 3.1.0.
    Regarding "maxstudentlistsize": currently if the student number is higher than this value, no list is displayed. Will it be possible in future versions to actually display a student list, with a number of displayed students equal to this value, and a page bar to navigate between pages?

    Thanks and regards,

  • Picture of Henning Bostelmann
    Wed, 17 May 2017, 6:15 PM
    Hi Sebastien, I'm not currently planning that but you may want to add it to the list of feature requests on the Tracker. The "maxstudentlistsize" was really meant as a stop-gap for situations where schedulers appear e.g. in the global site context and may have thousands of potential participants, and where displaying the list would be extremely slow.
  • Picture of Sebastien Jaffredo
    Wed, 17 May 2017, 8:05 PM
    Hi Henning,
    Thanks for your answer, I created the request :
    Anyone interested in this feature, please make sure to vote for it.
  • Picture of Kevin Lu
    Thu, 18 May 2017, 1:33 AM
    Hi Henning and Developers,

    Thank you for reading this post. I have a simple questions, for "teacherview.php", for the line "echo $output->render($slotman);", what is the function in "scheduler_instance.php" that extracts the data from the database? Note that this is teacher view.

    Thank you again!
  • Picture of Kevin Lu
    Thu, 18 May 2017, 10:13 PM
    Hi Henning and Developers,

    Sorry to bother you again. For function "get_slots_available_to_student" inside "scheduler_instance.php", what is the name of the table (or names of the tables) in the database ($DB) you are accessing? Sorry it doesn't say which table it is accessing in the code.

    Thank you!
  • Picture of Amr Al Kudeh
    Fri, 19 May 2017, 10:55 PM
    Hi Henning again smile,

    Thank you very much for fixing the bug with the deleting of the selected slots.

    We were testing scheduler under Moodle 3.2, and we came across another bug.

    The bug will appear when the teacher is trying to give one time slot for a group of students. When the students book this slots, the teacher will get a conflict message telling him to check the ignore conflict button, but eventually he will get 2 slots with the same time and with the same number of students, which means if the teacher is trying to give a slot for 3 students, he will have 2 slots with the same time and 6 students can book those slots.

    I hope, that i explained the bug well.

    Thank you very much!
  • Picture of Henning Bostelmann
    Wed, 24 May 2017, 4:18 AM
    @Kevin Lu:
    The code that is responsible for these database queries can be found in mod/scheduler/model/scheduler_instance.php . This is quite a long file, but it is crucial to understanding how Scheduler works; you may want to read it in more detail. Have a look in particular at the methods fetch_slots() and get_slots_for_teacher().
  • Picture of Henning Bostelmann
    Wed, 24 May 2017, 4:22 AM
    @Amr Al Kudeh
    Thanks for mentioning this. I have created an entry for this on the bug tracker, see CONTRIB-6908 . I think I don't understand the bug fully yet and would need some more information. Please comment on the bug tracker if you can.
  • Picture of Kevin Lu
    Tue, 6 Jun 2017, 12:05 AM
    Hi Henning and developers,

    Thank you for answering my questions. I have a question about "Add Single Slot" under Add Slots tab button. Which php file is it that displays the html code? I need to add a Javascript function to it so I need to know the name of the php file that displays the html code.

    Also, for the Save button, which file generates that Save button?

    Thank you!
  • Picture of Kevin Lu
    Tue, 6 Jun 2017, 3:32 AM
    Hi Henning and developers,

    On teacherview.php, under "View : Update single slot form" in line 138, what is the variable that I can use in order to access this slot's location and enrolled users (teacher and students)?

    Thank you again!
  • Picture of Henning Bostelmann
    Tue, 13 Jun 2017, 2:35 AM
    Hi Kevin, the form is generated using Moodle's formslib, which you can read more about here:
    Within Scheduler, see "slotforms.php".

    Regarding your second question, this would be the variable $slot. It's an object type, so you would get the location with $slot->appointmentlocation , for example. You can get a list of all appointments with $slot->get_appointments() (see documentation in model/scheduler_slot.php).
  • Picture of Kevin Lu
    Wed, 14 Jun 2017, 11:37 PM
    Hi Henning,

    Thank you for your response. I have a quick question. Is it possible to get the scheduler's name located in the tab in the right side? For example, in the tab, I have Summer Courses, Winter Courses and Spring Courses as scheduler name, is there a place in the code that I can retrieve the name? I am doing it because I need to identify which scheduler I am in so I can make changes to slots.

  • Picture of Henning Bostelmann
    Thu, 15 Jun 2017, 7:11 AM
    Hello Kevin, I think you're looking for $scheduler->name .
  • Picture of Kevin Lu
    Tue, 18 Jul 2017, 3:02 AM
    Hi Henning,

    Thank you for your response last time. I have a quick question, it looks like the student view page calls "get_slots_available_to_student" function on scheduler_instance.php file. However, the teacher view page (teacherview.php and teacherview.controller.php) don't use any query functions in scheduler_instance.php. Could you help me identify the query that teacher view page is using? Like what is the name of the function and inside what file. Thank you!
1 2 3 4 5 6 7 8
Please login to post comments