📋 Attendance
The Attendance module allows recording and tracking student presence in each scheduled class. It is designed to operate directly from the schedule calendar, enabling a fast workflow: view block → record attendance for the entire section.
📍 Access path: Side menu → Virtual Classroom → Attendance
1. Attendance Status System
Attendance statuses are configurable by the administrator and support custom colors. Each status has a background color and a text color for display in the interface.
| Field | Type | Description |
|---|---|---|
| Name | Text (20 char.) | Status identifier (e.g., Present, Absent, Excused, Late) |
| Active | Yes/No | Controls whether the status appears as an available option |
| System | Yes/No | Indicates if it is a built-in system status (cannot be deleted) |
| Color | Hexadecimal | Background color of the status chip |
| Text Color | Hexadecimal | Text color within the chip |
⚙️ Configuration: Side menu → Settings → Categories → Attendance Statuses tab
2. Recording Flow — From the Calendar
The primary way to record attendance is directly from a schedule block in the calendar. When you click the 📋 Attendance button on a block, the system automatically transfers the context (section, subject, date, time) to the bulk recording screen.
Data automatically transferred to the recording form:
| Data | Source |
|---|---|
| School Year | Active calendar filter |
| Section | Active calendar filter |
| Subject | Title of the selected block |
| Date | Date of the block in the calendar |
| Start/End Time | Time of the selected block |
3. Bulk Recording Screen
The recording screen displays the class context in informational chips and a table with all enrolled students in the section. For each student, you can select:
| Column | Description |
|---|---|
| Full Name | Student name (read-only) |
| Reason | Attendance status selector (Present, Absent, Excused, Late, etc.) |
| Description | Optional field for additional notes (e.g., "Arrived 15 min late", "Medical leave") |
💡 Note
Only students with a selected status are saved. If a student has no status assigned, they are omitted from the record. This allows selective attendance recording (absences/tardies only).
🔔 Automatic Notifications
When a student is marked with a status other than "Present" (ID ≠ 1), the system automatically sends a push notification to the student's guardians, informing them of the attendance status.
4. Attendance Records List
The main view displays all attendance records in a table format with advanced filters:
Available filters (cascading selectors):
🎓 School Year → 🏫 Section → 📚 Course → 📅 Date Range
It also includes a search by student name field.
Table columns:
| Column | Description |
|---|---|
| School Year | Academic cycle of the record |
| Section | Grade and group |
| Course | Associated subject |
| Student | Full name |
| Date | Date of the record |
| Status | Color chip with the attendance status |
Available actions per record (three-dot menu):
| Action | Icon | Description |
|---|---|---|
| Edit | ✏️ | Change the status or description of the individual record |
| Student | 🎓 | Navigate to the student's full record |
| Delete | 🗑️ | Delete the attendance record (with confirmation) |
5. Attendance Analytics Dashboard
The module includes a visual analytics panel with interactive charts. Accessible from the side menu → Virtual Classroom → Attendance Panel.
📍 Access path: Side menu → Virtual Classroom → Attendance Panel
Statistics Cards (Premium Cards):
| Card | Icon | Color | Description |
|---|---|---|---|
| Attended | ✅ | Green | Total records with "Present" status |
| Unexcused Absences | ❌ | Red | Total absences without justification |
| Excused Absences | ⚠️ | Orange | Total absences with justification |
| Tardies | 🕐 | Blue | Total late arrivals |
Available charts:
| Chart | Type | Description |
|---|---|---|
| Attendance by Status | Bar | Distribution of records grouped by each status |
| Trend (30 days) | Line | Daily evolution of attendance records |
| Distribution by Grade | Pie (Donut) | Proportion of records by academic grade |
| Distribution by Level | Pie | Proportion of records by educational level |
The dashboard also includes a recent absences table (last 10 records) with student avatar, section, course, date, and status with color chip.
🔍 Dashboard Filters
The panel supports the same cascading filters as the main list (School Year → Section → Course). Charts update automatically when any filter changes.
6. Navigation Summary — Attendance
| Element | Location | Function |
|---|---|---|
| 📋 Attendance (Button) | Calendar block | Start bulk recording from the schedule |
| 🔍 Search | Top bar of the list | Execute search with current filters |
| School Year | Filter bar | Primary filter of the cascading selector |
| Section | Filter bar | Depends on the selected School Year |
| Course | Filter bar | Depends on the selected Section |
| Date Range | Filter bar | Filter by period (start/end date) |
| Student | Filter bar | Search by student name |
| ✏️ Edit | Row actions menu | Modify status and description of the record |
| 🎓 Student | Row actions menu | Navigate to the student's record |
| 🗑️ Delete | Row actions menu | Delete record with confirmation |
| 💾 Save | Bulk recording form | Confirm and store attendance for all students |
| 📊 Dashboard | Side menu | Access the analytics panel with interactive charts |

