Maintenance requests arriving by WhatsApp, phone, and email with no central record and no way to know what is outstanding without calling someone?
Tenants chasing for updates because nobody told them the contractor was booked, then not booked, then rebooked for next week?
Property Maintenance Management Software
Maintenance requests come in by WhatsApp, phone, email, and doorstep visit. No central record. Contractors get assigned verbally in a phone call nobody documented. Nobody updates the tenant on progress. Jobs get lost between the cracks of three different communication channels. When a landlord asks what was spent on maintenance last quarter, no one can give an accurate number without opening six different places.
We build custom property maintenance management software for property managers and landlords. Multi-channel request intake, contractor assignment, SLA tracking, photo evidence, cost management, and portfolio-level reporting -- all in one system built around how your maintenance operation actually works.
All maintenance requests from every channel land in one tracked queue with full history
Contractor assignment by trade category and coverage area, with automated or manual job routing
SLA rules with automatic escalation before jobs breach response or completion targets
Cost tracking and invoice approval workflow per job, with landlord sign-off for higher-value items
Custom property maintenance management software centralises maintenance requests from tenant portals, email, phone, and mobile apps into one tracked queue. It manages contractor assignment by trade and coverage area, enforces SLA rules with automatic escalation, collects before-and-after photo evidence, tracks job costs and invoice approvals, and produces maintenance reporting by unit, building, and contractor. RaftLabs builds maintenance management systems for property managers and landlords handling portfolios from 50 to 5,000 units -- delivered in 12-14 weeks at a fixed cost.
100+Products shipped
·24+Industries served
·FixedCost delivery
·12-14Week delivery cycles
Maintenance is where property management operations break down most visibly
A tenant calls to report a leak. The property manager logs it in a notebook, sends a WhatsApp to the plumber, and moves on to the next call. The plumber says he can come Thursday. Nobody tells the tenant. The tenant calls back on Friday to ask what happened. The plumber came on Thursday but the tenant wasn't home. The job is now rescheduled for the following week. Nobody has any of this written down in a system. If that property manager leaves the company, the job disappears.
At 20 properties this is manageable with enough goodwill and follow-up discipline. At 200 it is a liability. Maintenance is the most visible measure of service quality in property management. Tenants who experience slow, uncommunicative maintenance responses leave at renewal. Landlords who receive no maintenance reporting question whether they are getting value from their property manager. Contractors who receive jobs with missing information turn up to the wrong address or without the right equipment. A purpose-built maintenance management system replaces the WhatsApp group and the notebook with a tracked, auditable, reportable workflow that works the same way whether you manage 50 units or 5,000.
What we build
Multi-channel request intake
Maintenance requests arrive through multiple channels and all of them land in one queue. Tenants submit requests through the tenant portal or mobile app with a category, description, and photo upload. Email-to-ticket conversion creates a job record automatically when a tenant emails a configured address. Phone intake forms allow property managers to log a verbally reported request in 30 seconds. WhatsApp integration captures messages sent to a business number and creates a draft ticket for the property manager to review and confirm. Every request, regardless of channel, gets a job reference number, a timestamp, and an audit trail from that moment forward. The property manager sees one queue rather than four separate places to check, and no request can arrive without a record being created.
Contractor management and job assignment
The approved contractor database holds each contractor's trade categories, coverage areas, contact details, and preferred contact method for job notifications. When a maintenance request is categorised and a location is identified, the system surfaces the approved contractors who match both the trade and the coverage area. Job assignment can be automatic -- the first available contractor in the right category is notified -- or manual, where the property manager reviews the shortlist and assigns the job. The contractor receives the job details by SMS or email including the property address, access instructions, the tenant's availability, and any photos submitted with the request. Contractor response confirmation is tracked so the property manager knows whether a job has been accepted or is still waiting for a response.
SLA tracking and escalation
SLA rules are configured by job priority, property type, and job category. An emergency such as a gas leak has a four-hour response SLA. A routine repair such as a broken cupboard door has a five-day completion SLA. The system tracks time elapsed from the moment a request is logged and displays each job's SLA status in the management dashboard: on track, approaching breach, or breached. Automatic escalation notifications are sent to the property manager when a job reaches 80 percent of its SLA window without progressing to the next stage, and again at the point of breach. Jobs that breach SLA are flagged in the reporting dashboard for management review. The SLA configuration can be adjusted without a code change, allowing the property manager to tighten or loosen rules as the operation matures.
Photo and video evidence
Photo and video capture is built into every stage of the maintenance workflow. Tenants upload photos when submitting the initial request, giving the property manager and contractor a visual before the job is even assigned. Contractors capture photos on arrival at the property to document the condition before work begins. Completion photos are uploaded by the contractor at the point of marking a job done, providing before-and-after evidence stored against the job record. The photo record is linked to the job, the unit, and the tenancy -- so if a tenant disputes a damage charge at move-out, the maintenance history provides an evidenced timeline of the property's condition. Photos are stored at full resolution and are accessible by the property manager, the landlord through the owner portal, and by the tenant for their own job history.
Cost tracking and invoice approval
Every job in the system has a cost record from the point a contractor quote is submitted. Quotes are uploaded by the contractor or entered by the property manager, linked to the job, and routed for approval based on a configurable cost threshold. Jobs below the threshold are approved automatically. Jobs above the threshold require sign-off from the property manager, and jobs above a higher threshold trigger a landlord approval notification through the owner portal -- the landlord reviews the quote and approves or declines before the work proceeds. When the job is complete, the contractor uploads or the property manager enters the final invoice, which is matched to the approved quote and flagged if there is a significant variance. All cost data is stored per job, per unit, and per property, feeding the maintenance spend reports automatically.
Maintenance reporting and analytics
The maintenance reporting dashboard gives property managers and landlords visibility of the full maintenance picture across the portfolio. Recurring issue identification flags units and buildings where the same fault category is logged more than once within a defined period -- early warning of a systemic problem rather than an isolated incident. Contractor performance scoring tracks response time, completion time, and tenant satisfaction rating per contractor, giving the property manager data to review the approved list and remove underperformers. Spend by category and by property shows where maintenance budget is going at any level of the portfolio. The outstanding jobs dashboard shows every open job, its age, its SLA status, and the last action taken -- a single view that replaces the daily email chase and the notebook check.
Frequently asked questions
The system accepts requests from multiple channels, so tenants who prefer not to use a portal are covered. Email-to-ticket converts any email to a configured address into a maintenance job record automatically -- the tenant receives an acknowledgement with the job reference number and the property manager sees the request in the queue. For tenants who call by phone, the property manager or front desk completes a short intake form in the system during the call, creating the job record on the tenant's behalf. If your tenants use WhatsApp, the integration captures messages sent to a business number and creates a draft ticket for the property manager to convert to a job. No channel requires the tenant to create an account or remember a password. The portal is available for tenants who prefer it, but it is not the only way in.
Yes. The data model supports multiple properties, multiple owners, and multiple property managers with configurable access permissions. A portfolio manager sees every property they are responsible for in one view. A landlord with 12 properties sees only their properties in the owner portal. An area manager sees all properties in their region across multiple portfolios. SLA rules and contractor approved lists can be set at portfolio level, at property type level, or at individual property level -- so a mixed portfolio with residential and commercial properties can have different rules for each. The reporting aggregates across the full portfolio or filters down to a single building, a single owner, or a single contractor, depending on what the viewer needs to see.
Invoice approval is based on cost thresholds configured during setup. A job below the first threshold -- say, 250 -- is approved by the system automatically when the contractor marks it complete and submits the invoice. A job between 250 and 1,000 requires the property manager to review and approve the invoice before it is passed to accounts. A job above 1,000 triggers an approval request to the landlord through their owner portal: they receive a notification, review the invoice and the associated photos, and approve or query the charge from their dashboard. The thresholds and the approval chain are configurable by portfolio and by property type without a code change. Every approval action is logged with a timestamp and the name of the approver, giving the accounts team a full audit trail for every invoice processed.
A focused build covering multi-channel request intake, contractor management, job assignment, SLA tracking, and basic cost recording typically delivers in 12-14 weeks from kickoff to go-live. Adding the owner portal with landlord approval workflows, full contractor performance reporting, and integration with an existing property management system or accounting platform typically extends the timeline to 16-18 weeks. All builds are priced at a fixed cost agreed before development starts -- no hourly billing. The exact cost depends on the number of integrations, the complexity of the approval workflow, and whether a tenant-facing mobile app is included alongside the management dashboard. We run a discovery session to agree the feature set and give you a fixed number before any code is written.
Talk to us about your real estate software project.
Tell us how many units you manage, how maintenance requests currently reach your team, and where the process loses track of jobs. We'll scope the right system and give you a fixed cost.