Class Session Report
Businesses can now view room usage, instructor assignments, attendance, and conflict or substitution details for every scheduled class session across centers in one consolidated report. The Class Session Report covers past, upcoming, cancelled, and zero-registration sessions, with filters, groupings, and pivot options to review operations at any level.
Access the Report
At the organization or center level, click Reports.
On the Reports page, search for and select Class Session Report.
Set the required filters.
Click Run.
Filters
Use filters to scope the report to the sessions relevant to your review.
Filter | Description |
|---|---|
Session Date | Defines the date range for the report. Select from the following presets or specify a custom date range:
The default selection is the current month to date. |
Centers | Filters the report to one or more centers. The list includes only the centers the logged-in user has access to. Select one or more centers from the dropdown. By default, all accessible centers are included. |
Class (Name or Code) | Filters sessions by class name or class code. Enter a partial or full name or code to search. By default, all classes are included. |
Instructor | Filters sessions by the active instructor, that is, the instructor currently assigned to the session after any substitutions. Select one or more instructors from the dropdown. By default, all instructors are included. |
Session Status | Filters sessions by their current status. Select one or more of the following values:
By default, Upcoming, In Progress, and Completed are selected. Cancelled sessions are excluded unless explicitly added to the filter. |
Has Room Conflict | Filters sessions based on whether a room conflict exists. Select one of the following:
By default, both values are included, and no filtering is applied. |
Has Instructor Conflict | Filters sessions based on whether an instructor conflict exists. Select one of the following:
By default, both values are included, and no filtering is applied. |
Has Substitution | Filters sessions based on whether a substitution has occurred. Select one of the following:
By default, both values are included, and no filtering is applied. |
Column descriptions
The report organizes columns into six sections. The sections and their columns are described below.
Date and Time
The Date and Time section shows when each session is scheduled and how it fits into the broader schedule.
Column | Description |
|---|---|
Session Date | The calendar date on which the session is scheduled. |
Session Start Time | The scheduled start time of the session, displayed in the center's local timezone. |
Session End Time | The scheduled end time of the session, displayed in the center's local timezone. |
Day of Week | The day of the week on which the session is scheduled, derived from the Session Date. Values range from Monday to Sunday. |
Time of Day Bucket | Groups the session into one of three time-of-day categories based on the session start time:
|
Session Duration | The length of the session in minutes, calculated from the start and end time. |
Recurrence Type | Indicates whether the session is a one-time occurrence or part of a recurring schedule. Possible values are:
|
Note
All date and time values are displayed in the center's local timezone.
Center
The Center section identifies where the session is held.
Column | Description |
|---|---|
Center Name | The name of the center where the session is scheduled. |
Center Code | The unique alphanumeric code that identifies the center in Zenoti. |
Business Unit | The business unit to which the center belongs, as configured in the organization hierarchy. |
Class and Session
The Class and Session section provides identifying information about the class and the specific session instance.
Column | Description |
|---|---|
Class Name | The name of the class offering, for example, "Yoga Beginner" or “HIIT Advanced”. |
Class ID | The unique internal identifier assigned to the class in Zenoti. |
Session Name | The name assigned to this specific session instance. |
Session ID | The unique identifier for this session instance. Use this value to match sessions when cross-referencing with the Class Attendance Report. |
Delivery Mode | Indicates how the session is delivered. Possible values are:
|
Class Category | The category assigned to the class, for example, Yoga, Strength, or Cycling. |
Class Sub Category | The sub-category assigned to the class, for example, CorePower Strength X or Hatha. |
Session Status | The computed status of the session at the time the report is run. Possible values are:
Status is evaluated in this order: Cancelled is checked first, followed by Upcoming, In Progress, and Completed. |
Cancelled Date | The date and time the session was cancelled. This column is blank for sessions that are not cancelled. |
Cancelled By | The name of the employee who cancelled the session. This column is blank for sessions that are not cancelled. |
Room
The Room section shows where the session is held within the center and whether capacity constraints apply.
Column | Description |
|---|---|
Room Name | The name of the room assigned to the session. Displays Unassigned if no room has been assigned, or Virtual for sessions with no physical location. |
Room Code | The code or identifier for the room. This column is blank for unassigned or virtual sessions. |
Room Category | The category of the room, for example, Studio, Cycle Studio, or Pool. This column is blank if no category is configured for the room. |
Room Capacity | The physical capacity of the room, represents the maximum number of people the room can accommodate. |
Session Capacity | The effective capacity configured for this session. When a session-level capacity override exists, that value is used. Otherwise, the class-level capacity applies. |
Capacity Overridden | Indicates whether the Session Capacity exceeds the Room Capacity for this session. Possible values are:
|
Has Room Conflict | Indicates whether another active session is scheduled at an overlapping time in the same center and room. Possible values are:
The following do not count as conflicts: back-to-back sessions where the end time of one session equals the start time of the next, cancelled sessions, virtual sessions, and sessions with no room assigned. |
Instructor
The Instructor section shows who is assigned to each session, including substitutions and any scheduling conflicts.
Column | Description |
|---|---|
Original Instructor Names | The instructor or instructors originally planned for the session at the time of scheduling. For sessions where a substitution has occurred, the original instructor is recovered from the substitution record. |
Active Instructor Names | The instructor or instructors currently assigned to teach the session. This reflects any approved substitutions. |
Substitute Instructor Names | The substitute instructor or instructors assigned to cover the session, where a substitution has been approved. |
Has Substitution | Indicates whether at least one instructor on this session has been substituted. Possible values are:
|
Sub Requested | Indicates whether an active substitution request exists for this session. Possible values are:
Declined, cancelled, and expired requests are not counted. |
Sub Volunteered | Indicates whether a volunteer has offered coverage for an active substitution request on this session. Possible values are:
|
Has Instructor Conflict | Indicates whether an active instructor on this session is also assigned to another session that overlaps in time. Possible values are:
Back-to-back sessions and cancelled sessions do not count as conflicts. |
Attendance
The Attendance section provides aggregate counts and percentages for each session. Use these metrics to assess demand, utilization, and no-show patterns.
Column | Description |
|---|---|
Registered | The count of guests who attended or were no-shows. This represents confirmed spots consumed by guests who held a booking. |
Spots | The count of guests who held a confirmed registration spot, including those who attended, no-showed, or whose invoice was closed. |
Attended | The count of guests who were signed in or whose session was closed. This excludes guests whose invoice was closed specifically due to a no-show fee. |
No-Show | The count of guests who held a confirmed spot but did not attend the session. |
Cancelled | The count of guests who cancelled their registration before the session. |
Waitlist Current | The count of guests currently on the waitlist at the time the report is run. |
Waitlist to Registered | The count of guests who were originally waitlisted and successfully moved to a confirmed spot. |
Attendance % | The percentage of session capacity filled by guests who attended. Calculated as Attended divided by Session Capacity. Displays 0% when the session capacity is zero. |
Utilization % | The percentage of session capacity consumed by guests who held a confirmed spot. Calculated as Spots divided by Session Capacity. Displays 0% when the session capacity is zero. |
No-Show % | The percentage of confirmed spots that resulted in a no-show. Calculated as No-Show divided by Spots. Displays 0% when the Spots count is zero. |
Group by and pivot results
Use grouping and pivot options to analyze sessions across different dimensions. Both options are available in the toolbar above the report table.
Group By
Grouping organizes report rows into collapsible sections with subtotals. The group header shows the session count and key aggregate metrics for the group. The following dimensions are available for grouping:
Group By | What It Shows |
|---|---|
Center Name | Session volume, utilization, and attendance broken down by location. Use this to compare performance across centers. |
Class Category | Attendance and utilization by program type. Use this to identify which categories are driving demand and which are underperforming. |
Day of Week | Session distribution across days of the week. Use this to identify peak days and opportunities to adjust scheduling. |
Delivery Mode | In-person versus virtual session split, with attendance and utilization for each mode. |
Session Status | Count of sessions by current status. Use this to monitor the pipeline of upcoming sessions and track cancellation volume. |
Pivot
The pivot view aggregates session data into a cross-tabulation. Select a dimension as the column axis and choose one or more measures to display. The available pivot dimensions are: Center Name, Class Category, Day of Week, Delivery Mode, and Session Status.
Measure | Description |
|---|---|
Total Sessions | The count of session instances in each group. |
Total Capacity | The sum of Session Capacity across sessions in each group. |
Total Registered | The sum of Registered counts across sessions in each group. |
Total Attended | The sum of Attended counts across sessions in each group. |
Total No-Show | The sum of No-Show counts across sessions in each group. |
Total Cancelled | The sum of cancelled counts across sessions in each group. |
Total Waitlist Current | The sum of current waitlist counts across sessions in each group. |
Total Waitlist to Registered | The sum of waitlist-to-registered conversions across sessions in each group. |
Average Utilization % | The average utilization percentage across all sessions in each group. |
Reconciliation with the Class Attendance Report
The Class Session Report shows session-level aggregate counts. The Class Attendance Report shows individual guest registration records. Use the Session ID to match sessions between the two reports and verify that the aggregate counts align with the guest-level records.
Class Session Report Column | How to Verify in the Class Attendance Report |
|---|---|
Registered | Filter the Class Attendance Report by Session ID. Count rows where Registration Status is Attended or No-Show. |
Attended | Filter by Session ID. Count rows where Registration Status is Signed In or Closed. |
No-Show | Filter by Session ID. Count rows where Is No-Show is Yes. |
Cancelled | Filter by Session ID. Count rows where Is Cancel is Yes. |
Waitlist Current | Filter by Session ID. Count rows where Registration Status is Waitlisted. |
Waitlist to Registered | Filter by Session ID. Count rows where Ever Waitlisted is Yes. |
Note
Sessions with zero registrations appear in the Class Session Report with a Registered count of zero. These sessions have no corresponding rows in the Class Attendance Report.
Considerations
Late cancellations are not tracked separately. The report counts all cancellations together and does not distinguish between early and late cancellations. To calculate the late cancel rate, compare the cancellation timestamp against the session start time using the Class Attendance Report.
Waitlist position is not available. The report shows the current waitlist count for each session, but does not display individual guest position in the waitlist queue.
Substituted sessions may show Single as the Recurrence Type. When an instructor substitution is approved, Zenoti clears the recurrence link on the session. As a result, sessions that were part of a recurring schedule may display Recurrence Type as Single after a substitution is applied.
Cancelled Date and Cancelled By use audit fields. These columns are sourced from the session's last-updated audit fields, not from dedicated cancellation fields. In practice, cancelled sessions are not modified after cancellation, so the values are accurate. However, if a cancelled session were updated after cancellation, these columns would reflect the edit rather than the original cancellation.
Session ID is the reconciliation key. When comparing data between this report and the Class Attendance Report, always use Session ID as the matching key. Session Name alone is not guaranteed to be unique across sessions.
The Instructor filter matches on Active Instructor. The filter applies to the instructor currently assigned after any substitutions. If you filter by an instructor who was originally scheduled but has since been substituted out, their sessions will not appear in the results.