# Restaurant workspace — 4.0.0

Both editions share the restaurant navigation, order workspace and operational fixes. Pro licensing and gateway restrictions are preserved.

## Orders

- Click a state counter or choose a status. Search order numbers, customers or dishes; filter by restaurant-local dates and location.
- Blank dates include all dates, so older active orders remain accessible. Counters use the search/date/location scope and include all pages.
- Each page contains 25 orders. Use Previous/Next to reach the complete result set. The kitchen board groups the current page, not the entire result set.
- Select an order for item options, preparation notes, totals, payment, printing and notification tools.
- Updates run every 30 seconds while the tab is visible. Failed updates keep the last loaded data and show a stale-state warning. Keep a staffed screen open; this is browser polling, not a background push service.
- Service controls and sound/alert settings expand from the header. Test sound on each device before service.

## Cash and cancellation

Order staff can confirm receipt of cash/manual payments from order details in either edition. Kitchen-only accounts cannot record payments or cancel orders. Recording cash never initiates a charge.

An unpaid cash/manual order can be cancelled while New, Preparing or Ready. Choose whether to return quantities to tracked stock; do not return used food to stock. Cancellation retains the order and staff audit, releases its active status, skips obsolete pending notifications and queues cancellation emails when configured. Online and paid orders require payment-provider review and cannot use this unpaid cancellation path.

Repeated collection/cancellation requests are idempotent. Stale status changes are refused. The legacy deletion endpoint rejects active and payment-linked orders and reports database failures; routine operation uses cancellation and retained history.

## Checkout and upgrade

Configured Turnstile/hCaptcha verification is required for cash/manual checkout. If verification fails to load or the provider cannot verify it, customers must retry or contact the restaurant. There is no client-declared fail-open path. Optional phone settings also apply when Stripe initializes, except where delivery or SMS verification requires a phone.

Install the ZIP through WordPress Plugins > Add New > Upload Plugin and replace the existing version. The package folder and plugin entry remain unchanged. Keep only one edition installed/active; Free and Pro are replacement distributions, not a base plugin plus add-on. Preserve a site/database backup when upgrading. Existing orders, menu data, settings and licensing storage are retained; no uninstall is required.

External gateway transactions, licensed gateway configuration, SMS and physical printers still require validation with the restaurant's own accounts and devices.
