What is the reason-based attendance model?
In Orah, every Late or Absent record is backed by a reason. Reasons explain why a student is away or late, and each reason has a type:
Excused – approved by the school (for example, sickness, family emergency)
Unexcused – not approved (for example, truancy, extended vacation)
Not Expected – the student is not meant to be in that class (for example, school trip, exam block, cancelled class)
By putting reasons at the centre, Orah can:
Give cleaner dashboards that separate Excused, Unexcused, and Not Expected records
Power more accurate alerts, daily attendance, and reports
Keep your SIS in sync using a simple, predictable mapping based on reasons, not complex roll‑code rules
Example of attendance insights broken down by Excused / Unexcused / Not Expected
How reasons fit with roll codes and passes
Orah combines three things to decide a student’s final attendance status in a class:
Roll code – what the teacher selects (Present, Late, Absent)
Reason – why the student is late or absent
Source – where the record came from (roll, pass, or an edit)
Key ideas:
Teachers select roll codes like Present, Late, Absent when marking the roll
Reasons can be added either from the roll (for example, “Late – traffic”) or from a pass (for example, “Early Dismissal – medical”)
The reason type (Excused / Unexcused / Not Expected) is what Orah uses in:
Attendance dashboards
Daily attendance calculations
Attendance alerts and follow‑ups
Example outcomes
Late + Excused reason → Late Excused
Late + Unexcused reason → Late Unexcused
Absent + Excused reason → Absent Excused
Absent + Unexcused reason → Absent Unexcused
Absent + Not Expected reason → Absent Not Expected (ignored in attendance rates)
Present records do not need reasons. Most SIS platforms assume students are present unless they are marked late or absent, so Orah only needs to send Late and Absent records.
Example class record showing a student marked Not Expected with an Excused pass
Why schools benefit from the reason-based model
Compared with the older, pass‑based approach, the reason‑based model gives schools:
Clearer insights – you can see Excused vs Unexcused vs Not Expected for both lates and absences
Fairer reporting – school trips, exam blocks, and cancelled lessons do not drag down attendance rates
Simpler integrations – Orah focuses on syncing reasons to the SIS, instead of hard‑to‑explain roll‑and‑pass combinations
Stronger automations – alerts can target exactly the patterns you care about (for example, repeated Unexcused Late in homeroom)
Example of alerts configuration grouped by reason type
Who needs to do what at your school?
IT / SIS admin
Connect Orah to your SIS
Enable the Reason / Reason Code integration object
Run the first sync so SIS reasons appear in Orah
Attendance manager / dean
Review the list of reasons and group them into Excused, Unexcused, and Not Expected
Create any extra “Orah‑only” reasons that help with your workflows, then map them to SIS reasons
Make sure every Late and Absent roll code and every pass type has a default reason
Teachers
Continue marking rolls as usual (Present, Late, Absent)
Choose or confirm the correct reason when a student is Late or Absent (where allowed by school policy)
Step 1 – Check your school type
Before you configure anything, confirm how your school is set up in Orah:
Legacy school – Full attendance mode
You started using Orah before 13 January 2026, and
You use Orah to take and manage attendance
Legacy school – Attendance Insights mode
You started using Orah before 13 January 2026, and
Orah only pulls attendance in from your SIS for dashboards and alerts
New school – Full attendance mode
Your account was created on or after 13 January 2026, and
You use Orah for full attendance management
New school – Attendance Insights mode
Your account was created on or after 13 January 2026, and
You use Orah for SIS‑only attendance insights
Only legacy schools need to migrate to the reason‑based model.
New schools start on this model by default.
Switch to Reason-based Method control in General Attendance Settings
Step 2 – Enable and sync SIS reasons
For: IT / SIS admin
Go to SIS Integration settings in Orah.
Enable the Reason / Reason Code integration object so Orah can read reasons from your SIS.
Run a manual sync.
Confirm that SIS reasons now appear in Orah (for example, in Reason Settings).
If your SIS does not yet expose reasons, you can still create Orah‑only reasons, but you will not be able to map them back to your SIS until those codes exist there.
Example of SIS reasons pulled into Orah after sync
Step 3 – Configure your reasons in Orah
For: Attendance manager / dean (with IT support as needed)
Work through the Reason Settings page and:
Assign a reason type to every reason
Decide whether each reason should be Excused, Unexcused, or Not Expected
Use your existing attendance policy as the guide
Review and create custom reasons
Add any Orah‑specific reasons you need (for example, “Internal Meeting”, “On‑campus program”)
Keep names short and clear; add a Short Code for quick views where needed
Map Orah custom reasons to SIS reasons
For each custom reason, choose the matching SIS reason so exports stay consistent
Reasons that originally came from the SIS remain fixed to their source code
Set who can use each reason
Use Reason Access to control which roles can choose a given reason
For example, limit “Truant / Cut class” to deans and attendance staff
When this step is complete, you should be able to answer:
Which reasons are Excused vs Unexcused vs Not Expected
Which reasons are Orah‑only and how they map to SIS reasons
Which user groups can apply each reason
Reason settings page with types, mappings and access configured
Step 4 – Link reasons to passes
For: Attendance manager / dean
Every pass that can affect class attendance should have a default reason.
Open Pass Type settings in Orah
For each pass type that overlaps class time (for example, Late Arrival, Early Dismissal, School Trip):
Choose a default reason that best matches the usual use case
Decide whether staff can change the reason on the pass form
Save your changes
Examples:
Late Arrival (traffic) → default reason type Excused
Late Arrival (no explanation) → default reason type Unexcused
School Trip → default reason type Not Expected
Once this is set, any time a pass is active and overlaps a class, its reason will drive the class attendance status.
Example of editing the reason on a Late Arrival pass
Step 5 – Link reasons to roll codes
For: Attendance manager / dean
Next, configure your roll codes so that every Late and Absent option has a default reason.
Open Roll / Class Attendance settings
For each Late or Absent roll code:
Assign a default reason (for example, “Absent – Unexplained”, “Late – Traffic”)
Leave Present roll codes without a reason. These do not need explanation for SIS sync.
This ensures that when a teacher chooses a roll code, Orah always has a matching reason to work with.
Roll settings with default reasons assigned to Late and Absent codes
Step 6 – (Legacy schools only) Switch to the reason-based method
For: IT + Attendance manager / dean
Once your reasons, passes and roll codes are all configured:
Go to General Attendance Settings in Orah
Find the Attendance data type setting
Click Switch to Reason‑Based Method
Follow the on‑screen confirmation and start the migration
Wait for the migration to complete (this may take a few minutes)
During migration, Orah updates your historical data so that dashboards, daily attendance and alerts use the new reason‑based classifications.
If anything is missing (for example, a roll code without a default reason), Orah will show an error and block migration until it is fixed.
Pre-migration checklist showing required reason configuration
Step 7 – Check your dashboards, alerts and daily attendance
After switching to the reason‑based model:
Open the Attendance Insights dashboard and confirm you can see:
Excused Tardy vs Unexcused Tardy
Excused Absent vs Unexcused Absent
Review Attendance Alerts settings and update any rules that should now filter by:
Reason type (Excused / Unexcused / Not Expected)
Specific reasons (for targeted use cases)
Check Daily attendance outputs to ensure:
“Not Expected” records are not counted in attendance rates
Excused vs Unexcused behaviour matches your policies
Example error message if required reason mappings are missing
Frequently asked questions
Do teachers have to learn a totally new process?
No. Teachers still select roll codes and, where enabled, choose a reason. The core change is how Orah interprets those choices in the background.
Can one pass override another?
If there are multiple overlapping passes, Orah uses the latest active pass at the time of class to decide the final reason.
What happens if a reason changes later?
If a teacher or attendance manager edits the reason on a roll or pass, the final attendance status is updated to match the new reason type.
Will this change our SIS data?
The goal is to keep your SIS behaviour consistent with your policies. Orah sends Late and Absent records with the mapped reasons; your SIS still applies its own rules, just with cleaner, more structured input from Orah.










