Many teachers per group
Staffing is a list, not one name: a split group is taken by several teachers, while a single lesson is run by one person. Anyone outside the staffing shows as a substitute.
A school sells courses but runs groups. This list says how many start, at which levels, who takes them and where a seat is still free for the student calling right now.
Staffing is a list, not one name: a split group is taken by several teachers, while a single lesson is run by one person. Anyone outside the staffing shows as a substitute.
Three ways to end it - a count of lessons, a count of hours or a date - with its own time and teacher per weekday. A new series replaces planned lessons and leaves past ones alone.
Group size comes from student memberships, not from a typed number. A student can sit in several groups, so adding here adds a membership instead of moving one.
The subject stands next to the name, so groups can be counted by it and the schedule narrowed down. Spelling converges inside the school, CSV imports included.
An archived group leaves the schedule together with its lessons, its whiteboard is cleared, and orphaned students can be detached on the way out - or kept.
A module is a permission, and which records may be touched is settled on write, not in the menu.
| Role | Sees | Changes |
|---|---|---|
| Owner | Every group in the school, on both tracks: active and archived. | Everything: staffing, roster, lesson series, tags, and archiving with the board. |
| Methodologist | The same as the owner: the whole school. | The same as the owner. They run the school together. |
| Teacher | Every group in the school, staffing and the front desk note included. | No creating or editing groups. Their own lessons and unstaffed ones in their group. |
| Student | Nothing. No access to this screen. | Nothing. Their own lessons show in their own journal. |
The things that only surface in the third week of working with the module.
Staffing is a list, not a single name: a shared group is taken by several teachers. A single lesson is run by one person per day, because a lesson is paid to one person. Whoever stands in from outside the staffing is a substitute and the row turns amber - there is no separate flag for it, as that would be the same truth written twice.
From the roster, not from a typed number: it counts memberships, skipping archived students. The column is read only, the CSV export writes it out and the import ignores it - the number that lesson pricing runs on is not set from a file. A student can be in several groups at once, so adding them here adds a membership rather than moving them.
The series generator asks for the first date, the weekdays, and one of three ways to end: a lesson count, the hours bought, or a date. Each day gets ITS OWN time and its own teacher, because Monday after work and Thursday earlier is the norm. The cap is two hundred lessons, and the school's days off are skipped by the series itself.
After the staffing is saved, a “What about the lessons?” window appears, and only when the departing person still has lessons that have not been taught. There are three ways out: a named colleague takes them over, nobody does, or they stay. Past lessons are untouchable, and “what may be moved” is decided by one database function rather than the screen, so the number in the window matches what the server will write.
Selected lessons change six things together: teacher, room, mode, length, time of day, and the DATE - that one by the same number of days, backwards too, up to a year. The date moves by an offset rather than to one value, because “set 21.09” would pile a whole series into one day, while the real question is “let us move Mondays to Tuesdays”. One click is one request and one transaction.
The group leaves the working list and the Schedule together with its lessons, and its whiteboard is wiped to zero - restoring the group will not bring the drawings back, so the screen asks before every archiving. Students are taken only on request, and only those for whom this was the last active group. Lessons and the journal stay in the group details, and archiving frees a slot in the limit.
The import takes up to five hundred rows and goes in whole or not at all, in one transaction. Headers are matched by name, Polish or machine, and one column is required: the name. The teacher travels as a name, because a person builds the file in a spreadsheet; the key is matched by the API and only when it is unambiguous, and an unrecognised name does not reject the file, it simply enters as plain text.
No. Groups own the time, the staffing and the place of a lesson, while what happened during it - the topic, attendance, grades and homework - belongs to the Journal. The same time can also be dragged in the Schedule, because it is one and the same record.
14 days on your groups and instalments. No card, no strings.