Education Management System (EMS)
User Flow Document
Purpose: Foundation for UI/UX design and wireframing
Version: 1.0
Date: January 30, 2026
1. User Roles Overview
1.1 System Administrator
| Aspect | Description |
|---|
| Primary Goals | Configure system settings, manage users, maintain integrations |
| Key Permissions | Full system access, user CRUD, role assignment, MOET sync configuration, audit log access |
| Typical Tasks | Create academic years, configure grading rules, manage integration credentials |
1.2 Academic Administrator
| Aspect | Description |
|---|
| Primary Goals | Oversee academic operations, generate institutional reports |
| Key Permissions | Student management, class/subject setup, schedule creation, grade oversight, bulk operations, Coordinate faculty members and academic departments |
| Typical Tasks | Assign students to classes, create timetables, review grade reports |
1.3 Homeroom Teacher
| Aspect | Description |
|---|
| Primary Goals | Manage assigned class, track student attendance and wellbeing |
| Key Permissions | View/edit own class students, mark attendance, approve leave requests, enter grades for teaching subjects |
| Typical Tasks | Daily attendance, approve parent leave requests, view class performance |
1.4 Subject Teacher
| Aspect | Description |
|---|
| Primary Goals | Teach assigned subjects, record student progress |
| Key Permissions | Mark attendance for teaching periods, enter grades for assigned subjects/classes |
| Typical Tasks | Per-period attendance, grade entry, substitute teaching |
1.5 Academic Affairs Staff
| Aspect | Description |
|---|
| Primary Goals | Final oversight of academic processes, regulatory compliance |
| Key Permissions | Student management, Final leave approval, grade lock/unlock, MOET sync execution, academic reporting |
| Typical Tasks | Manage student information, Approve escalated leave requests, trigger grade sync, generate compliance reports |
1.6 Finance Staff
| Aspect | Description |
|---|
| Primary Goals | Manage tuition and fee collection |
| Key Permissions | Fee configuration, invoice generation, payment recording, financial reporting |
| Typical Tasks | Generate invoices, record payments, track outstanding balances |
1.7 Admissions Staff
| Aspect | Description |
|---|
| Primary Goals | Manage student enrollment pipeline |
| Key Permissions | Applicant CRUD, evaluation management, enrollment confirmation |
| Typical Tasks | Process applications, schedule evaluations, convert to enrolled students |
1.8 Transportation Staff
| Aspect | Description |
|---|
| Primary Goals | Manage school bus operations |
| Key Permissions | Route management, student-route assignment, schedule management |
| Typical Tasks | Create routes, assign students to buses, update schedules |
1.9 Parent
| Aspect | Description |
|---|
| Primary Goals | Monitor child's academic progress, communicate with school |
| Key Permissions | View own child's data only, submit leave requests, receive notifications |
| Typical Tasks | View grades/attendance, submit leave requests, download report cards |
2. Core Features Covered
In Scope
| # | Feature | Description |
|---|
| 1 | Student Management | Class assignment, transfers, student data CRUD |
| 2 | Academic Resources | Teachers, classes, subjects (MOET/Cambridge/Internal) |
| 3 | Scheduling | Timetable creation, teacher assignment, substitutes |
| 4 | Attendance | Per-period marking, absence tracking |
| 5 | Leave Management | Request, approval workflow, tracking |
| 6 | Grade Management | Score entry, calculation, ranking |
| 7 | MOET Sync | Data synchronization with national database |
| 8 | Reporting | Report card generation, email distribution |
| 9 | Admissions | Enrollment pipeline management |
| 10 | Finance | Fee/tuition management |
| 11 | Transportation | Bus route and assignment management |
Out of Scope (This Document)
- System administration (user management, settings)
- Audit logs and system monitoring
- Mobile-specific flows (responsive web assumed)
3. User Flows
3.1 Student Management
3.1.1 Feature Overview
| Aspect | Details |
|---|
| Purpose | Manage student lifecycle: enrollment, class assignment, transfers, data maintenance |
| Roles Involved | Academic Administrator, Homeroom Teacher (view only), Parents (view own child) |
3.1.2 Entry Points
| Entry Point | Path |
|---|
| Main Navigation | Sidebar -> "Students" |
| Dashboard Widget | "Student Overview" card -> "View All" |
| Quick Search | Global search bar -> type student name/ID |
| Class View | Classes -> Select class -> "Students" tab |
3.1.3 User Flow: View Student List
| Step | Screen | User Action | System Response |
|---|
| 1 | Dashboard | Click "Students" in sidebar | Navigate to Student List screen |
| 2 | Student List | View paginated student table | Display students with columns: ID, Name, Class, Status, Actions |
| 3 | Student List | Use filter controls (grade, class, status) | Filter and refresh table |
| 4 | Student List | Type in search box | Real-time filter by name/ID |
| 5 | Student List | Click column header | Sort ascending/descending |
| 6 | Student List | Click student row | Navigate to Student Detail screen |
3.1.4 User Flow: Add New Student
| Step | Screen | User Action | System Response |
|---|
| 1 | Student List | Click "Add Student" button | Open Add Student form (modal or page) |
| 2 | Add Student Form | Fill personal info section (name, DOB, gender, ID) | Validate required fields in real-time |
| 3 | Add Student Form | Fill contact info (address, phone, email) | Format validation |
| 4 | Add Student Form | Fill guardian info (parent name, relationship, contact) | — |
| 5 | Add Student Form | Select academic year | Populate available classes |
| 6 | Add Student Form | Select grade level | Filter class dropdown |
| 7 | Add Student Form | Select class | — |
| 8 | Add Student Form | Upload supporting documents (optional) | Show upload progress |
| 9 | Add Student Form | Click "Save" | Validate all fields |
| 9a | — | If validation fails | Highlight errors, scroll to first error |
| 9b | — | If validation passes | Save student, show success toast, redirect to Student Detail |
Validation Rules:
- Student ID: Required, unique, alphanumeric
- Name: Required, 2-100 characters
- DOB: Required, must be in valid age range (5-20 years)
- Class: Required for enrolled students
3.1.5 User Flow: Assign Students to Classes (Bulk)
| Step | Screen | User Action | System Response |
|---|
| 1 | Student List | Click "Bulk Actions" -> "Assign Classes" | Open Class Assignment wizard |
| 2 | Assignment Wizard - Step 1 | Select academic year | Load unassigned students for that year |
| 3 | Assignment Wizard - Step 1 | Select grade level | Filter student list |
| 4 | Assignment Wizard - Step 2 | Select students (checkbox or "Select All") | Update selection count |
| 5 | Assignment Wizard - Step 2 | Click "Next" | Proceed to class selection |
| 6 | Assignment Wizard - Step 3 | Select target class | Show class capacity (current/max) |
| 6a | — | If class would exceed capacity | Show warning, allow override or select different class |
| 7 | Assignment Wizard - Step 3 | Click "Assign" | Show confirmation dialog |
| 8 | Confirmation Dialog | Click "Confirm" | Process assignment, show progress |
| 9 | Assignment Wizard - Complete | View summary | Display assigned count, any failures |
| 10 | Assignment Wizard - Complete | Click "Done" | Return to Student List with filters applied |
3.1.6 User Flow: Record Student Transfer
| Step | Screen | User Action | System Response |
|---|
| 1 | Student Detail | Click "Actions" -> "Record Transfer" | Open Transfer modal |
| 2 | Transfer Modal | Select transfer type (School/Class/Program) | Update form fields |
| 3a | Transfer Modal (School) | Enter destination school name | — |
| 3b | Transfer Modal (Class) | Select new class | Show class capacity |
| 3c | Transfer Modal (Program) | Select new program (MOET/Cambridge/Internal) | — |
| 4 | Transfer Modal | Select effective date | Default to today |
| 5 | Transfer Modal | Enter transfer reason | — |
| 6 | Transfer Modal | Upload transfer documents (optional) | — |
| 7 | Transfer Modal | Click "Submit" | Validate fields |
| 8 | — | If transfer out of school | Update status to "Transferred Out", retain historical data |
| 8 | — | If class/program transfer | Update current assignment, create history record |
| 9 | Student Detail | View transfer history section | Display new transfer record |
3.1.7 Decision Points & Variations
| Condition | Flow Variation |
|---|
| Student already in a class | Show current class, offer "Change Class" instead of "Assign" |
| Duplicate student ID | Block save, show error with link to existing student |
| Class at capacity | Warning with override option for administrators |
| Transfer mid-semester | Prompt for grade handling (transfer grades or start fresh) |
| Incomplete guardian info | Allow save but show warning badge |
3.1.8 Edge Cases
| Case | System Behavior |
|---|
| No students found | Show empty state with "Add First Student" CTA |
| Search no results | Show "No matching students" message with clear filters option |
| Student has no class | Show "Unassigned" badge in list, filter available |
| Transfer to class in different year | Validate academic year alignment, block if mismatch |
| Bulk assign fails partially | Show success/failure breakdown, retry option for failures |
3.1.9 Outputs
| Output Type | Description |
|---|
| Database | Student record created/updated, transfer history logged |
| Notifications | Homeroom teacher notified of new students; parents notified of class assignment |
| Audit Log | All changes logged with user, timestamp, old/new values |
3.1.10 UX Notes
| Aspect | Recommendation |
|---|
| UI Pattern | Data table with inline actions; slide-over or full-page form for add/edit |
| Complexity | Medium - multiple related data points but familiar patterns |
| Special Attention | Transfer flow needs clear visual timeline; bulk assignment needs progress feedback |
| Responsive | Table converts to card view on mobile; forms single column |
3.2 Academic Resources (Teachers, Classes, Subjects)
3.2.1 Feature Overview
| Aspect | Details |
|---|
| Purpose | Maintain master data for teachers, classes, and subjects across curricula |
| Roles Involved | Academic Administrator (full CRUD), System Administrator (configuration) |
3.2.2 Entry Points
| Entry Point | Path |
|---|
| Main Navigation | Sidebar -> "Academic" -> Sub-menu (Teachers/Classes/Subjects) |
| Quick Actions | Dashboard -> "Academic Setup" card |
| Contextual Links | From scheduling, student assignment, or grade entry screens |
3.2.3 User Flow: Manage Subjects
| Step | Screen | User Action | System Response |
|---|
| 1 | Academic Menu | Click "Subjects" | Navigate to Subject List |
| 2 | Subject List | View tabs: MOET / Cambridge / Internal | Default to MOET tab |
| 3 | Subject List | Click tab | Filter subjects by curriculum type |
| 4 | Subject List | Click "Add Subject" | Open Add Subject modal |
| 5 | Add Subject Modal | Enter subject code | Auto-generate if empty |
| 6 | Add Subject Modal | Enter subject name (Vietnamese) | — |
| 7 | Add Subject Modal | Enter subject name (English) [optional] | — |
| 8 | Add Subject Modal | Select curriculum type | MOET / Cambridge / Internal |
| 9 | Add Subject Modal | Select applicable grade levels (multi-select) | — |
| 10 | Add Subject Modal | Set periods per week (default) | — |
| 11 | Add Subject Modal | Configure grading weights (for weighted scoring) | Show weight distribution preview |
| 12 | Add Subject Modal | Click "Save" | Validate uniqueness, save, refresh list |
3.2.4 User Flow: Manage Classes
| Step | Screen | User Action | System Response |
|---|
| 1 | Academic Menu | Click "Classes" | Navigate to Class List |
| 2 | Class List | Filter by academic year, grade level | Refresh table |
| 3 | Class List | Click "Add Class" | Open Add Class modal |
| 4 | Add Class Modal | Select academic year | — |
| 5 | Add Class Modal | Select grade level | Auto-suggest class name (e.g., "6A") |
| 6 | Add Class Modal | Enter/edit class name | — |
| 7 | Add Class Modal | Set capacity | — |
| 8 | Add Class Modal | Assign homeroom teacher | Dropdown of available teachers |
| 8a | — | If teacher already assigned elsewhere | Show conflict warning |
| 9 | Add Class Modal | Select homeroom location | — |
| 10 | Add Class Modal | Click "Save" | Validate, save, refresh list |
3.2.5 User Flow: Manage Teachers
| Step | Screen | User Action | System Response |
|---|
| 1 | Academic Menu | Click "Teachers" | Navigate to Teacher List |
| 2 | Teacher List | View teacher table with columns: Name, ID, Subjects, Classes, Status | — |
| 3 | Teacher List | Click "Add Teacher" | Open Add Teacher form |
| 4 | Add Teacher Form | Fill personal info (name, ID, contact) | Validate format |
| 5 | Add Teacher Form | Select qualified subjects (multi-select) | — |
| 6 | Add Teacher Form | Set employment status | Full-time / Part-time / Contract |
| 7 | Add Teacher Form | Set availability hours (optional) | For scheduling constraints |
| 8 | Add Teacher Form | Click "Save" | Create teacher, show in list |
3.2.6 Decision Points & Variations
| Condition | Flow Variation |
|---|
| Subject code exists | Block save, show link to existing subject |
| Teacher assigned as homeroom | Show workload indicator |
| Class has students | Block deletion; offer archive instead |
| Subject used in grades | Block deletion; offer deprecation |
3.2.7 Edge Cases
| Case | System Behavior |
|---|
| No teachers available | Show "Add teachers first" message in homeroom assignment |
| Deleting subject with historical data | Block with explanation; offer to view usages |
| Teacher leaving mid-year | Offer reassignment workflow for classes/subjects |
3.2.8 Outputs
| Output Type | Description |
|---|
| Database | Master records for teachers, classes, subjects |
| Dependencies | Scheduling, grading, attendance use this data |
3.2.9 UX Notes
| Aspect | Recommendation |
|---|
| UI Pattern | Tabbed data tables; modal forms for add/edit |
| Complexity | Low-Medium - mostly CRUD with relational validation |
| Special Attention | Subject grading weight configuration needs clear visual representation |
3.3 Scheduling (Timetable)
3.3.1 Feature Overview
| Aspect | Details |
|---|
| Purpose | Create and manage class timetables; assign teachers to periods; handle substitutions |
| Roles Involved | Academic Administrator (create/edit), Teachers (view), Homeroom Teacher (view class schedule) |
3.3.2 Entry Points
| Entry Point | Path |
|---|
| Main Navigation | Sidebar -> "Scheduling" |
| Class Detail | Class page -> "Schedule" tab |
| Teacher Detail | Teacher page -> "Schedule" tab |
| Dashboard (Teacher) | "Today's Schedule" widget |
3.3.3 User Flow: Create Class Timetable
| Step | Screen | User Action | System Response |
|---|
| 1 | Scheduling | Click "Timetables" | Navigate to Timetable List |
| 2 | Timetable List | Select academic year, semester | Filter displayed timetables |
| 3 | Timetable List | Click "Create Timetable" | Open Setup wizard |
| 4 | Setup - Step 1 | Select class | — |
| 5 | Setup - Step 1 | Select template (optional) | Pre-fill from previous or template |
| 6 | Setup - Step 1 | Click "Next" | Proceed to builder |
| 7 | Timetable Builder | View weekly grid (Monday-Friday, periods 1-10) | Empty or pre-filled grid |
| 8 | Timetable Builder | Click empty cell | Open "Add Period" popover |
| 9 | Add Period Popover | Select subject | Filter available teachers |
| 10 | Add Period Popover | Select teacher | Check teacher availability |
| 10a | — | If teacher has conflict | Show conflict details, suggest alternatives |
| 11 | Add Period Popover | Select room | Check room availability |
| 11a | — | If room has conflict | Show conflict, suggest alternatives |
| 12 | Add Period Popover | Click "Add" | Insert period into grid, update visual |
| 13 | Timetable Builder | Drag period to different cell | Move period, re-validate conflicts |
| 14 | Timetable Builder | Click "Save Draft" | Save without publishing |
| 15 | Timetable Builder | Click "Publish" | Validate completeness, publish for use |
| 15a | — | If missing required subjects | Show warning with missing subjects list |
3.3.4 User Flow: Assign Substitute Teacher
| Step | Screen | User Action | System Response |
|---|
| 1 | Timetable View | Click on period with assigned teacher | Open Period Details popover |
| 2 | Period Details | Click "Assign Substitute" | Open Substitute modal |
| 3 | Substitute Modal | Select date (or date range) | — |
| 4 | Substitute Modal | Select substitute teacher | Show only available teachers |
| 4a | — | No teachers available | Show "No available substitutes" message |
| 5 | Substitute Modal | Enter substitution reason | — |
| 6 | Substitute Modal | Click "Assign" | Save substitution |
| 7 | — | — | Notify original teacher and substitute via email/notification |
| 8 | Period Details | View substitute indicator on period cell | Visual badge showing substitute |
3.3.5 User Flow: Query Room/Subject by Time
| Step | Screen | User Action | System Response |
|---|
| 1 | Scheduling | Click "Room Finder" or "Schedule Query" | Open Query screen |
| 2 | Query Screen | Select date | — |
| 3 | Query Screen | Select time range (period or custom time) | — |
| 4 | Query Screen | Select query type: "Available Rooms" / "Room Schedules" / "Subject Search" | — |
| 5a | Query Screen (Available Rooms) | Click "Search" | Display list of unoccupied rooms |
| 5b | Query Screen (Room Schedules) | Select specific room, click "Search" | Display room's schedule for the day |
| 5c | Query Screen (Subject Search) | Select subject, click "Search" | Display all classes having this subject at given time |
3.3.6 Decision Points & Variations
| Condition | Flow Variation |
|---|
| Teacher teaches multiple classes | Check for conflicts across all assigned classes |
| Room capacity exceeded | Block assignment, show capacity info |
| Copying from template | Pre-fill grid but allow override |
| Period conflicts detected | Highlight conflicts in red; block publish until resolved |
| Partial timetable | Allow save as draft; block publish |
3.3.7 Edge Cases
| Case | System Behavior |
|---|
| No subjects defined for class grade | Show setup prompt linking to Subject management |
| No teachers qualified for subject | Show warning with link to add teacher qualifications |
| Room deleted while in timetable | Show "Room no longer available" warning on affected periods |
| Substitute not assigned | Show "No substitute" badge; escalate notification if within 24 hours |
3.3.8 Outputs
| Output Type | Description |
|---|
| Database | Timetable records, period assignments, substitution logs |
| Notifications | Teachers notified of assignments; substitutes notified; parents see updated schedules |
| Integrations | Attendance system uses timetable for period-based attendance |
3.3.9 UX Notes
| Aspect | Recommendation |
|---|
| UI Pattern | Drag-and-drop weekly grid; constraint-based validation with visual feedback |
| Complexity | High - multi-constraint scheduling with real-time validation |
| Special Attention | Conflict visualization critical; color-coding for subjects; hover states for teachers/rooms |
| Responsive | On mobile, show daily view only; full grid requires desktop |
3.4 Attendance
3.4.1 Feature Overview
| Aspect | Details |
|---|
| Purpose | Record per-period attendance; track cumulative absences |
| Roles Involved | Subject Teacher (mark periods), Homeroom Teacher (view/override class), Academic Administrator (reports) |
3.4.2 Entry Points
| Entry Point | Path |
|---|
| Main Navigation | Sidebar -> "Attendance" |
| Dashboard (Teacher) | "Today's Classes" widget -> Click class |
| Timetable | Click current period -> "Mark Attendance" |
| Notification | "Pending Attendance" reminder -> Direct link |
3.4.3 User Flow: Mark Period Attendance
| Step | Screen | User Action | System Response |
|---|
| 1 | Dashboard | Click "Mark Attendance" on current class widget | Open Attendance Marking screen |
| 2 | Attendance Marking | View student list with status columns | Default all to "Present" |
| 3 | Attendance Marking | For absent student, click status dropdown | Show options: Present / Absent / Late / Excused |
| 4 | Attendance Marking | Select "Absent" | Cell updates to Absent styling |
| 5 | Attendance Marking | Optionally add note for marked student | Inline note field expands |
| 6 | Attendance Marking | Repeat for all exceptions | — |
| 7 | Attendance Marking | Click "Submit Attendance" | Validate all students marked |
| 7a | — | If any student unmarked | Highlight unmarked, show warning |
| 8 | — | Attendance submitted | Show success; update cumulative count; notify parents of absences |
3.4.4 User Flow: View Attendance Dashboard
| Step | Screen | User Action | System Response |
|---|
| 1 | Attendance Menu | Click "Dashboard" | Open Attendance Dashboard |
| 2 | Dashboard | View summary cards: Today's Rate, Week Average, Students at Risk | Display aggregate statistics |
| 3 | Dashboard | Click "Students at Risk" card | Navigate to At-Risk Students list |
| 4 | At-Risk List | View students exceeding absence threshold | Sortable table with name, class, absence count |
| 5 | At-Risk List | Click student row | Navigate to Student Attendance Detail |
| 6 | Student Attendance Detail | View calendar with color-coded attendance | Green = Present, Red = Absent, Yellow = Late, Blue = Excused |
| 7 | Student Attendance Detail | Click date | View that day's period-by-period attendance |
3.4.5 User Flow: Attendance Report
| Step | Screen | User Action | System Response |
|---|
| 1 | Attendance Menu | Click "Reports" | Open Report Configuration |
| 2 | Report Config | Select report type: Class / Grade / Individual | — |
| 3 | Report Config | Select date range | — |
| 4 | Report Config | Select class/grade (based on type) | — |
| 5 | Report Config | Click "Generate" | Process report |
| 6 | Report Preview | View attendance summary by student | Table with present/absent/late counts |
| 7 | Report Preview | Click "Export" | Download as Excel or PDF |
| 8 | Report Preview | Click "Email Parents" (if individual reports) | Open email confirmation |
3.4.6 Decision Points & Variations
| Condition | Flow Variation |
|---|
| Period not yet started | Block attendance marking; show countdown |
| Period already marked | Show as "Submitted"; allow edit with reason |
| Teacher is substitute | Load attendance for substitute teacher view |
| Student has approved leave | Pre-mark as "Excused" with leave reference |
3.4.7 Edge Cases
| Case | System Behavior |
|---|
| No students in class | Show empty state; prompt to assign students |
| Class cancelled | Mark period as "Cancelled"; no attendance required |
| Late attendance submission | Allow with timestamp; flag for admin review |
| Student transferred mid-day | Show in both old and new class with transfer note |
3.4.8 Outputs
| Output Type | Description |
|---|
| Database | Period attendance records, cumulative counts updated |
| Notifications | Parents notified of absences (configurable threshold) |
| Reports | Available for export; feeds into student reports |
3.4.9 UX Notes
| Aspect | Recommendation |
|---|
| UI Pattern | Quick-toggle list for marking; calendar heatmap for viewing |
| Complexity | Low - simple marking; Medium - reports and analytics |
| Special Attention | Speed is critical for marking; minimize clicks; keyboard shortcuts for power users |
| Responsive | Mobile-optimized marking for teachers on the go |
3.5 Leave Management
3.5.1 Feature Overview
| Aspect | Details |
|---|
| Purpose | Parents request leave/early dismissal; multi-level approval workflow |
| Roles Involved | Parent (submit), Homeroom Teacher (first approval), Academic Affairs (final approval) |
3.5.2 Entry Points
| Entry Point | Path |
|---|
| Parent Portal | Dashboard -> "Request Leave" button |
| Parent Portal - Child Detail | Student tab -> "Attendance" -> "Request Leave" |
| Notification | Email/push link for pending requests |
| Teacher Dashboard | "Pending Approvals" widget |
3.5.3 User Flow: Parent Submits Leave Request
| Step | Screen | User Action | System Response |
|---|
| 1 | Parent Dashboard | Click "Request Leave" | Open Leave Request form |
| 2 | Leave Request Form | Select child (if multiple children) | — |
| 3 | Leave Request Form | Select leave type: Full Day / Partial (Early Leave) / Multi-Day | Adjust form fields |
| 4a | Form (Full Day) | Select date | — |
| 4b | Form (Early Leave) | Select date and departure time | — |
| 4c | Form (Multi-Day) | Select start and end date | Calculate total days |
| 5 | Leave Request Form | Select reason category | Illness / Family / Appointment / Other |
| 6 | Leave Request Form | Enter description | — |
| 7 | Leave Request Form | Upload supporting document (optional) | e.g., medical certificate |
| 8 | Leave Request Form | Click "Submit" | Validate required fields |
| 9 | — | Request created | Show confirmation; status = "Pending Homeroom Approval" |
| 10 | — | — | Notify homeroom teacher |
3.5.4 User Flow: Homeroom Teacher Approval
| Step | Screen | User Action | System Response |
|---|
| 1 | Teacher Dashboard | See "Pending Approvals" badge | Shows count of pending requests |
| 2 | Teacher Dashboard | Click widget or "Approvals" menu | Navigate to Approvals List |
| 3 | Approvals List | View requests sorted by date | Show: Student, Type, Dates, Submitted Date, Status |
| 4 | Approvals List | Click request row | Open Request Detail |
| 5 | Request Detail | Review request details and attachments | View all information |
| 6 | Request Detail | Click "Approve" or "Reject" | Open confirmation modal |
| 7a | Confirmation (Approve) | Optionally add comment | Click "Confirm Approve" |
| 7b | Confirmation (Reject) | Required: enter rejection reason | Click "Confirm Reject" |
| 8a | — | If approved | Status -> "Pending Academic Affairs"; notify Academic Affairs |
| 8b | — | If rejected | Status -> "Rejected"; notify parent with reason |
3.5.5 User Flow: Academic Affairs Final Approval
| Step | Screen | User Action | System Response |
|---|
| 1 | Academic Affairs Dashboard | See "Pending Final Approvals" | Shows homeroom-approved requests |
| 2 | Approvals List | Click request | Open Request Detail |
| 3 | Request Detail | Review request + homeroom teacher's approval | — |
| 4 | Request Detail | Click "Final Approve" or "Reject" | — |
| 5a | — | If approved | Status -> "Approved"; notify parent and teacher; pre-mark "Excused" in attendance |
| 5b | — | If rejected | Status -> "Rejected at Final"; notify parent with reason |
3.5.6 Decision Points & Variations
| Condition | Flow Variation |
|---|
| Same-day request | Flag as urgent; expedited notification |
| Request spans semester boundary | Split into two requests; warn parent |
| Student has extensive absence history | Show cumulative absence warning to approvers |
| Request for past date | Block; show error "Cannot request for past dates" |
| Homeroom teacher is absent | Academic Affairs can directly approve |
3.5.7 Edge Cases
| Case | System Behavior |
|---|
| Parent cancels pending request | Status -> "Cancelled"; remove from approval queue |
| Approval not received before date | System auto-escalates; show "Overdue" badge |
| Conflicting requests (same dates) | Warn parent; allow submission but flag for review |
3.5.8 Outputs
| Output Type | Description |
|---|
| Database | Leave request record with full approval history |
| Attendance | Approved leave auto-marks dates as "Excused" |
| Notifications | Status updates sent to parent; push + email |
| Reports | Leave requests included in absence analytics |
3.5.9 UX Notes
| Aspect | Recommendation |
|---|
| UI Pattern | Multi-step wizard for parent; approval queue for teachers |
| Complexity | Medium - multi-role workflow with state management |
| Special Attention | Clear status tracking visible to all parties; timeline view of approval progress |
| Responsive | Parent form must work well on mobile |
3.6 Grade Management
3.6.1 Feature Overview
| Aspect | Details |
|---|
| Purpose | Enter component scores, calculate final grades, apply MOET/Cambridge standards |
| Roles Involved | Subject Teacher (entry), Homeroom Teacher (view class), Academic Administrator (oversight), Academic Affairs (lock/sync) |
3.6.2 Entry Points
| Entry Point | Path |
|---|
| Main Navigation | Sidebar -> "Grades" |
| Teacher Dashboard | "My Classes" -> Select class -> "Grades" tab |
| Class Detail | "Grades" tab |
| Student Detail | "Academic" tab -> "Grades" section |
3.6.3 User Flow: Enter Component Scores
| Step | Screen | User Action | System Response |
|---|
| 1 | Grades Menu | Click "Grade Entry" | Open Grade Entry screen |
| 2 | Grade Entry | Select academic year, semester | — |
| 3 | Grade Entry | Select subject (from teacher's assigned subjects) | Load classes teaching this subject |
| 4 | Grade Entry | Select class | Load student list with score columns |
| 5 | Grade Entry | View grade table | Columns: Student Name, Component Scores (configured per subject), Average, Final |
| 6 | Grade Entry | Click on score cell | Cell becomes editable |
| 7 | Grade Entry | Enter score (0-10 scale or letter grade) | Validate against scale; auto-calculate average |
| 8 | Grade Entry | Press Tab or Enter | Move to next cell; auto-save |
| 9 | Grade Entry | Continue entering scores | — |
| 10 | Grade Entry | Click "Save All" (explicit save) | Confirm all scores saved; show save timestamp |
3.6.4 User Flow: View Grade Calculations
| Step | Screen | User Action | System Response |
|---|
| 1 | Grade Entry | After entering all components | View calculated columns: Average, Classification |
| 2 | Grade Entry | Hover over Average cell | Show calculation breakdown (weights) |
| 3 | Grade Entry | Click "View Rankings" | Open ranking modal for this class/subject |
| 4 | Ranking Modal | View students ranked by average | Show rank, GPA, classification |
| 5 | Ranking Modal | Toggle "MOET View" / "Cambridge View" | Switch ranking/classification system |
3.6.5 User Flow: Grade Approval & Lock
| Step | Screen | User Action | System Response |
|---|
| 1 | Academic Affairs Dashboard | See "Grades Pending Review" | Classes with completed grade entry |
| 2 | Grade Review | Select class/subject | View grade table (read-only) |
| 3 | Grade Review | Review for anomalies | System highlights statistical outliers |
| 4 | Grade Review | Optionally add review comments | — |
| 5 | Grade Review | Click "Lock Grades" | Confirm action; lock grades for editing |
| 6 | — | Grades locked | Teachers can no longer edit; ready for sync/reporting |
| 6a | — | If unlock needed later | Academic Affairs can unlock with audit log entry |
3.6.6 User Flow: MOET Sync
| Step | Screen | User Action | System Response |
|---|
| 1 | Grades Menu | Click "MOET Sync" | Open MOET Sync dashboard |
| 2 | MOET Sync | View sync status by class/semester | Green = synced, Yellow = pending, Red = error |
| 3 | MOET Sync | Select classes to sync | Multi-select checkboxes |
| 4 | MOET Sync | Click "Start Sync" | Show confirmation with data summary |
| 5 | Confirmation | Click "Confirm" | Begin sync process |
| 6 | Sync Progress | View real-time progress bar | Per-class status updates |
| 7 | Sync Complete | View results | Success count, failure details with error messages |
| 8 | Sync Complete | For failures, click "View Details" | Show specific record errors |
| 9 | Sync Complete | Click "Retry Failed" | Attempt failed records again |
3.6.7 Decision Points & Variations
| Condition | Flow Variation |
|---|
| Subject has weighted vs. simple scoring | Display appropriate entry columns |
| Cambridge subject | Use letter grades and GPA scale |
| Student transferred mid-semester | Show partial entry; calculate based on available |
| Score outside valid range | Block entry; highlight error |
| Grades locked | Read-only view for teachers; unlock requires Academic Affairs |
3.6.8 Edge Cases
| Case | System Behavior |
|---|
| Student has no scores | Show empty cells; calculate as N/A |
| Score entered incorrectly | Allow edit until locked; track edit history |
| MOET sync API unavailable | Queue for retry; show offline indicator |
| Duplicate student in MOET database | Show matching dialog; manual resolution |
3.6.9 Outputs
| Output Type | Description |
|---|
| Database | Component scores, calculated averages, rankings, classifications |
| MOET System | Synchronized data on demand |
| Reports | Feeds into report card generation |
| Notifications | Optional: parent notification when grades posted |
3.6.10 UX Notes
| Aspect | Recommendation |
|---|
| UI Pattern | Spreadsheet-style grid for data entry; modal for ranking view |
| Complexity | High - calculation complexity; dual grading system (MOET/Cambridge) |
| Special Attention | Auto-save critical; undo functionality; calculation transparency |
| Responsive | Desktop-optimized for entry; summary views on mobile |
3.7 Reporting & Communication
3.7.1 Feature Overview
| Aspect | Details |
|---|
| Purpose | Generate custom report cards; distribute to parents via email |
| Roles Involved | Academic Administrator (configure templates, trigger distribution), Academic Affairs (approve), Parents (receive) |
3.7.2 Entry Points
| Entry Point | Path |
|---|
| Main Navigation | Sidebar -> "Reports" |
| Class Detail | "Reports" tab |
| Student Detail | "Reports" tab -> "Generate Report" |
| Grades Menu | After locking grades -> "Generate Reports" CTA |
3.7.3 User Flow: Configure Report Template
| Step | Screen | User Action | System Response |
|---|
| 1 | Reports Menu | Click "Report Templates" | Navigate to Template List |
| 2 | Template List | Click "Create Template" | Open Template Editor |
| 3 | Template Editor | Enter template name | — |
| 4 | Template Editor | Select base layout | Predefined structures (MOET format, Cambridge, Custom) |
| 5 | Template Editor | Drag-and-drop sections | Header, Student Info, Grades, Attendance, Comments, Signature |
| 6 | Template Editor | Configure each section | Field selection, styling options |
| 7 | Template Editor | Upload school logo/header | Position in template |
| 8 | Template Editor | Click "Preview" | Generate sample with dummy data |
| 9 | Template Editor | Click "Save Template" | Store for future use |
3.7.4 User Flow: Generate Report Cards
| Step | Screen | User Action | System Response |
|---|
| 1 | Reports Menu | Click "Generate Reports" | Open Generation wizard |
| 2 | Wizard - Step 1 | Select academic year, semester | — |
| 3 | Wizard - Step 1 | Select scope: All / By Grade / By Class / Individual | — |
| 4 | Wizard - Step 2 | Select report template | Preview thumbnail |
| 5 | Wizard - Step 3 | Configure options | Include teacher comments (Y/N), include attendance (Y/N) |
| 6 | Wizard - Step 3 | Click "Generate Preview" | Generate sample reports (first 3 students) |
| 7 | Preview | Review sample reports | Scroll through PDF previews |
| 8 | Preview | Click "Generate All" | Begin batch generation |
| 9 | Progress | View generation progress | Count: Completed / Total |
| 10 | Complete | Reports ready | Download ZIP or proceed to distribution |
3.7.5 User Flow: Distribute Reports to Parents
| Step | Screen | User Action | System Response |
|---|
| 1 | Generation Complete | Click "Distribute via Email" | Open Email Distribution wizard |
| 2 | Distribution Wizard | Select email template | Standard notification template |
| 3 | Distribution Wizard | Preview email content | [Student Name]'s report attached |
| 4 | Distribution Wizard | Configure sender | School address, reply-to |
| 5 | Distribution Wizard | Review recipient list | Students with valid parent emails |
| 5a | — | Invalid/missing emails shown | Export list for manual handling |
| 6 | Distribution Wizard | Click "Send" | Confirm action |
| 7 | Sending Progress | View email delivery status | Sent / Pending / Failed counts |
| 8 | Complete | View delivery report | Download delivery log |
3.7.6 Decision Points & Variations
| Condition | Flow Variation |
|---|
| Grades not locked | Warning shown; block generation or proceed with draft watermark |
| Teacher comments missing | Warning; proceed without or require completion |
| Parent email invalid | Exclude from email; include in manual list |
| Report already generated this term | Confirm overwrite or create new version |
3.7.7 Edge Cases
| Case | System Behavior |
|---|
| Student has incomplete data | Generate with "N/A" sections; flag for review |
| Email bounce | Track in delivery report; suggest parent contact update |
| Large batch (1000+ students) | Queue for background processing; email completion |
| Template deleted after generation | Retain report with embedded formatting |
3.7.8 Outputs
| Output Type | Description |
|---|
| Reports | PDF report cards stored per student |
| Emails | Personalized emails with attachments |
| Logs | Distribution logs for audit |
3.7.9 UX Notes
| Aspect | Recommendation |
|---|
| UI Pattern | WYSIWYG template editor; wizard for generation; progress indicators |
| Complexity | Medium-High - template customization requires intuitive drag-drop |
| Special Attention | Preview critical before generation; clear email validation states |
| Responsive | Template editor desktop-only; distribution can be triggered from mobile |
3.8 Admissions
3.8.1 Feature Overview
| Aspect | Details |
|---|
| Purpose | Manage prospective student pipeline from inquiry to enrollment |
| Roles Involved | Admissions Staff (full access), Academic Administrator (enrollment approval) |
3.8.2 Entry Points
| Entry Point | Path |
|---|
| Main Navigation | Sidebar -> "Admissions" |
| Dashboard | "Admissions Pipeline" widget |
| Email Integration | Inquiry form submission -> auto-creates lead |
3.8.3 User Flow: Process New Inquiry
| Step | Screen | User Action | System Response |
|---|
| 1 | Admissions Dashboard | See new inquiry notification | Badge on "Inquiries" tab |
| 2 | Admissions Dashboard | Click "Inquiries" | Navigate to Inquiry List |
| 3 | Inquiry List | Click new inquiry | Open Inquiry Detail |
| 4 | Inquiry Detail | Review submitted info | Parent name, child info, interest level, questions |
| 5 | Inquiry Detail | Click "Convert to Applicant" | Open Application Creation form |
| 6 | Application Form | Pre-filled from inquiry | Verify and add missing info |
| 7 | Application Form | Assign application ID | Auto-generated |
| 8 | Application Form | Set target grade/program | — |
| 9 | Application Form | Click "Create Applicant" | Move to pipeline; stage = "Application Received" |
3.8.4 User Flow: Manage Admissions Pipeline
| Step | Screen | User Action | System Response |
|---|
| 1 | Admissions Dashboard | View Kanban pipeline | Columns: Inquiry -> Applied -> Evaluation -> Offer -> Enrolled |
| 2 | Pipeline Board | Drag applicant card between stages | Update stage; log change |
| 3 | Pipeline Board | Click applicant card | Open Applicant Detail in side panel |
| 4 | Applicant Detail | View timeline | All activities and stage changes |
| 5 | Applicant Detail | Add note | Log interaction |
| 6 | Applicant Detail | Upload documents | Track required documents received |
| 7 | Applicant Detail | Schedule evaluation | Create calendar event; notify parents |
3.8.5 User Flow: Enroll Accepted Student
| Step | Screen | User Action | System Response |
|---|
| 1 | Applicant Detail (Offer stage) | Verify all documents complete | Checklist with status |
| 2 | Applicant Detail | Click "Complete Enrollment" | Open Enrollment wizard |
| 3 | Enrollment Wizard | Confirm student details | Pre-filled from application |
| 4 | Enrollment Wizard | Select enrollment class | Target class with capacity |
| 5 | Enrollment Wizard | Set enrollment date | — |
| 6 | Enrollment Wizard | Generate enrollment fee invoice (optional) | Link to Finance module |
| 7 | Enrollment Wizard | Click "Enroll" | Create student record; move to "Enrolled" stage |
| 8 | — | — | Student appears in Student Management; notify homeroom teacher |
3.8.6 Edge Cases
| Case | System Behavior |
|---|
| Duplicate applicant | Warn and offer merge |
| Application expired | Archive with option to reactivate |
| Class full when enrolling | Block; offer waitlist or alternative class |
| Parent withdraws | Move to "Withdrawn" stage; retain record |
3.8.7 UX Notes
| Aspect | Recommendation |
|---|
| UI Pattern | Kanban board for pipeline; detail panel (slide-over); wizard for enrollment |
| Complexity | Medium - CRM-style workflow |
| Special Attention | Document checklist tracking; conversion analytics visibility |
3.9 Finance (Fee Management)
3.9.1 Feature Overview
| Aspect | Details |
|---|
| Purpose | Configure fees, generate invoices, track payments |
| Roles Involved | Finance Staff (full access), Parents (view own invoices/payments) |
3.9.2 Entry Points
| Entry Point | Path |
|---|
| Main Navigation | Sidebar -> "Finance" |
| Student Detail | "Finance" tab |
| Parent Portal | "Payments" section |
3.9.3 User Flow: Configure Fee Structure
| Step | Screen | User Action | System Response |
|---|
| 1 | Finance Menu | Click "Fee Configuration" | Open Fee Setup screen |
| 2 | Fee Setup | Click "Add Fee Type" | Open Fee Type form |
| 3 | Fee Type Form | Enter fee name (e.g., "Tuition - Semester 1") | — |
| 4 | Fee Type Form | Select fee category | Tuition / Activity / Transportation / One-time |
| 5 | Fee Type Form | Set amount | — |
| 6 | Fee Type Form | Set applicable students | By grade, class, or all |
| 7 | Fee Type Form | Set due date | — |
| 8 | Fee Type Form | Set recurrence (if applicable) | Monthly / Semester / Annual |
| 9 | Fee Type Form | Click "Save" | Add to fee catalog |
3.9.4 User Flow: Generate Invoices
| Step | Screen | User Action | System Response |
|---|
| 1 | Finance Menu | Click "Generate Invoices" | Open Invoice wizard |
| 2 | Invoice Wizard | Select fee type(s) | Multi-select from fee catalog |
| 3 | Invoice Wizard | Select students | All applicable / By class / Custom selection |
| 4 | Invoice Wizard | Set invoice date and due date | — |
| 5 | Invoice Wizard | Preview invoice count and total amount | — |
| 6 | Invoice Wizard | Click "Generate" | Create invoices |
| 7 | Complete | View generated invoices | Navigate to Invoice List |
| 8 | — | — | Parents notified of new invoice |
3.9.5 User Flow: Record Payment
| Step | Screen | User Action | System Response |
|---|
| 1 | Invoice List | Find invoice | Filter by student, status, date |
| 2 | Invoice List | Click invoice row | Open Invoice Detail |
| 3 | Invoice Detail | Click "Record Payment" | Open Payment form |
| 4 | Payment Form | Enter amount received | — |
| 5 | Payment Form | Select payment method | Cash / Bank Transfer / Card / Other |
| 6 | Payment Form | Enter reference number (if applicable) | — |
| 7 | Payment Form | Set payment date | Default today |
| 8 | Payment Form | Click "Save" | Update invoice status |
| 8a | — | If full payment | Status -> "Paid" |
| 8b | — | If partial payment | Status -> "Partially Paid"; remaining balance shown |
| 9 | — | — | Receipt generated; parent notified |
3.9.6 User Flow: Parent Views Invoices
| Step | Screen | User Action | System Response |
|---|
| 1 | Parent Portal | Click "Payments" | View payment dashboard |
| 2 | Payment Dashboard | See summary cards | Outstanding / Paid This Year / Upcoming |
| 3 | Payment Dashboard | View invoice history | Table with status, amount, due date |
| 4 | Payment Dashboard | Click invoice | View invoice detail |
| 5 | Invoice Detail | Click "Download Invoice" | Download PDF |
| 6 | Invoice Detail | Click "Download Receipt" (if paid) | Download receipt PDF |
3.9.7 Edge Cases
| Case | System Behavior |
|---|
| Student unenrolled with balance | Retain invoice; flag for follow-up |
| Overpayment | Apply to next invoice or record credit |
| Fee waiver | Create adjustment; document reason |
| Refund required | Record as negative payment; approval required |
3.9.8 UX Notes
| Aspect | Recommendation |
|---|
| UI Pattern | Configuration tables; wizard for batch generation; detail panels |
| Complexity | Medium - straightforward CRUD with batch operations |
| Special Attention | Payment status clarity; overdue notifications; balance calculations |
3.10 Transportation
3.10.1 Feature Overview
| Aspect | Details |
|---|
| Purpose | Manage school bus routes and student assignments |
| Roles Involved | Transportation Staff (full access), Parents (view child's route) |
3.10.2 Entry Points
| Entry Point | Path |
|---|
| Main Navigation | Sidebar -> "Transportation" |
| Student Detail | "Transportation" tab |
| Parent Portal | "Bus Information" section |
3.10.3 User Flow: Create Bus Route
| Step | Screen | User Action | System Response |
|---|
| 1 | Transportation Menu | Click "Routes" | View Route List |
| 2 | Route List | Click "Add Route" | Open Route form |
| 3 | Route Form | Enter route name/number | — |
| 4 | Route Form | Assign bus (optional) | Bus registration, capacity |
| 5 | Route Form | Assign driver | Driver name, contact |
| 6 | Route Form | Add stops (ordered list) | Stop name, address, time |
| 7 | Route Form | Set schedule | Morning pickup, afternoon dropoff times |
| 8 | Route Form | Click "Save" | Create route |
3.10.4 User Flow: Assign Students to Route
| Step | Screen | User Action | System Response |
|---|
| 1 | Route Detail | Click "Assign Students" | Open Student Assignment modal |
| 2 | Assignment Modal | Filter students | By class, area, or search |
| 3 | Assignment Modal | Select students (checkbox) | Update selection count |
| 4 | Assignment Modal | Assign pickup stop for each | Dropdown of route stops |
| 5 | Assignment Modal | Click "Save" | Update assignments |
| 6 | — | — | Parents notified of bus assignment |
3.10.5 User Flow: Parent Views Bus Info
| Step | Screen | User Action | System Response |
|---|
| 1 | Parent Portal | Click "Transportation" | View child's bus info |
| 2 | Transportation | See route name, bus number, driver contact | Card layout |
| 3 | Transportation | View pickup/dropoff times | Specific to child's stop |
| 4 | Transportation | View stop list (optional) | Full route if shared |
3.10.6 Edge Cases
| Case | System Behavior |
|---|
| Student not using bus | Show "Not Enrolled" in transportation |
| Route change mid-year | Notify affected parents |
| Bus capacity exceeded | Warning on assignment; suggest alternatives |
| Driver unassigned | Flag route as "Needs Driver" |
3.10.7 UX Notes
| Aspect | Recommendation |
|---|
| UI Pattern | List with detail view; ordered list builder for stops |
| Complexity | Low-Medium - clear structure |
| Special Attention | Stop ordering UX; capacity visualization |
4. Cross-Feature Interactions
flowchart LR
subgraph Admissions
A[Applicant Enrolled]
end
subgraph StudentMgmt["Student Management"]
B[Student Record]
end
subgraph Academic["Academic Resources"]
C[Classes]
D[Teachers]
E[Subjects]
end
subgraph Scheduling
F[Timetable]
end
subgraph Attendance
G[Attendance Records]
end
subgraph Leave["Leave Management"]
H[Approved Leaves]
end
subgraph Grades["Grade Management"]
I[Scores]
J[Final Grades]
end
subgraph MOET["MOET Sync"]
K[National DB]
end
subgraph Reports["Reporting"]
L[Report Cards]
end
subgraph Finance
M[Invoices]
end
subgraph Transport["Transportation"]
N[Bus Assignment]
end
A -->|Creates| B
B -->|Assigned to| C
C -->|Uses| F
D -->|Teaches| F
E -->|Scheduled in| F
F -->|Enables| G
H -->|Pre-marks| G
G -->|Feeds into| L
B -->|Scores recorded| I
I -->|Calculates| J
J -->|Syncs to| K
J -->|Included in| L
B -->|Generates| M
B -->|Assigned to| N
classDef accent fill:#7c3aed,stroke:#5b21b6,color:white
class A,B accent
Key Dependencies
| Feature | Depends On | Feeds Into |
|---|
| Attendance | Scheduling (knows what periods exist), Student Management (knows who's in class) | Reporting (absence data), Leave Management (validates excuses) |
| Grade Management | Academic Resources (subjects), Student Management (students), Scheduling (teaching assignments) | Reporting (grades), MOET Sync (official records) |
| Leave Management | Student Management (parent links), Attendance (excused absences) | Attendance (auto-marking) |
| Reporting | Grades, Attendance, Student Data | Parent Communication |
| Finance | Student Management (knows who to invoice) | — |
| Transportation | Student Management (knows who to assign) | — |
| Admissions | — | Student Management (created students) |
5. UX Notes Summary
Overall Patterns
| Pattern | Usage |
|---|
| Data Tables | Student lists, class lists, invoice lists, attendance reports |
| Kanban Board | Admissions pipeline |
| Calendar Views | Scheduling, attendance calendar, report distribution scheduling |
| Wizards | Multi-step processes: bulk assignment, report generation, enrollment |
| Detail Panels | Quick view without full page navigation (slide-overs) |
| Modals | Simple forms, confirmations, quick actions |
| Dashboard Cards | Statistics, quick actions, upcoming tasks |
Complexity Assessment
| Complexity | Features |
|---|
| Low | Transportation, basic CRUD operations |
| Medium | Student Management, Academic Resources, Attendance, Admissions, Finance |
| High | Scheduling (constraint-based), Grade Management (calculations, dual systems), Reporting (template builder) |
Critical UX Considerations
Important
These areas require special design attention:
- Scheduling Conflict Resolution — Real-time visual feedback for teacher/room conflicts
- Grade Entry Speed — Spreadsheet-like experience with keyboard navigation and auto-save
- Leave Approval Workflow — Clear status visualization across three parties
- Report Template Builder — Intuitive drag-and-drop with live preview
- MOET Sync Error Handling — Clear error messages and retry mechanisms
- Parent Portal Simplicity — Non-technical users; focus on clarity over features
Responsive Strategy
| Context | Approach |
|---|
| Desktop (Primary) | Full feature access; multi-column layouts; drag-and-drop |
| Tablet | Simplified layouts; prioritize viewing over editing |
| Mobile | Essential actions only: attendance marking, leave requests, notifications |
Appendix: Screen Inventory
| Module | Key Screens |
|---|
| Student Management | Student List, Student Detail, Add/Edit Form, Transfer Modal, Bulk Assignment Wizard |
| Academic Resources | Subject List, Class List, Teacher List, Add/Edit Modals |
| Scheduling | Timetable Builder (Grid), Period Popover, Substitute Modal, Room Query |
| Attendance | Attendance Marking, Attendance Calendar, Reports, At-Risk List |
| Leave Management | Leave Request Form, Approval Queue, Request Detail, Status Timeline |
| Grade Management | Grade Entry Grid, Ranking Modal, Lock/Unlock Panel, MOET Sync Dashboard |
| Reporting | Template List, Template Editor, Generation Wizard, Preview, Distribution |
| Admissions | Pipeline Board, Applicant Detail, Enrollment Wizard |
| Finance | Fee Configuration, Invoice List, Invoice Detail, Payment Form |
| Transportation | Route List, Route Detail, Stop Builder, Student Assignment |
| Parent Portal | Dashboard, Child Detail, Leave Request, Grades View, Payment History |
Document Version: 1.0
Status: Ready for Wireframing
Next Steps: Review with UX team; prioritize screens for wireframe; establish component library