Skip to main content

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:

  • Email
  • 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.