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

SourceColorWhat Shows
HolidaysRedAll institutional holidays
EventsPurpleSchool events (Annual Day, Sports Day, etc.)
ExamsBlueExam dates by section
AssignmentsAmberAssignment due dates
LeaveGreenYour approved leave periods
PersonalIndigoYour personal events/reminders
AnnouncementsOrangePublished announcements

Who Sees What

RoleHolidaysEventsExamsAssignmentsLeavePersonal
AdminAllAllAllAllOwnOwn
PrincipalAllAllAllAllOwnOwn
HODAllAllDeptDeptOwnOwn
TeacherAllAllOwn classesOwn classesOwnOwn
StaffAllAll——OwnOwn

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:

  1. Click "Add Event" on the calendar page
  2. Enter: title, start date, end date, all-day toggle
  3. Choose a color from the palette
  4. 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-30

Returns 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

FeatureFreeStarterProfessionalEnterprise
Calendar viewYesYesYesYes
Holiday management—YesYesYes
Personal events—YesYesYes
Attendance reports——YesYes
Shortage alerts——YesYes