Complete documentation of the NDSS CRM rostering module, including shift creation, calendar views, staff allocation, timesheet management, recurring shifts, shift notes, and unallocated shift alerts for NDIS service delivery scheduling.
The Rostering module is the operational backbone of NDSS CRM, enabling service coordinators, rostering officers, and team leaders to schedule, assign, and track support worker shifts for NDIS participants. The module provides both a list view and a weekly calendar view, with real-time status tracking, staff availability checking, and conflict detection.
Rostering is accessed via the Rostering link in the sidebar navigation. The landing page displays a summary of current shift statistics, filter controls, and the shift list. Users can toggle between List View and Week View using the view selector buttons.
| Role | Access Level | Capabilities |
|---|---|---|
| Master Admin / Administrator | Full | View, create, edit, delete all shifts. Approve timesheets. Manage recurring shifts. Access all reports. |
| Operations Manager | Full | Same as admin. Full operational control over the roster. |
| Rostering Officer | Full | Primary roster management role. Full CRUD on all shifts and timesheets. |
| Service Coordinator | Assigned | View and create shifts for their assigned clients. Cannot delete shifts created by others. |
| Team Leader | Team | View and manage shifts for their team members. Approve team timesheets. |
| Senior Support Worker | Team | View team shifts. Can view but not edit other team members' shifts. |
| Support Worker | Own | View only their own assigned shifts. Can clock in/out and submit timesheets. |
| Casual Worker | Own | View only their own shifts. Clock in/out and submit timesheets. |
| Client / Family | View | View upcoming service schedules via the Client Portal. Cannot modify shifts. |
The calendar view provides a visual, week-at-a-glance representation of all scheduled shifts. Each day column displays shift blocks colour-coded by status, with client name and staff assignment visible at a glance. Users can navigate between weeks using the forward/back arrows and jump to a specific date using the date picker.
New shifts are created via the "New Shift" dialog, accessible by clicking the "+ New Shift" button on the rostering page or by clicking an empty cell in the calendar view. The form collects all required scheduling information and performs real-time validation including staff availability and shift conflict checking.
| Field | Required | Type | Validation Rules |
|---|---|---|---|
| Client | Yes | Searchable Select | Must select an active client. Searches by name or NDIS number. |
| Shift Date | Yes | Date Picker | Cannot be in the past (except for admin backdating). Must be within the client's active plan period. |
| Start Time | Yes | Time Picker | 15-minute increments. Must be before End Time. |
| End Time | Yes | Time Picker | 15-minute increments. Must be after Start Time. Maximum shift duration: 24 hours. |
| Service Type | Yes | Select | Must match a valid NDIS support category configured in the system. |
| Staff Assignment | No | Searchable Select | If selected, the staff member must be available during the shift time (no conflicting shifts). Checked in real-time. |
| Location | No | Text Input | Free text. Defaults to the client's home address if not specified. |
| Notes | No | Text Area | Maximum 1000 characters. Visible to the assigned staff member. |
| Make Recurring | No | Toggle | When enabled, expands additional fields for recurrence configuration (see Section 8.8). |
| Service Type | NDIS Category | Description |
|---|---|---|
| Assistance with Daily Life | Core - Daily Activities | Personal care, meal preparation, household tasks, and day-to-day living support |
| Community Participation | Core - Community | Social activities, community access, skill-building outings, and group programs |
| Transport | Core - Transport | Transporting participants to appointments, activities, and community engagements |
| SIL Support | Core - SIL | Supported Independent Living assistance in shared or individual accommodation |
| Therapeutic Support | Capacity Building | Allied health sessions including behaviour support, OT, speech therapy, and psychology |
| Support Coordination | Capacity Building | Plan implementation, service coordination, and provider liaison activities |
| Group Activities | Core - Daily Activities | Group-based day programs and structured activities with multiple participants |
| Sleepover / Active Night | Core - Daily Activities | Overnight support including sleepover (inactive) and active night (awake) shifts |
When a staff member is selected, the system performs real-time conflict detection. If the selected staff member already has a shift that overlaps with the new shift's date and time range, a warning is displayed: "Conflict: [Staff Name] already has a shift from [time] to [time] on this date." The user can choose to proceed (creating a double-booking with a flag) or select a different staff member.
Every shift in NDSS CRM follows a defined status lifecycle from creation to completion. The status determines what actions are available, how the shift appears in the calendar, and whether it is eligible for invoicing.
| Status | Colour | Triggered By | Description |
|---|---|---|---|
scheduled |
Blue | Shift creation | Default status when a shift is created and a staff member is assigned. The shift is on the roster but not yet acknowledged by the staff member. |
confirmed |
Green | Staff acknowledgement | The assigned staff member has acknowledged and confirmed they will attend the shift. This can happen via the mobile app notification or the desktop shift detail view. |
in_progress |
Indigo | Staff clock-in | The staff member has clocked in and is actively delivering the service. Clock-in is recorded via the timesheet module. |
completed |
Grey | Staff clock-out | The staff member has clocked out and the shift is finished. A progress note should be submitted. The shift is now eligible for invoicing. |
cancelled |
Red | Manual cancellation | The shift has been cancelled. A cancellation reason is required. Depending on cancellation timing, the shift may still be billable under NDIS cancellation rules. |
no_show |
Amber | Manual marking | The staff member did not attend the shift, or the client was not available. No Show shifts are flagged for follow-up and may or may not be billable depending on the circumstances. |
| From | To | Who Can Transition | Conditions |
|---|---|---|---|
| Scheduled | Confirmed | Assigned Staff, Team Leader, Rostering Officer, Admin | Staff member acknowledges the shift |
| Confirmed | In Progress | Assigned Staff (via clock-in) | Clock-in must be within 30 minutes of the scheduled start time |
| In Progress | Completed | Assigned Staff (via clock-out) | Clock-out time must be recorded. Progress note is prompted. |
| Any | Cancelled | Rostering Officer, Service Coordinator, Admin | Cancellation reason must be provided. Support workers cannot cancel their own shifts. |
| Confirmed | No Show | Rostering Officer, Team Leader, Admin | Typically marked after the shift time has passed without a clock-in |
| In Progress | No Show | Admin only | Rare case where clock-in was recorded but service was not actually delivered |
Staff allocation is the process of assigning a support worker to a shift. NDSS CRM provides tools to match the right staff member to each shift based on availability, qualifications, client preferences, and location proximity.
When determining staff availability, the system evaluates the following criteria:
| Criterion | Priority | Description |
|---|---|---|
| Shift Conflicts | Blocking | If the staff member has an existing shift that overlaps with the new shift's time range, they are marked as "Unavailable - Conflict". |
| Availability Schedule | Blocking | Each staff member has a weekly availability schedule (set in their profile). If the shift falls outside their available hours, they are marked as "Unavailable - Not Rostered". |
| Leave / Time Off | Blocking | If the staff member has approved leave on the shift date, they are excluded from the available list. |
| Qualifications | Warning | If the service type requires specific qualifications (e.g., medication administration, behaviour support), staff without those qualifications are shown with a warning badge. |
| NDIS Worker Screening | Blocking | Staff with expired or missing NDIS Worker Screening clearance are excluded from assignment. |
| Working With Children Check | Conditional | Required if the client is under 18. Staff without a valid WWC check cannot be assigned to shifts with child participants. |
| Client Preferences | Advisory | Some clients have preferred staff or staff exclusions recorded in their profile. Preferred staff are shown at the top of the list with a star icon. Excluded staff are hidden unless the user specifically requests to see all staff. |
| Overtime Threshold | Warning | If assigning this shift would push the staff member over their weekly hour limit (typically 38 hours for full-time), a warning is displayed. |
The "Find Available Staff" feature sorts results by relevance: preferred staff for the client appear first, followed by staff with matching qualifications and geographic proximity to the service delivery location. Staff who have previously worked with the client are ranked higher to support continuity of care, which is a key NDIS quality indicator.
The list view provides a tabular representation of all shifts, offering powerful sorting, filtering, and bulk action capabilities. It is the default view when the Rostering module is opened.
The timesheet system in NDSS CRM tracks the actual hours worked by support staff on each shift. It provides clock-in/clock-out functionality, timesheet review and approval workflows, and integration with the finance module for accurate payroll and NDIS billing.
Support workers record their working hours using the clock-in and clock-out feature available on their shift detail view:
in_progress.completed.| Rule | Value | Description |
|---|---|---|
| Early Clock-In Window | 30 minutes | Staff can clock in up to 30 minutes before the scheduled start time. Earlier clock-in is blocked. |
| Late Clock-In | No limit | Staff can clock in after the scheduled start time. A "late" flag is automatically added if the clock-in is more than 15 minutes late. |
| Minimum Shift Duration | 15 minutes | A shift must be at least 15 minutes between clock-in and clock-out to be valid. |
| Maximum Shift Duration | 24 hours | Shifts exceeding 24 hours require manual timesheet adjustment and supervisor approval. |
| Missed Clock-Out | Auto-flag after 2 hours | If a shift remains "in progress" for 2 hours past the scheduled end time, the system sends a notification to the team leader and flags the timesheet for review. |
Completed timesheets go through a multi-step approval process before they are processed for payroll and NDIS billing:
| Timesheet Status | Colour | Description |
|---|---|---|
auto_approved | Green | Actual times match scheduled times within tolerance. No manual review needed. |
pending_review | Amber | Times differ from schedule. Awaiting supervisor review. |
approved | Blue | Manually reviewed and approved by a supervisor. |
rejected | Red | Rejected by supervisor. Staff member must resubmit. |
processed | Indigo | Sent to Finance for payroll and billing. Locked from further edits. |
In cases where the clock-in/clock-out times are incorrect (e.g., staff forgot to clock out, or clocked in from the wrong location), authorised users can manually adjust the timesheet. This requires entering the corrected times and providing a justification note. All manual adjustments are recorded in the audit log with the original values, new values, the user who made the change, and the timestamp.
NDIS participants often receive regular, ongoing supports on a fixed schedule (e.g., every Monday and Wednesday from 9 AM to 1 PM). The recurring shifts feature allows rostering officers to create a shift once and have it automatically replicated across a defined period, eliminating the need to create each shift individually.
When the "Make Recurring" toggle is enabled on the New Shift form, the following recurrence configuration fields appear:
| Field | Options | Description |
|---|---|---|
| Frequency | Daily, Weekly, Fortnightly, Monthly | How often the shift repeats. "Weekly" is the most common for NDIS services. |
| Days of Week | Mon, Tue, Wed, Thu, Fri, Sat, Sun | For weekly/fortnightly frequency, select which days the shift occurs. Multiple days can be selected. |
| End Condition | End Date, Number of Occurrences, Plan End Date | Determines when the recurrence stops. "Plan End Date" automatically uses the client's NDIS plan end date. |
| End Date | Date picker | If "End Date" is selected, specify the last date for the recurring shift. |
| Number of Occurrences | Numeric input | If "Number of Occurrences" is selected, specify how many times the shift should repeat (e.g., 12 for 12 weeks). |
| Same Staff | Toggle (Yes/No) | Whether to assign the same staff member to all generated shifts, or leave them as unallocated for individual assignment. |
When a recurring shift is created, the system generates individual shift records for each occurrence:
shifts table with its own id, shift_date, and status.recurrence_id and have is_recurring set to true./api/shifts/bulk-create endpoint (Python-backed) to generate all shift records efficiently.When editing a shift that is part of a recurring series, the user is presented with three options:
| Option | Behaviour |
|---|---|
| This Shift Only | Modifies only the selected shift. The shift retains its recurrence_id but is marked as an exception. Other shifts in the series are not affected. |
| This and Following | Modifies the selected shift and all future shifts in the series. Past shifts are not affected. |
| All Shifts in Series | Modifies all shifts in the recurring series that have not yet been completed or cancelled. |
Exceptions occur when a single shift in a recurring series needs to be different from the pattern (e.g., a public holiday, a one-off time change, or a staff substitution). NDSS CRM handles exceptions by:
NDSS CRM includes an Australian public holiday calendar (national and state-specific). When generating recurring shifts, the system warns if any occurrences fall on public holidays and gives the option to skip those dates or create them with a "Public Holiday" flag. Public holiday shifts may attract higher pay rates, which the Finance module handles automatically during payroll processing.
Shift notes allow support workers and coordinators to record important information about a shift before, during, or after service delivery. Shift notes are distinct from progress notes (which are more formal and linked to client goals). Shift notes capture operational details such as access instructions, client mood observations, handover information, and any issues encountered during the shift.
| Note Type | When Added | Description |
|---|---|---|
| Pre-Shift Note | Before the shift (by coordinator) | Instructions for the support worker, e.g., "Client has a medical appointment at 10 AM - please assist with transport" or "New support plan in place, please review before arriving." |
| During-Shift Note | While the shift is in progress | Real-time observations recorded by the support worker during the shift, e.g., "Client is feeling unwell, reduced activity level today" or "Medication administered at 2 PM as per care plan." |
| Post-Shift Note | After clock-out (by support worker) | Summary of the shift, including what activities were completed, how the client responded, any concerns, and handover notes for the next worker. |
| Coordinator Note | Any time (by coordinator/admin) | Administrative notes added by a service coordinator, e.g., "Shift rescheduled per client request" or "Cancellation reason: public holiday." |
Shift notes can be added from the shift detail panel by clicking "Add Note" and selecting the note type. Each note records:
| Note Type | Visible To |
|---|---|
| Pre-Shift Note | Assigned staff member, team leaders, coordinators, admins |
| During-Shift Note | Author, team leaders, coordinators, admins |
| Post-Shift Note | All staff with access to the shift, coordinators, admins. Optionally shared with the client via the Client Portal. |
| Coordinator Note | Internal staff only (coordinators, admins, team leaders). Not visible to support workers or clients unless explicitly shared. |
Unallocated shifts represent scheduled services that do not have a staff member assigned. These shifts require urgent attention to ensure that NDIS participants receive their supports as planned. NDSS CRM provides a multi-layered alert system to ensure unallocated shifts are visible and actioned promptly.
| Alert Type | Trigger Timing | Description |
|---|---|---|
| Dashboard Widget | Real-time | The Dashboard module displays an "Unallocated Shifts" counter in the stat cards section. Clicking the counter navigates to the rostering page filtered to show only unallocated shifts. |
| Rostering Badge | Real-time | The "Rostering" link in the sidebar navigation displays a red badge with the count of unallocated shifts (e.g., "Rostering (2)"). |
| Email Alert | 48 hours before shift | If a shift is still unallocated 48 hours before its scheduled date, the system sends an email to the rostering officer and service coordinator with shift details. |
| SMS Alert | 24 hours before shift | If the shift remains unallocated 24 hours before the scheduled date, an SMS alert is sent to the rostering officer with a direct link to the shift. |
| In-App Notification | 48 hours and 24 hours | Push notifications appear in the notification bell (top-right of the topbar) at 48 and 24 hours before an unallocated shift. |
| Daily Digest | Daily at 7:00 AM | A daily email summary is sent to all rostering officers listing all unallocated shifts for the next 7 days. Generated by the Python notification worker. |
If an unallocated shift is not addressed within the alert windows, the system escalates through the following chain:
There are three ways to resolve an unallocated shift:
Under NDIS Practice Standards, providers must make reasonable efforts to deliver supports as agreed in the participant's service agreement. Persistent unallocated shifts or service gaps may be flagged during NDIS audits. NDSS CRM's compliance module tracks service gap incidents and can generate reports showing the organisation's shift fulfilment rate for audit preparation. See Chapter 10: Compliance & Incidents for more details.
For information on how completed shifts flow into invoicing and NDIS claims, see Chapter 9: Finance & Invoicing. For staff qualification and availability management, see Chapter 7: Staff Management. For the technical architecture behind real-time shift updates, see Chapter 3: Architecture & Technical Stack.