School registry (admin)
The CRUD surface for Kenya's ~24,000 schools. Search, create, edit, deactivate.
The school registry is the authoritative list of schools in Kenya — about 24,000 rows seeded from the KICD school list, with ongoing edits from claim approvals.
What's in a school row
- Name — official school name as registered with KICD / MoE.
- Type — Public / Private. Drives funding-related broadcasts.
- Level — JSS / SSS / Both / Mixed.
- County + Sub-county — for geographic broadcasts.
- Code — KICD school code if available.
- Status —
activeorinactive.inactiveis the soft delete: claims and transfers into the school are refused.
Searching
The search bar matches:
- The school name (case-insensitive substring). County, sub-county, level, type, and status are separate filters beside the search box.
Creating a new school
Admins can't create a school directly. New schools enter the registry when a teacher uses Add my school during first-time setup — the proposal lands in the Claims pane of the verification queue, and approving it (Add to registry + verify) creates the registry row.
Editing
Tap a school row → Edit. Most fields are editable. Name changes rewrite the school's display everywhere — including past audit entries. Use sparingly.
Deactivating
The active flag is a soft delete:
- inactive → no new claims or transfers in. Existing affiliations stay until re-routed by hand.
- active (default) → normal.
Hard-deleting a school is not exposed in the UI — too many downstream FKs. If a school was created in error, deactivate + flag for admin DB cleanup.
Common issues
- Duplicate school in the list. Search by name; if there are two entries, merge by keeping the one with the verified KICD code, deactivate the other, and re-route any affected teachers by hand through the verification queue.
- Can't deactivate — active teachers. Move teachers via school transfers first, then deactivate.
Related