How do I set up classes, schedules and departments?
Only when the feature is on. Classes and Departments are two separate features. Flux makes each one available to your school, and then a Senior Admin turns it on under School Settings -> Features.…
Last updated 2026-11-04
From the School Administrator manual, "Classes & Departments".
Only when the feature is on. Classes and Departments are two separate features. Flux makes each one available to your school, and then a Senior Admin turns it on under School Settings -> Features. Until both have happened you will not see it anywhere, and turning it off later only hides it - nothing is deleted and everything comes back when it is turned on again.
Open Admin Functions -> Classes & Departments. There is a tab for Classes, Departments and
(Senior Admin only, with Classes on) Subjects. Everyone at the school also gets the Classes and
Departments entries in their left navigation. Up to 12 classes (and up to 4 departments) are listed there; with more,
the entry becomes one link with the count that opens the browse page (/classes or /departments).
The browse page (everyone). /classes has a search box (class, teacher or room), three rows of chips and the classes
grouped by department. Show has All plus your pinned group: a teacher or class Editor sees Mine, a parent
sees one group per child (for example Jack's classes; a class both children are on appears under each). The Department
and Subject rows filter further (past 8 subjects the rest fold behind More subjects), and each row shows the class name over
its teacher(s) and room, with the subject at the right. No classes match offers Clear filters. Admins also get a State row:
Active, Awaiting dates and Archived. A Private class never shows to a parent except in the group of the child who is on it.
/departments and /organizations work the same way (Organizations: category chips instead of department and subject).
Subjects. The subjects (Math, Science, Shop...) a class can have. Add, rename, recolor, reorder and delete them on the Subjects tab. Deleting a subject only leaves its classes without one.
Departments. On the Departments tab fill in Name, Short name (suggested from the name; it is used in the page address and in imports, and has to be different from every other active class, department and organization) and Location, then Create department. A department page has its Staff (with a role each), its Calendar and the Classes in it. A department has no roster.
Classes. On the Classes tab fill in the name, short name, location, Subject, Start date and End date, Class list visibility and, when Departments is on, which Departments it belongs to. The class page then has:
- Edit name, short name and subject and Archive class (admins only).
- Edit details - location, term dates and Class list visibility. A class Editor (granted on the class page under Editor access, exactly like an Organization Editor) can do this too, and can edit the description, staff, roster and calendar - but cannot rename it, change its subject or short name, archive it, change its departments or manage other Editors.
- Departments - Edit departments (admins only) ticks the departments the class belongs to.
- Staff - add people from the Staff Directory or type a name, each with a free-text Role ("Lead Teacher", "Aide"). Roles already used at your school are suggested as you type.
- Roster - add and remove students one at a time, like an Organization roster.
- A Calendar, Sign-Ups and Polls for the class, plus Documents and Permission slips: a class or department Editor (or an admin) can add, edit and delete them straight from the page, exactly as on an Organization's page (Organizations (Teams, Clubs & Groups)). The items go to the people connected to the class or department, the same way an organization's do.
Class list visibility controls who can see the list of students:
| Setting | Who sees the student list |
|---|---|
| Private | Admins, the class's Editors and all school staff. The class is not listed to parents at all (the family of a student on it still sees it on that student's page, with the teacher and room). |
| Class members | The above, plus parents and guardians of students in the class. Everyone at the school can still see the class page itself. |
| Public (default) | Everyone at the school. |
Someone who may not see the list is shown only how many students are in the class, never their names.
Archive and restore. Archive class hides it from navigation and lists and keeps everything. Archived items are listed under Archived on the hub, each saying whether its short name is available (you can create a new class with it, for example next term) or now used by another. Restore brings an archived class back with its staff, roster and departments; it is refused, with the other class named, while another active item holds its short name.
An archived class or department also stops being an audience: anything already addressed to it (a notice, document, poll, sign-up or permission slip) no longer reaches or shows in the feeds of its roster's families, its staff or you as a member of the school, and a saved audience that includes it simply leaves it out. You can still find and edit the item on its own admin page (for example Notices > Admin). Restore brings it all back. (An archived team or club, by contrast, still reaches its members, as it always has.)
Where it shows. A student's page has a Classes section (teachers and room), and a staff member's page has Departments and classes (with their role). Both follow the visibility rules above.
Importing classes and departments from a spreadsheet. On Classes & Departments, click Import. One
CSV or Excel file can hold departments, classes, the staff on them and each class's students; a row_type
column (department, class, staff, student or schedule) says what each row is. Click Download template
(.xlsx) (it has a Column Guide sheet) or (.csv) to see the columns:
departmentandclassrows carry theshort_name(the key for every row),name,descriptionandlocation. A class can also havesubject,department(the short name of a department; separate several with;),roster_visibility(private,membersorschool) andstarts_on/ends_on.staffrows give the class or departmentshort_name, the person'semailand a free-textrole. Import your staff first (Staff Directory), because staff are matched by email.studentrows give the classshort_name,last_name,first_nameandgraduation_year. Students are matched by name plus graduation year.schedulerows give the classshort_name, theweekdaysit meets (Mon;Wed;Fri,Mon-Friorweekdays) and either aperiodfrom your bell schedule (for examplePeriod 3) or astart_timeandend_time. The row'slocationis the room for that pattern. Use one row per meeting pattern (a different room or time on other days is another row). The class needs a term (starts_onandends_on, on the class row or the schedule row). Uploading the same days and times again updates that pattern instead of duplicating it. Set up your bell schedule first (School Settings > Class Schedule), because aperiodis looked up there.
Choose your file and you get a preview before anything is saved: for each department and class, whether it is New, an Update or Blocked (and why), how many staff and students matched, and under Details the students who were not found, the students who match more than one record (these are skipped, never guessed at), unknown staff emails and anything else that will be skipped. A subject that does not exist yet is shown as "will create"; only a Senior Admin can create subjects, so for a Junior Admin such a class is blocked until a Senior Admin adds the subject or runs the import. Row numbers in the preview are the row numbers in your spreadsheet (the header row is row 1). Then click Import to save. Classes are saved one at a time, so one problem class never stops the rest, and a results table shows what happened to each. Keep the page open until it finishes.
You can upload the same file again later: classes and departments are matched by short name and updated instead
of duplicated, and new students, staff and departments are added. Importing only ever adds: students
already on a class but missing from the file stay on it, and nothing is removed. Rows with schedule or event
types are not supported yet and are skipped.
Meeting schedule. The Meeting schedule section of a class page fills the class calendar. An Admin or the class's Editors click Add meeting pattern and fill in:
- Title (the class name if you leave it empty), Room, Starts at and Ends at.
- First day, and Ends (the last day) - these start out as the class's term dates.
- The days of the week to meet (click Mon, Wed... or Weekdays (Mon to Fri)) and Every N weeks.
- Skip school closures (on by default): meetings that fall on a school closure on your School Calendar are left out.
The page shows how many events will be created, with the first and last dates, before you save. A class can have several patterns (for example Mon/Wed at 9:00 and Friday at 11:00). Edit on a pattern rebuilds only that pattern's events: an event someone changed by hand is kept, and events you added to the class calendar yourself are never touched. Remove deletes the pattern and the events it created. Everyone who can see the class sees the schedule; only Admins and Editors see the buttons. The SwiftUI app shows the schedule on the class page.
End of term. Each class has an End of term section (Admins and the class's Editors) that decides what happens when the term's end date has passed. Nothing happens until you Save plan.
- When the term ends: Archive the class, or Reset and continue into a new term (the next term is the same length and starts the day after this one ends; the meeting schedule is rebuilt for it).
- Also, at the end of the term (anything you leave unchecked is left alone): Clear the class list, Delete the meeting schedule's events (events you added by hand are never deleted), Archive this class's notices, Archive this class's polls and sign-ups, Clear the staff list (Editors keep their access), and Documents - Keep (the default), Archive or Delete. An archived notice, poll, sign-up or document disappears for families but stays visible to admins. Only items addressed to this class are affected: a notice sent to a group that merely includes the class, or a poll shared with another club, is not touched.
- Preview what will change shows exactly what would happen (counts included) without changing anything.
- Run reset now applies the plan immediately, after you confirm. It cannot be undone.
The plan runs by itself once, shortly after the end date has finished in your school's timezone (set under School Settings); the last day of class is never cut short. Each run is recorded under Previous runs and in the audit log, and the class's Editors (or your Senior Admins if it has none) get a notification. If a class has no start date, the new term's length cannot be worked out: the class is set aside as waiting for new term dates (hidden from families, everything kept) and its Editors are told. Enter both term dates under Edit details to bring it back.
Not available yet: the searchable Classes browse page for schools with many classes and class calendar items in the import file. The SwiftUI app shows classes read-only.
