Vehicles & CRM
Routes: /vehicles (hub), /vehicles/fleet, /vehicles/catalog,
/crm (hub), /crm/customers, /crm/memberships.
The owner's real asset isn't the parts shelf — it's who keeps coming back. This module records every customer and every vehicle they own, with the full service history of each vehicle, and turns regulars into members with automatic discounts.
Fleet (/vehicles/fleet)
The register of real vehicles on the road:
- Plate number (Dhaka-Metro format supported), year, make/model, type (Car / Motorcycle / Scooter / Truck / Van), owner (customer), and status.
- The make filter ships preloaded with the brands that actually run on the roads: Bajaj, TVS, Hero, Honda, Yamaha, Suzuki, Royal Enfield, Vespa, KTM, Kawasaki, Triumph, Harley-Davidson, Ducati, plus Toyota, Hyundai, Kia, Nissan, Mitsubishi, Mazda, Ford, BMW, Mercedes-Benz, Audi, Volkswagen, and more.
- Every job, DVI, odometer reading, and invoice lands on the vehicle's history timeline — date / km / amount per visit.
- Odometer logs and vehicle photos are proper per-vehicle records,
guarded by the
odometer:writeandvehicle_images:writepermissions.
Model catalog (/vehicles/catalog)
A master list of make / model / year / fuel (Petrol, Diesel…) / gearbox (Manual, CVT, AMT…) with an approval status (Approved / Pending) — new models entered by staff wait for owner approval, keeping the catalog clean. Intake stays fast: pick "Yamaha Nmax 2023" instead of typing it a hundred times.
Customers (/crm/customers)
- ADD CUSTOMER with name, contact number, membership, status, and join date.
- The contact number is the identity; the POS searches customers by "name or masked contact" so a cashier can find someone without seeing the full number.
- Every sale, job, invoice, receipt, and reminder hangs off the customer. The dashboard's "Customer ledger" widget summarizes members + plans.
Memberships (/crm/memberships)
- Membership plans with a discount % and duration (e.g. "Friends" — 10.00%, Lifetime) and a subscriber count per plan.
- Members get the discount automatically on qualifying bills; an "include inactive" toggle keeps old plans visible.
It's a loyalty program out of the box: give your regulars a "Friends" card at 10% and watch them stop going to the other garage.
Appointments (coming soon)
A "Today's appointments" KPI and appointments:read/write permissions
already exist — booking is on the roadmap, not yet a sidebar module.
Next: Staff & HR.
