Home Services Booking & Management Platform

A complete home services platform for businesses in Dubai, connecting customers, operations teams, and field technicians through online bookings, payments, job scheduling, and service tracking. Manage the entire service operation from one centralized system.

localhost:5001/admin/dashboard.html
3 apps · 1 database
Every change, everywhere, instantly
3
applications in one solution
131
pages, verified for every role
31
SQL Server tables, demo data included
262
automated checks: end-to-end, regression, payments, security
The three applications

One system for the whole business

A ready-to-run system for a home-services company: AC cleaning and repair, deep cleaning, plumbing, electrical, handyman and sofa cleaning. All three apps share one SQL Server database, so every change is reflected everywhere immediately.

01 · Customer website

Browse, book, pay, track

Service catalogue with prices, 5-step booking, guest booking or account, tracking by reference and mobile, rescheduling and cancellation, online payment, invoices, feedback and reviews.

02 · Admin panel

Run every operation

Dashboard, bookings, calendar, technicians, customers, service areas, services, invoices, payments and refunds, feedback moderation, notifications, reports, users and roles, settings and branding.

03 · Technician app

Work from the field

Today's jobs, directions and customer contact, on-the-way and started updates, notes and problem reports, before/after photos, cash or card-machine collection and a completion checklist.

Customer journey

Book in five steps, with or without an account

Categories, service options (per unit, per hour, per home) and add-ons, with a quick price check on the home page.

localhost:5001/customer/booking/step-1-service.html
01
Pay the way the business allows
Pay in full online, pay an advance online (percentage or fixed) with the balance online or on completion, or pay the technician on completion.
02
Track and manage
Tracking by reference and mobile number, a timeline of every status change, reschedule and cancel with reason, invoices and PDF receipts.
03
Feedback that gets published
One rating per completed booking with category scores, comments and consent to publish. Approved reviews appear on the website.
Operations

An admin panel that runs the business

Administrators have full access. Managers work within a role permission matrix the administrator controls, enforced on the server.

localhost:5001/admin
HOVER THE SCREEN TO SCROLL THROUGH IT
Finance
Invoices with PDF download, email and void; payments with provider references; full or partial refunds with audit; outstanding balances and ageing.
Catalogue and team
Services with options, add-ons and images; technicians with skills, areas and working hours; service areas with surcharges and minimum orders.
Administration
Users and roles with a permission matrix, company, VAT and invoice numbering, booking rules, notification and payment settings, branding.
Online payments and refunds

Provider-neutral payments, confirmed by webhook

The customer pays on the provider's hosted page; HouseMate never sees card numbers. A booking is marked paid only when the provider's signed webhook is verified.

STEP 1
Customer pays on the provider's hosted page
STEP 2
Provider sends a signed webhook
STEP 3
Signature and amount verified
STEP 4
Booking marked paid
localhost:5001/admin/settings/payments.html
PROVIDERS (STRIPE CHECKOUT BUILT IN)
Stripe Checkout.com Network International (N-Genius) Telr PayTabs
Encrypted credentials
Keys per environment (test / live), encrypted at rest; only the last four characters are ever shown again.
Rules the business controls
Allowed methods, advance type and value, minimum amounts, holds and pending timeouts.
Duplicate protection
Events stored for idempotency; amounts checked; duplicates and overpayments detected.
Simulated gateway
Exercise every outcome end to end without moving money, then switch it off for production.
PAYMENT OUTCOMES HANDLED
Success Advance success Pending bank confirmation Declined Cancelled Expired session Unverified Duplicate-payment protection
Technicians in the field

A mobile-first app for every job

Today's route and job details with address, instructions, contact and price breakdown. "On the way" with ETA and "Start job" update the customer in real time.

Today's jobs
Address, instructions, customer contact and price breakdown for every job on the route.
"On the way" and "Start job"
Status updates with ETA reach the customer in real time.
Photos, notes and problem reports
Before/after photos resized on the phone, notes and problem reports to dispatch.
Cash or card-machine collection
Change calculation and receipt reference recorded with the job.
Completion that closes the loop
Requires a work summary, after photos and a settled or scheduled payment; issues the invoice and sends the feedback request automatically.
Its own technician session
Technicians sign in separately from customers and staff, with role policies enforced on the server.
Inside the product

Real screens from every app

HOVER TO SCROLL · CLICK TO VIEW FULL SIZE
Architecture and security

Built on a stack you can trust

Every action is sent to the JSON API, validated on the server and written to SQL Server inside a transaction. There is no browser-side database: a website booking appears in the admin list instantly.

Customer website
Admin panel
Technician app
JSON API
Validated on the server
SQL Server
Written inside a transaction
BACKEND
ASP.NET Core MVC · .NET 10
Razor views, cookie authentication with three independent sessions (customer, staff, technician) and role policies.
DATABASE
SQL Server 2019+
ADO.NET with parameterized SQL and transactions, no ORM. 31 tables, idempotent schema and seed scripts, demo data loaded on first start.
QUALITY
262automated checks
End-to-end, QA regression, signed Stripe webhook and security suites. Docker Compose included.
Security built in
BCryptHttpOnlyAntiforgeryData Protection
BCrypt and lockout
Accounts lock for 15 minutes after five failed attempts. Single-use, expiring reset and verification tokens.
Separate sessions
HttpOnly cookies per audience, antiforgery tokens on every write, role policies enforced on the server.
Protected files
Uploads validated by content and stored outside the web root; photos and invoices served only to permitted people.
Invoices and logging
QuestPDF invoices with QRCoder QR codes, Serilog logging, Data Protection for payment credentials.
AI-ready codebase

Customize it with your AI coding agent

The project can be modified with Claude, Codex and Antigravity. Add services, change booking rules or restyle the front end, then run the test suites to confirm everything still works.

Running it

Up and running on first start

First start creates the database, applies the schema and loads demo data.

Prerequisites: .NET 10 SDK SQL Server 2019+ or Docker
01
Point it at SQL Server
local SQL Server works as is
02
Run
$ dotnet run --project HouseMate.Web
03
Open
https://localhost:5001
ALTERNATIVE
Or with Docker
$ cp .env.example .env && docker compose up --build
Demo accounts
LOADED WITH THE DEMO DATA
Admin
useradmin@housemate.ae
passAdmin@123
Manager
usermanager@housemate.ae
passManager@123
Technician
userrajesh@housemate.ae
passTech@123
Customer
usersarah.t@example.com
passCustomer@123

Launch your home services business with HouseMate

Customer website, admin panel, technician app, online payments and customer feedback in one ready-to-run solution.