Timetable module

Timetable tutorial

Step-by-step guide for the weekly lesson board — bells, lesson demand, hard vs soft constraints, generate and publish, then Views, workload, and cover. Start with Foundation, then demand and constraints. Limit and Soft weight get their own topic so they stop confusing the form. No GHS journals. App links open in a new tab when you sign in.

Open Timetable hub
Typical term-start path: Hub → Week & Bell Setup → Lesson Demand → Constraints (then Limit / Soft weight) → Builder Generate → Validate → Publish → Views. For an absent teacher mid-week, use Substitutions. For class rolls that follow this grid, see Attendance.

Foundation

Open the hub, set teaching days, and publish a bell schedule before any lesson can sit on the grid.

1

Foundation · Start here

Timetable hub

The Timetable hub is the school’s weekly lesson board. It is not attendance, not exams, and not fees. You set the week and bells first, then say how many lessons each class needs, then generate and publish a version teachers can actually follow.

Open in new tab
No prior topics required — safe to start here.

Real scenario

Sunrise Academy opens Timetable before Term 2. The hub says bells are ready, 3 demands still have no teacher, and nothing is published yet. Mrs. Adjei starts at Week & Bell Setup, then Lesson Demand, then Builder.

Worked example (GHS)

Hub · Setup 80% · Demands 12/15 · 0 published · 10-step walkthrough ready

How it works

The hub shows readiness: teaching days, bell schedules, lesson-demand completeness, hard vs soft constraints, draft vs published versions, and pending substitutions. Next-step tiles walk you in order. Each school only sees its own timetable. Nothing here posts a GHS journal.

Key fields — what each one means

Setup readiness

Percent of foundation work done — cycle + default bell + teaching days.

Example: 80% · Weekly cycle saved · Standard Day bells · Mon–Fri

Demand completeness

How many class + subject rows already have a teacher and periods per week.

Example: 12 of 15 demands complete · 3 missing a teacher

Published versions

Live timetables teachers and Views read. Drafts stay hidden until you Publish.

Example: 1 published · 1 working draft · 0 pending substitutions

Open this screen in Clasra

Opens on clasra.com — sign in with your school account (same URL for every school).

/dashboard/timetable
2

Foundation · Foundation

Week & Bell Setup

This page draws the empty grid. Teaching days are the columns (Monday to Friday). Bell periods are the rows (Period 1, Break, Period 2). Until a default bell exists, Generate has nowhere to place a lesson.

Open in new tab

Read these first

Real scenario

Mrs. Adjei saves Weekly cycle, Mon–Fri, Africa/Accra. She adds Standard Day: Period 1 08:00–08:40, Period 2 08:40–09:20, Break 09:20–09:40, then more teaching slots, and ticks Make default. The hub setup bar jumps up.

Worked example (GHS)

Weekly cycle · Mon–Fri · Standard Day · 8 teaching + 2 breaks · Default

How it works

Save the weekly cycle: name it, pick teaching days, Africa/Accra timezone. Then create a bell schedule (e.g. Standard Day), add periods in order, mark Teaching vs Break / Lunch / Assembly / Devotion, set start and end times, tick Make default, and save. Breaks never receive lessons.

Key fields — what each one means

Teaching days

Days the generator may place lessons. Saturday stays off unless you add it.

Example: Monday · Tuesday · Wednesday · Thursday · Friday

Bell period

One row on the grid: label, type, start time, end time, sequence.

Example: Period 1 · Teaching · 08:00–08:40 · sequence 1

Period type

Teaching can hold a lesson. Break, Lunch, Assembly, Devotion, and Other stay empty.

Example: Break 09:20–09:40 · no Maths can sit here

Default schedule

The bell Views, My Timetable, and Generate use when a version has no override.

Example: Standard Day · Default · Active

Open this screen in Clasra

Opens on clasra.com — sign in with your school account (same URL for every school).

/dashboard/timetable/setup
End of Foundation path — pick another path from the sidebar when you need it.Open Week & Bell Setup

Lesson demand

Tell Clasra how many periods each class + subject needs, and who teaches them.

1

Lesson demand · Lesson demand

Lesson Demand

A demand is a shopping list for the generator: this class needs this many periods of this subject, taught by this teacher. Generate does not invent lessons — it only places the demands you saved.

Open in new tab

Read these first

Real scenario

Sunrise adds JHS 2A Mathematics × 5 with Mr Clement, JHS 2A English × 5 with Mrs. Mensah, and Integrated Science × 4 with one double. Completeness hits 100% for JHS 2A. Builder can now generate.

Worked example (GHS)

JHS 2A · Maths · Clement · 5/week · max 2/day · 0 doubles

How it works

Add a row: pick class (JHS 2A), subject (Mathematics), teacher (Mr Clement), periods per week (5), optional double periods (1), max per day (2). Save. Repeat for every class + subject you teach. Completeness % is the share of rows that already have a teacher and a period count. Assign Teachers first if the teacher list looks empty.

Key fields — what each one means

Class + subject + teacher

Who learns what, and who stands in front of the class.

Example: JHS 2A · Mathematics · Clement Danquah

Periods per week

How many teaching slots Generate must place for this row.

Example: 5 periods · one each weekday if the grid allows

Double periods

How many of those slots should sit as a back-to-back pair (useful for practicals).

Example: 1 double · Integrated Science lab block

Max per day

Cap so Maths does not fill an entire Monday for JHS 2A.

Example: Max 2 per day · leftover periods spread later in the week

Placed / remaining

After a version exists, how many of the required slots already sit on that grid.

Example: Placed 4 of 5 · remaining 1 · not over-allocated

Open this screen in Clasra

Opens on clasra.com — sign in with your school account (same URL for every school).

/dashboard/timetable/demands
End of Lesson demand path — pick another path from the sidebar when you need it.Open Lesson Demand

Constraints

Hard blocks the generator must obey, plus soft preferences — including when Limit and Soft weight actually apply.

1

Constraints · Constraints

Constraints — hard vs soft

A constraint is a rule the generator must respect. Hard means “never break this.” Soft means “try, but a clash here is only a warning.” Unavailable slots, blocked classes, and rooms are usually Hard. Preferred or avoid slots are usually Soft.

Open in new tab

Read these first

Real scenario

Mr Clement has a Monday study-leave. Admin adds Hard · Teacher unavailable slot · Clement Danquah · Monday. Generate never puts his Maths on Monday. Limit 5 and Soft weight 10 still appear on the form — they do not apply to this type. Read the next topic.

Worked example (GHS)

Hard · Teacher unavailable · Clement · Monday · active

How it works

Pick a type, hardness, and a clear label. Then fill only the fields that type needs: teacher + days for Teacher unavailable slot; class for Class blocked slot; room for Room unavailable; subject for avoid / preferred / min day spread. Save. Hard rules remove illegal cells before Generate. Soft rules only change the score.

Key fields — what each one means

Teacher unavailable slot

Those days (or times) must stay empty for that teacher. Hard is the usual choice.

Example: Hard · Mr Clement · Not available Monday

Class blocked slot

That class cannot take a lesson in the blocked day or period.

Example: Hard · JHS 2A · Friday Period 8 · sports

Room unavailable slot

That room cannot host a lesson then (exam hall, painting, hire-out).

Example: Hard · Science Lab · Wednesday afternoon

Subject avoid / preferred (soft)

Nudge Maths off last period, or prefer English in the morning. Never a hard block.

Example: Soft · Mathematics · avoid Friday last period

Hardness

Hard = generator will not place there. Soft = it may, and Validate shows a warning.

Example: Hard share 0% on a teacher-off Monday · that is correct

Open this screen in Clasra

Opens on clasra.com — sign in with your school account (same URL for every school).

/dashboard/timetable/constraints
2

Constraints · Constraints

Limit and Soft weight

Limit and Soft weight sit on every constraint form, but they only mean something for some types. If you created Hard · Teacher unavailable slot, ignore both numbers. They are leftovers from the form — they do not block Monday and they do not score a penalty.

Open in new tab

Real scenario

Admin sees ‘Hard constraint share 0% · Teacher unavailable · Mr Clement · Monday · Limit 5 · Soft weight 10’ and thinks Monday is limited to 5. Wrong. Monday is fully blocked. Limit 5 would only matter on a Max periods/day rule. Soft weight 10 would only matter if hardness were Soft.

Worked example (GHS)

Use Limit on Max periods/day = 5 · Use weight on Soft avoid = 10 · Ignore both on Hard unavailable

How it works

Limit is a count the rule compares against: max periods in one day, max consecutive periods, or minimum days a subject should spread across. Soft weight is a penalty (or bonus) added only when hardness is Soft. Hard rules never use the weight. Leave the defaults if the type does not need them.

Key fields — what each one means

When Limit is ignored

Teacher unavailable, class blocked, room unavailable, subject avoid, and subject preferred do not read Limit.

Example: Hard · Clement Monday · Limit 5 on screen · generator ignores 5

When Limit is used

Max periods/day teacher, Max consecutive periods, and Subject min day spread.

Example: Max periods/day · Limit 5 → Clement cannot teach 6 slots on Tuesday

When Soft weight is ignored

Any Hard constraint. Hardness already means ‘never break’.

Example: Hard · Soft weight 10 · no 10-point penalty is added

When Soft weight is used

Soft avoid / preferred slots, soft load caps, and min day spread. Higher = the generator tries harder to obey.

Example: Soft avoid last period · weight 20 · last-period Maths costs more than weight 5

Subject min day spread

Limit here is the minimum number of different days, not a max. Soft by design.

Example: Maths Limit 4 · placed on only 3 days → soft warning · penalty = weight × 1

Open this screen in Clasra

Opens on clasra.com — sign in with your school account (same URL for every school).

/dashboard/timetable/constraints
End of Constraints path — pick another path from the sidebar when you need it.Open Limit and Soft weight

Build & publish

Generate a draft, validate clashes, publish, then read class, teacher, room, and master views.

1

Build & publish · Build & publish

Builder — generate and publish

Builder is the workshop. Create a draft, Generate from demands, click empty cells to place leftover lessons by hand, Validate for clashes, then Submit → Approve → Publish. Only a published version appears in Views and My Timetable.

Open in new tab

Read these first

Real scenario

Mrs. Adjei creates Term 2 Weekly, Generates, sees Clement’s Monday empty (unavailable), fills one leftover English cell by hand, Validates (0 hard), Submits, Approves, Publishes. Teachers open Views the same afternoon.

Worked example (GHS)

Draft → Generate → Validate 0 hard → Submit → Approve → Publish

How it works

Create timetable (or Edit as draft to copy a live one). Generate fills Teaching cells from demands and hard constraints. Validate reports hard clashes (teacher / class / room double-booked) and soft warnings. Hard conflicts block Submit and Publish. After Publish, teachers see the grid. To change a live timetable, Edit as draft — never delete the published copy first.

Key fields — what each one means

Create timetable

Starts an empty DRAFT for this session and term.

Example: 2026/2027 · Term 2 Weekly Timetable · DRAFT

Edit as draft

Copies the selected version so the published one stays live while you edit.

Example: Term 2 Weekly · Working Draft

Generate

Auto-places demands onto Teaching bells. May replace existing draft cells.

Example: Generated · 118 placements · 2 unfilled Maths leftovers

Validate

Hard clash = two lessons in one teacher or class cell. Soft = preference miss.

Example: 0 hard · 3 soft · ready to submit

Publish

Makes this version the live school timetable. Incomplete demands warn; hard clashes still block.

Example: Published · Views and My Timetable now read this grid

Open this screen in Clasra

Opens on clasra.com — sign in with your school account (same URL for every school).

/dashboard/timetable/builder
2

Build & publish · Build & publish

Views — class, teacher, room, master

Views is the printed-board page. Pick the published version, then switch Class, Teacher, Room, or Master. This is how the office and parents read the week. Empty usually means the version is still a draft, or that class has no placements yet.

Open in new tab

Real scenario

After Publish, Mrs. Adjei opens Views, picks Term 2 published, Class JHS 2A, and prints. She switches to Teacher → Clement and confirms Monday is blank. Master goes on the admin notice board.

Worked example (GHS)

Views · Published Term 2 · Class JHS 2A · Teacher Clement · Master

How it works

Open Views. Confirm the published version is selected. Class Timetable: pick JHS 2A. Teacher: pick Clement. Room: pick Science Lab. Master: the whole school on one sheet. Print or share from the toolbar. Teachers who are not admins mainly see their own teacher grid.

Key fields — what each one means

Class Timetable

One class across the week — what JHS 2A does each period.

Example: JHS 2A · Mon P1 English · Tue P1 Mathematics

Teacher Timetable

One teacher’s load — where Clement is every period.

Example: Clement · Mon empty · Tue P1 JHS 2A Maths

Room

Who occupies a room each slot (lab, hall, classroom).

Example: Science Lab · Wed P3–P4 JHS 2A Integrated Science

Master

School-wide sheet for the office notice board.

Example: Master · all classes · published Term 2

Open this screen in Clasra

Opens on clasra.com — sign in with your school account (same URL for every school).

/dashboard/timetable/views
End of Build & publish path — pick another path from the sidebar when you need it.Open Views — class, teacher, room, master

Live week

Watch staff workload, cover an absent teacher, and open My Timetable.

1

Live week · Live week

Staff Workload

Workload counts how many periods each teacher actually received on the selected version, then compares that to their weekly target. Use it after Generate to catch an overloaded Clement or an under-used newly posted teacher.

Open in new tab

Real scenario

After Publish, Workload shows Mrs. Mensah OVER (28 vs target 24) and Clement UNDER (20 vs 24) because Monday was blocked. Admin moves one English to another teacher in a Working Draft, Validates, and republishes.

Worked example (GHS)

Workload · 18 teachers · 2 OVER · 1 limit breach · 72% on target

How it works

Open Staff Workload on the published (or draft) version. Each row shows planned periods, target, variance, busiest day, longest consecutive run, and limit breaches from Max periods/day or Max consecutive constraints. UNDER / ON_TARGET / OVER are the status badges. Fix overloads back in Builder, then Validate again.

Key fields — what each one means

Planned periods

Count of teaching cells assigned to that teacher on this version.

Example: Clement · 22 planned · target 24 · UNDER by 2

Target periods / week

Contract or school load goal. Missing target shows NO_TARGET, not OVER.

Example: 24 periods · ON_TARGET when planned is 24

Limit breach

A Max periods/day or Max consecutive constraint was broken on at least one day.

Example: Tuesday 6 periods · Limit 5 → breach badge

Consecutive load

Longest run of teaching periods without a break on any day.

Example: 4 consecutive after Break · watch fatigue

Open this screen in Clasra

Opens on clasra.com — sign in with your school account (same URL for every school).

/dashboard/timetable/workload
2

Live week · Live week

Substitutions — cover today

When a teacher is away today, Substitutions shows which published lessons are orphaned and who is free to cover. This does not rewrite the published weekly grid — it records cover for that date only.

Open in new tab

Real scenario

Tuesday morning Clement calls in sick. Office opens Substitutions, date today, teacher Clement, runs impact, assigns Mrs. Boateng to JHS 2A Maths P1 and another free teacher to JHS 1B P3. The published weekly grid stays the same for next week.

Worked example (GHS)

8 Sep · Clement absent · 4 impacted · 4 assigned · 0 pending

How it works

Pick the date (today) and the absent teacher. Run impact. Clasra lists affected placements from the published version. Pick a lesson, choose an eligible cover teacher (free that period, not already teaching), and assign. Pending vs assigned counts sit on the hub.

Key fields — what each one means

Impact

Published lessons that teacher was due to take on that date.

Example: Clement absent Tue 8 Sep · 4 lessons affected

Eligible cover

Teachers free in that same period, not already double-booked.

Example: Mrs. Boateng free · P1 Tuesday · assign cover

Pending / assigned

Cover still needed vs cover already given for the week.

Example: 2 pending · 2 assigned · hub badge updates

Open this screen in Clasra

Opens on clasra.com — sign in with your school account (same URL for every school).

/dashboard/timetable/substitutions
3

Live week · Live week

My Timetable

My Timetable is the teacher’s own published week — the same grid they would pin above their desk. It only fills after someone Publishes a version and that teacher has placements. Drafts never appear here.

Open in new tab

Real scenario

After Mrs. Adjei publishes Term 2, Mr Clement signs in, opens My Timetable, sees Monday blank and Tuesday Period 1 JHS 2A Mathematics, and prints it. Students still read the Class view on the notice board.

Worked example (GHS)

My Timetable · Published Term 2 · 22 periods · Print ready

How it works

A signed-in teacher opens Timetable → My Timetable. Clasra loads the published teacher view plus a small workload summary. Print from the toolbar before the first week of term. If the grid is empty, the school has not published yet, or this login is not assigned on any demand.

Key fields — what each one means

Personal grid

Only this teacher’s published lessons, on the default bell.

Example: Clement · Tue–Fri Maths · Monday empty (unavailable)

Workload snapshot

Quick planned-period count from the published version.

Example: 22 periods this week · under target by 2

Print

Paper copy for the staff room or teacher’s table.

Example: Print · Term 2 published · Clement Danquah

Open this screen in Clasra

Opens on clasra.com — sign in with your school account (same URL for every school).

/dashboard/timetable/my
End of Live week path — pick another path from the sidebar when you need it.Open My Timetable