Note: You are currently viewing documentation for Moodle 3.11. Up-to-date documentation for the latest stable version of Moodle may be available here: Session Booking.

Session Booking: Difference between revisions

From MoodleDocs
m (Google & Microsoft calendar integration instructions)
m (formatting)
Line 224: Line 224:
* Select [Internal services only] for '''This service will be used'''
* Select [Internal services only] for '''This service will be used'''
* Scopes should be [openid https://www.googleapis.com/auth/calendar.events] for the '''Scopes included in a login request'''
* Scopes should be [openid https://www.googleapis.com/auth/calendar.events] for the '''Scopes included in a login request'''
* Other settings can remain as the default{{MediaPlayer | url = https://www.youtube.com/watch?v=prIXeQl8i5A}}
* Other settings can remain as the default
 
{{MediaPlayer | url = https://www.youtube.com/watch?v=prIXeQl8i5A}}
===Microsoft Outlook Live calendar===
===Microsoft Outlook Live calendar===
Requires [https://docs.microsoft.com/en-us/azure/active-directory/develop/publisher-verification-overview OAuth2 verification] by Microsoft and Moodle [[OAuth 2 services|OAuth 2 Services]] setup as well:
Requires [https://docs.microsoft.com/en-us/azure/active-directory/develop/publisher-verification-overview OAuth2 verification] by Microsoft and Moodle [[OAuth 2 services|OAuth 2 Services]] setup as well:

Revision as of 08:10, 21 October 2022

Session Booking
Type General plugins (Local)
Set N/A
Downloads Plugins directory link unavailable at present
Issues https://github.com/bavirtual/session-booking/issues
Discussion https://github.com/bavirtual/session-booking/wiki
Maintainer(s) Mustafa Hajjar

What is Session Booking?

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 students 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 sessions.

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.

Installation

Dependencies

$ sudo apt-get update
$ sudo apt-get install pdftk
  • The plugin requires 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 session-booking 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/bavirtual/session-booking.git

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

Authorized Training Organization (ATO)

  • Name: the name of the ATO using the plugin.
  • Website: the official website for the ATO.
  • Email: contact email for the ATO.
  • Logo URL: the ATO logo URL.

Availability posting

  • 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.

Booking prioritization

  • 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.
  • Training type: Dual and Multi-crew type training.
  • Course outcome: The outcome of the course or rating for completing the course.
  • Posting wait restriction: A restriction period in days between the last conducted session and the next time a student can post availability (0 = disable restriction).
  • On-hold restriction: A restriction period in days after which inactive students will be automatically placed on-hold (0 = disable restriction).
  • Suspension restriction: A restriction period in days after which inactive students will be automatically suspended from the course (0 = disable restriction).
  • Instructor session overdue notification: A period in days after which inactive instructors will be automatically sent a notification (0 = disable restriction).
  • Home airport ICAO: the course's home airport ICAO code.
  • Examiner form URL: the URL for the skills test evaluation form. Leave empty if the course has no completion evaluation or assessment.
  • Training Aircraft ICAO: the course training aircraft ICAO(s).
  • Course Exercise titles: allows course managers to add custom labels to the progression view vs. the exercise (assignment) name.

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
Capabilities
Capability

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.

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.
  • Provides session calendar integration with Moodle, Google, and Outlook Live calendars, including (ics) standard iCal calendar file download.
  • Provides simple course specific logbook and EASA format.
  • Allows for Administration and flight time analysis reporting.
  • Allows for configuration-specific integration with external data sources for PIREP, aircraft, and fleet lookup.
  • Provides automatic notification for student inactivity warnings, placement on-hold, suspension and instructor inactivity.
  • Provides course-specific student profile with relevant information along with administration functions to manage logbook entries, on-hold management, overdue restriction override, keep alive for inactive students placed on-hold.

Availability posting

availability.png

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

Posting

To post availability simply click and drag on any set of contiguous time slot in the active area of the displayed week. This will result in the selected time slots turning green as shown in the diagram below. To deselect the selected slot, simply click and drag again, and the selected time slots will turn back to a white background. Once all desired time slots are selected, click the [Save] button to record marked availability posts.

Copy/Paste

Students can copy previously saved postings of a week and paste them into a different week by navigating to the week containing the desired slots, clicking on the [Copy] button, navigating to a different week (previous or next), then clicking the [Paste] button. After pasting, make sure to click the [Save] button prior to navigating away from the current week or to a different page.

Clear

To delete all postings of a specific week, simply click on the [Clear] button, which will clear all posted availability time slots. Don't forget to [Save] before navigating away from the current week or to a different page.

All students view

The link at the bottom of the page [View everyone's availability] allows students to view all posted availability for everyone in the course for that week. Also, this gives an indication of the number of booked sessions during that week.

Availability posting
Availability posting

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

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

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 course logbook
Student course logbook
Student EASA logbook
Student EASA logbook

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.

Booking a session

Grading and feedback

Instructor dashboard

At the bottom of the 'Session booking' page, the instructor can see two sections that lists the instructors active bookings under 'My active bookings', and assigned students under 'My assigned students'. The instructor can cancel any active booking by clicking on the [Cancel] button next to the active booking, which will in turn prompt the instructor to provide a comment to the student regarding the cancellation.

Course managers can find an added section at the bottom that lists instructors' participation in the course, which notes the instructor role(s), last instructor-led session with a student, and the days since last conducted session.

Session Booking
Session Booking


Inactive [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] button will turn active with a green background.

Logbook entry

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:

Relevant information

Instructor dashboard
Instructor dashboard

Student profile

A student profile specific to session booking operation can be accessed from the Session Booking page by clicking on the student's name. The profile page shows student's basic information, progress, and allows instructors to endorse students for a skill test once qualified. For courses subscribing for restrictions, the profile page allows instructors to suspend a student, put a student on-hold, keep active, and override availability wait time restrictions. The reporting section of the profile provides access to both Moodle standard Outline and Complete reports along with some audit reports. The audit reports allows an instructor to view Mentor report containing student progress and mentor feedback. The Theory examination report provides the student exam results. Lastly, the Practical Examination report shows the student's feedback from the skills test ride (check ride).

Student profile
Student profile

Notifications

The following are email notifications sent from the plugin:

Immediate notifications

  • Session booked notification: notifies the student that a session has been booked by the instructor.
  • Booked session instructor confirmation: a confirmation to the instructor of the student booked session.
  • Student confirmation of booked session: notifies the instructor that the student confirmed the booked session.
  • Student session cancellation notification: notifies the student that the instructor cancelled the booked session.

Activity notifications

  • Student inactive warning notification: notifies the student warning him/her one week before the posting wait period date.
  • Student on-hold warning notification: notifies the student when becoming inactive after the posting wait period had passed.
  • Student placed on-hold notification: notifies the student of being placed on-hold after the On-hold restriction period had passed.
  • Student suspended notification: notifies the student of being suspended after the suspension restriction period had passed.
  • Instructor session overdue notification: notifies the instructor when becoming inactive after the posting wait period had passed.

Scheduled notifications

  • Student availability posting notification: notifies instructors of availability slot posting by a student.
  • Student recommendation notification: notifies examiners of a student being recommended for the skills test (if applicable).
  • Graduating students notification: sends a congratulatory message to all students and instructors of a graduating student.


Note: Any user can edit their preference for receiving these notifications from the user's profile Notification preferences.

Note: Activity and scheduled notifications are processed part of the server tasks, and their frequency can be changed from their default values in the Administrator settings / Server/ Scheduled tasks page.

Calendars integration

Session calendar integration with Moodle, Google, and Outlook Live calendars, including (ics) standard iCal calendar file download.

Privacy Policy for BAVirtual Session Booking

Google calendar

Requires OAuth2 verification by Google and Moodle OAuth 2 Services setup as well:

  • Add the text 'Calendar' as the service Name. i.e. 'Google Calendar'
  • Select [Internal services only] for This service will be used
  • Scopes should be [openid https://www.googleapis.com/auth/calendar.events] for the Scopes included in a login request
  • Other settings can remain as the default

Microsoft Outlook Live calendar

Requires OAuth2 verification by Microsoft and Moodle OAuth 2 Services setup as well:

iCal calendar

External data source integration

The plugin provides capability to lookup PIREPs data for logbook recording, pilot verification of entered PIREPs, and aircraft fleet engine-type lookup. This integration is driven by a json configuration field in the plugin settings under Integrations.

FAQ

How to book a session with a student sooner than the preset restriction wait period?

From the student's course profile accessible from the Session Booking page click on the hyperlink of the student's name. Click on the 'Restriction override' rocker button, and after that the student can post availability slots prior to the waiting period.

How to override on-hold restriction to keep the student active?

From the student's course profile accessible from Session Booking page by clicking on the hyperlink of the student's name. Click on the 'Keep active' rocker button, and after that the student will stay in the active students list until his/her next session booking, after that the 'Keep active' button will be turned off automatically.

How to stop inactive instructors from showing in the Instructor Participation list in the Session Booking page?

Add the inactive instructor to the 'Inactive Instructors' group from the Participants list.

How to report a bug

Please, use the plugin's github repository issue tracking. Stamp collection if one of the components in "Non-core contributed modules" project. See the list of tracked issues at https://github.com/bavirtual/session-booking/issues.

Feature ideas and requests

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