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

Appointments: Difference between revisions

From MoodleDocs
No edit summary
No edit summary
Line 1: Line 1:
{{DISPLAYTITLE:Appointment Booking Activity}}
{{DISPLAYTITLE:Appointment Booking Activity}}
{{Workplace}}
{{Workplace}}
Appointment Booking Activity
The '''Appointment Booking activity''' allows you to organise and manage face-to-face training activities and to keep track of in-person activities.
 
The Appointment Booking activity allows you to organise and manage face-to-face training activities and to keep track of in-person activities.
=Overview=
=Overview=
Appointment booking is an activity that is placed within a course like any other Moodle activity. An appointment booking comprises one or many appointments, and each appointment consists of one or many sessions. Sign-up always takes place at the appointment level. A user can only be signed up for a single appointment per appointment booking.
Appointment booking is an activity that is placed within a course like any other Moodle activity. An '''appointment booking''' comprises one or many '''appointments''', and each appointment consists of one or many '''sessions'''. Sign-up always takes place at the appointment level. A user can only be signed up for a single appointment per appointment booking.


[PHOTO HERE]
[PHOTO HERE]
=Adding a new appointment booking activity =
=Adding a new appointment booking activity =
After turning Editing on, add a new course activity. It will be listed along with all other installed course activities.
After turning '''Editing on''', add a new course activity. It will be listed along with all other installed course activities.


[PHOTO HERE]
[PHOTO HERE]


Once the Appointment booking activity has been selected from the activity chooser, the following configuration options become available:
Once the Appointment booking activity has been selected from the activity chooser, the following configuration options become available:
*Name and Description: standard Moodle fields
*'''Name''' and '''Description''': standard Moodle fields
*Third-party email address(es) (optional): Specify users' email addresses, such as an external instructor, who will then receive notification messages whenever a user signs up for or cancels a session. Multiple email addresses have to be separated by a comma.
*'''Third-party email address(es)''' (optional): Specify users' email addresses, such as an external instructor, who will then receive notification messages whenever a user signs up for or cancels a session. Multiple email addresses have to be separated by a comma.
* Notify third-party about wait-listed sessions: If checked, third-parties will be notified when a user signs up for a wait-listed session. If unchecked (default), third-parties will only receive notification messages whenever a user signs up for or cancels a scheduled session.
* '''Notify third-party about wait-listed sessions''': If checked, third-parties will be notified when a user signs up for a wait-listed session. If unchecked (default), third-parties will only receive notification messages whenever a user signs up for or cancels a scheduled session.
*Allow cancelling default: If checked, the default setting, when creating new sessions for this activity, will be to allow sign-up cancellations.
*'''Allow cancelling default''': If checked, the default setting, when creating new sessions for this activity, will be to allow sign-up cancellations.
*Calendar display settings:
*'''Calendar display settings''':
**Site: Sessions will be displayed on the site calendar as a global event. All site users will be able to view session details.
**'''Site''': Sessions will be displayed on the site calendar as a global event. All site users will be able to view session details.
**Course: Sessions will be displayed on the course calendar as a course event. All users enrolled in the course will be able to view session details.
**'''Course''': Sessions will be displayed on the course calendar as a course event. All users enrolled in the course will be able to view session details.
**None: Sessions will only be displayed on the calendar of confirmed attendees as a user event, provided the Show entry on user's calendar option has been selected.
**'''None''': Sessions will only be displayed on the calendar of confirmed attendees as a user event, provided the '''Show entry on user's calendar''' option has been selected.
*Show entry on user's calendar: If checked, a user event will be added to an attendee's calendar. If unchecked, duplicate events will be prevented in a user's calendar when Calendar display settings is set to Site or Course.
*'''Show entry on user's calendar''': If checked, a user event will be added to an attendee's calendar. If unchecked, duplicate events will be prevented in a user's calendar when '''Calendar display settings''' is set to '''Site''' or '''Course'''.
*Short name (optional): Description of the session's calendar entry. The Name field of the activity will be used if left empty.
*'''Short name''' (optional): Description of the session's calendar entry. The '''Name''' field of the activity will be used if left empty.
[PHOTO HERE]
[PHOTO HERE]


There is a completion criterion called Student must book an appointment to complete this activity which will be triggered when a learner has booked an appointment.
There is a completion criterion called '''Student must book an appointment to complete this activity''' which will be triggered when a learner has booked an appointment.
=Appointments and sessions=
=Appointments and sessions=
An appointment booking consists of one or more appointments, which themselves comprise sessions. To manage appointments and sessions, select the appointment booking activity at course level.
An appointment booking consists of one or more appointments, which themselves comprise sessions. To manage appointments and sessions, select the appointment booking activity at course level.
Line 32: Line 30:
[PHOTO HERE]
[PHOTO HERE]


Each row represents an appointment. The first two columns display session-related information—namely, the date and time. An appointment can comprise either one or multiple sessions. For each appointment, the Capacity limit is displayed (this takes the format of the number of users signed up/the total number of seats), as well as the Status field (displaying either Open, Session in progress, Finished, or Full). If the status is set to Open, users can sign up for the appointment via the Book button; if the status is set to Full, a waitlist can be joined if it has been enabled. Selecting the Details button will show the same data in a pop-up window, plus information on the appointment's description and any custom fields, should they exist.
Each row represents an appointment. The first two columns display session-related information—namely, the date and time. An appointment can comprise either one or multiple sessions. For each appointment, the '''Capacity''' limit is displayed (this takes the format of the number of users signed up/the total number of seats), as well as the '''Status''' field (displaying either '''Open''', '''Session in progress''', '''Finished''', or '''Full'''). If the status is set to '''Open''', users can sign up for the appointment via the '''Book''' button; if the status is set to Full, a waitlist can be joined if it has been enabled. Selecting the '''Details''' button will show the same data in a pop-up window, plus information on the appointment's description and any custom fields, should they exist.


[PHOTO HERE]
[PHOTO HERE]
== Adding a single appointment==
== Adding a single appointment==
To add a single appointment, select Appointment from the Add menu at the top right. You will see a pop-up screen where the first section deals with sessions. A session is created automatically with the following default values:
To add a single appointment, select '''Appointment''' from the '''Add''' menu at the top right. You will see a pop-up screen where the first section deals with sessions. A session is created automatically with the following default values:
*Date: Today's date
*'''Date''': Today's date
*Start time: The next full hour
*'''Start time''': The next full hour
*End time: 1 hour after the start time
*'''End time''': 1 hour after the start time
You will need to adjust these three values to the date and times of your actual session. You can add more sessions via the Add session button.
You will need to adjust these three values to the date and times of your actual session. You can add more sessions via the '''Add session''' button.


[PHOTO HERE]
[PHOTO HERE]


It is possible to create an appointment with no session (remove the initially created session via the Delete session button). Any users signing up for this appointment will be put on the waitlist. Session-less appointments are an excellent way to mimic an interested-in feature; once there is sufficient interest, the session information can be added to the appointment.
It is possible to create an appointment with no session (remove the initially created session via the '''Delete session''' button). Any users signing up for this appointment will be put on the waitlist. Session-less appointments are an excellent way to mimic an interested-in feature; once there is sufficient interest, the session information can be added to the appointment.


The Advanced section contains the following appointment settings:
The '''Advanced''' section contains the following appointment settings:
*Capacity (default 10): The maximum number of participants who can sign up for the appointment
*'''Capacity''' (default 10): The maximum number of participants who can sign up for the appointment
* Enable waitlist (default off): If ticked, sign-up will remain open once the capacity limit has been exceeded. Potential participants will be put on a waitlist.
* '''Enable waitlist''' (default off): If ticked, sign-up will remain open once the capacity limit has been exceeded. Potential participants will be put on a waitlist.
*Allow cancelling (default on): If enabled, users can withdraw after they have signed up. The first user on the waitlist will automatically be given the available seat.
*'''Allow cancelling''' (default on): If enabled, users can withdraw after they have signed up. The first user on the waitlist will automatically be given the available seat.
*Description: Textual details about the appointment.
*'''Description''': Textual details about the appointment.
[PHOTO HERE]
[PHOTO HERE]


In the Other fields section, you can specify any relevant parameters, such as cost-related information. The Manage custom fields link will guide you to the Appointment custom fields page.
In the '''Other fields''' section, you can specify any relevant parameters, such as cost-related information. The '''Manage custom fields''' link will guide you to the Appointment custom fields page.


[PHOTO HERE]
[PHOTO HERE]
==Adding multiple appointments==
==Adding multiple appointments==
To set up recurring sessions within one or many timeframes, select the Multiple appointments option from the Add menu at the top-right. A timeframe is a one-off template specifying how appointments are created automatically.
To set up recurring sessions within one or many timeframes, select the '''Multiple appointments''' option from the '''Add''' menu at the top-right. A timeframe is a one-off template specifying how appointments are created automatically.


[PHOTO HERE]
[PHOTO HERE]


For the specified Date field, you need to provide a Start time (beginning of timeframe) and an End time (end of timeframe). Within this timeframe, the Automatic split (duration of each appointment) and Break time (pause between splits) are distributed equally.
For the specified '''Date''' field, you need to provide a '''Start time''' (beginning of timeframe) and an '''End time''' (end of timeframe). Within this timeframe, the '''Automatic split''' (duration of each appointment) and '''Break time''' (pause between splits) are distributed equally.


[PHOTO HERE]
[PHOTO HERE]
Line 68: Line 66:
=Appointment workflows=
=Appointment workflows=
The appointment booking activity supports several workflows relevant in face-to-face settings:
The appointment booking activity supports several workflows relevant in face-to-face settings:
*Signing-up: Booking a place for an appointment or being booked by another user
*'''Signing-up''': Booking a place for an appointment or being booked by another user
*Waitlist: The handling of participants on standby
*'''Waitlist''': The handling of participants on standby
*Cancellation: Support for self-withdrawals
*'''Cancellation''': Support for self-withdrawals
*Attendance: The users signed up for the appointment, and their attendance status
*'''Attendance''': The users signed up for the appointment, and their attendance status
[PHOTO HERE]
[PHOTO HERE]
==Signing up==
==Signing up==
Line 78: Line 76:
A user has to be enrolled in a course to sign up for an appointment and have the mod/appointment:signup capability.
A user has to be enrolled in a course to sign up for an appointment and have the mod/appointment:signup capability.


Users will see the number of available seats for all appointments and each appointment activity. Accessing the appointment activity displays the list of available appointments and the Book button to sign up. After the user has signed up for an appointment, the status will change from Open to Booked, and the course page will now show the date of the next session rather than the number of available seats. If the date is not set, the user will just see the Booked status.
Users will see the number of available seats for all appointments and each appointment activity. Accessing the appointment activity displays the list of available appointments and the '''Book''' button to sign up. After the user has signed up for an appointment, the status will change from '''Open''' to '''Booked''', and the course page will now show the date of the next session rather than the number of available seats. If the date is not set, the user will just see the Booked status.


[PHOTO HERE]
[PHOTO HERE]


The booking form shows details of the appointment and a Notification Type selection that allows the user to select how they would like to be notified about their booking:
The booking form shows details of the appointment and a '''Notification Type''' selection that allows the user to select how they would like to be notified about their booking:
*Email Notification and iCalendar Appointment: Sends the appointment information via email and sends an iCalendar invitation
*'''Email Notification and iCalendar Appointment''': Sends the appointment information via email and sends an iCalendar invitation
*Email Notification only: Sends the appointment information via email
*'''Email Notification only''': Sends the appointment information via email
*iCalendar Appointment only: Sends an iCalendar invitation
*'''iCalendar Appointment only''': Sends an iCalendar invitation
===Booking a place for another user===
===Booking a place for another user===
To add other users to an appointment session, the mod/appointment:addattendees capability is required.
To add other users to an appointment session, the mod/appointment:addattendees capability is required.


To sign up users, you will need to select the Attendees option from the menu to the right-hand side of the appointment. This will direct you to a screen that displays the list of all the participants already signed up and an option at the bottom labelled Add/remove attendees.
To sign up users, you will need to select the '''Attendees''' option from the menu to the right-hand side of the appointment. This will direct you to a screen that displays the list of all the participants already signed up and an option at the bottom labelled '''Add/remove attendees'''.


Once you select this link, you will see the standard Moodle user-selection screen where all users enrolled in the course are available for selection.
Once you select this link, you will see the standard Moodle user-selection screen where all users enrolled in the course are available for selection.


At the bottom left, there is an option called Suppress email notifications, which should be enabled if you wish to add participants from an appointment silently. If this option is toggled, no email confirmation will be sent to the newly selected users.
At the bottom left, there is an option called '''Suppress email notifications''', which should be enabled if you wish to add participants from an appointment silently. If this option is toggled, no email confirmation will be sent to the newly selected users.


[PHOTO HERE]
[PHOTO HERE]
Line 99: Line 97:
When a user signs up other users, it is possible to overbook an appointment, effectively bypassing the waitlist mechanism.
When a user signs up other users, it is possible to overbook an appointment, effectively bypassing the waitlist mechanism.
==Waitlisting==
==Waitlisting==
A waitlist is a queue of users who wish to sign up for an appointment, where its capacity limit has already been reached (appointment status is Full). If the waitlist facility has been enabled at the appointment level, potential attendees can add themselves to the waitlist via the Join waitlist button.
A waitlist is a queue of users who wish to sign up for an appointment, where its capacity limit has already been reached (appointment status is '''Full'''). If the waitlist facility has been enabled at the appointment level, potential attendees can add themselves to the waitlist via the '''Join waitlist''' button.


The waitlist operates on a first-in, first-out basis. The first person who joins the waitlist will be at the top of the queue. Once a place becomes available, this first user will be moved to the list of attendees, and all users on the waitlist move up a spot.
The waitlist operates on a first-in, first-out basis. The first person who joins the waitlist will be at the top of the queue. Once a place becomes available, this first user will be moved to the list of attendees, and all users on the waitlist move up a spot.
Line 107: Line 105:
To sign-up for full sessions that don't have waitlist enabled, the mod/appointment:overbook capability is required.
To sign-up for full sessions that don't have waitlist enabled, the mod/appointment:overbook capability is required.
==Cancellation==
==Cancellation==
A user can cancel a booking if cancellations are permitted in the advanced settings of an appointment. Once the user has selected the Cancel button beside a booked appointment, an optional Reason for cancellation can be provided.
A user can cancel a booking if cancellations are permitted in the advanced settings of an appointment. Once the user has selected the '''Cancel''' button beside a booked appointment, an optional '''Reason for cancellation''' can be provided.


[PHOTO HERE]
[PHOTO HERE]
Line 113: Line 111:
The user will then be removed from the list of attendees. If a waitlist is in place, the next user in line will take the freed-up spot.
The user will then be removed from the list of attendees. If a waitlist is in place, the next user in line will take the freed-up spot.


The Appointment report source supports the cancellation status as a selectable field (User cancelled) in Attendees status for columns, filters and conditions.
The Appointment report source supports the cancellation status as a selectable field (User cancelled) in '''Attendees status''' for columns, filters and conditions.


To cancel other users, you need to follow this same process, but instead of adding users to the list of participants, you need to select participants and remove them from the list. To remove users, the mod/appointment:removeattendees capability is required.
To cancel other users, you need to follow this same process, but instead of adding users to the list of participants, you need to select participants and remove them from the list. To remove users, the mod/appointment:removeattendees capability is required.
==Attendance==
==Attendance==
Once a session has started or is finished, any user with the mod/appointment:takeattendance capability can take attendance. First, go to the Attendees option in the menu to the right of the appointment and select Take attendance at the bottom left of the screen. Once you select this, you will be shown the list of all the signed-up users, as well as options to specify the attendance status: No show, Partially attended, and Fully attended.
Once a session has started or is finished, any user with the mod/appointment:takeattendance capability can take attendance. First, go to the '''Attendees''' option in the menu to the right of the appointment and select '''Take attendance''' at the bottom left of the screen. Once you select this, you will be shown the list of all the signed-up users, as well as options to specify the attendance status: '''No show''', '''Partially attended''', and '''Fully attended'''.
 
[PHOTO HERE]
[PHOTO HERE]
The Appointment report source supports the attendance status as a column, filter and condition.
The Appointment report source supports the attendance status as a column, filter and condition.
=Appointment notifications=
=Appointment notifications=
Participants and external users receive email notifications as a result of session booking actions, such as sign-up or cancelling.  
Participants and external users receive email notifications as a result of session booking actions, such as sign-up or cancelling.  


The following notification text templates can be configured in the Customised notifications setting via the appointment cogwheel:
The following notification text templates can be configured in the '''Customised notifications''' setting via the appointment cogwheel:
*Confirmation message: Sent out when signing up for the appointment takes place
*'''Confirmation message''': Sent out when signing up for the appointment takes place
*Reminder message: Sent out a number of days before the session start date. The number of days is defined in the Days before message is sent setting.
*'''Reminder message''': Sent out a number of days before the session start date. The number of days is defined in the '''Days before message is sent''' setting.
*Wait-listed message: Sent out when a user is added to the waitlist
*'''Wait-listed message''': Sent out when a user is added to the waitlist
*Cancellation message: Sent out when a user's participation is cancelled
*'''Cancellation message''': Sent out when a user's participation is cancelled
[PHOTO HERE]
[PHOTO HERE]


The following placeholders are available for all subjects and message bodies:
The following placeholders are available for all subjects and message bodies:
{| class="wikitable"
{| class="wikitable"
|Placeholder
|'''Placeholder'''
|Description
|'''Description'''
|-
|-
|[alldates]
|[alldates]
Line 181: Line 181:
|}
|}
=Appointment Reporting=
=Appointment Reporting=
Moodle Workplace's report builder provides a report source called Appointments. Once added, the following fields are available:
Moodle Workplace's report builder provides a report source called '''Appointments'''. Once added, the following fields are available:
*Appointment booking activity
*'''Appointment booking activity'''
**Name
**Name
**Description
**Description
*Appointment
*'''Appointment'''
**Description
**Description
**Capacity
**Capacity
Line 194: Line 194:
**Status (Open / Session in progress / Finished, Full)
**Status (Open / Session in progress / Finished, Full)
**Any custom fields
**Any custom fields
*Appointment sessions
*'''Appointment sessions'''
**Session start date
**Session start date
**Session start time
**Session start time
**Session end date
**Session end date
**Session end time
**Session end time
*Attendees
*'''Attendees'''
**Full name
**Full name
**Full name with profile link
**Full name with profile link
Line 209: Line 209:
**Status (User cancelled / Wait-listed / Booked / No show / Partially attended / Fully attended)
**Status (User cancelled / Wait-listed / Booked / No show / Partially attended / Fully attended)
**Time requested
**Time requested
There is an additional filter / condition called Session availability in the Appointment category, which offers the values Full (Booked = Capacity), Empty (Booked = 0), or Partially full (Booked < Capacity).
There is an additional filter / condition called '''Session availability''' in the Appointment category, which offers the values '''Full''' (Booked = Capacity), '''Empty''' (Booked = 0), or '''Partially full''' (Booked < Capacity).
=Permissions=
=Permissions=
There are a number of capabilities relevant to the Appointment Booking activity:
There are a number of capabilities relevant to the Appointment Booking activity:

Revision as of 08:35, 19 October 2021

workplacelogo.png This feature is part of Moodle Workplace™, which is available through Moodle Partners only.

The Appointment Booking activity allows you to organise and manage face-to-face training activities and to keep track of in-person activities.

Overview

Appointment booking is an activity that is placed within a course like any other Moodle activity. An appointment booking comprises one or many appointments, and each appointment consists of one or many sessions. Sign-up always takes place at the appointment level. A user can only be signed up for a single appointment per appointment booking.

[PHOTO HERE]

Adding a new appointment booking activity

After turning Editing on, add a new course activity. It will be listed along with all other installed course activities.

[PHOTO HERE]

Once the Appointment booking activity has been selected from the activity chooser, the following configuration options become available:

  • Name and Description: standard Moodle fields
  • Third-party email address(es) (optional): Specify users' email addresses, such as an external instructor, who will then receive notification messages whenever a user signs up for or cancels a session. Multiple email addresses have to be separated by a comma.
  • Notify third-party about wait-listed sessions: If checked, third-parties will be notified when a user signs up for a wait-listed session. If unchecked (default), third-parties will only receive notification messages whenever a user signs up for or cancels a scheduled session.
  • Allow cancelling default: If checked, the default setting, when creating new sessions for this activity, will be to allow sign-up cancellations.
  • Calendar display settings:
    • Site: Sessions will be displayed on the site calendar as a global event. All site users will be able to view session details.
    • Course: Sessions will be displayed on the course calendar as a course event. All users enrolled in the course will be able to view session details.
    • None: Sessions will only be displayed on the calendar of confirmed attendees as a user event, provided the Show entry on user's calendar option has been selected.
  • Show entry on user's calendar: If checked, a user event will be added to an attendee's calendar. If unchecked, duplicate events will be prevented in a user's calendar when Calendar display settings is set to Site or Course.
  • Short name (optional): Description of the session's calendar entry. The Name field of the activity will be used if left empty.

[PHOTO HERE]

There is a completion criterion called Student must book an appointment to complete this activity which will be triggered when a learner has booked an appointment.

Appointments and sessions

An appointment booking consists of one or more appointments, which themselves comprise sessions. To manage appointments and sessions, select the appointment booking activity at course level.

[PHOTO HERE]

Each row represents an appointment. The first two columns display session-related information—namely, the date and time. An appointment can comprise either one or multiple sessions. For each appointment, the Capacity limit is displayed (this takes the format of the number of users signed up/the total number of seats), as well as the Status field (displaying either Open, Session in progress, Finished, or Full). If the status is set to Open, users can sign up for the appointment via the Book button; if the status is set to Full, a waitlist can be joined if it has been enabled. Selecting the Details button will show the same data in a pop-up window, plus information on the appointment's description and any custom fields, should they exist.

[PHOTO HERE]

Adding a single appointment

To add a single appointment, select Appointment from the Add menu at the top right. You will see a pop-up screen where the first section deals with sessions. A session is created automatically with the following default values:

  • Date: Today's date
  • Start time: The next full hour
  • End time: 1 hour after the start time

You will need to adjust these three values to the date and times of your actual session. You can add more sessions via the Add session button.

[PHOTO HERE]

It is possible to create an appointment with no session (remove the initially created session via the Delete session button). Any users signing up for this appointment will be put on the waitlist. Session-less appointments are an excellent way to mimic an interested-in feature; once there is sufficient interest, the session information can be added to the appointment.

The Advanced section contains the following appointment settings:

  • Capacity (default 10): The maximum number of participants who can sign up for the appointment
  • Enable waitlist (default off): If ticked, sign-up will remain open once the capacity limit has been exceeded. Potential participants will be put on a waitlist.
  • Allow cancelling (default on): If enabled, users can withdraw after they have signed up. The first user on the waitlist will automatically be given the available seat.
  • Description: Textual details about the appointment.

[PHOTO HERE]

In the Other fields section, you can specify any relevant parameters, such as cost-related information. The Manage custom fields link will guide you to the Appointment custom fields page.

[PHOTO HERE]

Adding multiple appointments

To set up recurring sessions within one or many timeframes, select the Multiple appointments option from the Add menu at the top-right. A timeframe is a one-off template specifying how appointments are created automatically.

[PHOTO HERE]

For the specified Date field, you need to provide a Start time (beginning of timeframe) and an End time (end of timeframe). Within this timeframe, the Automatic split (duration of each appointment) and Break time (pause between splits) are distributed equally.

[PHOTO HERE]

If the split is set to 0, a single appointment will be created, covering the entire timeframe. If the break is set to 0, appointments will be created back to back. If a split-break combo doesn't exactly fit in the timeframe, the last appointment will run over, as long as it commences within the timeframe.

Appointment workflows

The appointment booking activity supports several workflows relevant in face-to-face settings:

  • Signing-up: Booking a place for an appointment or being booked by another user
  • Waitlist: The handling of participants on standby
  • Cancellation: Support for self-withdrawals
  • Attendance: The users signed up for the appointment, and their attendance status

[PHOTO HERE]

Signing up

Users can either book a place on an appointment by themselves or be signed up by another user.

Booking a place for myself

A user has to be enrolled in a course to sign up for an appointment and have the mod/appointment:signup capability.

Users will see the number of available seats for all appointments and each appointment activity. Accessing the appointment activity displays the list of available appointments and the Book button to sign up. After the user has signed up for an appointment, the status will change from Open to Booked, and the course page will now show the date of the next session rather than the number of available seats. If the date is not set, the user will just see the Booked status.

[PHOTO HERE]

The booking form shows details of the appointment and a Notification Type selection that allows the user to select how they would like to be notified about their booking:

  • Email Notification and iCalendar Appointment: Sends the appointment information via email and sends an iCalendar invitation
  • Email Notification only: Sends the appointment information via email
  • iCalendar Appointment only: Sends an iCalendar invitation

Booking a place for another user

To add other users to an appointment session, the mod/appointment:addattendees capability is required.

To sign up users, you will need to select the Attendees option from the menu to the right-hand side of the appointment. This will direct you to a screen that displays the list of all the participants already signed up and an option at the bottom labelled Add/remove attendees.

Once you select this link, you will see the standard Moodle user-selection screen where all users enrolled in the course are available for selection.

At the bottom left, there is an option called Suppress email notifications, which should be enabled if you wish to add participants from an appointment silently. If this option is toggled, no email confirmation will be sent to the newly selected users.

[PHOTO HERE]

When a user signs up other users, it is possible to overbook an appointment, effectively bypassing the waitlist mechanism.

Waitlisting

A waitlist is a queue of users who wish to sign up for an appointment, where its capacity limit has already been reached (appointment status is Full). If the waitlist facility has been enabled at the appointment level, potential attendees can add themselves to the waitlist via the Join waitlist button.

The waitlist operates on a first-in, first-out basis. The first person who joins the waitlist will be at the top of the queue. Once a place becomes available, this first user will be moved to the list of attendees, and all users on the waitlist move up a spot.

[PHOTO HERE]

To sign-up for full sessions that don't have waitlist enabled, the mod/appointment:overbook capability is required.

Cancellation

A user can cancel a booking if cancellations are permitted in the advanced settings of an appointment. Once the user has selected the Cancel button beside a booked appointment, an optional Reason for cancellation can be provided.

[PHOTO HERE]

The user will then be removed from the list of attendees. If a waitlist is in place, the next user in line will take the freed-up spot.

The Appointment report source supports the cancellation status as a selectable field (User cancelled) in Attendees status for columns, filters and conditions.

To cancel other users, you need to follow this same process, but instead of adding users to the list of participants, you need to select participants and remove them from the list. To remove users, the mod/appointment:removeattendees capability is required.

Attendance

Once a session has started or is finished, any user with the mod/appointment:takeattendance capability can take attendance. First, go to the Attendees option in the menu to the right of the appointment and select Take attendance at the bottom left of the screen. Once you select this, you will be shown the list of all the signed-up users, as well as options to specify the attendance status: No show, Partially attended, and Fully attended.

[PHOTO HERE]

The Appointment report source supports the attendance status as a column, filter and condition.

Appointment notifications

Participants and external users receive email notifications as a result of session booking actions, such as sign-up or cancelling.

The following notification text templates can be configured in the Customised notifications setting via the appointment cogwheel:

  • Confirmation message: Sent out when signing up for the appointment takes place
  • Reminder message: Sent out a number of days before the session start date. The number of days is defined in the Days before message is sent setting.
  • Wait-listed message: Sent out when a user is added to the waitlist
  • Cancellation message: Sent out when a user's participation is cancelled

[PHOTO HERE]

The following placeholders are available for all subjects and message bodies:

Placeholder Description
[alldates] Dates and times of all sessions
[appointmentname] Name of appointment activity
[attendeeslink] Link to the list of all attendees
[details] Session details
[duration] Session duration
[finishtime] Session finishing time
[firstname] First name of the attendee
[lastname] Last name of the attendee
[reminderperiod] Time period when reminder will be send (before session)
[sessiondate] Date of the session (no time added)
[starttime] Session start time
[session:location] Session location
[session:venue] Session venue
[session:room] Session room
[session:<custom_field_name>] Shortname of <custom_field_name>

Appointment Reporting

Moodle Workplace's report builder provides a report source called Appointments. Once added, the following fields are available:

  • Appointment booking activity
    • Name
    • Description
  • Appointment
    • Description
    • Capacity
    • Allow waitlisting (Yes / No)
    • Allow cancelling (Yes / No)
    • Seats booked
    • Booked / Capacity
    • Status (Open / Session in progress / Finished, Full)
    • Any custom fields
  • Appointment sessions
    • Session start date
    • Session start time
    • Session end date
    • Session end time
  • Attendees
    • Full name
    • Full name with profile link
    • Full name with picture
    • Full name with picture and link
    • First name
    • Surname
    • Email address
    • Status (User cancelled / Wait-listed / Booked / No show / Partially attended / Fully attended)
    • Time requested

There is an additional filter / condition called Session availability in the Appointment category, which offers the values Full (Booked = Capacity), Empty (Booked = 0), or Partially full (Booked < Capacity).

Permissions

There are a number of capabilities relevant to the Appointment Booking activity:

  • Add attendees to a Appointment session (mod/appointment:addattendees)
  • Add instance (mod/appointment:addinstance)
  • Allow the configuration of sign-up cancellations upon adding/editing an Appointment activity (mod/appointment:configurecancellation)
  • Remove attendees from an Appointment session (mod/appointment:removeattendees)
  • Take attendance (mod/appointment:takeattendance)
  • View cancellations (mod/appointment:viewcancellations)
  • Add, edit, copy and delete Appointment sessions (mod/appointment:editsessions)
  • Sign-up to full sessions that don't have waitlist enabled (mod/appointment:overbook)
  • Sign-up for a session (mod/appointment:signup)
  • View Appointment activities and sessions (mod/appointment:view)
  • View attendance list and attendees (mod/appointment:viewattendees)