Sometimes it is useful to allow students to select their own timetable, room or tutor choices in the checkout process. Today onCourse forces the college to create a large number of classes with every combination (eg. hourly blocks, five days a week 9am to 5pm). This doesn’t scale well, for example:
- course bookings for tennis or squash. There is no tutor, but there is a room selection in (say) one hour blocks during certain hours.
- private music or dance lessons. There might be a choice of tutors but rooms are allocated by the college after enrolment. Again, certain available hours.
- Private HSC coaching, physio appointments, massage, etc are all within this feature set.
- Swimming pool lane bookings, dance studio, hall bookings, room party hire, conference rooms, etc could also be handled.
This is a very broad ranging feature which takes onCourse into very different types of bookings to what it allows today and very different types of use cases to classes of students.
During enrolment the student will be prompted to choose the start time, tutor (optional), room (optional) for their booking. A calendar widget and other modern UI elements to make it easy to find available slots is needed.
A template class would define many common elements. Budget, tutor pay, tutor (optional), room (optional), session(s), notes, attachments, VET, etc. Then the student would be allowed to duplicate the class during enrolment and shift it to any allowed parameters according the rules below.
A rule engine will be applied to the course to define how the student is allowed to create the class. So a tennis court booking rule would not allow students to choose a tutor, but they would choose a court (room). Other class bookings would be taken into account with normal collision detection.
Private music lessons might allow tutor selection but not rooms.
Are students allowed to change the tutor (or set one) and if so, what is the set of tutors available.
Are students allowed to change the room (or set one) and if so, what is the set of room available.
Students will be allowed to shift the session from the class template but not change its duration. So to allow both 1 hour and 30 minute bookings, you would create two templates. That way each could have different pricing. The rule engine would define what hours were available (and site/room/tutor availability rules would be applied as well) on which days.
The rule would define how the start time could be shifted (eg. starting on the hour, on 15/40/45 past)
When students select a time for the first session, we anticipate any future sessions are adjusted in time with the same offset. So if the class template has the first session 9am-10am and further sessions every week at the same time, then the student chooses the first session at 12pm, all future sessions are at that same time.