DEV Community

Cover image for Maintenance Request Form: Photo, Location, Urgency, and Status Tracking
Lovanaut
Lovanaut

Posted on

Maintenance Request Form: Photo, Location, Urgency, and Status Tracking

A maintenance request form has the same shape as any other inquiry form: it needs a category, and the category needs to route somewhere. The vertical detail is in the fields, not in a different mechanism.

Fields That Make Routing Possible

reporter_name
unit_or_location
issue_category   (Plumbing / Electrical / HVAC / General)
urgency          (Low / Medium / High / Emergency)
description
photo_attachment
Enter fullscreen mode Exit fullscreen mode

location and photo_attachment matter more here than in a generic inquiry form. A technician cannot triage "the sink is leaking" without knowing which unit and what it looks like. Photo upload and a location field are just typed inputs on the form; nothing about them requires special maintenance software.

Routing on Category and Urgency

The routing logic is a condition on field values, evaluated the moment a response is submitted:

if issue_category == "Plumbing" -> notify plumbing-team@example.com
if issue_category == "Electrical" -> notify electrical-team@example.com
if urgency == "Emergency" -> also notify on-call@example.com
Enter fullscreen mode Exit fullscreen mode

Combining conditions with AND logic narrows further, for example routing high-urgency electrical issues to an on-call contact while routine ones go to the standard queue. This is the same eq, contains, and combined-condition model used for any category-based routing -- nothing here is maintenance-specific.

Status Instead of a Closed Ticket

Once a request is routed, it still needs a visible state until it is resolved:

new -> assigned -> in_progress -> resolved
Enter fullscreen mode Exit fullscreen mode

A webhook action can push the same event to an external system (a Slack channel, a spreadsheet, a lightweight tracker) so the status update does not depend on someone remembering to check a form inbox.

What This Does Not Replace

This is category-based routing and status tracking applied to a maintenance context, not a dispatch platform. It will not schedule technicians, manage parts inventory, or handle SLA billing. What it solves is the first, most common failure mode: a request submitted correctly but never reaching the right person.

The full routing setup, including condition operators and webhook field mapping, is in Set Up Inquiry Auto-Routing With FORMLOVA Workflows.

Top comments (0)