# Hospitality Routing Map

**Base:** `/hospitality`  
**Generator:** `frontend/scripts/scaffold-hospitality-module.mjs`

## Route pattern

```tsx
// app/hospitality/{path}/page.tsx
"use client";
export { PageName as default } from "@/modules/hospitality/features/{feature}";
```

## All routes (54)

| Path | Feature export | Bundle gate |
|------|----------------|-------------|
| `/hospitality` | ExecutiveDashboard | — |
| `/hospitality/hub` | HospitalityHub | — |
| `/hospitality/branches` | BranchesPage (venues) | — |
| `/hospitality/branches/list` | BranchListPage | — |
| `/hospitality/dining-areas` | DiningAreasPage | — |
| `/hospitality/tables` | TablesPage | — |
| `/hospitality/floor-map` | FloorMapPage | pos_pro |
| `/hospitality/reservations` | ReservationsPage | reservation |
| `/hospitality/queue` | QueuePage | table_service |
| `/hospitality/customers` | CustomersPage | crm_connector |
| `/hospitality/guests` | GuestsPage | qr_menu |
| `/hospitality/menu` | DigitalMenuPage | digital_menu |
| `/hospitality/menu/categories` | MenuCategoriesPage | digital_menu |
| `/hospitality/menu/items` | MenuItemsPage | digital_menu |
| `/hospitality/menu/modifiers` | ModifierGroupsPage | digital_menu |
| `/hospitality/menu/modifier-options` | ModifierOptionsPage | digital_menu |
| `/hospitality/menu/availability` | AvailabilityPage | digital_menu |
| `/hospitality/menu/media` | MediaLibraryPage | digital_menu |
| `/hospitality/qr/menu` | QrMenuPage | qr_menu |
| `/hospitality/qr/ordering` | QrOrderingPage | qr_ordering |
| `/hospitality/ordering/cart` | CartPage | qr_ordering |
| `/hospitality/ordering/checkout` | CheckoutPage | qr_ordering |
| `/hospitality/kitchen/display` | KitchenDisplayPage | kitchen |
| `/hospitality/kitchen/queue` | KitchenQueuePage | kitchen |
| `/hospitality/kitchen/preparation` | KitchenPrepPage | kitchen |
| `/hospitality/pos/lite` | PosLitePage | pos_lite |
| `/hospitality/pos/pro` | PosProPage | pos_pro |
| `/hospitality/pos/register` | CashRegisterPage | pos_lite |
| `/hospitality/pos/payments` | PaymentsPage | pos_pro |
| `/hospitality/pos/discounts` | DiscountsPage | pos_pro |
| `/hospitality/pos/coupons` | CouponsPage | pos_pro |
| `/hospitality/pos/promotions` | PromotionsPage | pos_pro |
| `/hospitality/integrations/delivery` | DeliveryIntegrationPage | delivery_connector |
| `/hospitality/orders/pickup` | PickupOrdersPage | qr_ordering |
| `/hospitality/orders/online` | OnlineOrdersPage | qr_ordering |
| `/hospitality/orders/timeline` | OrderTimelinePage | kitchen |
| `/hospitality/invoices` | InvoicesPage | pos_lite |
| `/hospitality/receipts` | ReceiptsPage | pos_lite |
| `/hospitality/reports` | ReportsPage | analytics |
| `/hospitality/analytics` | AnalyticsPage | analytics |
| `/hospitality/inventory` | InventoryPage | analytics |
| `/hospitality/integrations/crm` | CrmIntegrationPage | crm_connector |
| `/hospitality/integrations/loyalty` | LoyaltyIntegrationPage | loyalty_connector |
| `/hospitality/integrations/communication` | CommunicationIntegrationPage | communication_connector |
| `/hospitality/integrations/website` | WebsiteIntegrationPage | website_connector |
| `/hospitality/integrations/marketplace` | MarketplaceIntegrationPage | — |
| `/hospitality/settings` | SettingsPage | — |
| `/hospitality/permissions` | PermissionsPage | — |
| `/hospitality/roles` | RolesPage | — |
| `/hospitality/audit` | AuditLogsPage | — |
| `/hospitality/notifications` | NotificationsPage | — |
| `/hospitality/health` | HealthPage | — |
| `/hospitality/capabilities` | CapabilitiesPage | — |
| `/hospitality/bundles` | BundlesPage | — |

## Layout files

| File | Purpose |
|------|---------|
| `app/hospitality/layout.tsx` | Root portal layout |
| `app/hospitality/not-found.tsx` | 404 |
| Each route `loading.tsx` | Skeleton |
| Each route `error.tsx` | Error boundary |

## BFF

`GET|POST|PATCH|PUT|DELETE /api/hospitality/{path}` → `HOSPITALITY_SERVICE_URL` (default `http://localhost:8009`)
