Academic Calendar and Time Structure
Epic summary
The Academic Calendar and Time Structure workspace replaces the legacy Year Master, Session Master, year-session relation, holiday, day-description, and period-timing screens with one effective-dated model.
Calendars can be defined at tenant, institute, and institute-programme scope. A more specific calendar inherits its parent and records only deliberate overrides.
This epic defines when academic work may occur and provides reusable period templates. Academic Planning and Delivery creates the actual phase dates, course dates, posting blocks, and allocation of a subject, faculty member, learner group, and location to a time slot.
Before you start
The tenant or institute must already exist. A programme calendar also requires the institute programme. Curriculum stages may be shown as planning references, but their actual dates are assigned later for a cohort’s phase plan.
Actors and access
| Access source | Access in this epic |
|---|---|
| Tenant Admin with Governance Calendar role | Maintains approved tenant-wide templates and common holidays |
| Institute member with Academic Registrar role | Maintains institute and programme calendars |
| Institute member with Timetable Coordinator role | Views published calendars and prepares permitted period templates |
| Institute member with Academic Approver role | Approves institute-wide calendars and exceptional changes |
| Auditor role | Reconstructs the calendar effective for an activity date |
Screen structure and data captured
The workspace contains Calendar Details, Academic Periods, Working Pattern, Holidays and Exceptions, Period Templates, Inheritance Preview, and Publication History.
| Field | Required | Meaning and validation |
|---|---|---|
| Calendar scope | Yes | Tenant, institute, or institute programme |
| Calendar name/code | Yes | Unique within scope and period |
| Academic year/session | Yes | Named academic interval with start and end dates |
| Parent calendar | Conditional | Inherited calendar for the broader scope |
| Academic periods | Conditional | Stage, term, semester, rotation block, or another configured period |
| Working-week pattern | Yes | Working days and ordinary operating windows |
| Holidays/closures | No | Full-day or partial-day non-working exceptions with source |
| Period template | No | Named start/end slots and break classification |
| Timezone | Inherited | Institute timezone; change does not reinterpret recorded events |
| Status | Yes | Draft, Under Review, Published, Superseded, or Archived |
Use case 1: Define an academic year and session
As an institute member with Academic Registrar role
I want to define the academic year and its periods
So that later cohort plans and operational activities use consistent dates.
Acceptance criteria
- Start and end dates are valid and periods do not overlap illegally.
- Period types match the applicable programme grammar where used.
- A calendar is prepared independently of any cohort.
- Publication records effective scope and source approval.
- A calendar name does not serve as the sole identifier.
Use case 2: Configure working days, holidays, and exceptions
As an institute member with Academic Registrar role
I want to define ordinary working patterns and dated exceptions
So that schedules and duration calculations use the correct availability.
Acceptance criteria
- Working days and ordinary windows are defined by effective interval.
- A holiday records date/time, type, source, scope, and whether academic or administrative work is affected.
- A narrower calendar can override an inherited day with an explicit reason.
- Conflicting full-day and partial-day rules are rejected or clearly resolved by precedence.
Use case 3: Define reusable period templates
As an institute member with Timetable Coordinator role
I want to define named teaching-period patterns
So that scheduling uses consistent time windows.
Acceptance criteria
- Each period has sequence, start, end, type, and effective days.
- Overlapping periods are blocked unless explicitly classified as parallel scheduling windows.
- Breaks are represented separately from teachable periods.
- The template does not allocate a class, faculty member, or room.
Use case 4: Publish a calendar amendment
As an institute member with the required approval responsibility
I want to approve a calendar change after impact review
So that necessary changes do not silently invalidate existing operations.
Acceptance criteria
- The impact preview lists cohorts, schedules, assessments, postings, deadlines, and attendance sessions.
- Past dates cannot be changed through an ordinary amendment.
- Future scheduled events are classified as valid, conflicting, or requiring rescheduling.
- The previous calendar remains available for historical evaluation.
Business rules
- Calendar inheritance is explicit and traceable.
- A more specific override wins only for the declared scope and interval.
- Actual timetable rows and teaching allocations do not belong here.
- Period duration is derived from start/end time, not manually duplicated.
- Historical attendance and assessments retain the calendar version used when scheduled.
Technical design
Conceptual schema
| Record | Important fields |
|---|---|
academic.calendar | scope type/id, parent calendar, code, name, timezone, dates, status, version |
academic.calendar_period | calendar, period type, parent period, code/name, start/end, sequence |
academic.working_pattern | calendar, weekday, start/end time, work classification, validity |
academic.calendar_exception | calendar, date/time range, exception type, effect, source, override reason |
academic.period_template | scope, code/name, validity, status |
academic.period_template_item | template, sequence, start/end time, period type, applicable weekdays |
academic.resolved_calendar_day | materialised/read-model date, scope, work state, source version and precedence |
Process-layer responsibilities
- Resolve layered calendars by scope, effective date, and explicit precedence.
- Validate period containment, illegal overlaps, timezone, and effective intervals.
- Calculate working-day and teachable-time windows for consumers.
- Preview impact on future operations before amendment publication.
- Rebuild only affected resolved-calendar partitions after changes.
Success outcome
Every later academic plan can resolve one explainable working calendar and set of available time windows for any relevant date.