Session Booking

From MoodleDocs
Session Booking
Type Local module
Set N/A
Downloads Enter the plugins directory link
Issues Enter the bug tracker URL
Discussion Enter the link to the forum or discussion thread
Maintainer(s) Mustafa Hajjar

Session Booking is a plugin that allows aviation training organizations (ATO) manage instructor-led training sessions. The plugin allows student pilots to post their availability for instructor-led sessions, and instructors to book sessions against student availability. It provides a workflow that starts with students posting availability time slots, instructors booking against student posted time slots, and finally instructors grading assignments associated with joint session.

Session booking workflow


The plugin also allows course managers in assigning students to specific instructors, and monitor instructor participation in instructor-led sessions. In addition, student sessions are prioritized based on a weighted scoring mechanism based on four variables: session recency, lesson completion, course activity, and availability posting. Also, priority can be configured to give more weight to any of the four variables in the plugin settings.

The module was created and is currently maintained by Mustafa Hajjar.

<<embeded youtube video>>

Installation

Prerequisites

The plugin requires that three roles are defined to benefit from certain access restricted capability.

  1. Instructor role: [shortname=instructor] ARCHETYPE: Teacher (non-editing)
  2. Senior Instructor: [shortname=seniorinstructor] ARCHETYPE: Teacher (editing)
  3. Flight Training Manager: [shortname= flighttrainingmanager] ARCHETYPE: Manager

Moodle plugins install

1. Download SessionBooking zip

2. Site administration > Plugins > Install plugins

3. Drop or upload the zip file

CLI install

$ cd [path-to-moodle]\local
$ mkdir booking
$ cd booking
$ git clone https://github.com/zcodemonkeyz/SessionBooking.git

Features

The following are the highlights and key features of Session Booking:

  • Allows instructors to book students based on their recorded availability.
  • Allows students to record and manage their weekly availability for sessions.
  • Allows course managers in assigning students to instructors.
  • Tracks instructor participation in conducting student sessions.
  • Tracks flight data and tracks student pilot log book entries.
  • Manages email communication between students and instructors.
  • Provides a dashboard for instructors and course administrators to visualize student progression throughout the course.
  • Provides a custom student prioritization mechanism for booking sessions based on student's session recency, course activity, availability posting, and lesson completion.

Availability posting

availability.png

Students can post their availability on a weekly calendar view once a preset wait period had passed after the last conducted session. The calendar view can be accessed from the left navigation panel under the 'My availability' link. The navigation panel can be displayed by clicking the 'hamburger' icon to toggle the drawer.

Students can copy postings of a week and paste them into a different week when switching between differents weeks, and can also clear any posting for the active week being viewed (don't forget to [Save] prior to navigating to a different week).

Availability posting
Availability posting


The local time can be set in the User Profile page under timezone to reflect the correct student timezone.

Note: postings are only visible to instructors when the current lesson and all past lessons have been completed.

Booking sessions

Instructors can book against student posted availability from the left navigation menu under the 'Session booking' link. The view lists all active students, their session priority, booking & grading actions, and course progression for each student. Completed and graded sessions are marked in blue, tentatively booked sessions prior to student confirmation are marked in orange, and confirmed bookings are marked in green.

Session Booking
Session Booking


In active 'Book' button indicates that the student has not completed pending lessons for the upcoming exercise (assignment). Once the student completes current and all past lessons, the 'Book' will become active.

Instructors should add a new log book entry after each graded session to be reflected in the student's logbook. Log book entries can be added by clicking on the info icon after it is graded. Existing log book entries can be edited or deleted when clicking on an existing graded session as shown below:

Edit log book entry
Edit log book entry
New logbook entry
New log book entry

Pilot logbook

Upon completion of an instructor-led session, the instructor adds the flight time duration, session duration, and potentially solo flight time duration when applicable. Students can access their logbook from the left navigation panel under the 'My logbook' link. The view provides a summary of the total flight times, session times, and solo flight times. For each session a more detailed log data is displayed including flight date, flight durations, aircraft type, pilot callsign, the primary and secondary pilot in command, PIREP number, and finally departure and arrival airport ICAO code.

Student logbook
Student logbook

Setup

Session booking has multiple settings that can be set to configure the plugin's behavior. There are two kinds of settings for Session booking, one set that affects the plugin behavior that is only accessible to site administrators 'Plugin settings', and the other set is specific to each course and accessible to course managers 'Course settings'.

Plugin settings

  • First session time: indicates the starting hour for availability posting.
  • Last session time: indicates the ending hour for availability posting.
  • Availability posting weeks lookahead: indicates how many weeks ahead a student can post.
  • Wait period: indicates the standard wait period after last session and for on-hold, suspension, and instructor overdue session calculation.
  • Recency prioritization: is a multiplier for weighing recency in prioritization score.
  • Slot count prioritization: is a multiplier for weighing availability posting count in prioritization score
  • Course activity prioritization: is a multiplier for weighing course activity in prioritization score
  • Lesson completion prioritization: is a multiplier for weighing lesson completion in prioritization score

Course settings

  • Use session booking: is a checkbox that indicates whether or not to enable 'Session booking' for the course.
  • Home airport ICAO: the course's home airport ICAO code.
  • Training Aircraft ICAO: the course training aircraft ICAO(s).
  • Course Exercise custom titles: allows course managers to add custom labels to the progression view vs. the exercise (assignment) name.

How to report a bug

Please, use Tracker. Stamp collection if one of the components in "Non-core contributed modules" project. See the list of tracked issues at http://tracker.moodle.org/browse/CONTRIB/component/10271

Capabilities

Roles and capabilities are supported since the version for Moodle 1.9.

Capability Description Status
local/booking:view an instructor can view session booking. implemented in 1.0
local/booking:availabilityview a student can post availability (add and delete). implemented in 1.0
local/booking:logbookview a student can view own log book entries. implemented in 1.0
local/booking:participationview a course manager can instructor participation in instructor-led session booking. implemented in 1.0
local/booking:studentnotification an instructor can send email notifications to student, including booking notifications, session cancellations. implemented in 1.0
local/booking:instructornotification a student can send email notifications to instructors with booked session confirmation. implemented in 1.0

Note: a Beta User role can be defined at soft-launch with capability '/local/booking:availabilityview' while removing the capability from students during the beta period.

Capability
Capability

Feature ideas and requests

Note: This section will be moved to the tracker feature requests.