# Hospitality CRUD Validation > Phase: `hospitality-frontend-production-validation` · 2026-07-28 ## Shared list engine `HospitalityListCrudPage` + `hospitalityResources` + `hospitalityApi` (BFF `/api/hospitality`). Verified per page: | Capability | Result | | --- | --- | | List from real API | PASS | | Create (when API exposes create/upsert) | PASS | | Read/detail drawer | PASS | | Update (only when `api.update` exists) | PASS — venues/branches/menus/configurations | | Delete (only when `api.remove` exists) | PASS — venues/branches/menus | | Bulk delete | PASS when remove exists | | Search / filter / sort / pagination | PASS (table page) | | Export CSV / print | PASS | | Lifecycle row actions (status/submit/void/close) | PASS where APIs exist | | Empty / loading / error | PASS | | BundleGate + FeatureLock | PASS via `bundleFeature` | | No fake CRUD buttons | PASS — gated on api methods | | Surface honesty banner | PASS | ## Full CRUD (update+delete) venues · branches · menus ## Create + list + get (published API; no backend PATCH) dining-areas · tables · menu categories/items/modifiers/options/availability/media · QR · carts · POS registers/payments/discounts/tax · kitchen stations · connectors · roles · permissions · analytics reports · … ## Create + lifecycle actions reservations · waitlist · service requests · POS tickets (void) · POS shifts (close) · QR ordering (submit) · kitchen tickets/items (status) ## Read-only / report views (live filtered API) pickup/online orders · order timeline · invoices · receipts · inventory · analytics snapshots · kitchen preparation filter ## Failures None. No disconnected CRUD UI. No inventing update endpoints.