Skip to main content

Create Timetable

The Create Timetable page lets you configure global timetable settings (start time, end time, slot duration), view every class section's weekly schedule at a glance, and open a drag-and-drop calendar editor to assign subjects and breaks to each day of the week.

Prerequisites

Before creating timetables, make sure you have:

  • Created Classes and Sections (Academics → Class / Section)
  • Assigned Subjects to classes (Academics → Class Subject)
  • Assigned Teachers to class sections (Academics → Class Section & Teachers)
  • If your school uses Semesters, the current semester must be active
Timetable page showing settings form and class section list with weekly schedules
Timetable management page — settings form (top) and class section weekly overview (bottom)

Configure Timetable Settings

Before building any timetable, you need to define the time boundaries and slot duration for your school day. These settings apply to all class timetables.

1
Navigate to Timetable → Create Timetable
From the sidebar, expand **Timetable** and click **Create Timetable**. The timetable settings and class section list will load.
2
Set the Starting Time
Enter the time when the first period of the school day begins (e.g., **08:00**). This defines the earliest time slot visible in the calendar editor.
3
Set the Ending Time
Enter the time when the last period ends (e.g., **17:15**). This defines the latest time slot in the calendar editor.
4
Set the Timeslot Duration
Enter the duration of each time slot **in minutes** (e.g., **60** for 1-hour periods, **90** for 1.5-hour periods). This controls how the calendar grid is divided.
5
Click "Generate"
Click the **Generate** button to save the settings. The time grid in the calendar editor will now reflect these values.

Settings Fields

FieldTypeRequiredDescription
Starting TimeTimeRequiredThe time the school day begins (e.g., 08:00). Determines the first row of the timetable grid.
Ending TimeTimeRequiredThe time the school day ends (e.g., 17:15). Determines the last row of the timetable grid.
Timeslot DurationNumber (minutes)RequiredDuration of each time slot in minutes (e.g., 60). Controls how the calendar grid is divided into periods.

View Class Timetables

Below the settings form, a table lists every class section with a summary of its weekly schedule. Data is loaded from the server with server-side pagination.

ColumnDescription
No.Row number
Class SectionThe full name of the class section (e.g., "Génie Informatique L3 - Bilingue")
Monday – SundayAn ordered list of subjects and their time ranges scheduled on that day. Each entry shows the subject name followed by the start – end time.
ActionEdit (pencil icon — opens calendar editor) and Delete (trash icon — removes entire class timetable) buttons

Toolbar & Filters

ToolDescription
Medium dropdownFilter class sections by their instruction medium (e.g., English, French, Bilingual). Only matching sections appear in the table.
Search barFree-text search to find a class section by name
Refresh buttonReload the table data from the server without refreshing the page
Columns buttonToggle individual columns on or off — useful if you want to hide specific days
Export buttonDownload the timetable list as CSV, Excel, JSON, or PDF

Pagination

The table supports page sizes of 5, 10, 20, 50, 100, or 200 rows per page. Use the dropdown at the bottom of the table to change the page size.


Create / Edit a Class Timetable

The drag-and-drop calendar editor is the heart of timetable creation. It displays a weekly grid (Monday–Sunday) divided by your configured time slots. You build the timetable by dragging subjects from a left panel onto the calendar.

Timetable editor showing subjects panel on the left and weekly calendar grid on the right
Drag-and-drop timetable editor — subject list (left) and weekly calendar (right)
1
Open the editor for a class section
In the class section list, click the **Edit** (pencil) button in the Action column for the class section you want to schedule. The calendar editor opens.
2
Review the Subject panel
On the left side, you will see a list of draggable cards. **Subject–Teacher** cards show the subject name, type (Practical/Theory), and the assigned teacher. Subjects without a teacher assigned also appear (without a teacher name). A **Break** card is available at the bottom in black.
3
Drag a subject onto the calendar
Click and drag a Subject card from the left panel and drop it onto the desired **day** and **time slot** on the calendar grid. The event snaps to 1-minute increments, giving you fine control over placement.
4
Adjust time or day
You can **drag** an existing event to a different time or day. You can also **resize** an event by dragging its **top or bottom edge** to extend or shorten it.
5
Add breaks
Drag the **Break** card onto the appropriate time slot. Breaks appear in black with a default 30-minute duration that you can resize.
6
Remove a slot
Click the **× (delete)** icon that appears on each event in the calendar. A SweetAlert confirmation dialog will ask "Are you sure? You won't be able to revert this." Confirm to remove the slot.
Semester-aware timetables

If your school uses Semesters, timetables are automatically filtered by the current active semester. When the semester changes, you can create a new timetable for the new semester without affecting the previous one.

Elective Subject Overlap Rules

The system enforces smart scheduling rules when dropping subjects onto the calendar:

  • Compulsory subjects cannot overlap with any other event in the same time slot on the same day. Attempting to do so will show an error message and the event will be rejected.
  • Elective subjects can overlap with other elective subjects in the same time slot. This allows you to schedule multiple electives at the same time, giving students a choice between them.
  • Attempting to overlap an elective with a compulsory subject (or vice versa) will be rejected with the message: "Only elective subjects can be scheduled in the same time slot as other elective subjects."

Subject Card Details

FieldTypeRequiredDescription
Subject NameDisplayOptionalThe name of the subject (e.g., "Physique générale"). Color-coded with the subject background color. Text color is automatically calculated (black or white) for contrast.
TypeDisplayOptionalWhether the subject session is Practical or Theory — displayed in parentheses after the subject name.
Teacher NameDisplayOptionalThe full name of the assigned teacher. Subjects without a teacher assigned also appear in the sidebar, but without a teacher name.
BreakSpecialOptionalA special card for scheduling breaks. Displayed in black with a default 30-minute duration that can be resized.

Calendar Behavior

FeatureDetails
ViewWeekly time grid (Monday–Sunday)
Time boundariesDefined by your timetable settings (start time → end time)
Slot durationMatches your configured timeslot duration (e.g., 60 minutes)
Snap increment1 minute — events can be placed at any minute within the grid
Drag & dropDrag subjects from the sidebar onto the calendar, or move existing events within the calendar
ResizeDrag the top or bottom edge of an event to make it longer or shorter
DeleteClick the × icon on any event to delete it (with confirmation)
Auto-saveEach drop, move, or resize is saved immediately to the server — no save button needed
Color codingEvents inherit the subject's background color with automatic text contrast

Delete a Class Timetable

1
Click the Delete button
In the class section list, click the **Delete** (trash) button in the Action column next to the class section.
2
Confirm deletion
A SweetAlert confirmation dialog appears asking "Are you sure? You won't be able to revert this." Click **Yes, delete it!** to remove all timetable entries for that class section, or **Cancel** to abort.
This deletes the entire timetable

Deleting a class timetable removes all scheduled periods for that class section across all days. This action cannot be undone.


Staff App View

In the Stunov+ Staff app, school admins can view class timetables from the Timetable section. The app shows a visual weekly grid similar to the web panel, making it easy to check schedules on the go.

Web panel timetable list
Staff app class timetable view
Class timetable — Web panel overview (left) and Staff app weekly view (right)