Scheduling is where each section's weekly timetable is built for the active Term. You can place classes one by one, copy, move and swap them by dragging, or let the system fill everything automatically. Every change is checked for teacher, room and section conflicts before it is saved. Open it from Sidebar → @gi('calendar3') Scheduling.
On smaller screens the panel moves above the timetable, and the timetable can be scrolled sideways.
The colored dots show each section's progress, and are refreshed after every change:
| @gi('circle-fill', '#dc3545') Red dot | The section has no schedule entries yet (Unscheduled). |
| @gi('circle-fill', '#ffc107') Yellow dot | The section has entries but is Incomplete: at least one subject has not reached its Hours per Week. |
| No dot | The section is Complete. |
| Dot on a Grade Level | Red if any of its sections is unscheduled, otherwise yellow if any is incomplete. |
Only active sections of the active School Year are listed.
Rows are the time slots of the section's Shift Type, with their Start, End and Duration; columns are Monday to Friday. Yellow rows are breaks and never accept classes.
An entry's assigned hours come from its duration: 60 minutes = 1:00 hour, 30 minutes = 0:30. Hours are written as hours:minutes throughout this page.
The quickest way to add a class is to click an empty cell. The Scheduling Panel turns into a New Entry form that walks you through four steps; its header shows the day, time and free minutes of the cell.
The entry is saved the moment a room is picked. The cell fills in, the subject hours, status dots and panel refresh, and a green toast confirms it. The panel then returns to its overview.
The step labels (Subject, Teacher, Duration, Room) at the top of the panel show where you are. Use the @gi('arrow-left') back arrow beside them to return to the previous step, or the @gi('x-lg') button on the first step to discard the new entry.
Once a subject has a teacher in a section, every other entry of that subject in the same section must use the same teacher. If you pick someone else, the system replies "This subject is already taught by … in this section. Use the same teacher."
The Subjects list in the panel offers a second way to schedule, handy for placing the same subject in several slots:
The duration is chosen automatically: the hours the subject still needs, up to the free time in the cell. Press Esc to drop the selection.
The cell empties and the hours, status and dots update immediately.
Occupied cells can be dragged with the mouse. Two different gestures keep moving and copying separate:
| Action | How | Result |
|---|---|---|
| @gi('arrows-move') Move | Double-click the cell (it turns blue), then drag it onto an empty cell. | The entry moves to the new day and time; the old cell empties. |
| @gi('arrow-left-right') Swap | Double-click the cell, then drag it onto another occupied cell. | The two entries exchange places (subject, hours, teacher and room). Both positions are checked first. |
| @gi('files') Copy (fill) | Press and drag a cell directly (no double-click) across empty cells in the same row (other days) or the same column (other time slots), then release. | The entry is copied into every empty cell crossed. The original stays. |
| Time | Monday | Tuesday | Wednesday | Thursday | Friday |
|---|---|---|---|---|---|
| 9:45 AM60 min | General Mathematics1 hr · Room 101 · M. Santos |
@gi('files', '#15803d') copy |
@gi('files', '#15803d') copy |
Effective Comm.1 hr · Room 101 |
Available |
Dragging needs a mouse. On phones and tablets, use Edit to change an entry's day or time slot instead.
Every save, edit, move, swap and copy is checked. Blocking problems stop the change and show a red message; warnings ask you to review and decide.
| Check | What happens |
|---|---|
| @gi('person-x', '#dc3545') Teacher conflict | Blocked. The teacher already teaches another section at the same day and time: "The selected teacher already has a class with … in this slot." In the New Entry form such teachers are marked Conflict. |
| @gi('door-closed', '#dc3545') Room conflict | Blocked. The room is used by another section at the same day and time: "The selected room is already booked by … in this slot." In the form such rooms are marked Booked. |
| @gi('grid-3x3', '#dc3545') Section overlap | Blocked. The class does not fit in the time left in the cell: "This slot only has N minute(s) remaining …" |
| @gi('person-badge', '#dc3545') Teacher not qualified | Blocked. Only teachers assigned to the subject can be used: "The selected teacher is not assigned to this subject." |
| @gi('cup-hot', '#dc3545') Break or wrong shift | Blocked. Breaks cannot hold classes, and slots must belong to the section's shift. |
| @gi('hourglass-split', '#d97706') Exceeded subject hours | Warning. The change would push the subject past its Hours per Week: "This would bring … to X / Y hours, exceeding the required weekly hours." Choose Cancel or Continue Anyway; if you continue, the subject is marked Exceeded. |
A section may have the same subject more than once on the same day; this is allowed without any warning.
Activities such as Flag Ceremony are added the same way as subjects, but with a shorter flow: pick the activity, optionally a teacher of the section's Grade Level who is free at that time (or Continue without a teacher), then the duration, and click Save Activity. Activities count toward no subject hours.
After you add an activity, the system offers to add it to other sections that are still free at the same day and time. The window Add activity to other sections? lists them by Grade Level; keep Select all sections ticked or choose specific ones, then click Add to N sections. Close the window to skip.
The Subjects list in the panel works as the section's hour tracker. For each required subject it shows the subject and its teacher, the scheduled / required hours, a progress bar and the status:
| Complete | Scheduled hours equal the Hours per Week. |
| Incomplete | Fewer hours than required are scheduled. The New Entry form shows how much is left. |
| Exceeded | More hours than required are scheduled. Delete or shorten an entry to correct it. |
Above the list, Schedule Status shows the whole section: Unscheduled (no entries), Incomplete, or Complete once every required subject reaches its hours. A legend explains the dot and cell colors, and the Entries badge counts the section's entries. Everything updates after each change.
Auto-generate fills the empty required-subject hours of the sections you choose, with zero teacher or room conflicts, spreading the load across qualified teachers. Existing entries are never changed.
A summary appears in the Auto-Generate panel: how many entries were placed and how many sections are now Complete. Subject/section pairs that could not be placed (for example because no teacher is assigned or no slot is free) are reported as needing manual attention; fix the cause and generate again, or place them by hand.
Check the three readiness indicators in the Auto-Generate panel first. Subject Coverage, Specialized Rooms and Grid Capacity should all be green for the best result. Full readiness breakdown opens the Readiness report.
This permanently erases every schedule entry of the selected sections, generated or added by hand. It cannot be undone, so create a backup first if you may need the old schedule.