Skip to content

Repairs

API fact source: Django backend generated docs

Repairs Do Not Mutate Classrooms

repairs owns classroom repair reports, handling flow, and creator confirmation. It references classrooms but does not mutate classroom master data.

Code entry:

  • backend/apps/repairs/models/
  • backend/apps/repairs/views/

Standard And Emergency Repairs

Standard repair blocks duplicate open or processing tickets for the same classroom, which prevents repeated dispatch for the same issue. Emergency repair bypasses duplicate blocking because it represents higher-priority immediate handling.

Handler roles include assistant, superadmin, and counselor. Completion confirmation can only be performed by the creator.

State And Duty Contact

State-machine changes affect serializers, confirmation endpoint behavior, list filtering, and operation logs. duty_phone currently comes from the request body and has a default; before a duty roster is integrated, it is not trusted configuration.

Known Boundaries

  • Completion confirmation currently does not enforce that the previous state must be completed.
  • Repairs do not automatically change classroom status. Design transaction and rollback behavior separately if that coupling is needed.