Maintenance systems
How a maintenance text actually gets handled, end to end
Most landlords don't have a maintenance process — they have a phone that rings at bad times and a memory of which plumber answered last time. That works until it doesn't: a burst pipe on a Friday night, a tenant who texts three times because the first two went unanswered, a vendor who shows up without knowing what he's walking into.
Here's the path a request actually takes when it's handled well, and where each step usually breaks down when it isn't.
The five steps
- Intake. The tenant describes the problem in their own words, by text. No app, no portal, no password to forget.
- Triage. The description gets sorted by urgency — a no-heat call in January is not the same priority as a squeaky cabinet hinge.
- Dispatch. The right vendor gets the details that matter: unit, access instructions, what's actually wrong, not just "something's broken in 4B."
- Owner visibility. The landlord sees what's happening without having to ask — a summary, not a play-by-play.
- Close-out. The job doesn't disappear when the vendor leaves. A photo and a tenant confirmation close the loop.
The step that actually determines whether a landlord gets called at 11pm is step two. Triage that can't tell "no heat" from "loose doorknob" pushes everything to the top of the pile, including the landlord's attention.
Urgency tiers, in practice
| Tier | Example | Response target |
|---|---|---|
| Emergency | No heat below 55°F, active flooding, no power, gas smell | Vendor contacted within the hour |
| Urgent | No hot water, broken lock, appliance failure | Vendor contacted same day |
| Routine | Leaky faucet, squeaky door, cosmetic damage | Scheduled within 48 hours |
| Cosmetic | Scuffed paint, loose cabinet handle | Batched into the next visit |
What the triage record looks like
Every inbound request gets normalized into a record before anything is dispatched — this is the piece that turns "some texts" into a system a vendor or a landlord can act on without a phone call.
{
"unit": "4B",
"reportedAt": "2026-09-12T02:14:00Z",
"category": "heat",
"tier": "emergency",
"description": "No heat since last night, thermostat reads 58°F",
"photos": 2,
"vendorAssigned": "reliable-hvac",
"ownerNotified": true
}None of this requires the tenant to know it's happening. They just texted a problem; the system did the sorting.
This is the version of the loop OwnAway runs automatically — the triage rules above are the same ones live on the pilot number. If you want to see it end to end, try the live demo or read how urgency triage works across the rest of the request types.