Session
Sessions are used to represent classes
Table of Contents
Note: This is a part of a series on the master data objects that will be created and maintained by admin users.
For more information, see: Creating Sessions, How to create a Session using Session Template, and Session Scheduler.
Overview
Sessions represent the classes for a course. For example, the course BUS101 has a weekly lecture on Mondays, from 8:00 - 9:00 am, alongside hands-on tutorials throughout the week.
We will need to represent this in RIO so that we can assign a faculty member to teach it, find a suitable location to hold it, and allow students to enroll into it.
A Course Offering can have multiple Sessions and each Session can have multiple Session Times. For example: Course BUS101 can have 2 Sessions (Lecture 1, Lecture 2). Let’s say:
- Lecture 1 is scheduled on every Monday from 8:00am - 9:00am.
- Lecture 2 is scheduled on every Wednesday from 1:00pm - 3:00pm.
Students may be required to select either Lecture 1 or Lecture 2, or both. You could describe this in the Session Instructions field on the parent Course Offering, where it will be displayed to students in the enrollment wizard, or you could encode it using Session Rules.
A Session can be categorized as: Recurring, Block, Exam or One-off, and a Course Offering can have multiple Sessions.
Most of the time, you should use the Session Scheduler to create and manage your classes. It is much easier to use than creating and editing the underlying records. However, there may be cases in which you use a 3rd party scheduler which syncs to RIO, in which case please make use of the following documentation.
Record Types
Three types of Session records are supported in RIO.
Class
This is the default Record Type. As the name suggests, this represents the class sessions for a course, thus, the Session will need to be associated (via lookup) with a Course Offering.
Template
Used for creating a template Session (e.g. Mondays at 9-10 am), from which you can use whenever creating other Sessions with the same time. These “building blocks” are particularly useful in the Session Scheduler. Click here for more information about Template record type.
Standalone
This type allows a standalone Session to be directly created without requiring an associated Course Offering. You may have a need to schedule and enroll students into something like a one-off workshop, or other training that may occur throughout the term. This would be difficult to do while relying on a Course Offering.
Standalone sessions are particularly useful for Continuing Education, as you can relate them with a Study Offering instead.
Faculty Management
Faculty can be assigned to a Session in a few different ways, and you can also allow your faculty members to accept (or reject) a Session.
In all cases, an assigned faculty member will have both a Course Connection (with a record type of Faculty, if one does not already exist) and Session Connection (with the Faculty box checked and Faculty Confirmed set to Unconfirmed) record created.
Inherit Primary Faculty
If the faculty member for this Session is also denoted as the Primary Faculty Member on the Course Offering, then on the Session record you can simply check the “Use Course Offering's Primary Faculty” box, and this information will be copied over automatically.
Direct Assignment
By opening the Faculty tab on a Session record, you can use the Faculty Connection Wizard to assign multiple faculty members to the session, and filter them by the qualified faculty roles.
The wizard will highlight the existing qualified faculty for you to quickly select from, or you can search from every faculty member present in RIO. If you select a member of faculty who isn't qualified for this particular course or role, a warning will appear, but you can still choose to proceed if you need.
You can also assign faculty directly to a particular session time. For instance, you may create just one Tutorial session and create two Times for it - one for the class held on Tuesday and another for Thursday. Both classes will have a different supervisor, and so using the wizard you will be able to assign different staff to each day.

Faculty Status
As faculty are able to accept or decline a Session, we need a way to quickly determine Sessions with “unconfirmed” faculty. It is useful to quickly get a list of Sessions where the faculty member has declined, and so you will need to invite another one.
This is managed via the “Faculty Status” field, the value of which is calculated from the related faculty Session Connections. The following table outlines the faculty confirmation status depending on these values.
| Faculty Status | Description |
| No Faculty Assigned | No Session Connection for a faculty member has been created for the Session yet |
| None Confirmed | The “Faculty Confirmed” of all Session Connections (Faculty) remain None or Unconfirmed |
| Some Rejected | One or more Faculty have rejected a Session |
| Some Confirmed | One or more Faculty have confirmed a Session |
| All Confirmed | All Faculty have confirmed a Session |
Generating Bookings
When a Session and its Times has been finalised, its Facility chosen, and Faculty selected, you should proceed to generate the Bookings for it. You do this by setting the “Booking Status” picklist field to “Create/Update Bookings”.
Session and Session Time records merely describe the classes that will be held. Bookings are what actually appear on the calendars for students and faculty, and are what attendance is taken against.
If you have a 10 week lecture, you may have just one Session record and one Session Time record. When you then create the bookings for this session, we would expect to see 10 Booking records be generated, one for each week (unless a holiday has been configured).
Booking records are mostly behind-the-scenes. The calendar uses them alongside the attendance wizards, but there shouldn't be a need to interact with them directly.
The following table outlines the status of a Session record and the associated actions.
| Booking Status | Description |
| Draft | Indicates the Session is still in draft |
| Create/Update Bookings |
Used to trigger the booking creation/update automation. The automation will then set the status to Booked or Booked with Issue. If there are changes made to the child Session Time, this status must be set for the parent Session, in order for the changes to be reflected in the Session Scheduler. A trigger on Session will create/update a Plan Line with Booking records that represent the actual date/time for Session, based on the configuration in Session Time. |
| Booked | Indicates that bookings have been created successfully |
| Booked with Issue | Indicates that there was an issue during booking generation. The error is outlined in the “Booking Issue” field (see below). Please note that booking records may have been created despite the issue(s) reported. |
Booking Issues
If an issue occurs during the booking process, this will be reported in the “Booking Issue” field. You should consider creating a report on this field in order to monitor errors over time. Generally RIO will report two errors, which are documented as below:
| Issue | Description |
|
Number of Sessions does not match bookings to be created. Please correct the record manually. |
Indicates that the number of bookings created is less or more than the expected number of Sessions. This could be due to:
|
| There are double booking(s): xxx | Indicates that the location specified for the Session conflicts with another Session occurring at the same time. Please cross check the location selected in Session Time to ensure there is no conflict. |
Session Status
Each Session record has its own status, which is automatically determined based on its own values and the values of its parent records. This is mainly used in the enrollment wizard, to determine when a student is allowed to enroll into a session. Much like Course Offering, we have custom metadata available to configure what is allowed at what status.
Via the “Session Status (Override)” field, you are also able to override the automatically generated status with one of your choosing. This may be useful for particular sessions where you may want to ensure enrollment always remains open, even after the close date defined on the course offering.
The possible Status values are:
- Draft
- Not Started
- Pre-enrollment Opened
- Enrollment Opened
- Enrollment Closed
- Running
- Completed
- Cancelled
Please note that the global picklist is shared with the “Course Offering Status” field in Course Offering object.
The status is a formula which takes the following fields into account:
- Term’s Enrollment Open Date and Enrollment Close Date
- Term’s Session Open Date/Time and Session Close Date/Time
- Course Offering’s Pre-enrollment Open Date/Time
- Course Offering’s Enrollment Open Date/Time and Enrollment Close Date
- Course Offering’s Start Date and End Date
- Session’s Pre-enrollment Open Date/Time
- Session’s Enrollment Open Date/Time and Enrollment Close Date
- Session’s Start Date and End Date
- Session’s Booking Status
- Session's Session Status Override
Consult the following table for a reference on how the status is determined, and what might be causing an unexpected value:
| Priority | Condition / Trigger | Resulting Session Status |
|---|---|---|
| 1 | Session Status (Override) is populated | Value of Session Status (Override) |
| 2 | Booking Status = Draft | Draft |
| 3 | Today after Session End Date | Completed |
| 4 | Today after Session Start Date AND within Session Enrollment Open/Close window | Running (Enrollment Opened) |
| 5 | Today between Session Start Date and End Date | Running |
| 6 | Today after Session Enrollment Close Date/Time | Enrollment Closed |
| 7 | Today after or is Session Enrollment Open Date/Time | Enrollment Opened |
| 8 | Today after or is Session Pre-Enrollment Open Date/Time | Pre-enrollment Opened |
| 9 | Term-level Session Close or Enrollment Close dates passed | Enrollment Closed |
| 10 | Term-level Session Open or Enrollment Open dates reached | Enrollment Opened |
| 11 | All other conditions (Default state) | Not Started |
Session Delivery
Grading Students
In the Session record page, the ‘Students’ tab contains the grading component, whereby admin/faculty can grade students' assignments and exams for the related Course.
See also:
- RIO Ed - Session Grading (Aura)
- Grading Period Type and Setting
- Grade Criteria, Grade, and Term Grade
Attendance Submission
When Attendance Submission = “Required All”:
- All student attendance records must be marked.
- If any attendance is missing, an error message “All student attendances must be entered” will be displayed.

When Attendance Submission = “Allow Partial”:
- Attendance can be submitted even if some students' attendance is not marked.
Important Fields
Note: Session Time will follow the timezone that is defined in the related Course Offering's campus.
Please note that if there is no timezone defined in the campus, the current user time will be used. The best practice is to always set a timezone on campus.
| Field | Description |
| Session Type |
Picklist options to denote the type of Session:
|
| Mandatory Attendance |
Used to identify if a student is required to attend a Session in order to complete the Course. When this is checked, please ensure the “Attendance % for completion” is defined too.
|
| Attendance % for completion | Used to identify the minimum attendance % that is required to complete the Course. The “Mandatory Attendance” checkbox is required to be checked too in order for this to work. |
| Attendance Marking |
Picklist options to determine how to mark attendance for this Session, either by:
This tracks the attendance hours for the default (each Session Time) Attendance marking option.
See also: Marking and calculating student attendance. |
| Number of Sessions | Set the number of recurrence (Bookings) for a Session, e.g. 10 for weekly Sessions in a 10 week term. The booking generator will compare with the total number of bookings created. If it is different (e.g. a public holiday falls on one of the days), a warning message will be displayed in Booking Issue field. |
| Capacity | Maximum number of students for the Session |
| Self Enrollment Disabled |
Prevents students from enrolling into this Session via the Student Community. This will mean that only admin can do the students' enrollment (on their behalf) via the admin console.
|
| Published |
Check this checkbox to make the Session available in calendars and the enrollment wizard. IMPORTANT: After creating the child Session Time records, make sure the Session is published. |
| Pre-enrollment Open Date | Optional. This is to allow admin to define the pre-enrollment open date so that students/faculties could pre-book a seat in the Session. |
| Enrollment Open Date | Optional. If specified, it will override the Course Offering's enrollment open date, and students won’t be able to enroll into this Session before this date. This is often useful for non-Term related Sessions, such as an ongoing online study. |
| Enrollment Close Date | Optional. If specified, it will override the Course Offering enrollment close date, and students won’t be able to enroll into this Session after this date. This is often useful for non-Term related Sessions, such as an on-going online study. |
| Start Date** | Roll up of the earliest start date from active Session Time. |
| End Date** |
Roll up of the latest end date from active Session Time.
Please note that no update will be done if the Session Connection doesn't have any date. |
| Booking Status |
|
| Booking Issue |
Used to highlight issues found during booking generation. For example:
|
| Revalidate Facility Allocation | When checked, it will trigger the facility double booking check again for all the related booking records with "Start" date/time greater than now, by updating the "Booking Alert" to "Revalidate". |
| Removed Booking Details |
This field will be populated automatically with old booking details if they have been automatically overwritten by a Create/Update. Only bookings that had manually had their time, location or faculty changed before the Create/Update will be listed here. |
| Break Time |
Optional. Links to a Break Time record, which can be used to help calculate the hours students attended when there are breaks involved in the Session.
|
|
Enable Waitlist |
Allows students to waitlist in this Course if there are no more available places.
|
| Grade Session Separately | This Session can be graded separately from other Sessions in the Course Offering, and will get its own Term Grade record. |
| Use Session Groups |
Enables the available places to be divided among different types of student enrollments.
|
| Campus Name | This is a formula field that references the name of the Course Offering's Campus. If no Course Offering is linked with this Session, then, this formula field will reference the Campus defined in the "Campus" lookup field. |
| Campus | Lookup field to the Campus where this Session is being held |
| Public Calendar Label |
Create your own picklist value, to indicate whom (audience) you want to be able to view this Session on their calendar. Ensure that Contact records have the same matching picklist value on the "Public Calendar Label" field as well. Any Contacts that have a matching value will then be able to view this Session on their calendar, even if they have not enrolled to it yet. |
| Study Offering | Lookup field to Study Offering. Can be used to directly create Sessions for Study Offerings, without needing to create Courses. |
| Background Colour | Set the background hex colour of events of this Session, when viewed in calendar (e.g. #FFFFFF). |
| Text Colour | Set the text hex colour of events of this Session, when viewed in calendar (e.g. #000000). |
| Grading Period Type |
The default grade period type for Term grade.
|
| Attendance Submission |
(since 3.20)
|