1. Purpose and users
The back office is the internal system staff use to run every job that comes from the website, phone or WhatsApp: from the first booking to payment, warranty and review. It replaces spreadsheets and WhatsApp groups with one place where everyone sees the same job, the same price and the same promise made to the customer. It also controls what the website shows (services, "from AED" prices, areas, time slots), so the website never promises something the team cannot deliver.
| Role | Who they are | Main work in the system |
|---|---|---|
| Owner | Runs the company | Sees everything, sets prices and rules, approves refunds and big discounts |
| Operations manager | Runs the day | Watches the board, handles problems, complaints, technicians, stock |
| Dispatcher | Plans the day | Assigns technicians, reschedules, chases late jobs |
| Customer service agent | Answers phone and WhatsApp | Confirms bookings, creates jobs, sends quotes, sells plans, logs complaints |
| Accountant | Looks after money | Invoices, payments, VAT report, refunds, export to accounting |
| Technician | Does the work | Uses the phone app only: own jobs, status, photos, quote, payment |
One person may hold several roles (for example the owner is also operations manager in a small team).
Permissions (Full = see, add, change · View = see only · Own = only their own records · None = hidden)
| Module | Owner | Ops manager | Dispatcher | CS agent | Accountant | Technician |
|---|---|---|---|---|---|---|
| 1 Dashboard | Full | Full | View, no money figures | View, no money figures | View, money figures | None (app home screen) |
| 2 Jobs | Full | Full | Full | Create, edit, reschedule, cancel | View | Own jobs, in the app |
| 3 Dispatch board | Full | Full | Full | View | None | Own schedule |
| 4 Customers | Full | Full | View | Full | View, edit billing details | Customer of own job only |
| 5 Quotes and invoices | Full | Full, approves discounts | View | Create quotes, record payments | Full, refunds and credit notes | Quote and take payment on own job |
| 6 Plans and contracts | Full | Full | View, schedule visits | Sell, renew | View, billing | Sees "covered by plan" on job |
| 7 Technicians | Full | Full | View, set availability | View name and photo | View | Own profile |
| 8 Price list and services | Full, publishes | Edit, owner publishes | View | View | View | View |
| 9 Parts and van stock | Full | Full | View | None | View costs | Own van stock |
| 10 Reviews and complaints | Full | Full | View, schedule call-backs | Log and reply | View, process refunds | Own ratings |
| 11 Reports | All | All | Operations reports | Own activity | Money reports | Own figures |
| 12 Website and messages | Full | Full | Slots and areas | Leads inbox, message log | None | None |
| 13 Settings | Full | Hours, holidays, rule values | None | None | VAT and invoice settings | None |
Owner only: delete records, export the full customer list, change roles, publish price changes.
2. Job lifecycle
A job always has exactly one status. Every change is recorded with who made it and when.
| # | Status | Meaning | Who moves it here | Message to the customer |
|---|---|---|---|---|
| 1 | New | Booking received from website, phone or WhatsApp; slot is held | System (website) or CS agent | "We have your request, reference HT-1234. We will confirm shortly." |
| 2 | Confirmed | Slot and "from" price accepted by the office | CS agent (or automatic, see open question 2) | Booking confirmed: service, date, arrival window, from-price, call-out fee, how to change it |
| 3 | Assigned | A named technician has the job | Dispatcher | None at this point; technician's name goes in the reminder |
| 4 | On the way | Technician has left for the address | Technician (app) | "Ahmed is on the way, expected at about 10:20", with photo and a call button |
| 5 | Arrived | Technician is at the door; arrival time is stamped | Technician (app) | None |
| 6 | Quote needed | Job is bigger than the booked fixed price, or price is "after inspection" | Technician or CS agent | "We are preparing your price" |
| 7 | Quote sent | Itemised price sent for approval | Technician or CS agent | Quote with total incl. 5% VAT and Approve / Decline buttons |
| 8 | In progress | Price is agreed and work has started | Technician (app), only after price is confirmed | None |
| 9 | On hold | Waiting for parts, a second visit, or building access | Technician or dispatcher, with reason | Reason and the new visit date |
| 10 | Work completed | Work done, photos taken, customer signed off | Technician (app) | Job summary, tax invoice, warranty end date, ways to pay |
| 11 | Paid | Full payment recorded | Technician, CS agent or accountant | Receipt |
| 12 | Closed | Paid and nothing outstanding; warranty clock is running | System, automatically | Request for a star rating (a few hours later) |
Side routes:
| Status or action | Meaning | Who | Message to the customer |
|---|---|---|---|
| Rescheduled (action) | New slot chosen; job returns to Confirmed, old slot kept in history | CS agent, dispatcher, or customer through a link | New date and arrival window |
| Cancelled | Stopped by customer or company; reason is required; late cancellation may carry the call-out fee | CS agent, dispatcher | Cancellation confirmed, any fee, link to rebook |
| No access | Technician arrived but nobody was there or security refused entry | Technician, after calling the customer | "We came but could not reach you", link to rebook |
| Quote declined | Customer said no to the quote; call-out fee invoiced; job goes to Work completed | Customer or technician | Call-out fee invoice |
| Warranty call-back | New free job linked to a Closed job inside its warranty period; follows the same steps 2 to 12 with no charge | CS agent or ops manager | "Your warranty visit is booked", date and window |
3. Modules
Priority tags: MVP needed on day one · Phase 2 Phase 2, once the basics run smoothly · Later only if the business needs it.
3.1 Dashboard
For: seeing the state of today in ten seconds.
- MVP Today's jobs counted by status: unassigned, on the way, in progress, completed, late
- MVP "Needs attention" list: jobs unassigned close to their slot, technicians running late, quotes waiting for the customer, new bookings not yet confirmed, open complaints
- MVP Today's money in AED: invoiced, collected, still owed (hidden from roles without money access)
- MVP Emergency jobs shown as a banner at the top until a technician is on the way
- Phase 2 Arrival promise score: share of visits on time this week
- Phase 2 Plan renewals and plan visits falling due in the next 30 days
- Phase 2 Average star rating for the last 30 days
- Later Each user arranges their own dashboard
Key data: none of its own; it reads from Jobs, Invoices, Complaints, Plans.
3.2 Jobs (bookings and work orders)
For: the single record of each piece of work, from request to closed.
- MVP Website bookings arrive by themselves as New, with a reference number
- MVP Create a job by hand for phone, WhatsApp and walk-in customers, with the same fields as the website
- MVP Job list with filters (status, date, trade, area, technician, source) and search by reference, name or mobile
- MVP Job page: customer, address with map pin, service, slot, price, notes, photos, status history, messages sent
- MVP Change status, reschedule, cancel with a reason
- MVP Emergency flag: jumps the queue, uses the emergency arrival promise and out-of-hours rates
- MVP Access notes: building or community work permit needed, gate pass, parking, pets, who will be home
- MVP Extra items added on site (services, parts), before and after photos, customer sign-off
- MVP Warranty end date set on completion; "Create warranty call-back" button on closed jobs
- Phase 2 Jobs with several visits (painting over three days, return visit after parts arrive)
- Phase 2 Checklist per service (for example the steps of an AC service) that the technician ticks off
- Phase 2 Duplicate warning: same mobile and service booked twice within a day
- Later Jobs given to subcontractors, with their cost recorded
Key data: reference, source (website, phone, WhatsApp, plan visit, call-back), customer, property, service(s), problem description, customer photos, date and arrival window, priority, technician(s), status, booked price, final price, VAT, payment status, warranty end date, linked jobs, access notes, message language.
3.3 Dispatch board (schedule and assignment)
For: deciding who goes where and when, and spotting trouble early.
- MVP Day view: one row per technician, hours across, jobs as blocks coloured by status
- MVP Queue of unassigned jobs beside the board; drag a job onto a technician
- MVP Warnings before saving: overlapping job, wrong trade, outside the technician's area, on leave
- MVP Reassign or swap jobs; the technician's app updates at once
- MVP Running-late flag when a technician has not set off in time to meet the arrival window
- Phase 2 Map view with job pins and each technician's last known position
- Phase 2 Travel time between communities added automatically between jobs
- Phase 2 Suggested technician: right trade, free, nearest
- Phase 2 Week view, and planning plan visits in bulk
- Later Automatic route planning for the whole day
Key data: technician, date, start and end time, job, travel buffer, clash warnings.
3.4 Customers
For: knowing who the customer is and everything done for them.
- MVP Customer record: name, mobile, WhatsApp number, email, preferred language, type (household, business, property manager)
- MVP Several properties per customer: emirate, community, building or villa, unit, map pin, access notes
- MVP History in one place: jobs, quotes, invoices, plans, messages, reviews, complaints
- MVP Incoming bookings matched to an existing customer by mobile number
- MVP Business details: company name, tax registration number (TRN), billing contact, payment terms
- MVP Consent flag for marketing messages (service messages are always allowed)
- Phase 2 Equipment at the property (number and type of AC units, water heater, last service date)
- Phase 2 Property manager accounts: many units under one account, tenant contact per unit
- Phase 2 Tags (VIP, landlord, do not serve), amount owed shown on the record, merge duplicates
- Later Customer login to see their own jobs, invoices and plan
Key data: name, mobiles, email, language, type, properties, TRN, payment terms, consent, tags, balance owed.
3.5 Quotes and invoices
For: agreeing the price before work and getting paid after it.
- MVP Quote built from price-list items, free-text lines, parts and discount; 5% VAT added automatically
- MVP Quote sent as a WhatsApp link; customer taps Approve or Decline; time of approval is stored
- MVP Tax invoice created from the completed job: company TRN, running invoice number, VAT shown separately, PDF
- MVP Record payment by cash, card, bank transfer or payment link; part payments; receipt sent
- MVP Standard lines: call-out fee, late-arrival credit, plan discount
- MVP List of unpaid invoices with age in days
- MVP Cash list: cash each technician collected today and whether it was handed in
- Phase 2 Pay-by-card link created inside the system and marked paid automatically
- Phase 2 Deposits for larger jobs (painting, renovation) and credit notes and refunds with approval
- Phase 2 Monthly statements and payment terms for business customers
- Phase 2 Quote expiry date and automatic reminders; invoices in English and Arabic on one page
- Later Quotes with options (basic, standard, premium) and staged billing for renovation work
Key data: quote or invoice number, job, customer, lines (item, quantity, unit price), discount, VAT, total, status (draft, sent, approved, declined, paid, part paid, overdue), payments (method, amount, date, taken by), credit notes.
3.6 Maintenance plans and contracts
For: selling annual plans and making sure every promised visit happens.
- MVP Plan types matching the website: name, price, length, visits included per trade, what is covered, discount on extra work, priority response
- MVP Sell a plan to a customer for a specific property: start date, end date, payment status
- MVP Visit counter: used and remaining; a job booked under a plan shows "covered by plan" and costs nothing
- MVP Renewal list: plans ending in 60, 30 and 7 days
- Phase 2 Preventive visits scheduled ahead (for example AC service every three months) with a "pick your slot" message
- Phase 2 Renewal reminders by WhatsApp; payment in instalments
- Phase 2 Business contracts: custom scope, several sites, agreed response time, signed contract uploaded
- Phase 2 Pause or cancel a plan with a clear refund rule
- Later Automatic renewal on a saved card
Key data: plan type, customer, property, start and end date, price, payment schedule, entitlements (visits per trade, emergency call-outs), visits used, linked jobs, status (active, due for renewal, expired, cancelled).
3.7 Technicians
For: knowing who can do what, where and when.
- MVP Profile: name, photo, mobile, trades, languages spoken, areas covered, van
- MVP Working hours, days off and leave, which block the dispatch board
- MVP App login switched on or off
- Phase 2 Documents with expiry alerts: Emirates ID, visa, driving licence, trade certificates
- Phase 2 Performance per technician: jobs done, on-time share, rating, call-back rate, revenue
- Phase 2 Technician and helper working as a pair; attendance (start and end of day)
- Phase 2 Choose which technicians appear on the website (name, photo, trade)
- Later Commission and incentive calculation; training records
Key data: name, photo, mobile, employee number, trades, languages, areas, van, shift pattern, leave, documents and expiry dates, status.
3.8 Price list and services (what the website shows)
For: one price list that the website, the office and the technician all use.
- MVP Service catalogue: category, name and description in English and Arabic, what is included and not, typical duration, warranty in days, show on website yes or no
- MVP Price type per service: fixed, "from AED", hourly, or "quote after inspection"
- MVP Call-out (inspection) fee and emergency or out-of-hours surcharge
- MVP Publish to the website: changes go live only when the owner publishes them
- MVP One setting for whether shown prices include or exclude 5% VAT
- Phase 2 Add-ons per service (extra AC unit, extra room) and half-day or full-day handyman blocks
- Phase 2 Different prices by area (for example a surcharge outside Dubai)
- Phase 2 Promotions and discount codes with start and end dates; price history; price changes scheduled for a future date
- Later Separate price lists per business customer
Key data: category, service name (EN, AR), description, inclusions, exclusions, price type, price, unit, duration, warranty days, trade needed, website visibility, order on the page.
3.9 Parts and van stock
For: knowing what parts were used, what they cost and what each van carries.
- MVP Add a part to a job as a line with a price, so the invoice is correct (no stock counting yet)
- Phase 2 Parts list: name, code, unit, cost price, selling price, supplier
- Phase 2 Stock held in the store and in each van; transfers between them; stock reduces when a part is used on a job
- Phase 2 Low-stock alerts; technician requests a part from the app; list of jobs waiting for parts
- Later Purchase orders, supplier records, stock counts, barcode scanning
Key data: part name, code, unit, cost, selling price, supplier, quantity per location, minimum quantity, usage per job.
3.10 Reviews and complaints (including warranty call-backs)
For: hearing from every customer and fixing what went wrong, fast.
- MVP Rating request sent automatically after a job closes: 1 to 5 stars and a comment
- MVP A rating of 1 to 3 opens a complaint by itself and alerts the operations manager
- MVP Complaint log: linked job, type, severity, person responsible, due date, status, how it was resolved
- MVP Warranty call-back: created from the original job, free, original technician by default, marked priority
- Phase 2 Customers who gave 4 or 5 stars are invited to post a public Google review
- Phase 2 Publish chosen reviews on the website (first name, community, job type) with the customer's consent
- Phase 2 Compensation with approval: credit, refund or free return visit
- Phase 2 Call-back causes by service and technician
- Later Customer satisfaction survey with more questions
Key data: rating, comment, job, technician, complaint type, severity, owner, due date, status, resolution, compensation, call-back job link, cause.
3.11 Reports
For: answering the owner's questions with numbers (full list in section 6).
- MVP Daily summary: jobs done, invoiced, collected, owed
- MVP VAT report for any period
- MVP Any list can be exported to a spreadsheet
- Phase 2 Remaining reports in section 6, with date range and filters by trade, area and technician
- Later Reports emailed on a schedule; build-your-own reports
3.12 Website and messages (leads, WhatsApp/SMS templates, areas, slots, FAQs)
For: controlling what the website offers and what the company says to customers.
- MVP Leads inbox: enquiries and call-back requests from the website; status (new, contacted, booked, lost); turn a lead into a job
- MVP Message templates in English and Arabic for every lifecycle step, with blanks filled in automatically (name, reference, time, technician, price)
- MVP Service areas: emirates and communities served, switched on or off
- MVP Time slots: arrival windows, how many jobs each window can take per trade, same-day cut-off time, closed days and public holidays
- MVP Message log per job: sent, delivered, failed
- Phase 2 Shared WhatsApp inbox: staff read and answer customer chats inside the system, linked to the customer record
- Phase 2 SMS sent automatically when a WhatsApp message fails
- Phase 2 FAQs edited here in English and Arabic; website notices (for example "high demand today, next slot tomorrow")
- Phase 2 Where each lead came from (search, social media, referral) and bookings started but not finished
- Later Bulk messages to customers who opted in (for example a pre-summer AC service reminder)
Key data: lead (name, mobile, service, area, message, source, status), template (event, language, text, channel), area (emirate, community, active), slot (day, window, trade, capacity), FAQ (question, answer, language, order).
3.13 Settings (users, roles, working hours, VAT, languages)
For: company details and the rule values everything else uses.
- MVP Users and roles: invite, change role, switch off
- MVP Company details used on invoices and messages: legal name, trade licence number, TRN, address, logo, phone, WhatsApp number
- MVP Working hours, emergency hours, public holidays
- MVP VAT rate (5%), prices including or excluding VAT, invoice number format
- MVP Rule values: arrival window length, late-arrival credit, call-out fee, cancellation cut-off, default warranty days, discount limit per role
- MVP Activity log: who changed what and when
- Phase 2 Second login step (a code on the phone) for owner and accountant
- Phase 2 Customer data export, and deletion on a customer's request
- Later Back-office screens in Arabic
- Later Several branches with separate teams and price lists
Key data: users, roles, company profile, hours, holidays, VAT settings, rule values, languages, activity log.
3.14 Technician mobile app
For: the technician's whole working day on one phone screen. At first this can be a web page opened on the phone; a store app is only needed for offline use and live location.
- MVP Login with mobile number and PIN
- MVP Today's jobs in order: arrival window, address with a "navigate" link, customer name, problem, customer photos, access notes
- MVP Large status buttons: On the way, Arrived, Start work, Complete
- MVP Call or WhatsApp the customer in one tap
- MVP Add extra services and parts from the price list; show the new total; customer approves on screen or by WhatsApp link
- MVP Before and after photos and notes
- MVP Customer sign-off on the phone
- MVP Take payment: record cash or card, or send a payment link
- MVP "Cannot complete" with a reason: no access, needs parts, needs second visit, needs office quote
- Phase 2 Works with weak or no signal and sends when the signal returns
- Phase 2 Live location while on the way, with a tracking link for the customer
- Phase 2 Van stock, parts request, service checklists
- Phase 2 App language choice for technicians (see open question 9)
- Later Own earnings and incentives; chat with the dispatcher inside the app
Key data: reads and writes Jobs, Quotes, Payments, Photos; stores arrival time, completion time and signature.
4. Rules the system must enforce
- No double-booking. A technician cannot hold two jobs that overlap, including travel time. The board refuses or warns.
- Right person. Only a technician with the needed trade, in the job's area, and not on leave can be assigned.
- The website cannot overbook. It offers only slots with capacity left for that trade and area; a slot is held the moment a booking arrives.
- Price before work. A job cannot move to In progress until the customer has accepted the price. If the price rises on site, a new approval is needed, and it is recorded with the time.
- Call-out fee. Charged when the customer declines the quote after inspection; not charged when the work goes ahead. (Policy to confirm.)
- Arrival promise. Arrival time is stamped when the technician taps Arrived. If it is after the end of the window, the job is marked late and the late-arrival credit is added to the invoice automatically. Only a manager can remove it, with a reason.
- Emergency jobs go to the top of the queue, alert the dispatcher at once and use the emergency arrival promise and rates.
- Warranty. Each completed job gets a warranty end date from the warranty days of its service. A call-back inside that date is free and linked to the original job. After that date it is a new paid job.
- Plan entitlements. A plan visit is counted when the job is completed. When visits run out, further visits are charged at the plan's discount. An expired or unpaid plan gives no entitlement.
- VAT and invoice numbers. Every invoice carries 5% VAT and the company TRN. Numbers run in order with no gaps. An issued invoice is never edited or deleted; mistakes are fixed with a credit note.
- Discounts and refunds. Discounts above the role's limit need the operations manager or owner. Refunds need the accountant or owner.
- Cancellation. Free before the cut-off time; after it, or on a "no access" visit, the call-out fee may apply. (Policy to confirm.)
- Closing a job requires completion photos, customer sign-off and full payment (or an account customer with payment terms).
- Price changes apply to new bookings only. A booked job keeps the price the customer was shown.
- Messages. Service messages go in the customer's language. Marketing messages go only to customers who agreed. Every message is logged.
- Privacy. A technician sees only their own jobs and those customers. Only the owner can export the customer list.
- Everything is traceable. Status changes, price changes, discounts and cancellations record who did it and when.
5. Notifications matrix
| Event | Customer | Staff | Channel |
|---|---|---|---|
| Booking received | Yes | CS agent | Customer: WhatsApp · Staff: in system |
| Booking confirmed | Yes | — | WhatsApp, SMS if it fails |
| Emergency job created | Yes (arrival promise) | Dispatcher, ops manager | Customer: WhatsApp · Staff: in system with sound |
| Technician assigned or changed | — | Technician | App alert |
| Reminder (day before, or morning of the visit) | Yes | — | |
| On the way | Yes (name, photo, expected time) | — | |
| Running late | Yes (new time, apology) | Dispatcher | Customer: WhatsApp · Staff: in system |
| Job unassigned close to its slot | — | Dispatcher, ops manager | In system |
| Quote sent | Yes (approve or decline) | — | WhatsApp link |
| Quote approved or declined | — | Technician, CS agent | App alert, in system |
| Rescheduled | Yes | Technician, dispatcher | WhatsApp · app alert |
| Cancelled | Yes | Technician, dispatcher | WhatsApp · app alert |
| No access | Yes (rebook link) | Dispatcher | WhatsApp · in system |
| Work completed | Yes (summary, invoice, warranty date) | — | WhatsApp, email for business customers |
| Payment received | Yes (receipt) | Accountant | WhatsApp or email · in system |
| Invoice overdue | Yes (reminder) | Accountant | WhatsApp or email · in system |
| Rating request | Yes | — | |
| Low rating or complaint | Yes (acknowledgement) | Ops manager, owner | WhatsApp · in system |
| Warranty call-back booked | Yes | Ops manager, original technician | WhatsApp · app alert |
| Plan bought, visit due, renewal due | Yes | CS agent | WhatsApp · in system |
| Low stock, staff document expiring (Phase 2) | — | Ops manager | In system |
| Daily summary | — | Owner | Email or WhatsApp |
6. Reports
| Report | Question it answers | When |
|---|---|---|
| Daily summary | How did today go: jobs done, money in, money owed? | MVP |
| VAT report | How much VAT did we charge in this period, for the tax return? | MVP |
| Unpaid invoices by age | Who owes us, how much and for how long? | MVP |
| Cash by technician | Has all the cash collected been handed in? | MVP |
| Jobs by trade, area and source | Where does the work come from? | P2 |
| On-time arrival | How often do we keep the arrival promise, and what did late credits cost? | P2 |
| Revenue by service and area | Which services and communities earn the most? | P2 |
| Technician performance | Who completes the most jobs, on time, with good ratings and few call-backs? | P2 |
| Call-backs and warranty | Which services or technicians cause repeat visits, and what do they cost us? | P2 |
| Quote conversion | How many quotes are accepted, and how quickly? | P2 |
| Leads and booking conversion | How many enquiries become jobs, and from which channel? | P2 |
| Plans | How many active plans, how many renew, how many visits do we still owe? | P2 |
| Cancellations and no access | Why do we lose booked jobs? | P2 |
| Slot use | Which areas and times are full or empty, so capacity can be changed? | P2 |
| Reviews and complaints | Is the rating going up or down, and how fast do we resolve complaints? | P2 |
| Repeat customers | How many customers come back, and after how long? | Later |
| Parts and stock value | What parts do we use most, and how much money sits in the vans? | Later |
7. Integrations to consider
| Category | What it is for | When |
|---|---|---|
| Website connection | Bookings and leads flow in; services, prices, areas and slots flow out | MVP |
| WhatsApp business messaging service | Automatic messages at each job step. Company-started messages must use templates approved by WhatsApp in advance, and the customer must have agreed to receive them | MVP |
| Email sending | Invoices and statements, mainly for business customers | MVP |
| Map links | Pin on the address; "navigate" opens the phone's map app | MVP |
| Accounting export | Invoices and payments exported as a spreadsheet file the accountant imports | MVP |
| SMS sending | Fallback when WhatsApp fails; login codes | P2 |
| Online payment links | Customer pays by card from a link; the invoice is marked paid automatically | P2 |
| Maps with travel time and live location | Travel buffers, nearest technician, customer tracking link | P2 |
| Direct link to accounting software | Invoices and payments sync without manual import | P2 |
| Public review profile | Invite happy customers to review; show the live rating on the website | P2 |
| Card terminals | Card payment taken on the technician's device posts to the invoice by itself (in MVP the technician records it by hand) | Later |
| Phone system | Caller's record opens when they ring; calls logged against the customer | Later |
| Government e-invoicing | The UAE is phasing in electronic invoicing rules; the client's accountant should confirm whether and when they apply | To confirm |
No specific vendor is required for any category; choice depends on cost and the client's existing accounts.
8. MVP summary
The smallest set that runs a booking from website to paid:
- Website bookings and leads arrive as jobs; staff can also create jobs by hand.
- Dispatch board by day with drag-to-assign and clash warnings; slot capacity feeds the website.
- Technician phone view: job list, status buttons, photos, extra items, customer approval, sign-off, payment record.
- Customer records with properties and full history.
- Quotes approved by WhatsApp link; tax invoices with 5% VAT; payments recorded; unpaid and cash lists.
- Plans sold and recorded, with visit counters and a renewal list.
- Price list that publishes "from AED" prices, call-out fee and warranty days to the website.
- Automatic WhatsApp messages in English and Arabic at each step; rating request; complaint log; warranty call-backs.
- Dashboard, daily summary, VAT report, spreadsheet export.
- Users, roles, company details, hours, rule values, activity log.
Deliberately left out of the MVP: stock counting, map view and live tracking, route planning, built-in card payment, two-way WhatsApp inbox, SMS fallback, automatic plan visit scheduling, property-manager accounts, technician documents and performance scores, most reports, customer login, Arabic back-office screens, offline app.
9. What we have assumed (to be corrected by the client)
- The team is in-house and one company operates from one base in Dubai.
- Back-office screens are in English; customer messages and the price list are in English and Arabic.
- Staff confirm each website booking by hand at first.
- Customers mostly pay on completion; business customers may pay on account.
10. Open questions for the client
- How many technicians, vans and office staff are there today, and which people would hold which roles?
- Should a website booking be confirmed automatically when the slot is free, or should a person confirm each one?
- What arrival window and emergency arrival time can you honestly keep, who answers the emergency line at night, and do you want a late-arrival credit (how much)?
- What is the call-out fee, when is it waived, and what is the cancellation policy?
- What warranty period do you give for each trade?
- Which maintenance plans do you sell (price, visits, what is covered), how are they paid, and are there existing contracts to bring in?
- How do customers pay today (cash, card machine, transfer, link), are you VAT registered with a TRN, and which accounting software does your accountant use?
- Which WhatsApp number do customers use today, who replies, and may the system send automatic messages from that number?
- Is Arabic needed for customers at launch, and which languages do technicians need in the app (for example Urdu or Hindi)?
- Do technicians have company phones (Android or iPhone), and do you ever use subcontractors?
- Do you hold parts in vans or a store, or buy them per job?
- What do you use now (spreadsheet, another system), is there customer or job history to import, and how much of the work is for businesses and property managers who need statements or purchase orders?