A maintenance ticket system for a healthcare facility — Arabic first, with the SLA on the record
A maintenance management system for a healthcare facility: requests become tickets that are approved, assigned to a specialty team, worked, evidenced with before-and-after photos and closed against an SLA target, with an immutable timeline behind every step and an Arabic-first right-to-left interface.
Related service:Custom softwareWeb applications

The problem
Maintenance requests arrived by phone, in person and on paper. Nobody could say from one place which requests had been approved, which team was working on one, or what had actually been repaired last week — and completion was a verbal report, so a fault that came back had no history to compare against.
What we built
- One ticket record from report to closure: new, approved, in progress, awaiting parts, completed, pending approval, closed — with a reason and an actor behind every move, so a stalled ticket shows where it stalled.
- Approval and assignment in the same place: the super admin approves a ticket and names the supervisor and the team member responsible, and a supervisor only sees the locations assigned to them.
- Before-and-after photos required to close a job, stored against the ticket — the repair is documented, not reported.
- An SLA target per priority, with automatic breach detection, so a high-priority ticket that waited too long is flagged rather than discovered at the end of the month.
- An immutable timeline per ticket — every change with actor, timestamp, old value and new value — so the record survives a dispute about what was done and when.
- The structure the facility actually works in: locations, departments, fault categories and teams by specialty — electrical, plumbing, HVAC, civil — with members and the sites each team covers.
- A dashboard and reports for the questions a maintenance head is asked: what is open, what breached its target, which team carries the load and what a given location has cost in attention over the year.
- Role-based access with JWT sessions, a right-to-left Arabic interface built from the start — not an English layout mirrored afterwards — and an English fallback for staff who need it.
What changed
A request now has one place to live and one history. Whoever reports it, whoever approves it, whoever fixes it and whoever signs it off all act on the same ticket, and the photos and timeline are the evidence. The facility can answer what is open today, what missed its target and what was done to a given location — from the system, not from memory.
Screenshots




