# Hospitality CRUD Report

**Date:** 2026-07-26

## CRUD matrix

| Resource | List | Create | Update | Delete | Workflow actions |
|----------|------|--------|--------|--------|------------------|
| venues | ✅ | ✅ | ✅ | ✅ | — |
| branches | ✅ | ✅ | ✅ | ✅ | — |
| diningAreas | ✅ | ✅ | — | — | — |
| tables | ✅ | ✅ | — | — | — |
| menus | ✅ | ✅ | ✅ | ✅ | — |
| menuCategories | ✅ | ✅ | — | — | — |
| menuItems | ✅ | ✅ | — | — | — |
| modifierGroups | ✅ | ✅ | — | — | — |
| modifierOptions | ✅ | ✅ | — | — | — |
| reservations | ✅ | ✅ | — | — | confirm status |
| waitlist | ✅ | ✅ | — | — | — |
| qrOrderingSessions | ✅ | ✅ | — | — | submit |
| kitchenTickets | ✅ | ✅ | — | — | ready, completed |
| kitchenTicketItems | ✅ | ✅ | — | — | ready |
| posTickets | ✅ | ✅ | — | — | void |
| posRegisters | ✅ | ✅ | — | — | — |
| posPayments | ✅ | ✅ | — | — | — |
| posDiscounts | ✅ | ✅ | — | — | — |
| settings | ✅ | upsert | — | — | — |
| featureToggles | ✅ | upsert | — | — | — |
| connectorRegistrations | ✅ | ✅ | — | — | — |
| connectorDispatches | ✅ | ✅ | — | — | — |
| tenantBundles | ✅ | — | — | — | deactivate |

## Bulk operations

- Bulk delete via checkbox selection (resources with `api.remove`)
- CSV export all visible rows
- Duplicate row → pre-filled create form

## Soft delete

- `filterDeleted: true` hides `is_deleted` unless "نمایش حذف‌شده‌ها" checked
- Deleted rows show badge in actions column

## Forms

- Zod validation from field config
- Venue picker (`type: venue`) loads live venues list
- Select fields for status, format, connector kind
- Textarea for notes / JSON settings

## Read-only views

| Page | Reason |
|------|--------|
| qrMenuSessions (guests) | Session audit trail |
| pickupOrders / onlineOrders | Order monitoring |
| orderTimeline | Kitchen timeline |
| invoices / receipts | POS ticket views |
| analyticsSnapshots | Snapshot read |
| inventoryOverview | Menu availability overview |
| events (audit) | Immutable log |
| notifications | Filtered events |
| tenantBundles | Activate via backend bundles API |
