Smart Equipment · Scan-to-Start Car Wash · Engineering Case
How to Make a Scan-to-Start Car Wash System Actually Work: An Integrated Delivery of Mini Program, Payment, MQTT, and Relay Control
When procuring a scan-to-start car wash system, the acceptance target is not a QR-code page. It is the complete path from scanning and validation to equipment activation, order processing, payment, service completion, refunds, and operations.
1. Start with a complete, testable service loop
Many requirements begin with a simple sentence: “The user scans a code and washes the car.” On site, the delivery is much more than a mini program screen. The QR code must point to the correct equipment and location. The platform must determine whether the user is allowed to start, whether the equipment is online, whether another session is already using it, and whether an order can be created safely. During service, payment state, equipment state, and order state may move asynchronously. A user may stop manually, the machine may stop unexpectedly, or payment may succeed while the relay does not move. Each case needs an explicit path.
A deliverable solution should place the mini program entry, business backend, MQTT message path, field controller, payment notification, and operations console on one acceptance map. This is how a buyer distinguishes a runnable service from a QR-code demonstration. The objective is a traceable chain: scan, validate, reserve, pay when required, issue a control command, receive execution feedback, finish the session, and reconcile any exception.
2. What really happens after one scan
Step one is scanning. The user scans an equipment QR code in the WeChat mini program. The client submits the identifier to the business backend, but the QR code is not an authorization credential. The backend still checks that the equipment exists, that the code maps to the correct record, and that the equipment belongs to the expected location.
Step two is identity and eligibility validation. The service checks login state, the applicable user or vehicle relationship, any active order, and the account’s permission to request this service. A rejected request should explain the next action without creating an abandoned order.
Step three is equipment-state validation. Online, offline, idle, occupied, under maintenance, and fault states must be distinguishable. An online MQTT connection alone does not mean that the equipment is available. Only an online unit in an operational state should enter activation.
Step four is order creation and binding. The system records the user, equipment, location, and service relationship, then creates a traceable order. Concurrent requests must be controlled so rapid taps cannot start the same unit twice or create duplicate charges.
Step five is field control. The backend publishes a control message over MQTT. A controller or relay board performs the electrical action and returns connection, execution, or state feedback. “Message published” must never be treated as proof that washing has started.
Step six is payment and notification. The mini program may enter a payment or balance workflow. The payment provider notifies the backend asynchronously. The backend validates the order reference and amount before changing the payment state. A callback is not trusted merely because it arrived.
Step seven is completion and after-sales handling. A user stop, an equipment completion message, or an operator intervention moves the order into completed, pending-review, or exception status. Where the agreed rule permits it, a refund workflow begins. The console should cover equipment, users, orders, refunds, locations, and operational statistics.
3. Divide responsibilities between the device and the cloud
Device and controller: execute safely and report honestly
The device side maintains the network connection, subscribes to designated messages, validates basic command structure, drives the relay or control board, and reports online and execution state. It should not decide whether a user is eligible and should not store payment secrets. Field reliability depends on a safe offline policy, idempotent handling of repeated commands, execution-failure reporting, and a safe state after power loss and restart.
Car wash machines and relay boards may use different electrical logic. An adaptation layer should expose consistent operations such as start, stop, emergency stop, and status reporting while isolating the hardware-specific details. The acceptance test should distinguish a command received, a command accepted, an actuator changed state, and a service actually started.
Cloud and console: enforce rules and preserve evidence
The cloud service handles QR mapping, user and order validation, online and occupied checks, concurrency control, the order state machine, payment notifications, refund interfaces, and message records. The operations console manages the equipment register, locations, order search, refund handling, and statistics. Key state transitions should be recorded so an operator can reconstruct what happened instead of seeing only a final label.
The mini program should present scan, confirmation, payment, in-use, completion, and personal-order views in language users understand. It is the user interface for the workflow, not a substitute for server-side validation.
4. Engineering gates that buyers often miss
A scan is not activation. Invalid codes, moved equipment, and a code belonging to another location must be rejected by the backend. Online is not available. A unit connected to MQTT may still be occupied, under maintenance, or in a fault state. Payment is not execution. Payment and equipment control are asynchronous paths and need reconciliation and compensation rules. Completion is not disappearance: start time, end time, duration, equipment result, refund reason, and manual handling must remain available.
Confirm whether every message has a unique correlation identifier, whether control commands are idempotent, whether callbacks can be processed repeatedly without double accounting, and whether the console can locate an incident by equipment, user, or order. These details often determine whether a field issue can be resolved in minutes or becomes an argument between vendors.
5. Implemented capabilities, reusable modules, and boundaries to confirm
Capabilities represented by this engineering case
The demonstrated chain can be described without exposing customer or deployment details: a WeChat scan entry and equipment-code validation; checks for users, equipment, operating state, ownership, and active orders; order creation and user-to-equipment binding for an online unit; MQTT client connection, subscription, callbacks, and device-message handling; order queries, duration, payment or balance, payment notifications, session completion, and refund interfaces; plus console modules for equipment, users, orders, refunds, locations, and statistics. These are system-level capabilities, not a claim that every machine can connect without adaptation.
A reusable delivery breakdown
A buyer can divide the work into six acceptance modules: the mini program scan entry and QR mapping; online, occupied, duplicate-order, and abnormal-state validation; the MQTT and relay-control adaptation layer; the order state machine, payment callback, completion, and refund interfaces; the equipment register, location, order, refund, and statistics console; and finally integration testing, logs, and acceptance documentation. This split makes staged review practical and identifies who supplies the device protocol, payment account, and operating rules.
Items that must be confirmed during evaluation
Confirm the brands and models of the machines, controller interfaces, relay logic, communication protocol, state feedback, offline behavior, and electrical safety requirements. Multi-tenant access, partner settlement, regional permissions, and detailed financial reconciliation should not be assumed. Payment channels, refund windows, invoices, and membership rules need their own confirmation. Cameras, license-plate recognition, consumable monitoring, remote diagnosis, alerts, and OTA may be useful extensions, but they should not be described as current delivery facts unless they are included in the signed scope. Capacity, availability, labor savings, and revenue effects must be supported by formal test data rather than marketing language.
6. At least ten exception paths need real handling
- Invalid or incorrectly mapped QR code: reject activation, show a clear message, and record the source and reason.
- User not logged in or not eligible: guide the user to sign in or complete the required information; do not create a dangling order.
- Equipment missing, retired, or assigned to another location: block the control command to prevent an unintended start.
- Equipment offline: do not mark the session as started; show the condition to the user and make it visible to operators.
- Equipment occupied or user already has an active order: use idempotency and concurrency locks to prevent duplicate starts and charges.
- MQTT disconnect or control timeout: apply bounded retry or manual review; never resend indefinitely.
- Controller failure, missing relay feedback, or power loss: save the execution result and route the order to the agreed service or refund decision.
- Payment succeeds but the equipment does not start: reconcile payment and equipment states, then enter compensation, manual handling, or refund.
- Duplicate, delayed, or amount-mismatched payment callback: validate order and amount; repeated notifications must not create repeated accounting.
- User stop, abnormal stop, or timeout: preserve start time, end time, duration, and the reason for ending.
- Refund failure or operator intervention: retain refund status and handling notes, and keep the client and console consistent.
7. A practical procurement acceptance checklist
At minimum, acceptance should verify the following:
- A valid QR code identifies the intended equipment, while an invalid code is rejected.
- An unauthenticated user receives a clear sign-in path and no incomplete order is created.
- An offline unit cannot be marked as activated.
- An occupied unit cannot be started twice.
- Rapid repeated taps by one user produce only one effective activation.
- An online unit receives the MQTT command and the relay performs the intended action.
- Equipment state or execution feedback returns and is associated with the correct order.
- A successful payment notification updates the order, while a repeated notification is safely ignored.
- A paid-but-not-started case enters a defined compensation or refund path.
- Completion preserves start time, end time, duration, and completion reason.
- Refund requested, processing, successful, and failed states can be queried.
- The console can search by equipment, location, user, and order.
- Network interruption and device restart do not cause an unintended activation.
- Important exceptions have logs, user messaging, and an operator handling entry.
Use anonymized test accounts and a test payment environment. Inspect electrical safety and controller specifications on site. A screenshot-based demonstration is not enough; acceptance should connect the user action, message record, physical action, order transition, and console evidence.
8. Where this approach fits—and where it does not
This approach fits operators that already have self-service car wash equipment or locations and want to connect WeChat scanning, equipment control, orders, payments, and operations. It also fits teams moving from a single device capability toward a managed and traceable service.
It is not an instant plug-and-play promise for every machine brand. It is not suitable for equipment without a defined control interface, basic status feedback, or confirmed electrical safety. It does not automatically include multi-tenant settlement, partner permissions, license-plate recognition, cameras, consumable monitoring, remote diagnosis, or any other optional feature. Those boundaries should be written into the evaluation record and acceptance scope.
9. Five frequently asked questions
Can the system control the washer immediately after scanning?
No. The backend should validate the user, QR code, equipment existence, operating state, ownership, occupancy, and order conflicts first. Only a unit that is online and permitted under the business rules should enter control.
Why use MQTT?
The communication method must follow the device protocol and field network. MQTT is suitable for device connections, subscriptions, callbacks, and online-state management, but reconnect behavior, idempotency, and feedback must be confirmed against the controller’s capabilities.
What if payment succeeds but washing does not start?
A payment callback cannot stand in for equipment execution. Reconcile the order with the equipment state, preserve the exception record, and follow the defined retry, manual-review, compensation, or refund rule.
Can equipment from different manufacturers be connected?
It can be evaluated, but compatibility must not be assumed. Confirm the controller interface, relay logic, communication protocol, state feedback, offline strategy, and safety requirements for each equipment family.
What does the operations console normally include?
A basic scope may include equipment, users, orders, refunds, locations, and statistics. Permissions, settlement, invoices, membership packages, alerts, and remote diagnosis depend on the operating model and must be confirmed separately.
10. Bring the equipment facts into a boundary assessment
If you are evaluating a scan-to-start car wash system, prepare the equipment type, controller or protocol documentation, location and role model, payment entity, order rules, refund rules, and the first release scope. A useful assessment maps each physical action to an order state and each exception to a console record. It should identify what can be reused and what must be adapted for the machine in front of you.
Use the official contact channel to discuss the scan entry, equipment validation, MQTT or relay control, order and payment flow, completion and refunds, and operations console one item at a time. This article does not provide a public fixed price, fixed schedule, or unverified compatibility promise. The final solution, commercial terms, and delivery arrangement depend on the equipment, protocol, operating rules, and jointly confirmed acceptance scope.