Staff
Purpose
A Staff represents an employment record within a School.
Staff members are responsible for carrying out academic, administrative, financial, and operational activities within the School.
A Staff record extends a User with employment-specific information.
Staff is not an identity.
Authentication and authorization remain the responsibility of the User and School Membership domains.
Business Context
Staff members perform operational responsibilities within a School.
Examples include:
- Teacher
- Principal
- Vice Principal
- Accountant
- Receptionist
- Librarian
- Office Administrator
A Staff member must be associated with a User account.
A User may exist without being a Staff member.
Examples:
- Parent
- Platform Administrator
Relationships
Staff to User
- Each Staff record belongs to exactly one User.
- A User may have at most one Staff record within a School.
Staff extends the User with employment information.
Staff to School
- Each Staff record belongs to exactly one School.
- A School may contain many Staff records.
Staff to School Membership
- Each Staff member must have a School Membership.
- Roles are assigned through School Memberships.
Examples:
- Teacher
- Principal
- Accountant
- Receptionist
Staff does not own role assignments.
Staff to Academic Assignments
A Staff member may participate in:
- Homeroom Teacher Assignments
- Subject Teacher Assignments
Academic responsibilities are assigned through Academic Assignment entities.
Key Design Decisions
Staff and User are Separate Entities
User represents identity.
Staff represents employment.
Examples:
User:
- Mobile Number
- Authentication
Staff:
- Employee Number
- Joining Date
- Designation
Teacher is a Role
Teacher is not a separate entity.
Examples:
- Staff + Teacher Role
- Staff + Principal Role
- Staff + Accountant Role
Roles are assigned through School Memberships.
School Scoped Employment
Staff records belong to a School.
Staff information is managed independently by each School.
Employment Information
Employment-related information belongs to Staff.
Examples:
- Employee Number
- Date of Joining
- Designation
- Department
These attributes do not belong to User.
Staff Authentication
Staff members authenticate through User accounts.
Staff records do not contain:
- Passwords
- Authentication Credentials
- MFA Settings
Authentication remains the responsibility of the User domain.
Attributes
Identity
- StaffId
- SchoolId
- UserId
- EmployeeNumber
Employment
- Designation
- Department
- DateOfJoining
- DateOfLeaving
Status
Possible values include:
- Active
- OnLeave
- Resigned
- Retired
- Archived
Notes
- Notes
Audit
- CreatedAt
- CreatedBy
- UpdatedAt
- UpdatedBy
Identity Rules
StaffId
- System Generated
- Immutable
- Internal Primary Key
Employee Number
- Mandatory
- Unique Within a School
Examples:
- EMP-0001
- EMP-0002
Employee Number is the primary business identifier for Staff.
Status Lifecycle
Active
Staff member is actively employed by the School.
OnLeave
Staff member is employed but currently unavailable.
Examples:
- Medical Leave
- Maternity Leave
- Sabbatical
Resigned
Staff member has resigned from the School.
Historical records remain available.
Retired
Staff member has completed service and retired.
Historical records remain available.
Archived
Staff record is retained for audit and historical purposes.
Constraints
Staff Uniqueness
A User may have only one Staff record within a School.
Valid:
- User A → School A → Staff Record
- User A → School B → Staff Record
Invalid:
- User A → School A → Staff Record 1
- User A → School A → Staff Record 2
Employee Number Uniqueness
Employee Number must be unique within a School.
Membership Requirement
Every Staff member must have a corresponding School Membership.
Role assignments must be managed through School Memberships.
Administrative Ownership
School Administrators may:
- Create Staff Records
- Update Staff Information
- Assign Roles
- Mark Staff On Leave
- Record Resignations
- Archive Staff Records
Staff management is always scoped to the School.
Exclusions
The following information does not belong directly to Staff:
- Authentication Credentials
- Passwords
- MFA Settings
- Student Information
- Attendance Records
- Fee Records
These belong to their respective domains.
Future Considerations
The following capabilities may be introduced later:
- Payroll Integration
- Employee Documents
- Qualifications
- Certifications
- Work Experience
- Background Verification
- Performance Reviews
- Staff Attendance
- Leave Management
These capabilities should not require redesign of the Staff model.
Summary
Core decisions:
- Staff represents employment.
- User represents identity.
- Staff and User are separate entities.
- Staff belongs to a School.
- Teacher is a role, not an entity.
- Roles are assigned through School Memberships.
- Employee Number is the primary business identifier.
- Academic responsibilities are assigned through Academic Assignment entities.