Wash Operations
The authorize request starts a wash session at a specific wash point. When this endpoint is called, the API has no information about whether/how the customer has paid; only that the wash point should be released for washing. The terminate request stops the running wash transaction; this may happen at any time while a wash is taking place.
See Authorize washing and Terminate washing in the API Reference for the endpoint details, and Events for the payload of the state-change events these operations trigger.
Possible car wash states
These are the possible states a car wash can report (via SiteInformation / wash point
status, and reflected in stateId on events). You may not see every status; it depends on
how the terminal connected to the car wash is configured.
| Status Description | Id |
|---|---|
| Idle - place car in hall | 0 |
| Idle - back up car | 1 |
| Ready to wash | 2 |
| Awaiting start of wash | 3 |
| Wash in progress | 4 |
| Stopped - restart wash | 5 |
| Awaiting remove car from hall | 6 |
| Carwash out of service | 7 |
| Unknown | 99 |
Flow types
The exact sequence of state changes depends on which flow type the car wash uses.
Flow Type 1: License Plate Registration Inside Car Wash
The car drives into the car wash before payment is finalized; this requires the car to be able to drive in before authorization.

Flow Type 1b: Primitive Single Shared Wash (LPR Inside Carwash)
Similar to Type 1, but the machine does most of the work since the system gets no feedback beyond whether it's washing or not, so state changes are less precise than other flows.

Flow Type 2: License Plate Registration Outside Car Wash (Free-Run)
The car stops in front of the car wash; the authorize call opens the doors and the flow continues from there.
Caution: this flow supports a queue of at most 1 car. If a wash is already running and a
second authorize is called, that operation is queued (events will show "queue": 1). A third
concurrent attempt fails.
