SkoolVista

SkoolVista Guide

A guided tour of every screen, button and menu

Introduction

What is SkoolVista?

SkoolVista is a school timetabling and curriculum system. It takes the job that normally eats a Director of Studies’ first two weeks of every term: fitting every course, every trainer and every class into a workable weekly schedule: and turns it into something you set up once, generate, and then correct in minutes.

It then keeps going after the timetable is printed: trainers sign in to their own portal and record how far they have actually gone through each course, so the school knows at any moment what has been taught and what has not.

  1. 1

    Plan

    Trades, classes, trainers, courses and hours, all entered once.

  2. 2

    Generate

    A working timetable for every class, then repaired where it falls short.

  3. 3

    Follow through

    Topic-by-topic progress from the people actually teaching.

Who it is for

Built for technical and secondary schools: anywhere a fixed set of classes, trainers and courses has to be fitted into one weekly grid.

  • Director of Studies / Dean: Builds and repairs the whole school timetable, sets course hours, assigns trainers, and prints everything at the end. SkoolVista is written around this job first.
  • School administrator: Keeps the register of classes, trades, trainers and courses accurate, and holds the school profile used on every printed document.
  • Trainers / teachers: Sign in to their own portal to see the lessons they teach and record how far they have gone through each course, topic by topic, with dates.
  • Head teacher / owner: Reads the dashboard for a term-at-a-glance view: how many classes are ready, which are still short of lessons, and who is overloaded.

What is inside

The whole system in six parts. Each one is documented screen by screen further down.

  • Set-up: Trades, classes, trainers and courses, with hours, periods, module type and term. Master Entry does all of it in one table, or you can import a workload CSV.
  • Timetabling: Auto-generation with several algorithms, per-class or school-wide, respecting day-offs, breaks and special activities, then hand-fixes where you want them.
  • Curriculum & progress: Topics and subtopics per course, with each trainer marking what is done. The DOS sees it all, with who updated what and when.
  • Trainer portal: A separate login for trainers, with their own timetable and their own courses to update, without any access to the admin side.
  • Safety net: Automatic recovery points, named drafts, and cloud upload, so a bad change is never permanent.
  • Output: Printing for every class and every trainer, each on its own page, in the layout you choose. Plus custom tables for anything the engine does not cover.

Everything below this point is the visual walk-through of those screens. If you want the case for the system rather than the mechanics, jump to at the end.

How to read this guide

Every screen below is shown exactly as it appears in SkoolVista, using sample data. Orange numbers 1 sit on the real controls, and the numbered list under each picture explains them one by one. Boxes marked “Actual UI” are faithful replicas: for reading, not clicking. We start with the two things on every screen: the Header and the Dashboard.

Term switcher (opens from ③)

2026 Term 1
2026 Term 2
2026 Term 3
Actual UI

Each row loads that term’s workflow. The active term is tinted orange. Choosing a term that has never been opened creates a fresh empty timetable for it, so you can build all three terms independently.

Quick Actions & forms (opens from ⑤)

Add Class
Add Trainer
Add Trade
Save As Draft
Semester Dates
Upload CSV
Actual UI
  • Add Class: Opens the “Add New Class” form.
  • Add Trainer: Opens the “Add New Trainer” form.
  • Add Trade: Opens the “Add New Trade” form.
  • Save As Draft: Snapshots the current work as a named, restorable draft (also under Drafts).
  • Semester Dates: Sets each term’s learning start/end dates and number of learning weeks. The same dialog as Settings ▸ Configure Semester Dates.see the form
  • Upload CSV: Imports trainers and their modules from a workload CSV, building classes and courses automatically.
The forms these open: every field▾

Add New Class · saves with “Add Class”see the form

  • Class Level e.g. L4: the level of the class.
  • Trade-based / General Trade-based classes carry a trade (L3–L5); General classes (P1, S3…) are the level alone.
  • Trade Type For trade-based classes, pick the trade from the list.

Add New Trainer · saves with “Add Trainer”see the form

  • Trainer Name * Full name (required).
  • Phone Optional contact number.
  • Email Optional: also used to invite them to the trainer portal.

Add New Trade · saves with “Save Trade”see the form

  • Trade Code * Short code, e.g. SWD.
  • Trade Name * Full name, e.g. Software Development.

Save Draft · saves with “Save Draft”see the form

  • Draft name e.g. “Term 1 Schedule”.
  • Description Optional notes about this snapshot.

Semester Dates opens a date-range picker for each term’s learning weeks. Upload CSV opens a file picker that reads a workload spreadsheet and creates the trainers, classes and courses inside it.

Semester Dates

One panel for all three terms, with two ways to describe each one. The length that comes out is what the timetable and the curriculum plan against.

Method 1 — Date Range Picker

Semester Dates Configuration

Set start and end dates for each term

1

Input Method:

Date Range Picker Manual Duration Input
1 First Term 2Available
3
Start Date
dd/mm/yyyy
End Date
dd/mm/yyyy
4

BEFORE EXCLUSION

12 weeks

84 total days

AFTER EXCLUSION

12 weeks 0 days

60 days (24 excluded)

Second Term and Third Term follow below, each with the same fields.

Cancel 5Save Dates
Actual UI
  • 1 Input Method: Two ways to describe a term. This one, “Date Range Picker”, takes the real calendar dates and works the length out for you. The fields below change with the choice.
  • 2 Available: Whether the school runs that term at all. Unticking greys the term out and leaves it out of the save, so a two-term school is not forced to invent a third.
  • 3 Start / End Date: The first and last teaching day of the term. Everything below is calculated from them.
  • 4 Before / After exclusion: The length shown twice: the raw span, and what is left once excluded weekdays are removed. The second figure is what the timetable and curriculum plan against.
  • 5 Save Dates: Writes all three terms at once. Terms that have never been opened are skipped, and the confirmation names them.

Method 2 — Manual Duration Input

Clicking the second button swaps the date fields for a plain length. Everything else about the dialog stays the same.

Semester Dates Configuration

Set start and end dates for each term

Input Method:

Date Range Picker 1Manual Duration Input
1 First Term Available
2Weeks
e.g. 12
3Extra Days
e.g. 5
4

BEFORE EXCLUSION

12 weeks

89 total days

AFTER EXCLUSION

12 weeks 3 days

63 days (26 excluded)

Cancel Save Dates
Actual UI
  • 1 Manual Duration Input: The other method, for when the exact calendar dates are not settled yet. You state the length directly instead of picking dates, and the Start/End fields are replaced by the two below.
  • 2 Weeks: How many whole learning weeks the term runs. This is the number block lessons and curriculum planning divide up.
  • 3 Extra Days: Odd days on top of the whole weeks, capped at 6 — so a term of 12 weeks and 3 days is described exactly rather than rounded.
  • 4 Same readout: The before/after figures still appear, calculated from the weeks and days you typed rather than from dates. Switching back to Date Range Picker keeps whichever values each mode holds.

Save As Draft

The one form on this menu with no home elsewhere, so here it is.

Save Draft

Draft name
e.g. Term 1 Schedule
Description
Add notes or details about this workflow draft
Cancel Save Draft
Actual UI

Notifications panel (opens from ⑥)

Unsaved 22
Uploads3
Alerts4
Currently using the cloud version1

2026 Term 1

Aug 17, 2026, 09:14

14 trainers · 6 classes · 48 courses

Use
Actual UI
  • 1 Cloud / unsaved banner: A coloured line at the top: green “using the cloud version”, or amber “using unsaved changes (not in cloud)”.
  • 2 Unsaved tab: Lists recent local versions not in the cloud (up to 5). “Use” restores one; the trash icon deletes it. Your safety net if a change went wrong.
  • 3 Uploads tab: A history of past cloud uploads with their time and whether each succeeded. Each successful upload is also a restorable backup: clicking an entry pulls that version back down from the cloud, so you can return to how the school data looked at any earlier upload.
  • 4 Alerts tab: An event log of notable actions (uploads, recoveries, errors) with timestamps.

The Dashboard

The dashboard answers one question: how ready is this term? It opens with the totals (classes, trainers, trades) then breaks the school down class by class so you can see at a glance which timetables are finished and which still have lessons waiting to be placed.

It is a reading screen rather than a working one. Nothing is edited here; every card is a doorway into the menu where the actual work happens.

Administrator Dashboard1

Admin dashboard portal
2

6

Total Classes

14

Active Trainers

3

Total Trades

Schedules5
3
Workflows3
4
Trainers14
5

Events And Statistics Analysis

Analyse each task and event accurately

6
L3 SWD82%
L4 TOR58%
L5 NIT34%7
Actual UI
  • 1 Page title: Confirms you are on the administrator home screen for the active term.
  • 2 Totals strip: The three headline numbers for this term: Total Classes, Active Trainers and Total Trades.
  • 3 Schedules column: A preview of the first days’ school schedules; the badge is the count and the arrow opens the full Schedules page.
  • 4 Workflows column: One card per term/workflow, each with a small chart of its trainers, classes, trades and timetables. The arrow opens Drafts.
  • 5 Trainers column: A preview of trainer timetables. With none yet it shows an empty state linking you to add trainers and build schedules.
  • 6 Analytics banner: Introduces the per-class assignment breakdown shown directly beneath it.
  • 7 Class cards row: A horizontally scrollable strip (one card per class) showing how fully each class’s lessons are assigned. The round arrows scroll it.

Class cards (the strip at ⑦)

Each class gets one card summarising how ready its timetable is. Here is a single card, expanded, with every part labelled.

L3 SWD - Software Development

Table ID: TBL-3F9A

1 Excellent2
K

Kambere K. Prince

Class Teacher

Assignment Rate

82%

3

T. Lessons

11

Assigned

9

4

N. Assigned

2

Assignment Progress82%
5
6

Excellent Assignment Status

This class has an excellent assignment rate. Only a few lessons are not assigned.

Assign Lessons
7
Actual UI
  • 1 Class + trade: The class name with its trade, and the timetable’s Table ID beneath it.
  • 2 Status badge: A quick health flag (Excellent, Moderate or Critical) based on how many lessons are assigned.
  • 3 Class teacher: The teacher in charge of the class (or “Not Defined”), shown with their initial as an avatar and the assignment rate on the right.
  • 4 Lesson counts: Total lessons, how many are Assigned (green) and how many are Not assigned (red).
  • 5 Progress bar: The assigned percentage as a bar: green at 70%+, orange at 50%+, red below that.
  • 6 Status message: A short sentence explaining the badge and suggesting what to do next.
  • 7 Assign Lessons: Opens that class’s schedule so you can assign the remaining lessons.

Classes & Trades

Everything in SkoolVista rests on two ideas: a trade is a programme the school offers (Software Development, Tourism), and a class is a group of students following one of them at one level (L3 SWD). Courses attach to classes, trainers attach to courses, and timetables are built from all of it.

So this is the first screen to visit in a new year: create the trades, then the classes. If a class is being created from scratch you can also pull a ready-made course list into it here, which saves typing every course by hand later.

Classes & Trades

Create and manage classes and trades

1
2 Add Trade3 Add Class4

All Trades

35
CodeTradeClassesTrainersActions
SWDSoftware Development25
6
TORTourism13

Classes

37
Add Class
ClassTradeCoursesTrainersActions
L3 SWDSoftware Development114
8
L4 TORTourism93
Actual UI
  • 1 Title: Confirms you are on the “Classes & Trades” screen, where you create the classes and the trades they belong to.
  • 2 Search trades: Filters the All Trades table below as you type. Handy once you have many trades.
  • 3 Add Trade: Opens the “Add New Trade” form (a trade is a programme such as Software Development, with a short code like SWD).
  • 4 Add Class: Opens the “Add New Class” form. You can also optionally import a set of courses into the new class from a pre-made workflow.
  • 5 All Trades table: Every trade with its Code and name, plus how many Classes and Trainers currently belong to it.
  • 6 Trade actions: The pencil edits a trade’s code/name; the ✕ removes the trade.
  • 7 Classes table: Every class with its Trade, and its count of Courses and Trainers.
  • 8 Class actions: The pencil renames a class (level, trade and optional section); the trash deletes it, together with its courses and schedules.

Its forms: what opens when you click (③ Add Trade, ④ Add Class)

Clicking “Add Trade” opens this dialog

Add New Trade

1Trade Code *
2Trade Name *
3CancelSave Trade
Actual UI
  • 1 Trade Code *: A short, unique code for the trade, e.g. SWD. Required.
  • 2 Trade Name *: The full programme name, e.g. Software Development. Required.
  • 3 Save / Cancel: “Save Trade” adds it to the All Trades table; “Cancel” closes the form without changes.

Clicking “Add Class” opens this dialog

Add New Class

1Class Level *
2Trade *
Select a trade…
3Section (optional)
4

Import courses (optional)

From a pre-made workflow…
5CancelAdd Class
Actual UI
  • 1 Class Level *: The level of the class, e.g. L3, L4, L5 (or S3, P1). Required.
  • 2 Trade *: Pick the trade this class belongs to. (Skip it for a general class that has no trade.)
  • 3 Section: Optional: a letter such as A or B when a level runs parallel classes.
  • 4 Import courses: Optional. Choose a pre-made workflow and tick which of its courses to copy into the new class, so you don’t have to type them all again.
  • 5 Add / Cancel: “Add Class” creates the class (importing any ticked courses); “Cancel” closes without changes.

The other dialogs

Editing a trade or a class row, or deleting a class, opens one of these: the same field styles as above.

The row actions open these

Edit Trade

Trade Code
SWD
Trade Name *
Software Development
Cancel Save
Actual UI

Rename Class

Class Level *
L3
Trade *
Software Development
Section
A
Cancel Save
Actual UI

Delete Class

Removes the class
with its courses and schedules
Cancel Delete
Actual UI
Edit Trade, Rename Class and Delete Class▾

Edit Trade · saves with “Save”see the form

  • Trade Code The code (shown for reference).
  • Trade Name * Rename the trade.

Rename Class · saves with “Save”see the form

  • Class Level * The new level.
  • Trade * The new trade.
  • Section Optional section.

Delete Class · saves with “Delete”see the form

  • Confirmation Removes the class with its courses and schedules: this cannot be undone.

Trainer Management

This is the staff register: who teaches at the school, how to reach them, what they are qualified in, and which class each one is in charge of.

The part that matters most for timetabling is days off. Marking a trainer as unavailable on, say, Friday is not a note for humans to remember: the generator reads it and refuses to place their lessons on that day, and flags any that are already there. Setting these correctly before you generate saves most of the clashes you would otherwise fix by hand.

Trainer Management

Manage trainers and their assignments

1
Total Trainers142 New Trainer3
Grid Table4 Day Offs5 6
7Sort by:Name ↓A
TrainerEmailPhoneDegree / SexClass In-ChargeDay OffsActions
Kambere K. Prince
TR-104
8
kkp@school.rw0790123456A1 / ML3 SWDFri
9
Uwase Marie
TR-105
umarie@school.rw0788456123Bachelor / F: :
Actual UI
  • 1 Title: Confirms you are on “Trainer Management”, the register of every trainer in the school, their contact details, the class each is in charge of, and their days off.
  • 2 Total Trainers: A live count of how many trainers exist in the active term.
  • 3 New Trainer: Opens the “Add New Trainer” form to register someone new.
  • 4 Grid / Table toggle: Two ways to see the same trainers: Table is a dense row-per-trainer list; Grid shows one card per trainer.
  • 5 Day Offs view: Switches to a tick-box schedule where you set which weekday(s) each trainer does not teach. The generator respects these.
  • 6 Search trainers: Filters the list as you type. Matches a trainer’s name, email or id.
  • 7 Sort by: Orders the list by Name, Email or ID. The arrow button next to it flips between ascending and descending.
  • 8 Trainer columns: Each row shows the trainer’s name with their id beneath, plus Email, Phone, Degree / Sex, the Class they are in-charge of, and their Day Offs.
  • 9 Row actions: The pencil opens “Edit Trainer”; the trash opens the delete confirmation. Clicking a trainer’s name also opens Edit.

Grid view & Day Offs (the toggles ④ ⑤)

Grid: one card per trainer

TR-104

Kambere K. Prince

1
2

kkp@school.rw

0790123456

3Degree: A1   Sex: M

L3 SWD4 DF: Fri5
Actual UI
  • 1 Trainer id & name: The id sits above the name. Clicking the name opens the Edit Trainer form.
  • 2 Edit / delete: These two buttons appear when you hover the card: pencil to edit, trash to delete.
  • 3 Contact details: Email and phone, then Degree and Sex when they have been filled in (“N/A” when not).
  • 4 Class in-charge: A green badge with the class this trainer is class-teacher of, or an orange “N/CT” when they are in charge of none.
  • 5 DF (day offs): The trainer’s days off, abbreviated. A dash means they have none set.

Day Offs: the weekly tick-box schedule

Trainer Days Off Schedule

Total Trainers

14

Available Days

Monday - Sunday

Active Trainers

14

Status

Ready

1
TrainerDays Off
Kambere K. Prince
1 day(s) off
2
MonTueWedThuFriSatSun 3
Uwase Marie
0 day(s) off
MonTueWedThuFriSatSun
Actual UI
  • 1 Summary strip: Headline figures for the schedule: total trainers, the days available (Monday–Sunday), how many trainers are active, and the overall status.
  • 2 Trainer column: One row per trainer, with a running count of how many days off they currently have.
  • 3 Day tick-boxes: Tick a weekday to mark it as that trainer’s day off; untick to clear it. Auto-generation will then avoid placing their lessons on that day.

Its forms: what opens when you click (③ New Trainer, and the row actions)

Clicking “New Trainer” opens this dialog

Add New Trainer

Trainer Name
Phone Number
Email Address
Degree (optional)
Gender (optional)
:
Class in-charge
Select class
Teacher ID
CancelSave Trainer
Actual UI

The row actions open these

Edit Trainer

Trainer Name
Kambere K. Prince
Phone Number
0790123456
Email Address
kkp@school.rw
Class in-charge
L3 SWD
Cancel Save
Actual UI

Delete Trainer

Trainer Name
Kambere K. Prince
Email
kkp@school.rw
ID
TR-104
Cancel Confirm Delete
Actual UI
Every trainer dialog, field by field▾

Add New Trainer · saves with “Save Trainer”see the form

  • Trainer Name Full name: required.
  • Phone Number Optional contact number.
  • Email Address Optional: also used to invite them to the trainer portal.
  • Degree Optional qualification, e.g. A1 or Bachelor.
  • Gender Optional: Male or Female.
  • Class in-charge Optional: the class they are class-teacher of. Only classes without a class-teacher are listed.
  • Teacher ID Generated automatically; you can override it.

Edit Trainer · saves with “Save”see the form

  • Same fields as Add Opens pre-filled with that trainer’s details so you can correct any of them.

Delete Trainer · saves with “Confirm Delete”see the form

  • Confirmation Shows the trainer’s Name, Email and ID so you can check you have the right person before confirming. This cannot be undone.

Courses

If the timetable comes out wrong, this is usually where the cause is. Every course carries the numbers the generator plans around (how many periods it needs, who teaches it, and which term it runs in) and a course missing any of those cannot be placed at all.

So the routine before generating is simple: come here, filter for courses with no hours or no trainer, and fill them in. The screen also lets you combine a course that several classes share, so its details are edited once rather than repeated per class.

Course & Class Management

Manage Courses and Class Schedules

1
L3 SWD 2 New Course3
GridTable4 32 credits A. Courses115
⚙ Filters6 🔗 Combine↓A7
CourseAssigned TrainerTerm PriorityTotal PeriodsCreditsActions
Web Development
SWDWD301
8
Kambere K. PrinceAll Terms1356
9
Kutumia Kiswahili
GENKK302
Uwase MarieTerm 1 & Term 2452
Actual UI
  • 1 Title: Confirms you are on “Course & Class Management”, where each class’s courses live, with their hours, trainer and term.
  • 2 Class selector: Choose which class’s courses to work on, or “All Classes” to see every course in the school at once (an extra Class column then appears).
  • 3 New Course: Adds a course to the class currently selected. (Creating and renaming classes themselves lives on Classes & Trades.)
  • 4 Grid / Table toggle: Two views of the same courses: Table is the dense editable list, Grid shows one card per course.
  • 5 Search & totals: Filter courses as you type, with the class’s total hours/week and the number of courses shown beside it.
  • 6 Filters: Opens a panel to narrow by course type, trainer, whether a trainer is assigned, whether hours are set, and enabled/disabled.
  • 7 Combine: Links the same course across several classes that are taught together, so its hours and term are edited once and the timetable places them at the same time. The button lights up while combine mode is on. Beside it, the arrow sorts the list A–Z or Z–A.
  • 8 Course columns: Course (name + code), the Assigned Trainer, Term Priority, Total Periods for the year and Credits. Credits and trainer are editable right in the row.
  • 9 Actions: Per-course controls: edit its details, switch it on/off for auto-generation, or delete it. A course that is switched off is greyed out in the list, so you can see at a glance which ones the generator will skip.

Filters & Combine (⑥ Filters and ⑦ Combine)

The Filters panel

Course type

All types
1

Trainer

All trainers
2

Assignment status

All
3

Hours status

All Hours
4

Enabled status

All
5
Actual UI
  • 1 Course type: Show only one module type: CM (common), GM (general) or SM (specific).
  • 2 Trainer: Show only the courses taught by one trainer.
  • 3 Assignment status: Assigned vs Unassigned: the fastest way to find courses still missing a trainer.
  • 4 Hours status: With Hours vs No Hours: finds courses that can never be placed because their hours are still 0.
  • 5 Enabled status: Filters by whether a course is switched on for auto-generation.

Clicking Combine opens this

Combine Classes

Select classes whose lessons you want to combine

1
Available Classes Select All|Deselect
L3 SWD L3 NIT L4 TOR
CancelContinue2
Actual UI
  • 1 Pick the classes: Tick the classes that sit together for the shared course. Select All / Deselect handle the whole list at once.
  • 2 Then pick the courses: After confirming the classes, the list narrows to the course codes those classes have in common; tick the ones to link.
  • 3 What linking does: Linked courses share their hours, periods and term priority — editing one updates them all — and the generator places them in the same slot, so the classes really are taught together.

Combine: one course shared by several classes

When the same course is taught to more than one class together, “Combine” links them. You first pick the classes, then tick which course codes to link. Linked courses share their hours, periods and term priority (editing one updates them all) and the timetable places them at the same time so the classes really can sit in one room. Codes that do not exist in every selected class cannot be linked, and the panel shows which ones those are.

New Course form (③ New Course)

The same fields appear when you edit an existing course. Deleting one opens a short confirmation naming the course, because removing it also clears every period it holds in the timetable.

Add New Course

9
1Course Code *
2Short Name *
3Course Name *
4Max Periods / Week *
5Max Periods / Year *
6Assigned Teacher *
Select
7Course Type *
SM
8Term Priority *
All Terms

Block lesson (optional)

Weeks
Position
First weeks
Credits
Fixed
CancelAdd Course
Actual UI
  • 1 Course Code *: The unique code for the course, e.g. GENMP602. This is how the course is identified everywhere.
  • 2 Short Name *: A short label such as PHY. This is what appears inside timetable cells, where space is tight.
  • 3 Course Name *: The full course name, e.g. Physics.
  • 4 Max Periods / Week *: How many periods this course needs each week. The generator uses this to decide how many cells to fill.
  • 5 Max Periods / Year *: The total periods for the whole year, from the official curriculum.
  • 6 Assigned Teacher *: Which trainer teaches it. A course with no trainer cannot be placed on a timetable.
  • 7 Course Type *: The module type: CM, GM or SM. SM and GM courses cannot go below 2 periods.
  • 8 Term Priority *: Which term(s) the course runs in: all terms, a single term, or a pair such as Term 1 & Term 2.
  • 9 Block lesson: Optional. If the course only runs for part of the term, set the number of Weeks, whether they are the First or Last weeks, and Fixed or Relaxed hours. This splits the term into phases.

Several courses at once (the table view)

Courses opens on the table, because that is where data is entered. The column to fill is Total Periods — the whole module, from which the timetable works out each week. Credits is kept in the course form rather than the table, so the two are not confused.

4 selected ✎ Edit ⏻ Switch off 🗑 Delete ✕ Clear
☑ CourseTrainerTerm PriorityTotal Periods
☑ ReligionF. MudekerezaTerm 1 Only30
☑ Apply PythonGahuzamiryango JDAll Terms60
Actual UI
  • Tick courses with the box before each name; the box in the header ticks every course currently shown. Ticking anything opens the orange bar.
  • Edit opens a dialog for all of them together: When it runs (Regular or Mid-term, with its weeks and whether they fall at the start or end of the term), Term priority and Module type. Each shows what the ticked courses are now, a value they all share is already selected, and “keep as is” appears only where they differ. Nothing changes until you press Save.
  • A mid-term block sits inside one term, so making courses mid-term also keeps them to this term; moving a course to several terms clears its mid-term weeks.
  • Switch turns them off (or on — the button follows their state) and Delete asks first, listing every course it would remove.
  • Selection works across classes in “All classes”, and clears when you switch class. Combined courses change only in the class you ticked — tick the partner class too.

Curriculum

A timetable says a lesson should happen; the curriculum says what was actually taught in it. Each course is broken into topics and subtopics, and each subtopic moves through Pending, In progress and Done.

The updating is done by the trainers themselves, from their own separate portal, on the courses the timetable says they teach. You see all of it here: the real percentage covered per course, and who marked what on which date. It replaces the paper log-book, and unlike the log-book you can read it mid-term while there is still time to act on it.

Curriculum & Trainer Portal

Topics, subtopics & progress: plus the trainer logins that update them

1
Reload2
CurriculumTrainer Logins3
L3 SWD 4 5 Save changes6
11 course(s) 18/40 subtopics 45%7
TopicSubtopicStatusUpdated byWhen
8 Web Development L3 SWD · SWDWD301 Kambere K. Prince 3/560%+ Topic
T1Introduction to HTMLPage structure & tags9○◑✓10K. Prince12 Aug 202611🗒12
Forms and inputs○◑✓K. Prince15 Aug 2026🗒
Actual UI
  • 1 Title: Confirms you are on the Curriculum screen, showing the topics and subtopics of every course, and how far each has been taught.
  • 2 Reload: Re-fetches the curriculum from the cloud, picking up anything trainers have saved since you opened the page. Your unsaved draft is kept.
  • 3 Tabs: Curriculum is the topic/progress table; Trainer Logins is where you create the logins trainers use to update it themselves.
  • 4 Class filter: Narrow the table to one class, or show every class at once.
  • 5 Search course: Filters the table by course name or code.
  • 6 Save changes: Writes your edits to the cloud. Until you press it, changes are kept as a local draft, so switching tabs or reloading will not lose them.
  • 7 Progress summary: For the current filter: how many courses, how many subtopics are done out of the total, and the overall percentage.
  • 8 Course row: One orange row per course with its class, code, trainer, progress bar and “+ Topic” button. Clicking the course name opens the focused lesson view.
  • 9 Topic / Subtopic: Topics group subtopics. Type directly into either to rename it; the +/trash buttons add and remove them.
  • 10 Status: Three buttons per subtopic: Pending, In progress, Done. Choosing one stamps who changed it and when.
  • 11 Updated by / When: Who last changed that subtopic and on what date. This is how you see what trainers have been doing.
  • 12 Note: The sticky-note button opens a small box to add a remark about that subtopic.

Lesson view, AI & drafts

Clicking a course name (⑧) opens a focused view of that one lesson. Alongside it, two things make the page safe to work in: your unsaved work is kept as a draft, and if a trainer edited the same course you get to choose which version wins.

Web Development

L3 SWD · SWDWD301 · Kambere K. Prince

2 topic(s) · 3/5 subtopics done60%
✓ 3 done◑ 1 in progress○ 1 pending
T1Introduction to HTML2/3
  • donePage structure & tagsK. Prince · 15 Aug
  • in-progressForms and inputsK. Prince · 15 Aug
Actual UI
  • 1 Lesson view: Clicking a course name opens a focused, read-only view of that single course: its progress bar, done / in-progress / pending counts, every topic with its subtopics, and each subtopic’s status, editor, date and note.
  • 2 Curriculum AI: When AI access is enabled for your account, an assistant button appears. It can read the curriculum and add, rename or remove topics and subtopics, or set progress, filling the table for you to review, then Save.
  • 3 Draft restored: If you left with unsaved work, an amber banner offers to keep the restored draft or discard it and reload the cloud copy.
  • 4 Trainer conflicts: If a trainer changed a course on the cloud that you also changed, Save shows a comparison (your version beside theirs) and you choose which to keep, per course.

Trainer Logins (the second tab at ③)

Trainers sign in to their own portal (separate from your admin login) to see their timetable and tick off the topics they have taught. This tab is where you create and manage those logins.

Trainer logins (2)

TrainerEmailStatusLast sign-inActions
Kambere K. Prince1kkp@school.rwActive16 Aug 2026Resend Revoke2
Uwase Marieumarie@school.rwInvited: Resend Revoke
4 3

School trainer code

Trainers type this with their email & password.

K7P2QMCopy

Invite trainers

Invite all with email (9)
or one by one
Select a trainer
Actual UI
  • 1 Trainer logins table: Every trainer login: the trainer, their email, status (invited / active / revoked), and when they last signed in.
  • 2 Row actions: Resend the set-password invite, or revoke the login so that trainer can no longer sign in.
  • 3 School trainer code: One code per school. Trainers type it along with their email and password to sign in at the trainer portal. Generate or regenerate it here, and copy it to share.
  • 4 Invite trainers: Invite everyone who has an email in one click, or use the picker below to invite a single trainer. Each gets an email with a link to set their own password.

Table Management

Before any lesson can be placed, the timetable needs a shape: which days the school runs, how many periods a day, when each one starts and ends, and which rows are breaks rather than teaching time. That shape is defined here.

The same screen holds the slots that are spoken for before timetabling even begins: assembly, sport, mass. Reserving them here means the generator plans around them instead of scheduling a lesson on top of them. A class that runs a different pattern from the rest of the school can be given its own layout without disturbing anyone else.

Special Activities Schedule

Manage special activities and time slots

1
Edit Table2 Select3 Clear All4 ✨ AI10
5
Total Slots40 Assigned36
TimeMondayTuesdayWednesdayThursdayFriday7
08:00 – 08:408Assembly + + + + 9
08:40 – 09:20+ + + + +
09:20 – 09:40
Break
: : : : :
09:40 – 10:20+ + Sport + +
Actual UI
  • 1 Title: Confirms you are on “Special Activities Schedule”, where the shape of the timetable itself is defined: which days exist, which rows are teaching periods and which are breaks, and what special activities sit in fixed slots.
  • 2 Edit Table: Turns on structure editing. Two things become possible: one row can be made to behave differently on a single day (e.g. move Wednesday’s break to another slot without touching the rest of the week), and a trash button appears when you hover a day heading or a row, so columns and rows can be deleted.
  • 3 Select: Turns on multi-select. Click several cells, then apply one activity to all of them at once.
  • 4 Clear All: Removes every special activity from the grid. The days and time slots themselves stay.
  • 5 Search activities: Finds an activity by name and highlights where it sits in the grid.
  • 6 Slot totals: How many slots exist in total and how many already carry an activity.
  • 7 Day headers: The days of the week. Clicking one opens “Edit Day” to rename it — renaming is safe, the lessons on that day stay exactly where they are. With Edit Table on, hovering a heading also shows a trash button that deletes the whole column.
  • 8 Time-slot rows: Each row is one period of the day with its start and end time. Clicking a row opens “Edit Time Slot”, where you set the times and choose whether the row is a teaching Period or a Break. With Edit Table on, hovering a row also shows a trash button that deletes it; the rows beneath move up and keep their lessons.
  • 9 Grid cells: Clicking a cell assigns a special activity to that day + slot (assembly, sport, mass…). Those cells are then reserved, and auto-generation will not place lessons there.
  • 10 Structure AI: When AI access is enabled for your account, an assistant button appears. It can read the layout and rename day headings in bulk, add or remove days and rows, and switch a row between period and break — deletions still ask you to approve first.

Its dialogs (opened by clicking a day, a time row, or a cell)

Edit Time Slot

Start time
End time
Row typePeriodBreak
CancelSave
Actual UI

Edit Day

Day name
Delete daySave
Actual UI
  • 1 Add / Edit Time Slot: Sets the row’s start and end time, and whether it is a teaching Period or a Break. Breaks are never filled by the generator.
  • 2 Edit <DAY> Only: The same dialog opened from Edit Table mode. It changes that row for one day only, and says so; every other day keeps its own setting.
  • 3 Add / Edit Day: Names a new weekday column or renames an existing one, and can delete a day from the timetable.
  • 4 Assign Special Activity: Picks the activity for the clicked cell: its name, code, an optional trainer, and whether it is school-wide or only for certain classes.
  • 5 Apply to N Cells: The version shown when Select mode is on. The chosen activity is written to every cell you selected.
  • 6 Manage Activities: Lists the activities you have created so you can edit or remove them.
  • 7 Delete column / row: The trash buttons open a confirmation first. It names what is being removed, spells out how far it reaches — the shared default affects every class using it, a class’s own layout affects only that class — and warns that the lessons in it will be lost. The last remaining column or row cannot be deleted.
  • 8 Custom format / Reset: When one class has been given its own day-and-slot layout, a purple “Custom format” badge appears with a “Reset to default” link that puts the class back on the shared layout.

Workflow & Drafts

A workflow is one complete set of school data for one term. This screen exists because timetabling is a job where a single wrong bulk action can undo two weeks of work, and where you often want to try something and be able to change your mind.

Three things are kept for you. The live workflows are the real data, one per term. The unsaved recovery points are taken automatically as you work: you never have to remember to make one. The drafts are versions you deliberately named and kept, including an automatic snapshot before every AI run. Between them, no change here is ever truly irreversible.

If you have given an outside AI a copy to work in (Connect an outside AI), the AI Workflow panel here is where you see what it changed and pull its copy in as a draft to judge for yourself.

Workflow Management

Manage workflows and view their stats

1
2

Available Workflows

3
3
WorkflowTrainersClassesTradesTimetablesActions
2026: 1st Term14636

Unsaved Workflows

2
Auto-saved recovery points · max 54
SemesterTrainersClassesCoursesDateActions
2026 Term 11464817 Aug 09:14Use

Workflow Drafts

2
5
DraftSemesterTeachersClassesCoursesDateActions
Term 1 Schedule62026 Term 11464816 Aug
7
AI: fill every gapAI2026 Term 11464816 Aug
Actual UI
  • 1 Title: Confirms you are on “Workflow Management”, where every saved version of your school data lives in one place.
  • 2 Search workflows: Filters all three lists below by name or semester.
  • 3 Available Workflows: The real, live workflows (one per term you have opened) with their trainer, class, trade and timetable counts. The trash at the right removes every workflow except the one currently in use.
  • 4 Unsaved Workflows: Automatic recovery points taken as you work, keeping the last 5. This is what saves you if something goes wrong before you upload: “Use” restores one.
  • 5 Workflow Drafts: Named snapshots you chose to keep (from Quick Actions ▸ Save As Draft, or the save button here). A purple “AI” badge marks the automatic snapshot taken before the AI assistant changed anything, so any AI run can be undone.
  • 6 Draft columns: Each draft shows its name, semester, and counts of teachers, classes and courses, plus when it was saved.
  • 7 Actions: Restore a draft into the live workflow, or delete it. Restoring replaces what is on screen: upload afterwards to push it to the cloud.

Settings

A few unrelated things share this page because each is set once and rarely touched again: which year and term you are working on, your password, the school’s own identity, and the link that lets an outside AI read your timetable.

The last one is worth care: the name, logo and approval-in-charge you enter here are what appear on every timetable you print and hand out, so they are the school’s public face rather than an internal setting.

School Settings

1

Academic Year Settings

Configure Semester Dates2 Load Data3
Academic Year
2026
4Term/Semester
Term 1

Password & Security

5
Current Password
New Password
Confirm New Password

School Profile

6
Change Picture
School Full Name
School Email Address
Slogan / Other Name
School Phone Number
Approval In Charge Names

Connect an outside AI

7
Read-only
https://skolvista.pages.dev/mcp?key=•••••••••••• Copy
Actual UI
  • 1 School Settings: One page holding three groups: the academic year, your password, and the school’s profile details.
  • 2 Configure Semester Dates: Opens a date picker to set the start and end of each term and how many learning weeks it has: the figures the timetable and curriculum planning rely on. The same dialog opens from Quick Actions in the header.see the form
  • 3 Load Data: Loads the workflow for the selected year and term below, so you can switch to working on a different academic year.
  • 4 Academic Year / Term: Pick the year and the term (1, 2 or 3) you want to load. Each term keeps its own separate timetable.
  • 5 Password & Security: Change your sign-in password: your current password, the new one, and the new one again to confirm.
  • 6 School Profile: The school’s identity used on printed timetables and reports: profile picture, full name, email, slogan, phone number and the “Approval In Charge” name (which also appears next to your photo in the header).
  • 7 Connect an outside AI: Builds the link that lets Claude Desktop, claude.ai or a similar app read your timetable and answer questions about it. The link is hidden until you reveal it. A switch below it can also let that AI change a COPY of your workflow — never the live one — which you then review in Workflow & Drafts.see the form

Connect an outside AI (Settings, at the bottom)

SkoolVista has its own assistant built in. This is for the other direction: letting an AI app you already use — Claude Desktop, claude.ai, Cursor — read this school’s timetable, so you can ask it things in the place you are already working. Ask it which classes still have free periods, whose week is full, or why a course fell short of its hours.

  1. Upload your work first: the AI reads the copy synced to the cloud, not what is on your screen.
  2. In Settings, press Show connector link. It stays hidden until you press Reveal.
  3. In the AI app, open Settings › Connectors › Add custom connector, name it SkoolVista and paste the link. Apps that use a config file instead get a ready-made snippet to copy.

The link is a key to your data — treat it like a password. Anyone holding it can read this school’s timetable, so paste it only into your own AI app. It stops working on the date shown beside it; sign in again and press Rebuild for a fresh one.

On connecting it is handed a guide of the system — the rules it must not break, what each field means and how the report is measured — so its answers match what SkoolVista itself would say.

Letting it change things — the AI workflow

By default an outside AI can only read. The switch “Let this AI change a copy” lets it do more — but never to your timetable. It is given the AI workflow: a copy of your workflow, kept apart. It can fix course data, move lessons, adjust a course’s periods, lend a mid-term course, set days off. Your live timetable carries on exactly as it was.

  1. Switch it on. A copy is taken there and then, or press Send a copy now whenever you want it to start from what you have.
  2. Work with the AI in its own app. Settings shows what it has done to the copy, and when.
  3. Open Workflow & Drafts. The AI Workflow panel lists the changes; Pull it in as a draft brings the copy into the app.
  4. It appears with your drafts, marked AI. Load it, look at the timetable, and keep it or delete it. Nothing is replaced until you choose to.

Generating a timetable and deleting anything are never done from outside — they stay here, where a run can be watched and a change undone. Switching the AI off again leaves the copy where it is; Remove the copy throws it away.

Master Entry

The other menus each own one kind of thing: trainers here, courses there, classes somewhere else. That is fine for corrections, but painful when you are setting up a whole year from scratch and every trainer means visiting three screens.

Master Entry collapses all of it into one table: trainer, class, course, hours, periods, term, on or off. You can work straight down a workload sheet without navigating at all, or import that sheet as a CSV and have the trainers, classes and courses created for you.

Master Entry

All in one table panel.

1
New Trainer2 ✨ Fill from workflow3
4 NameCodeShort5 ⚙ Filters6 ▦ Columns7 Mid-term 8 🖶 Print9
Trainers (14)ClassCourses (48)ModuleTermHrsPrdOnActions
Kambere K. Prince10L3 SWDWeb Development11SMAll Terms61351213
14
L4 SWDDatabase DesignSMTerm 1 & 2490
Uwase MarieL4 TORKutumia KiswahiliGMTerm 1 & 2245
Actual UI
  • 1 Title: Confirms you are on “Master Entry”: one table holding trainers, the classes they teach and every course, so you can enter and fix all of it without hopping between screens.
  • 2 New Trainer: Adds a trainer straight into the table.
  • 3 Fill from workflow: Fills a whole class’s courses from a pre-made workflow by matching course codes: the fast way to set up a class instead of typing every course.
  • 4 Search: Finds a trainer by name, email or id and narrows the table to them.
  • 5 Name / Code / Short: Chooses how each course is labelled in the table: its full name, its code, or its short name.
  • 6 Filters: Narrows by assignment state and status: for example only courses with no trainer or no hours.
  • 7 Columns: Tick which optional columns to show (Module, Term, Hrs, Prd), so the table stays readable on a small screen.
  • 8 Mid-term: Opens the block-lesson tools: the term’s weeks, filters for each phase, and a date checker that tells you which phase a given date falls in. An amber dot means no term dates are configured yet.
  • 9 Print: Prints the table: useful as a paper checklist when collecting data from trainers.
  • 10 Trainer column: One block per trainer, with their total count in the heading. Their rows sit beneath them.
  • 11 Class & Courses: For each trainer, which class and which course they teach: the assignment itself. The Courses heading carries the total number of assignments.
  • 12 Module / Term / Hrs / Prd: The course’s module type, the term(s) it runs in, its hours per week and its periods per year: all editable inline.
  • 13 On: A switch to include or exclude a course from auto-generation without deleting it.
  • 14 Actions: Per-row controls to edit or remove that trainer or course assignment.

Its dialogs

Everything on this page is edited in small pop-ups so you never lose your place in the table.

Add / Edit trainer

Trainer Name
Full name
Email
name@school.rw
Degree / Gender
A1 · M
Cancel Save
Actual UI

Add course for a trainer

Class
L3 SWD
Course
Web Development
Hours / Periods
6 · 135
Cancel Add
Actual UI

Fill a class from a pre-made workflow

Class
L3 SWD
Pre-made workflow
L3 Software Development
Match by
Course code
Cancel Fill
Actual UI
  • 1Add / Edit trainer: The trainer’s own details (name, email, phone, degree and gender) the same fields as Trainer Management, editable without leaving this table.see the form
  • 2Add course for <trainer>: Attaches a course to that trainer, choosing the class, the course, and its hours, periods, module and term.see the form
  • 3Edit course: Changes a single course assignment. The class name is shown in the title so you can see exactly which one you are editing.see the form
  • 4Fill a class from a pre-made workflow: Pick a class and a pre-made workflow; matching course codes are copied in, so a new class is set up in one step.see the form
  • 5Delete confirmation: Removing a trainer or a course asks first, and says what will be removed.

Schedules

This is where the timetables themselves live. Each class has one, and each trainer gets one automatically. A trainer’s week is not entered by anyone, it is derived from wherever their name appears across the class timetables, so the two can never disagree.

The work happens one class at a time: open a class, generate it, then look at what the generator could not do and fix those slots yourself. When everything is right, the whole school prints from here, each timetable on its own page.

Timetable Management

View and manage class schedules

1
2 🖶 Print All3 Create Timetable4
All Timetables5Class Timetables (6)6Trainer Timetables (14)7Days Schedules8Custom Tables (2)9

L3 SWD

Software Development

82% filled

L4 TOR

Tourism

58% filled

L5 NIT

Networking

34% filled

Actual UI
  • 1 Title: Confirms you are on “Timetable Management”, the list of every timetable in the school, for classes and for trainers.
  • 2 Search: The magnifier expands into a search box that filters timetables by class or trainer name.
  • 3 Print All: Prints every timetable at once, each on its own page. Choose all class timetables or all trainer timetables.
  • 4 Create Timetable: Creates a timetable for a class and opens it, ready to be generated or filled in by hand.
  • 5 All Timetables: Everything together, class and trainer timetables in one list.
  • 6 Class Timetables: One card per class, showing how complete its timetable is. Clicking a card opens that class’s timetable.
  • 7 Trainer Timetables: Built automatically from the class timetables, so each trainer’s own week, derived from wherever they are teaching.
  • 8 Days Schedules: The whole school seen one day at a time, useful for checking what is happening on, say, a Wednesday. Days that only some classes run — a Saturday one trade added to its own layout — are listed here too, tagged with how many classes use them, so no lesson is left with nowhere to be seen.
  • 9 Custom Tables: Hand-built tables that are not generated at all, the escape hatch for anything the timetable engine does not cover (duty rosters, fee lists…). “Create Custom Table” starts a new one.

One class timetable (opened from a card at ⑥)

This is where a timetable is actually built: generated automatically, then fixed by hand where needed.

L3 SWD Timetable1

⚡ Auto-Generate2 Export3 ScheduleLessons4 ✨ AI6
TimeMonTueWedThuFri
08:00Web Dev Database Web Dev Kiswahili Database 5
08:40Web Dev Database Web Dev Kiswahili :
09:20Break : : : :
Actual UI
  • 1 Timetable name: The class this timetable belongs to.
  • 2 Auto-Generate: Opens the algorithm chooser, then fills the timetable automatically. This is the main way a timetable gets built.
  • 3 Export: Saves or prints this single timetable, in the designed or plain layout.
  • 4 Schedule / Lessons view: Schedule shows the day-by-period grid; Lessons lists the class’s courses and how many periods each has been given.
  • 5 The grid: Days across, periods down. Clicking a cell lets you place, move or clear a lesson by hand, useful for fixing the few slots the generator could not.
  • 6 AI assistant: When AI access is enabled, an assistant sits beside Auto Generate. It can report which courses are short of periods, repair them slot by slot, suggest trainer day-offs and validate the result.

Clicking Auto-Generate opens this

⚡

Choose Generation Algorithm

1 Algorithm Classes
2

Smart Algorithm Recommended

Uses logic based on module type for intelligent lesson placement.

Algorithm Configuration

3 Maximum free periods per day
2
Restrict

Recommended: 2 periods

4 Generate mid-term (block) timetables Splits a term into phases for lessons set to run only its first weeks (set per lesson in Courses → Block).
5 Semesters to generate for
Term 1 12 weeksTerm 2 12 weeksTerm 3 not set
6 Cancel Generate
Actual UI
  • 1 Algorithm / Classes tabs: The dialog has two halves. Algorithm decides how lessons are placed; Classes decides which classes get generated. Both apply to the one run.
  • 2 Smart Algorithm: The recommended choice. Uses logic based on module type for intelligent lesson placement, and it is the only one with settings of its own.
  • 3 Maximum free periods per day: How many empty periods a class may be left with in a day. 2 is the recommendation. The Restrict switch beside it decides whether that number is a hard limit or a preference the generator may exceed when it has no choice.
  • 4 Generate mid-term (block) timetables: Splits a term into phases for lessons set to run only its first weeks — the block courses you mark per lesson in Courses ▸ Block. Leave it off for an ordinary weekly timetable.
  • 5 Semesters to generate for: Which terms this run covers. A term is only selectable once its learning weeks have been configured in Semester Dates, so a greyed-out term means that setup is still missing.
  • 6 Cancel / Generate: Generate is disabled while a run is in progress, and also when you chose Select Specific Classes without ticking any.

The Classes tab

Algorithm Classes
1 Apply to All ClassesGenerate timetable for all available classes in the system.
2 Select Specific Classes
Select All|Deselect
L3 SWDL4 TORL5 NIT
Actual UI
  • 1 Apply to All Classes: Generates a timetable for every class in the system in one run.
  • 2 Select Specific Classes: Generates only the classes you tick, with Select All / Deselect for the whole list. This is the option to use once you have hand-fixed some classes, because re-generating a class discards its manual edits.
Worth knowing: re-generating a class throws away any manual fixes already made in it. Once you have hand-corrected a class, generate only the classes that still need it rather than all of them.

Auto-generate & its report (the ⚡ button)

Pick the settings, press Generate Timetable, and the dialog gets out of the way so you can watch the week being built.

  • The table is framed by a moving border while it works, and a pill at the top of the screen names the step: Placing lessons → Clearing clashes and days off → Filling free periods → Sharing periods by credits → Pulling combined lessons together → Spacing out free periods → Laying out the busiest trainers’ weeks → Keeping each course’s periods together.
  • The cells each step changes glow as they land, so you can see what moved.
  • It runs in the background, so the page keeps scrolling. Up to five arrangements are tried and the best kept — a mid-term course left at 0 counts far worse than a free period over your limit.
  • When it finishes, the dialog reopens on the report.

The report is in two lists. Needs your attention is what you may have to act on — over the free-period limit, held back by a full trainer, not in line with credits, course hours the run changed — one line each with a count, opening to the detail. What the run did is a quiet list of facts. Below them, the score out of 100 with its five factors, and what to change.

The score is measured over the term: each course owes its Total Periods divided by the number of terms it runs in, and delivers its periods a week multiplied by the weeks each timetable is in effect (the block weeks and the regular weeks). A course with more than it needs never covers another one’s shortfall.

Adjust & Lending modes (the Lessons tab)

The Lessons tab lists the class’s courses as a table: what each is, who teaches it, how many periods it got against the periods a week the run planned, and whether it runs the whole term or inside the mid-term weeks. Two modes sit above it.

⚡ Adjust mode ↳ Lending mode Drag a course’s slider — the change is made when you let go.
CoursePeriods a weekWhen it runs
Apply Basics of Chemistry▁▂▃  3/3Whole term
Religion▁▂  2/2Mid-term · 2 weeks at the start +1/week after
Actual UI

Adjust mode

  • Every course gets a slider. Drag it and the table shows what would happen — the course climbs, whatever gives up the period drops — and the Schedule tab shows the week with the changed cells marked.
  • Let go and it is done: no Accept button. The bar at the bottom says what happened, with Undo. If it cannot be done, the bar goes amber and nothing is touched.
  • It looks for room in order: a free period, a period from a course above its share, freeing the trainer by moving their lesson in another class, and — only if you allow it — moving the trainer’s day off. It never breaks a rule.
  • Rearrange within keeps it to this class or lets it reach the whole school. A combined course always moves in every class that shares it.
  • What you set is remembered: the next auto-generate shares the week out around it.

Lending mode

  • For a mid-term course whose block weeks could not give it everything — Religion at 2 periods where it needed 3, because one trainer teaches it in every class.
  • Each mid-term course gets a Lend button; the others fade back. Lending switches the view to the regular weeks and opens an editor in the bar: periods a week (1–3, 1 by default) or credits (shown as “≈ N a week”).
  • The course then runs in its block weeks and carries on afterwards at that small load. The row shows +1/week after, and the button becomes Change lend, which also offers Stop lending.
  • The figure is kept on the course, so auto-generate places it the same way next time; Undo puts back both the timetable and the setting.

Printing (③ Print All, or Export on a single timetable)

Printing opens a preview with its own options panel, so you can see exactly what will come out before using paper.

Show course as

NameCodeShort1
4Page header (optional)

Tabs above are three table looks.5

Actual UI
  • 1 Show course as: Whether each cell prints the course’s full Name, its Code, or its Short name. Short is what fits best in a dense grid.
  • 2 Show trainer / class names: Adds the trainer’s name (or the class name, on trainer timetables) inside each cell. Turning it off gives compact cells.
  • 3 Include activities: Whether special activities such as assembly or sport appear on the printout.
  • 4 Page header: Optional text printed above the timetable, e.g. the school name and term, with a choice of the first page only or every page.
  • 5 Layout tabs: Three table looks to choose from before printing: Designed, Default and a plain Print layout.
The smaller dialogs around timetables▾
  • Create Timetable: Pick the class and it opens the new timetable straight away, ready to generate.
  • Delete Schedule: Asks before removing a class timetable, since the placed lessons go with it.
  • Schedule Analytics: A per-timetable readout of how many periods are filled, how many are still empty, and where the gaps sit.
  • Class Practice Schedule: Marks the days a class spends on practical work, so the generator keeps ordinary lessons off them. Set from Settings.
  • Apply Class Workflow: Pulls a ready-made class set-up from the shared workflows into your own, from Workflow & Drafts.
The side menu (Aside) is the last piece still to document.

Why it matters

Why SkoolVista

Timetabling software is not new. What is different here is where the effort goes: most systems stop at generate, and hand you back a timetable that is 80 % right with no way to close the last 20 % except pressing generate again. SkoolVista is built around that last 20 %: finding exactly what is wrong, fixing it precisely, and never losing the good work you already did.

01

Diagnose

Required vs placed, per course. No guessing where the gaps are.

02

Repair

Move one period, swap two cells, adjust hours, without re-rolling the class.

03

Never lose work

Recovery points, drafts and per-class generation keep manual fixes safe.

The problems it solves

Each of these is a real complaint about school scheduling, and a deliberate design decision in response.

  • 1

    The half-finished timetable

    Generators typically leave courses short. A course needing 7 periods gets 3, and a two-period course is never placed at all. SkoolVista reports required-vs-placed per course and lets you close the gap slot by slot instead of re-rolling and hoping.

    Re-generate and pray → See the exact gap, then fix it

  • 2

    Scattered lessons

    A course with six periods spread one-per-day is bad for teaching. The generator aims for consecutive blocks across a couple of days, and flags the courses that ended up scattered or dumped on one day.

    One period a day, everywhere → 2+2+2 across the week

  • 3

    Losing a good timetable

    Most systems have one live copy, and one wrong bulk action and the term’s work is gone. Here every change leaves an automatic recovery point, named drafts can be kept, and re-generation is opt-in per class.

    One copy, no undo → Recovery points + drafts

  • 4

    Data entered five times

    Trainer here, course there, hours somewhere else. Master Entry puts trainers, classes, courses, hours and terms in a single table, and a workload CSV can populate it in one go.

    Five screens per trainer → One table, or one CSV

  • 5

    Nobody knows how far the syllabus went

    Coverage usually lives in paper log-books. Trainers record topic and subtopic progress in their own portal; the DOS sees the real percentage per course, with dates and names.

    Paper log-books → Live progress per course

  • 6

    Term chaos

    Terms are usually one file overwritten three times a year. Each term is a separate workflow you can switch between at any moment, and mid-term block lessons are modelled as phases rather than fudged.

    Overwrite each term → Three independent terms

What makes it different

The parts you will not find together in a typical timetabling package.

  • An AI that uses the real generator Unique  The assistant does not guess at JSON. It calls the same typed tools you do (inspect allocation, place a lesson, swap two cells, change hours) so it can never corrupt the schedule, and every run is snapshotted so you can revert it in one click.
  • Repair, not just generate Rare  Most timetablers only offer “generate again”. SkoolVista can diagnose one class, move a single period, and re-validate, which is the difference between a tool that gets you to 80% and one that gets you to done.
  • Curriculum tied to the timetable Unique  Progress tracking is not a bolt-on module: the courses a trainer sees are exactly the ones the timetable says they teach, so the two can never drift apart.
  • Works when the internet does not Practical  The workflow lives in your browser and syncs to the cloud when you press Upload. You can keep timetabling through an outage (a real constraint in many schools) and nothing is lost.
  • Per-class timetable shapes Rare  One class can have its own days, periods and breaks without forcing the whole school onto that layout, and a single day can differ from the rest of its week.
  • Fits TVET and ordinary schools alike Fit  The generator plans from periods-per-year as readily as hours-per-week, so a TVET college with module period-hours and a secondary school with plain weekly lessons both work without bending the data to fit. General classes sit beside trade-based ones, and mid-term block lessons and trainer day-offs are first-class ideas rather than workarounds.
  • Custom tables, without leaving the app Rare  Not everything a school runs on is a timetable — duty rosters, fee lists, sign-in sheets. Custom Tables build those by hand, with merged cells, styling and printing, so they stay in one place instead of drifting into a spreadsheet nobody can find.
  • Conflicts tracked, not discovered later Unique  A trainer booked in two places at once, a lesson on their day off, a course still short of periods: these are reported as a list you can act on, per class or school-wide, rather than found by a trainer on the day.
  • Nothing is lost Practical  Work is snapshotted automatically as you go, named drafts can be kept, and every upload to the cloud doubles as a restorable backup you can pull back down. A bad afternoon is always undoable.

In one sentence

SkoolVista is for the school that has already tried generating a timetable and found the result unusable: it gives you the diagnosis, the surgical tools and the safety net to turn that draft into the timetable you actually run, and then keeps track of whether the syllabus behind it is really being taught.