Once reason codes and default reasons are configured, they are used across Orah to provide context, drive attendance calculations, and support reporting and exports.
This article explains where reason codes appear, who can see or change them, and how they affect attendance data.
Reason Codes in Roll Calls
During roll calls, staff mark students as Present, Late, or Absent using roll codes.
Present records do not require a reason code
When a student is marked Late or Absent, a reason is applied
A default reason may be applied automatically
Staff can confirm or change the reason if permitted by their role
The reason type (Excused, Unexcused, or Not Expected) determines how the attendance entry is counted.
Reason Codes in Passes and Leave Requests
Reason codes are also used when passes or leave requests are created. How the reason is applied depends on who creates the pass.
Staff-created passes
A default reason is applied
Staff can select or override the reason based on their role permissions
Student-created passes (if permitted by the school)
The default reason for the pass type is applied
Staff can later override the reason if needed
Parent-submitted passes
Parents do not choose a reason
The pass automatically uses the default reason assigned to the pass type
The applied reason affects all impacted classes during the pass or leave window.
For example:
A School Trip pass mapped to Not Expected will mark students as Absent – Not Expected in affected classes.
Reason Codes in Attendance Reports
Attendance reports use reason types, not just attendance statuses, to calculate totals and percentages.
Reports can be filtered by:
Reason name
Reason type (Excused / Unexcused / Not Expected)
Date ranges and students
This allows schools to analyse patterns such as:
Unexcused absences by year group
Medical-related absences
Attendance impact of approved activities
While individual attendance records remain unchanged, changing a reason’s type can affect how historical data is calculated and displayed in reports.
Reason Codes in Dashboards
Dashboards aggregate attendance data using reason types to surface trends such as:
Overall attendance rates
Excused vs unexcused absence breakdowns
Students frequently marked unexcused
Because dashboards rely on reason types:
Accurate configuration is critical
Misclassified reasons can skew metrics
Changes to reason types should be made carefully and intentionally.
Reason Codes in Exports and SIS Integrations
When attendance data is exported or synced to a Student Information System (SIS):
The selected reason code is included
If configured, the reason is mapped to a corresponding SIS reason code
This ensures consistency between Orah and external systems
If a reason is not mapped correctly, exports may:
Fail SIS validation
Appear as unmapped or generic reasons
Who Can See or Use Which Reasons?
Access to reason codes is controlled by role-based permissions.
Schools can:
Restrict sensitive reasons (e.g. Truant / Cut Class) to specific roles
Allow broader access to common reasons (e.g. Illness)
If a staff member does not have access to a reason:
It will not appear as an option, even when overriding defaults
Key Takeaways
Reason codes are used for Late and Absent records, not Present
Defaults streamline workflows, but overrides are allowed for staff where permitted
Parent-submitted passes always use the pass type’s default reason
Reason types drive attendance calculations and reporting
SIS mapping and access controls protect data quality
What’s Next?
With behaviour and visibility covered, the final step is avoiding configuration mistakes.
➡️ Next article: Best Practices and Common Pitfalls for Reason Codes


