Skip to Content
Welcome to Pasarai ERP documentation
SISTimetable

Timetable

The Timetable feature provides comprehensive schedule management for classes and teachers, including AI-powered automatic generation. This guide covers viewing, navigating, and understanding class schedules, teacher schedules, auto-generation, and handling conflicts.


Overview

The Timetable system enables you to:

  • View class schedules in weekly or daily format
  • Track teacher schedules across all assigned classes
  • Auto-generate timetables using an intelligent scheduling algorithm
  • Review and edit allocations from generated timetables before publishing
  • Identify conflicts when teachers or rooms are double-booked
  • Navigate schedules by date with an interactive calendar
  • View period details including subject, teacher, and timing

Accessing Timetable

  1. Navigate to SIS (Student Information System) in the sidebar
  2. Click on Timetable
  3. You’ll see four main tabs:
    • Class Schedule - View schedules by class
    • Teacher Schedule - View schedules by teacher
    • Auto Generate - Generate and manage timetable versions
    • Conflicts - View scheduling conflicts

Note: Access is controlled by permissions under the sis.timeTables module.


The timetable header displays:

ElementDescription
Title”Timetable” with module icon
Conflict CountNumber of scheduling conflicts (if any)
Create ScheduleButton to configure timetable settings
ImportImport schedules from external source
ExportExport current schedules

Tip: The conflict count in the header provides a quick alert about scheduling issues that need attention.

![Timetable Header - Screenshot placeholder showing the header with conflict count]


Class Schedule Tab

The Class Schedule tab shows the weekly or daily schedule for a selected class.

Selecting a Class

  1. Use the Class dropdown at the top
  2. Search or scroll to find the desired class
  3. Select the class to view its schedule

The first class is automatically selected when you load the page.

Schedule Navigator

Use the schedule navigator to control the view:

View Toggle

  • Weekly - See the entire week at a glance (default)
  • Daily - Focus on a single day

Date Navigation

  • ← Previous - Go to previous week/day
  • Today - Jump to current date
  • Next → - Go to next week/day

Current Range Display

  • Shows the date range being viewed
  • Weekly: “Dec 2 - Dec 8, 2025”
  • Daily: “Monday, Dec 2, 2025”

![Schedule Navigator - Screenshot placeholder showing the navigation controls]

Understanding the Calendar View

Weekly View

The weekly calendar displays:

  • Days across the top - Monday through Sunday
  • Time slots down the side - From first to last period
  • Period blocks - Color-coded by type

Daily View

The daily calendar shows:

  • Full day timeline - All periods for the selected date
  • Detailed period information - More space for details
  • Easier scrolling - Navigate through the day

Period Types and Colors

Periods are color-coded by their type:

TypeColorDescription
Curricular🔵 BlueRegular academic classes
Break🟢 GreenShort breaks between periods
Lunch Break🟠 OrangeLunch time
Assembly🟣 PurpleMorning assembly or gatherings
Co-curricular🔴 RedSports, arts, clubs
Preparation🟡 YellowStudy/preparation periods
Extra-curricular🩷 PinkAfter-school activities

Period Information

Each period block displays:

  • Subject name - The class being taught
  • Teacher name - Assigned teacher
  • Time range - Start and end time
  • Room (if assigned) - Location

Clicking on a Period

Click any period to open the Period Detail Dialog:

FieldDescription
Period NameName/title of the period
SubjectSubject being taught
TeacherAssigned faculty member
TimeStart time - End time
DayDay of the week
TypePeriod type (curricular, break, etc.)
StatusActive, inactive, or cancelled
RoomAssigned classroom (if any)
ClassThe class this period belongs to

![Period Detail Dialog - Screenshot placeholder showing period details]

Refresh Data

Click the Refresh button (↻) to reload the schedule with latest data.


Teacher Schedule Tab

The Teacher Schedule tab shows the weekly or daily schedule for a selected teacher.

Selecting a Teacher

  1. Use the Teacher dropdown at the top
  2. Search by teacher name
  3. Select to view their schedule

The first teacher is automatically selected when you load the tab.

Schedule Display

The teacher schedule shows:

  • All classes the teacher is assigned to
  • Color-coded periods by type
  • Class information displayed in each period block

Teacher Schedule Benefits

Use CaseBenefit
Workload reviewSee total teaching hours at a glance
Free period identificationFind available slots for meetings
Substitution planningIdentify teacher availability
Resource allocationEnsure balanced workload distribution

Viewing Teacher Details

The selected teacher’s information is displayed:

  • Name - Full name
  • Designation - Position/role
  • Department - Assigned department

![Teacher Schedule - Screenshot placeholder showing a teacher’s weekly schedule]


Auto Generate Tab

The Auto Generate tab provides an intelligent scheduling engine that automatically creates optimized timetables based on your configured constraints, staff availability, and room capacities.

Accessing Auto Generate

  1. Navigate to TimetableAuto Generate tab
  2. You’ll see a list of previous generation jobs (if any)
  3. Click New Generation to start the process

This navigates to the dedicated generation page at /sis/timetable/generate.

Generation Jobs List

The Auto Generate tab displays all past and current generation jobs:

ColumnDescription
VersionSequential version number (v1, v2, v3…)
StatusCurrent state — Pending, Processing, Completed, or Failed
StartedWhen the generation was initiated
ErrorReason for failure (if applicable)
Actions”View Details” to inspect allocations

Job Statuses

StatusBadgeDescription
Pending🔘 GreyJob is queued and waiting to start
Processing🔵 BlueAlgorithm is actively generating the timetable
Completed🟢 GreenGeneration finished successfully
Failed🔴 RedGeneration encountered an error

Generating a Timetable

Pre-generation Checks

Before starting a generation, the system runs automated pre-flight checks:

CheckWhat it Validates
Subject AssignmentsAll class records have subjects configured
Staff AvailabilityStaff members are assigned to required subjects
Room AllocationsRooms are assigned where required
Period ConfigurationsPeriod timings and breaks are configured for all standards

Each check shows one of three states:

  • OK — Configuration is complete
  • ⚠️ Warning — Some items may be missing (generation can proceed)
  • Error — Critical configuration is missing (generation cannot proceed)

Tip: Resolve all errors and as many warnings as possible before generating for the best results.

Starting Generation

  1. Review the pre-flight checks
  2. Click Start Generation
  3. The system uses the current academic year configured for your institute automatically
  4. You’ll be redirected to the job status page

Note: No academic year selection is needed — the server automatically resolves the current academic year from your institute configuration.

Real-Time Progress Tracking

Once generation starts, you’ll see a real-time progress view:

  • Live indicator — A green “Live” badge shows when connected via real-time events (SSE)
  • Progress bar — Shows percentage completion (0–100%)
  • Status badge — Updates in real-time as the job progresses
  • Automatic refresh — The page updates automatically without manual intervention

The system uses Server-Sent Events (SSE) to deliver real-time progress updates. If SSE is unavailable, it automatically falls back to periodic polling.

The generation process typically takes 1–5 minutes depending on the number of classes, subjects, and constraints.

Generation Algorithm

The auto-generation engine considers:

  • Subject-class assignments — Which subjects are taught in which classes
  • Staff qualifications — Which teachers can teach which subjects
  • Room capacities — Available rooms and their constraints
  • Period structure — Configured period timings, breaks, and lunch periods
  • Constraint satisfaction — Minimizes conflicts while maximizing coverage
  • Working days — Respects the configured school working days

Reviewing Generated Timetables

Version Selector

After generation completes, you can browse different versions:

  • Use the version dropdown to switch between generated versions
  • Each version shows its status and academic year
  • The most recent version is selected by default

Allocation Grid

The generated timetable is displayed in an interactive grid:

Grid Structure

  • Rows — One per period (P1, P2, P3…) with time slots
  • Columns — One per active school day (Monday–Friday by default)
  • Cells — Individual allocation blocks

View Modes

  • By Class — Select a class to view its complete weekly schedule
  • By Staff — Select a teacher to view all their teaching assignments

Stats Bar

  • Total periods count
  • Conflict count (highlighted in red)
  • Locked allocations count (highlighted in blue)

Allocation Cell Colors

StateColorDescription
Scheduled🟢 EmeraldNormal period — no issues
Break🟡 AmberShort break between periods
Lunch🟠 YellowLunch break period
Conflict🔴 RedScheduling conflict detected
Locked🔵 BlueAllocation has been locked

Cell Information

Each allocation cell displays:

  • Subject name — The subject being taught
  • Teacher name (class view) — Who is teaching
  • Class name (staff view) — Which class the teacher is assigned to
  • Room — Assigned classroom
  • Conflict/Locked badges — Visual indicators for special states

Editing Allocations

Click any allocation cell to open the Edit Allocation Sheet:

FieldDescription
DayDay of the week (read-only context)
PeriodPeriod number (read-only context)
TimeStart time – End time (read-only context)
Class RecordChange the assigned class
SubjectChange the assigned subject
StaffChange the assigned teacher
RoomChange the assigned room
LockLock/unlock to prevent future changes

Important: When you update an allocation, the system automatically detects new conflicts and flags them.

Locking Allocations

Lock allocations to preserve them during future regeneration:

  1. Click on an allocation cell
  2. In the Edit Sheet, click Lock / Unlock
  3. Locked allocations show a 🔒 badge and blue highlight

Locked allocations are preserved if you regenerate — they won’t be changed by the algorithm.


Publishing and Rolling Back

Accepting a Version

Once you’re satisfied with a generated timetable:

  1. Click Accept & Publish
  2. The system queues a merge job to apply allocations to the active timetable configuration
  3. You’ll receive a confirmation toast
  4. You’re redirected back to the main timetable page

What happens: The generated allocations are merged into your live timetable configuration. This replaces the current schedule with the generated one.

Regenerating

If a generated version isn’t satisfactory, you can regenerate directly from the version page:

  1. Lock any allocations you want to keep (they will be preserved by the algorithm)
  2. Click Regenerate
  3. A new version is created, respecting all locked allocations while re-optimizing the rest
  4. You’ll be redirected to the new version’s progress page

Tip: Lock the allocations that look correct before regenerating. The algorithm treats locked slots as fixed constraints and only reassigns unlocked ones.

You can also start a fresh generation from the Auto Generate tab by clicking New Generation. Each generation creates a new version number, and previous versions remain accessible for comparison.


Conflicts Tab

The Conflicts tab identifies and displays scheduling issues that need resolution.

What is a Conflict?

A conflict occurs when:

  • Teacher double-booking - Same teacher assigned to multiple classes at the same time
  • Room double-booking - Same room assigned to multiple classes
  • Overlapping periods - Periods that overlap incorrectly

Conflict Display

Each conflict card shows:

FieldDescription
Conflict Icon⚠️ Warning indicator
Date/DayWhen the conflict occurs
TimeTime slot with overlap
TeacherTeacher involved in conflict
SubjectSubject(s) affected
ClassClass(es) involved
SeverityHigh, Medium, or Low

Severity Levels

SeverityColorDescription
High🔴 RedCurricular period conflicts - critical
Medium🟡 YellowCo-curricular/extra-curricular conflicts
Low🔵 BlueBreak or preparation period overlaps

Conflict Message

Each conflict includes a descriptive message explaining the issue:

“Mr. John Smith has overlapping periods for Class 10-A - Mathematics”

Resolving Conflicts

To resolve a conflict:

  1. Identify the issue from the conflict details
  2. Navigate to SettingsSIS ConfigurationTimetable
  3. Edit the conflicting periods by:
    • Changing the teacher assignment
    • Adjusting the time slot
    • Moving to a different room
  4. Return to Conflicts tab to verify resolution

Tip: The conflict count in the header updates automatically when issues are resolved.

![Conflicts Tab - Screenshot placeholder showing conflict cards]

No Conflicts State

When there are no conflicts, you’ll see:

  • ✅ “No conflicts found in the current timetable”
  • This indicates a healthy, well-organized schedule

Calendar Features

Interactive Calendar View

The timetable uses an interactive calendar with:

Navigation

  • Click and drag to scroll through time slots
  • Click on empty slots (future feature for direct editing)
  • Click on periods to view details

Responsive Design

  • Desktop - Full weekly view with all details
  • Tablet - Condensed view with scrolling
  • Mobile - Daily view optimized for smaller screens

Time Format

Times are displayed in 12-hour format:

  • 9:00 AM, 12:30 PM, 3:45 PM
  • Duration shown as start - end times

Week Start

The calendar week starts on Monday and ends on Sunday.


Best Practices

For Administrators

  1. Check conflicts regularly

    • Review conflicts tab weekly
    • Resolve high-severity conflicts immediately
    • Document recurring conflict patterns
  2. Balance teacher workloads

    • Use teacher schedule view to assess distribution
    • Ensure equitable teaching hours
    • Plan for preparation time
  3. Plan ahead

    • Create schedules before term starts
    • Account for holidays and events
    • Build in flexibility for changes

For Teachers

  1. Review your schedule weekly

    • Check for any changes
    • Note preparation periods
    • Plan lessons according to schedule
  2. Report conflicts immediately

    • If you notice double-bookings
    • Contact administration promptly
    • Suggest resolution options

For Class Teachers

  1. Verify class schedules

    • Ensure all subjects are covered
    • Check teacher assignments are correct
    • Note any gaps in the schedule
  2. Communicate changes

    • Inform students of schedule updates
    • Coordinate with subject teachers
    • Update parents if significant changes occur

Importing and Exporting

Import (Coming Soon)

The import feature will allow you to:

  • Upload schedules from spreadsheets
  • Bulk create periods
  • Import from other systems

Export (Coming Soon)

The export feature will allow you to:

  • Download schedules as PDF
  • Export to spreadsheet format
  • Share printable timetables

Configuration

Accessing Timetable Settings

  1. Click “Create Schedule” in the header, OR
  2. Navigate to SettingsSIS ConfigurationTimetable tab

Configuration Options

In timetable settings you can:

  • Define period structure (start/end times)
  • Set break durations
  • Configure working days
  • Assign subjects to classes
  • Assign teachers to subjects
  • Set room assignments

See SIS Configuration for detailed setup instructions.


Troubleshooting

Common Issues

Problem: Schedule not loading

  • Solution:
    • Check internet connection
    • Ensure a class/teacher is selected
    • Click Refresh button
    • Verify academic year is configured

Problem: Blank calendar view

  • Solution:
    • No periods may be configured for this class
    • Check timetable configuration in settings
    • Verify the date range has scheduled periods

Problem: Teacher showing no periods

  • Solution:
    • Teacher may not be assigned to any classes
    • Check teacher-subject assignments in settings
    • Verify teacher employment is active

Problem: Conflicts not resolving

  • Solution:
    • Ensure all overlapping periods are edited
    • Refresh the conflicts tab
    • Check that changes were saved properly

Problem: Auto-generation not starting

  • Solution:
    • Ensure your institute has a current academic year configured
    • Check that class records, subjects, and staff are properly set up
    • Review pre-flight checks for any errors or warnings
    • Verify you have sis.timeTables.create permission

Problem: Generation stuck at 0% or not progressing

  • Solution:
    • Check for the green “Live” badge indicating SSE connection
    • Wait up to 30 seconds for the connection to establish
    • Refresh the page — the system will reconnect automatically
    • If the issue persists, the job may have failed silently — check the jobs list

Problem: Too many conflicts after generation

  • Solution:
    • Review your period configuration for overlapping time slots
    • Ensure sufficient staff are assigned to cover all subjects
    • Check room availability matches the number of concurrent classes
    • Consider locking well-placed allocations and regenerating

Error Messages

ErrorCauseSolution
”Failed to load schedule”API errorCheck connection, retry
”No class records found”Missing configurationSet up classes first
”No staff available”No teachers configuredAdd staff in HRMS
”Schedule data unavailable”Date range issueTry different dates
”Failed to start generation”Missing configurationReview pre-flight checks
”Generation Failed”Algorithm errorCheck error message, fix config, retry

Permissions Reference

PermissionAction Allowed
sis.timeTables.viewView timetable schedules
sis.timeTables.createCreate new periods
sis.timeTables.updateEdit existing periods
sis.timeTables.deleteDelete periods
sis.timeTables.exportExport schedules
sis.timeTables.importImport schedules

Contact your administrator to request permission changes.



Quick Reference

Tab Overview

TabPurposeKey Feature
Class ScheduleView by classWeekly/daily toggle
Teacher ScheduleView by teacherWorkload overview
Auto GenerateAI-powered schedulingVersion management
ConflictsView issuesSeverity indicators

Period Types

TypeColorCode
Curricular🔵 BlueRegular classes
Break🟢 GreenShort breaks
Lunch Break🟠 OrangeLunch time
Assembly🟣 PurpleGatherings
Co-curricular🔴 RedActivities
Preparation🟡 YellowStudy time
Extra-curricular🩷 PinkAfter-school

Auto Generation Workflow

StepActionWhat Happens
1Open Auto Generate tabView past jobs
2Click “New Generation”Navigate to generation page
3Review pre-flight checksVerify configuration
4Click “Start Generation”Algorithm begins processing
5Monitor progressReal-time updates via SSE
6Review allocationsUse grid to inspect results
7Edit conflictsFix any flagged issues
8Lock good allocationsPreserve for future runs
9Accept & PublishApply to live timetable
ActionHow To
View class scheduleSelect class from dropdown
View teacher scheduleSwitch to Teacher Schedule tab
Auto-generate timetableSwitch to Auto Generate tab → New Generation
Check conflictsSwitch to Conflicts tab
Change weekUse ← / → navigation arrows
Go to todayClick “Today” button
Switch viewToggle Weekly/Daily
Edit allocationClick any cell in the generated grid
Lock allocationEdit sheet → Lock button
Switch grid viewBy Class / By Staff toggle

Last updated: 28 February 2026