Statuses and workflow

The seven built-in statuses, which moves between them are allowed, and how that is enforced.

The status set is fixed

There are seven statuses and they are built in. You cannot add, rename or remove one. What you can control is the movement between them, and the messages sent when a ticket moves.

The seven statuses

StatusMeans
ReceivedBooked in at the counter. The starting status for every ticket.
DiagnosingA technician is working out what is wrong.
In ProgressThe repair is being carried out.
Waiting PartsHeld while a part is on order.
ReadyWork finished, waiting for the customer.
CollectedHanded back to the customer.
PaidSettled. The end of the line.
Repairs — allowed status moves
ReceivedDiagnosing
DiagnosingIn ProgressReceived
In ProgressWaiting PartsReady
Waiting PartsIn ProgressReady
ReadyCollectedPaid
CollectedPaid
Paidfinal — no moves out
Seven built-in statuses, and the only moves permitted between them. The rule is enforced on the server, so Received → Paid is rejected rather than merely hidden. Badge colours are the real ones — blue, amber, magenta, red, green, grey — with Paid sharing Collected's grey exactly as it does in the app. Source: RepairModule.tsx (ALLOWED_NEXT_STATUSES, STATUS_STYLES) and repairs.module.css, mirroring VALID_TRANSITIONS in /api/repairs/[id].

Which moves are allowed

Not every status can follow every other. The permitted moves are:

FromCan move to
ReceivedDiagnosing
DiagnosingIn Progress, or back to Received
In ProgressWaiting Parts, Ready
Waiting PartsIn Progress, Ready
ReadyCollected, Paid
CollectedPaid
Paid— (final)

The rule is enforced on the server, not just in the interface. An attempt to jump from Received straight to Paid is rejected. The ticket screen only offers the moves that are actually legal, so the invalid ones are not presented in the first place.

The one-click next step

Each status has a natural next one — Received → Diagnosing, Diagnosing → In Progress, In Progress → Ready, Waiting Parts → In Progress, Ready → Collected — so the common path is a single action rather than a menu.

Still stuck? We answer every message.Contact support