Unified Calendar
Aggregated calendar view showing holidays, events, exams, assignments, leave, and personal events
Overview
The Unified Calendar provides a single view of everything happening in your institution — holidays, school events, exams, assignment due dates, staff leave, and personal reminders. It pulls data from 7 different sources and presents them in a color-coded month grid.
Dashboard Calendar
Route: /calendar
Features
- Month grid view with color-coded event pills
- Type filter checkboxes (left sidebar) to show/hide specific event types
- Day detail panel (right sidebar) — click any day to see full details
- Today highlight — current date shown with blue circle
- Create personal events — click "Add Event" to add reminders
- Month navigation — arrow buttons to go forward/backward
Event Sources & Colors
| Source | Color | What Shows |
|---|---|---|
| Holidays | Red | All institutional holidays |
| Events | Purple | School events (Annual Day, Sports Day, etc.) |
| Exams | Blue | Exam dates by section |
| Assignments | Amber | Assignment due dates |
| Leave | Green | Your approved leave periods |
| Personal | Indigo | Your personal events/reminders |
| Announcements | Orange | Published announcements |
Who Sees What
| Role | Holidays | Events | Exams | Assignments | Leave | Personal |
|---|---|---|---|---|---|---|
| Admin | All | All | All | All | Own | Own |
| Principal | All | All | All | All | Own | Own |
| HOD | All | All | Dept | Dept | Own | Own |
| Teacher | All | All | Own classes | Own classes | Own | Own |
| Staff | All | All | — | — | Own | Own |
Portal Calendar
Route: /portal/calendar
Simplified view for parents and students:
- Shows: Holidays, Events, Exams, Assignments, Announcements
- No personal events or leave (not applicable for portal users)
- Click any day to see details
- Auto-scoped to the student's class/section
Personal Events
Any authenticated user can create personal events:
- Click "Add Event" on the calendar page
- Enter: title, start date, end date, all-day toggle
- Choose a color from the palette
- Event appears only on your calendar (not visible to others)
Use cases: doctor appointments, parent meetings, personal reminders, deadlines.
Holiday Integration
Holidays defined in Administration > Holiday Calendar automatically appear on:
- Dashboard calendar (red blocks)
- Portal calendar
- Attendance marking (warning on holiday dates)
- Working days calculations
See Attendance Management for holiday setup details.
API Reference
Get Calendar Items
GET /api/calendar?from=2026-04-01&to=2026-04-30Returns all calendar items in the date range, filtered by user role.
Response:
{
"data": [
{
"id": "clx...",
"type": "HOLIDAY",
"title": "Republic Day",
"start": "2026-01-26T00:00:00Z",
"end": "2026-01-26T23:59:59Z",
"allDay": true,
"color": "#dc2626",
"metadata": { "holidayType": "GAZETTED" }
},
{
"id": "clx...",
"type": "EXAM",
"title": "Mid-Term Mathematics",
"start": "2026-04-15T09:00:00Z",
"end": "2026-04-15T11:00:00Z",
"allDay": false,
"color": "#3b82f6",
"metadata": { "class": "Grade 8", "section": "A" }
}
]
}Create Personal Event
POST /api/calendar
Content-Type: application/json
{
"title": "Doctor appointment",
"startDate": "2026-04-20",
"endDate": "2026-04-20",
"allDay": true,
"color": "#10b981"
}Plan Availability
| Feature | Free | Starter | Professional | Enterprise |
|---|---|---|---|---|
| Calendar view | Yes | Yes | Yes | Yes |
| Holiday management | — | Yes | Yes | Yes |
| Personal events | — | Yes | Yes | Yes |
| Attendance reports | — | — | Yes | Yes |
| Shortage alerts | — | — | Yes | Yes |