A complete car wash management platform that connects customer bookings, branch operations, staff workflows, payments, and performance tracking across multiple locations.

WashBay live board
WashBay dashboard
Booking with QR code
Revenue today
Average rating
Surfaces
3
Mobile app, staff tablet and web panel on one API and database
Roles
7
From Super Admin and Country Admin to Washer and Customer
Languages
2
English and Arabic, with right-to-left support
Unit tests
30
Slot calculation, job rules and Stripe webhook signatures
Overview

One system. Three surfaces.

Each part of the car wash gets its own app, all running on the same API, database and live updates. One Flutter codebase has two entry points: the customer app and the staff tablet app.

Mobile app

Book and pay for washes. Find the nearest branch, pick services and a time, then follow the wash live.

Staff tablet

Run each job at the branch. Staff sign in with a PIN on a tablet paired to the branch and move cars through every step.

Web panel

Control branches, prices, staff and reports, with a live board of every bay and job.

Branch operations

Every bay and job, live.

The live board is a real-time view of every bay and job by step, shown in the web panel and on the tablet. It updates as staff move cars along.

WashBay live board
PIN sign-in

Staff sign in with a PIN on a tablet paired to the branch.

QR check-in and walk-ins

Front desk checks cars in by QR code and registers walk-ins.

Photos and quality checklist

Each job carries before/after photos and a quality checklist.

Automatic no-shows

Bookings that are never checked in are marked as no-shows automatically.

Customer app

From sign-up to sparkling clean.

Customers book and pay for washes from their phone, then follow every step of the job until pick-up.

Get started
Find a branch
Book and pay
Track and rate
Previous screen
Next screen
Home Branches Services and packages Booking and live status
Booking engine

Time slots that respect the real branch.

WashBay bookings for one branch and day
Choosing services and packages in the app
01
Short hold

A short hold reserves the bay while the customer confirms.

02
No double booking

Double booking is prevented with a database lock.

03
Reschedule or cancel

Customers can reschedule or cancel up to a cutoff.

Web panel

Control branches, prices, staff and reports.

KPIs, daily reports and the last 14 days of bookings and revenue.

Services, add-ons and packages, priced per vehicle type and country.

Countries, branches, opening hours, bays and staff in one place.

Branch settings
Services and add-ons
Dashboard
Payments, ratings and reports

Close every day
with the numbers in place.

Take payment at the counter or online, issue tax invoices, keep customers updated and track how every branch is doing.

Today, across the branch
KPI dashboard
Bookings today
50
In the branch now
16
Revenue today
AED 2,542
Average rating
4.2
241 ratings
No-show rate (30 days)
3.4%
  • Cash or card at the counter, or online through Stripe
  • Refunds
  • End-of-day reconciliation
  • Sequentially numbered PDF tax invoices
  • Currency, VAT rate and invoice details per country
  • Push and in-app notifications for booking and job status updates
  • Star ratings with comments
  • A KPI dashboard and daily reports
AI-ready codebase

Modify it with your AI
coding agent.

The project can be modified with Claude, Codex and Antigravity.

Claude
Codex
Antigravity
Tech stack

Built on a modern, proven stack.

One API project organized by module, with a tenant column that keeps a SaaS option open.

Backend
ASP.NET Web API
Database
Microsoft SQL Server (with a lighter setup for development)
Data access
Entity Framework Core with code-first migrations, applied on start-up
Architecture
One API project organized by module (Bookings, Catalog, Operations, Payments and so on); a tenant column keeps a SaaS option open
Real-time
SignalR hub for the live board and job status
Web panel
Next.js 15 (App Router), TypeScript, Tailwind CSS
Mobile
Flutter (Dart): one codebase with two entry points — the customer app and the staff tablet app
Mobile architecture
Feature-first with Cubits (flutter_bloc), get_it for dependency injection, dio for networking
Payments
Stripe Checkout with webhooks; a simulated gateway for development
Invoices
QuestPDF
Notifications
Firebase Cloud Messaging for push; email for one-time codes
File storage
Local disk behind a storage interface, so it can move to S3 later
Auth
JWT access tokens with rotating refresh tokens, email one-time codes, staff PINs, role-based permissions
Security
PBKDF2 password and PIN hashing, rate limiting on auth endpoints, start-up checks that block demo settings in Production
Tests
30 backend unit tests (slot calculation, job rules, Stripe webhook signatures)

Launch your car wash

Customer mobile app, staff tablet app and web panel for admins and managers, working together on one system.

Branches
Home
Booking