A maintenance request workflow for property management teams
Route maintenance requests through triage, assignment, completion evidence, and resident confirmation with clear ownership.
On this page
A property maintenance request workflow should preserve ownership from the first report through completion. Treat assignment, attendance, and resolution as different events. A contractor accepting a job does not mean that the issue has been fixed.
Capture enough information to route the request
A useful intake includes a property and unit reference, contact method, issue category, description, reported time, access arrangements, and relevant attachments. Limit personal information to what the work requires. Ask the property manager to define an emergency contact route separately; a routine web form should not imply that urgent reports receive continuous monitoring.
The intake owner should check whether a request is a duplicate, whether it belongs to an existing job, and whether the reported location is clear. A duplicate can link to the open request without discarding the new report.
A maintenance state model
| State | Required evidence |
|---|---|
| Received | Request reference and report details |
| Triaged | Priority, responsible coordinator, next step |
| Assigned | Named contractor or internal team |
| Visit arranged | Confirmed access and appointment details |
| Work reported complete | Work notes and supporting evidence |
| Closed | Coordinator's completion decision and closure reason |
Add a blocked state with a reason, owner, and next review time. Avoid a generic waiting status that hides whether the team is waiting for access, parts, approval, or a contractor response.

Define response and resolution clocks
Choose which events start and stop each operational clock. Record actual elapsed time even where a service target legitimately pauses. This preserves the resident's full waiting experience alongside the contractual measure.
ERPNext's service level agreement settings support response and resolution targets and configurable hold states. The platform setting still needs an agreed operating policy behind it.
Test a reopened request
In a hypothetical case, a contractor reports a leak fixed, but the resident says the issue continues. Reopen the existing job or link a follow-on job according to your policy. Preserve the first completion report. Record who reassesses priority and whether a new visit is needed.
Do not reset history simply to make completion figures look better. Track reopened requests separately and examine repeated problems by property or issue type.
The minimum useful management view
Show unassigned requests, upcoming appointments without access confirmation, blocked work past its review time, and completed work awaiting a closure decision. Each row should offer the coordinator a specific next action.
Start with our maintenance intake checklist and map one ordinary repair plus one exception before automating the entire portfolio.