Working with activities
The lessons themselves — defining them, finding the ones you want, splitting and combining, and pinning a placement so nothing moves it.
An activity is one lesson to be scheduled: this subject, taught by these teachers, to these student groups, for this long. It is the unit everything else serves — the resource lists exist to be named here, and the constraints exist to restrict where these end up.
It is also the longest list in most timetables, so the section is built around finding things rather than scrolling.

What an activity holds
Two halves, edited in one dialog.
Definition is what the lesson is: subject, teachers, student groups, activity tags, duration, and whether it is active. Duration is in periods — a double lesson has a duration of two and occupies two consecutive slots.
Beneath the student groups you pick, the dialog states the cohort — how many groups you have chosen, and how many students that comes to. It recalculates as you change the selection, so it always describes what is in front of you rather than what the activity held when you opened it.
Two things about that number are worth knowing.
Nested sets are counted once. Choosing both Year 9 and 9A is the size of Year 9, not the two added together, because one contains the other. The dialog says so when it happens — a total smaller than its parts reads like a fault otherwise.
It states a student count only when every set it counted has a size. If any of them has none, you get the number of groups on its own. That is deliberate: an unsized set is unknown, not empty, and a total that quietly treats it as zero would be confidently wrong. Give the sets their sizes in Student groups and the count appears.
Placement is where it currently sits: day, hour and room. An activity with no placement is unscheduled, which is a perfectly normal state — it means the lesson exists and has not been given a slot yet.
Deactivating is not deleting. An inactive activity stays in the timetable and stays in the exported file, marked inactive, and is ignored when scheduling. It is the right way to park a lesson that is not running this term without losing how it was set up.
Finding the ones you want
Free-text search sits in the toolbar. Everything else is behind Filters, which carries a badge showing how many are active, and adds a removable chip for each so you can always see what is narrowing the list.
Inside, each dimension — subject, teacher, student group, tag, day — is a searchable checklist, and each accepts several values at once. Picking two teachers shows the lessons of either, not only the lessons they share. There is also an unscheduled only switch, which is the fastest route to the work that is left.
Column headings sort the list. Sorting happens across the whole filtered set rather than the page you can see — sorting one page of a long list would tell you nothing. Placement is the exception and is not sortable, because day and hour names are labels, not numbers, and any order imposed on them would be invented.
The Columns control hides the columns you are not using; the subject column stays.
Split lessons
A lesson that meets three times a week is not three unrelated activities. It is one activity split into three components that share an identity, so a rule about the lesson applies to all of them.
Split into N creates those components. They keep one shared group identity, and splitting adds FET's own linking rule requiring at least one day between them — which is what stops a lesson meant to be spread across the week from landing entirely on Monday. The editor stops offering placement once a lesson is split, because the components are placed individually; that is the whole point of splitting it.
Going the other way, selecting two or more activities and choosing Combine groups them into one split. It is not destructive: nothing is merged away, the activities become components of a group.
There is a separate thing that does merge, and it is reached one way only. If the section detects activities that sit next to each other on the same day and could be one longer lesson, it offers that as a suggestion banner. Accepting it collapses them into a single activity of the combined length. That banner is the only place in the product where that collapse happens, so it can never surprise you as a side effect of something else.
Splits are made legible in the list. Group splits clusters a group's components together under a header naming how many parts there are, and each component carries a part N of M badge. When a sort or filter scatters them, each row keeps its badge and offers a link back to the whole group.
An activity that is part of a split offers exactly one structural action: Ungroup split.
Locking a placement
Locking pins an activity where it is, so a later solve or a stray drag cannot move it. This matters for the fixtures a school builds everything else around — assembly, a shared hall slot, a part-time teacher's fixed morning.

A lock has two axes, and they are independent:
- Time — the day and period are pinned
- Space — the room is pinned
Pinning time but not space says this lesson happens Tuesday period 3, and I do not mind which room. Pinning space but not time says the opposite. The row's quick toggle applies both at once, which is what most people want; the scope dialog lets you choose.
Lock / Unlock in the toolbar works over a whole scope rather than a selection: all activities, the activities of one day, the activities that end the day, or those carrying a given tag. You choose the axes and see a live count of how many activities will be affected before you commit.
Unlocking keeps the placement. It only stops it being pinned.
Changing many at once
Select rows and the bulk bar can set or remove tags, set a room, activate or deactivate, lock or unlock, unschedule, or delete — across all of them at once. Setting a room can pin the space axis in the same step.
Set tag and Remove tag take several tags at once. Set tag replaces the tags on each selected activity with the tags you pick. Remove tag removes only the tags you pick, and the other tags stay. The parts of a split lesson share their tags, so each part gets the same change.
If the tag you need does not exist yet, type its name under New tag in the Set tag dialog. The dialog creates the tag and adds it to your choice. Nothing changes on the activities until you apply.
Unscheduling clears the placement and keeps the activity. Deleting removes it, and cannot be undone — the confirmation says how many.