Record collection of a repaired article
TERMINAL AND IRREVERSIBLE. Records that the customer has taken the article back, flipping a ready order to collected. Send no body. MONEY TRAP: this records the handover ONLY — it neither collects the outstanding balance nor verifies that anyone did. That balance is quoteAmountCents - depositAmountCents (the API exposes no field for it, so compute it), and it must be taken at the till BEFORE you call this, because once the order is collected nothing in this API can reopen it, re-quote it or chase the money. Legal ONLY from ready; an order still in_workshop must be marked ready first. 422 in every other state, a second call on an already-collected order included; 404 for an unknown id. NOT IDEMPOTENT — there is no dedup key. It is A SEQUENTIAL replay cannot close the order twice (the status guard rejects it), but that guard is an unsynchronised read-then-write with no row lock (solya-pos#956), so do not fan concurrent calls at one order. If your call times out RE-READ with getRepairOrder before retrying: a collected status means the first attempt already committed, so do NOT collect the balance a second time.
Authorizations
Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.
Path Parameters
1Response
The closed order: collected, updatedAt re-stamped. In this example 8400 cents (12000 quote - 3600 acompte) were due at the counter.
The closed order: collected, updatedAt re-stamped. In this example 8400 cents (12000 quote - 3600 acompte) were due at the counter.
-9007199254740991 <= x <= 9007199254740991-9007199254740991 <= x <= 9007199254740991intake, in_workshop, ready, collected, unrepairable 
