# Phase 1 Acceptance Checklist

- [x] PHP 8.2+ custom application core
- [x] MySQL 8+ migration structure
- [x] Multi-hotel capable hotel foreign-key model
- [x] Crowne Plaza Riyadh RDC hotel seed
- [x] Hotel settings including database-driven logo path
- [x] 5 physical restaurants + separate In-Room Dining channel
- [x] Restaurant service channels
- [x] Configurable weekly restaurant hours
- [x] Kitchens + starter stations
- [x] Demo table inventory, editable by admin
- [x] Demo room inventory, editable by admin
- [x] Table floor-map coordinate fields
- [x] Secure random room/table QR tokens
- [x] QR revocation/rotation
- [x] Printable table/room QR card
- [x] Shared table session architecture
- [x] Separate customer/device sessions
- [x] Room browsing sessions with room charge disabled
- [x] Authentication with password hashing
- [x] Login throttling
- [x] Database-driven RBAC
- [x] CSRF protection
- [x] Prepared statements
- [x] Audit-log foundation
- [x] REST endpoints for restaurants and QR session join
- [x] cPanel deployment instructions
- [x] No mandatory CDN/runtime Node service
- [ ] Supplied Crowne Plaza SVG copied into package (source SVG was not attached)

## Phase 2 gate

After Phase 1 approval, add categories, menu items, images, variants, flavours, add-ons, allergens, ingredients and availability rules without changing the Phase 1 hotel/restaurant/QR identity model.
