The desk you'd actually want to sit at.
Offline-first. Push-notified. Persona-based. Open the portal, see only what your role needs — nothing else.
One portal, six different default screens.
Each persona's /me landing is hand-tuned — KPIs that role cares about, actions they take 10 times a day, alerts pinned at the top.
Admin home
Multi-school KPIs, alerts inbox, pending approvals, exceptions centre. The one screen the principal opens with coffee.
- GroupDashboard KPIs across all assigned schools
- Alerts strip — DashboardAlert engine scans nightly
- Pending approvals inbox (fee waivers / vouchers / leave / promotions)
- Exceptions centre — fee defaulters · attendance anomalies · missing data
Teacher home
Today's timetable on top. Yesterday's pending submissions to grade. Quick actions: take attendance, assign homework, message a parent.
- Today's classes (period-by-period)
- Submissions waiting on you (with AI evaluator suggestions ready)
- Quick attendance · quiz · announcement actions
- Class roster with one-tap parent message
Driver home
Today's route, student list, vehicle status, fuel log entry, breakdown flag. Auto-refreshes; no manual sync.
- Active trip strip with student boarding count
- Vehicle status — fuel · service · document expiry
- Start trip / End trip / Cancel trip — admin-approved or self
- Push tomorrow's route to the device overnight
Gate-desk home
Visitor check-in, photo capture, ID scan, bus-pass verification, overstay alerts. Hour-by-hour gate log.
- Quick check-in: photo + ID + reason + person-to-meet
- Bus-pass verification on entry / exit
- Overstay alerts — flagged when a visitor doesn't sign out by 5 PM
- End-of-day gate log export
Parent home
Multi-child cards (each kid is a swipe). Today's attendance, fee balance, pickup ETA, recent results. Leave-on-behalf-of-child in two taps.
- Multi-child support — swipe between kids
- Today timeline per kid (attendance · classes · events)
- Fee balance + pay button
- Leave request with medical-certificate upload
Transporter ops dashboard
Active trips · driver assignments · vehicle status · trip exceptions. The big-screen view for the operations head.
- Live trip map (every active vehicle)
- Driver assignments + leave coverage
- Trip exceptions: delayed / breakdown / cancelled
- Daily / weekly KPI rollup
The portal that works when the Wi-Fi doesn't.
Leave forms, attendance, correction requests — everything queues locally on offline. Sync indicator shows the queue depth. Submissions are idempotent on a ClientRequestId so a re-sync never double-creates.
IOfflineQueueService stores submissions in localStorage; window events fire on connect/disconnect.
PersonaShell shows pending-sync count. Click to see what's waiting.
ClientRequestId on Leave + AttendanceCorrection ensures one logical submit = one row, even on retry.