Optionaloptions: ErrorOptionsReadonlyreasonAn optional machine-readable reason, rendered into the response body alongside the message. DECLARED HERE rather than sniffed structurally at the mapper so the channel is part of the contract a subclass opts into, and so the mapper needs no import of any subclass to render it (see the header for why that import must not exist).
ReadonlystatusThe response status, 4xx or 5xx; any other status answers 500.
A reservation exists but cannot be understood, or the table could not be read. 503 and never "no reservation": the absent answer is the one that starts a run, so an unreadable store degrades CLOSED exactly as an unreadable fence does.