People catalogues — departments & contract types
For adminsPeople catalogues
Section titled “People catalogues”The catalogues page is the trust-wide reference data for the people module. Two related lists on one screen.

Departments
Section titled “Departments”A department is a grouping people belong to — English faculty, senior leadership, premises team, finance. The department register feeds the picker on every engagement form and drives report breakdowns.
Each department has:
- Name — sentence case. “English faculty”, not “English Faculty”.
- Sort order — integer; lower numbers appear first in the dropdown. Default 100.
- Active — inactive departments are hidden from the dropdown but retained on existing engagement records.
Contract types
Section titled “Contract types”Contract types describe the engagement basis. When no catalogue entries exist, the engagement form falls back to the built-in values: permanent, fixed-term, supply, casual. Each catalogue entry you add has:
- Name — “Permanent — full-time”, “Supply — daily rate”.
- Slug — auto-generated from the name when the type is first created; immutable thereafter. This is the value stored on engagement records.
- Sort order — integer; lower numbers appear first in the dropdown.
- Active — inactive types are hidden from the dropdown but retained on existing records.
When to add vs not
Section titled “When to add vs not”Add a new department when there’s a genuine organisational unit not currently captured. Don’t add departments for project teams, working groups, or ad-hoc groupings — those go on people directly as tags, not as departments.
Add a contract type when none of the existing types fit the legal basis of a new engagement. “Casual hourly” vs “Permanent part-time” are real distinctions; “Mike’s special arrangement” is not.
Gotchas
Section titled “Gotchas”- Both catalogues are installation-wide — there is no per-workspace or per-school scoping. All academies in the trust share the same department and contract-type lists.
- Engagements store the department name and contract-type slug as strings at the time of save. Renaming a department in the catalogue does not rewrite historical engagement records — those keep the name that was current when they were created.
- The whole catalogues route group — including just reading the lists — is gated on
people::admin. A people agent withoutpeople::admincan’t open the screen at all, not merely “view but not edit”. (The screen lives in the People rail’s manage group; the old/admin/peoplepath remains as a 301 redirect to it.) - Deleting a department or contract type removes it from the dropdown for new entries, but existing engagement records retain their stored value.