Appendix
Roles & Permissions matrix
| Action / View | School Admin | Principal | Class Teacher | Subject Teacher | Parent | Student |
|---|---|---|---|---|---|---|
| School Configuration (Ch. 1) | Full | — | — | — | — | — |
| Approve staff requests (Ch. 2) | — | Yes | — | — | — | — |
| Take Attendance for a class | Any class | Any class | Only their assigned class/section (Ch. 7.1) — no assignment means no access to any class | Only class/sections they’re mapped to teach (Ch. 6.2); in Period-wise mode, only the exact period they’re scheduled for | — | — |
| Correct already-submitted attendance | — | Yes, with a reason | — | — | — | — |
| View Attendance Report | Yes | Yes | — | — | — | — |
| View a class/section’s full Timetable grid | Any class | Any class | Only their assigned class/section | Only class/sections they’re mapped to teach | — | — |
| "My Timetable" (own periods only) | Yes | Yes | Yes | Yes | — | — |
| View own child’s Fees / Timetable / Attendance | — | — | — | — | Own children only | — |
| Submit a leave request | — | — | — | — | Own children only | — |
| Compose / Publish / Unpublish the Diary (Ch. 11) | Any class | Correction-only, not routine composing | Only their assigned class/section | Only class/sections they’re mapped to teach | — | — |
| Read the Diary / mark homework done / ClassIQ (Ch. 11) | — | — | — | — | Own children only, on their behalf | Own record only |
| Upload syllabus material / ClassIQ Preview Mode (Ch. 11) | Yes | — | Yes | Yes | — | — |
| Diary Analytics + delegate teacher access (Ch. 11) | Yes | Yes | Only if granted, for their own class/section | Only if granted, for their own class/section | — | — |
| ClassIQ query log / cost view | — | — | — | — | — | — |
Unlike every other row in this table, no in-school role — not even Principal — can see the ClassIQ query log or its cost-reference view. That visibility exists only in Stavion's own Super Admin console, a deliberate security decision made when this module was built.
As of 2026-07-05, a Class Teacher or Subject Teacher with no assignment/mapping configured has no access to any class — there is deliberately no permissive fallback. Assigning a Class Teacher (Ch. 7.1) and creating Teacher-Subject Mappings (Ch. 6.2) are required setup steps, not optional ones, before those roles can use Attendance or view a class Timetable. See Chapter 7.6 for the full access-decision logic.
Known Issues / Release Notes
Building this guide end-to-end through the real CampusOS UI (rather than seeded test data) surfaced four real product gaps, all fixed as part of this exercise:
branch_id by default, which the backend’s UUID validation
rejected outright — breaking student admission entirely for the ~95% of schools with a single branch.
Fixed by omitting the field when no branch is selected.
branch_id exactly, excluding every teacher/class with a
NULL branch (the default for a single-branch school created through the UI, as opposed to a seed
script). Fixed to treat NULL as "no branch restriction" alongside an exact match.
Glossary
Revision history
| Version | Date | Change |
|---|---|---|
| v1.0 | 2026-07-05 | Initial guide — School Configuration through Attendance, Class Promotion, and the Parent Portal, built end-to-end for Golden Jubilee CBSE. |
| v1.1 | 2026-07-05 | Rebranded to CampusOS by Stavion Technologies; split into a multi-page guide with a landing page, per-chapter navigation, and prev/next; added Key Concepts, process-flow, and access-decision diagrams throughout (most extensively in 1.3 Feature Toggles and 7.6 Attendance RBAC). |
| v1.2 | 2026-07-07 | Added Chapter 10 — Transport: routes/stops, vehicles and all three GPS tracking sources, driver consent and device pairing, assignments and the capacity waitlist, trip logs and live tracking (including the GPS breadcrumb "blue line" trip route history), incidents and substitute vehicles, parent change requests and not-travelling notices, the Compliance Dashboard and Route Cost Report, and the Parent Portal's own Transport view — built end-to-end against Golden Jubilee's real seeded fleet. |
| v1.3 | 2026-07-15 | Added Chapter 11 — Student Diary & ClassIQ: composing and publishing a diary page (Homework, Classwork, Reminder, Individual Note, Checklist, Attachment), the Unpublish/re-publish cycle, Diary Analytics and teacher access delegation, uploading syllabus material and asking ClassIQ (with source citations) as a teacher, student, and parent — driven by a real new admission (Kabir Nair, Class 1-A) rather than seeded diary content. Added two new Known Issues found while building it (Attachment display after Unpublish, ClassIQ natural-language search over-narrowing). |
| v1.4 | 2026-07-15 | Added Chapter 12 — Notifications: the in-app notification bell (unread badge, feed, mark-as-read, deep links) and the admin's Notification Log oversight screen, covering the Store & Inventory overdue-return reminder as its first real notification type. |
| v1.5 | 2026-07-16 | Added Chapter 13 — Store & Inventory: Catalog (Categories, Items, Size-Matrix Generator, Asset Unit Manager), Purchasing & Transfers, Issue & Return (single and bulk, including a Damaged return with a recovery charge), Billing (Class-wise Pricing, Student Item Selection, Fulfillment Queue), all seven reports, and delegated Store Access — built end-to-end against a new Sports Equipment Category and real serialized/billable demo items, not seed data. |
| v1.6 | 2026-07-15 | Both Known Issues from v1.3 fixed the same day: the Composer's Attachment block now correctly shows an existing upload after Unpublish/re-publish (it fetches existing attachments the same way the Reader already did, instead of only ever knowing about one just uploaded in the same browser session), and ClassIQ's natural-language search no longer lets a fabricated date-range or file-type filter silently exclude a real match for a short, generic query. |
| v1.7 | 2026-08-01 | Added Chapter 14 — Exams & Results: Marks Structure (board-suggested, fully custom), creating an exam and adding subjects, mark entry & submission, Principal review (approve, reject & publish), Results & report cards, and Exam seating arrangement. |