Declare a repair order unrepairable
TERMINAL, IRREVERSIBLE AND MONEY-BEARING — do not reach for this on your own judgement; call it only when a human has decided the article cannot be fixed. It flips the order to unrepairable from ANY non-terminal state, including ready, so a mistargeted call can write off a job that was already repaired and waiting at the counter, with no way back. Send no body. Declaring an order unrepairable OBLIGES the store to refund the whole acompte (depositAmountCents) — but this endpoint does NOT refund it and no other endpoint in this API does either; the refund is a separate till/terminal action a human must perform, so surface the amount rather than assuming it is handled. It also says nothing about what happens to the article itself. 422 only when the order is already terminal (collected or unrepairable); 404 for an unknown id. NOT IDEMPOTENT — there is no dedup key. A SEQUENTIAL replay cannot write the order off twice (the terminal-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: an unrepairable status means the first attempt already committed, so do NOT refund the acompte 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 written-off order: unrepairable, updatedAt re-stamped. The full 3600-cent acompte is now owed back to the customer.
The written-off order: unrepairable, updatedAt re-stamped. The full 3600-cent acompte is now owed back to the customer.
-9007199254740991 <= x <= 9007199254740991-9007199254740991 <= x <= 9007199254740991intake, in_workshop, ready, collected, unrepairable 
