Adding Rooms

Adding Rooms

A Room needs a name, a capacity, and optionally a set of free-form tags. Room names must be unique within your school — trying to add a second room with the same name is rejected.

Capacity

The solver enforces Room capacity ≥ combined size of the class group(s) attending as a hard constraint — a lesson will never be placed in a room too small for the students attending it. If a Lesson targets more than one Class Group at once (a combined session — see Creating Lessons), the sizes are summed before this check. For a Class Group that's a parent in the Years/Subgroups hierarchy, its effective size is the sum of its leaf descendants, not whatever number happens to be stored on the parent row.

Building

A Room can optionally be assigned to a Building — pick one from the dropdown, or leave it as "None." This is purely structural on its own; it only matters once you've configured a travel penalty between two buildings on the Buildings page, at which point it feeds the S12 — Cross-Building Travel soft constraint. A Room with no Building assigned is never penalized for building switches, regardless of what else is configured.

Tags

Tags are plain free-form text, not a fixed list — type whatever your school uses (lab, projector, gym, music, ...) either by picking from tags already used on other rooms or by typing a brand-new one into the "New Tag" box and pressing Enter or clicking the + button.

Tags exist to be matched against a Lesson's Required Room Tags: a lesson that requires the lab tag can only be placed in a room that has lab among its tags. If a lesson requires more than one tag, the room must have all of them, not just one — there's no "any of these tags" matching mode.

There's no dedicated place to manage a master list of tags — the tag list you see when adding a room (or a lesson's required tags) is simply "every tag currently used by at least one room." Retiring a tag is just a matter of no room using it anymore; there's nothing to clean up separately.