Start here
Unit creation, branches, and school years
How a school becomes a tenant, when its first branch record is created, and how the active academic year scopes its data.
Guide at a glance
How to use this guide
Start with
Read this before making broad setup decisions. The order and relationships matter more than memorizing individual screens.
By the end
You should be able to explain how the unit, roster, structure, accounts, roles, and workflows fit together.
Registration does not create an empty unit
An instructor registration begins as a pending account. The unit is created only when platform staff approve the first instructor for that school and branch.
The approval creates the unit and branch in the same transaction, seeds the branch’s default positions, and creates the first academic year. Approving later instructors reuses the existing unit.
Why creation waits for approval
The school directory contains schools nationwide. Creating a tenant for every search or registration would produce empty units and could leave Cadets attached to a unit with no approved instructor.
Waiting is therefore a supported account state. A pending instructor sees the approval status rather than a half-created unit.
The branch controls vocabulary and reference data
| Branch | Hierarchy vocabulary |
|---|---|
| Army | Battalion · Company · Platoon · Squad |
| Air Force | Wing · Group · Squadron · Flight |
| Navy | Ship · Squadron · Department · Division |
| Marine Corps | Company · Platoon · Squad · Fireteam |
The active school year
Each branch contains academic years. The current year supplies the roster’s organization tree and year-specific settings such as start date, end date, semester boundary, and default school email domain.
Changing a date updates the field inside the active year; it does not rewrite the structure. Historical data remains tied to the year in which it was recorded.
First-year checks
- Confirm the correct school and JROTC or ROTC domain.
- Confirm the service branch before building structure.
- Set the year’s start and end dates.
- Set the default school email domain if Cadets use a shared domain.
- Review the seeded position catalogue before assigning holders.
Key terms in this guide
- Registration
- The request to create or connect a sign-in identity. It is not itself an active roster record.
- Position
- A named unit duty that can carry permissions, scope, an assigned Cadet, and continuing work.
- Change request
- A proposed official change that keeps the current and proposed values available for review.
- Unit boundary
- The separation that keeps one school program’s people and records from another unit.
Continue reading
Set up a unit from start to finish
The recommended setup order, with the dependencies and checks that prevent cleanup later.
Read nextModel the unit structure
Translate the unit’s real organization into a branch-aware hierarchy that powers placement and scope.
Read nextJROTC and ROTC domains, branding, and session handoff
How one application follows the unit’s program domain and rebuilds a Firebase session safely when a user began on the wrong origin.
Read next