Affects Version/s: 3.6.9, 3.8.2
Fix Version/s: None
Component/s: Module: Scheduler
Affected Branches:MOODLE_36_STABLE, MOODLE_38_STABLE
I know this idea might seem odd, but for a tutor it would be quite nice to have:
I would like to use the scheduler for exams, but in a way that the resulting appointments are nice for the tutor as well.
What quite often happens (in a different class than the one where I made the other enhancement request) is that I - as tutor - set up 5 slots and they get booked by students. This results for example in
10:00 - 10:15: Student A
10:15 - 10:30: Student B
10:30 - 10:45: Student C
10:45 - 11:00: Student D
11:00 - 11:15: Student E
Then Students B and D cancel their slots (which is ok and also wanted, I do not want them in the exams if they are not prepared)
This results in me having 2 breaks of 15 minutes which are - practically - useless: They are too short to do something meaningful.
On the other hand, Student C tells me in the exam that for him also 10:15-10:30 would have been fine, and Student E tells me for him any time that day was fine - both just took the slots because these were the only ones that were available when they booked.
Now my idea is this:
When booking a slot, a student gets asked which earlier slots would also be fine (so Student C clicks on 10:15-10:30 as alternative)
Everytime a student cancels a slot all other Students get rescheduled by moving them to the first available alternative slot that they selected (and the students get an email that they got rescheduled)
This way, I would have ended up with this schedule which would have been fine for me and for the students:
10:00 - 10:15: Student A
10:15 - 10:30: Student D
10:30 - 10:45: Student E
The key is that the Students actually are those that tell their alternative slots, so they don't get scheduled to a slot where they have no time.
Obviously, there needs to be a limit that rescheduling may only happen until - for example - 4h before the slot.
I know this might be hard to implement (at least if you want to do a real optimisation here, but with an algorithm like "Pick the first student that has the free slot as alternative" it might be easier) but it would be super cool for tutors, as sometimes I ended with a schedule of 10 min work, then 10min break etc for a total of 6h, and when asking the students we all could have handled this within about 3h. The breaks were just super annoying.