Changelog
This release closes two contract-fidelity gaps in the CatchTable waiting write path.
register-waiting gains two optional output fields: waiting_number (the 대기 번호 ticket number the shop displays to the customer) and shop_name; existing fields are unchanged, so readers only need updates if they validate the response with a closed schema. cancel-waiting reason is narrowed from a free-form optional string to the closed enum [\"CUSTOMER_CANCEL\"] with default CUSTOMER_CANCEL — the same code the CatchTable app frontend always sends. The old reason parameter was dead: the previous handler ignored it and posted the cancel with no body, so no caller behavior depended on its value. Callers that passed arbitrary reason text (for example \"changed my mind\") will now fail input validation; omit reason or send CUSTOMER_CANCEL. The cancel request now posts {\"cancelReasonCode\": \"CUSTOMER_CANCEL\"} to CatchTable, matching the first-party client instead of an empty body.