Opseno department navigation map
Full-suite launcher (16 department apps). Source of truth:
src/config/departments.ts.
Shell modes
| Mode | Route / chrome |
|---|---|
| Launcher | /apps — TorQ Concierge right rail + department cards (TorQ card omitted when rail is on); sidebar hidden |
| Department hub | /apps/[departmentId] — scoped sidebar + hub KPIs / quick actions |
| Department ops | Existing screens under that department — same scoped sidebar |
| HK role | Housekeeping + Help cards / /hk |
| Cafe POS | pos, store, books, help, control (+ torq when AI module on) |
Sixteen departments
| ID | Hub | Ops |
|---|---|---|
| torq | /apps/torq | /torq, /ai |
| front_desk | /apps/front_desk | /front-desk |
| housekeeping | /apps/housekeeping | /hk, FD HK tab |
| fnb | /apps/fnb | /fnb, /settings/fnb |
| kitchen | /apps/kitchen | /fnb/kitchen |
| store | /apps/store | /inventory, /parties |
| purchasing | /apps/purchasing | /purchases |
| hr | /apps/hr | /hr/* |
| payroll | /apps/payroll | /payroll/* |
| guests_sales | /apps/guests_sales | /guests, /crm/* |
| books | /apps/books | /sales, /reports, /dashboard |
| pos | /apps/pos | /pos |
| night_audit | /apps/night_audit | FD ?focus=night-audit, Hotel GL |
| rates | /apps/rates | property rates / rooms / types |
| help | /help | /help, /docs |
| control | /apps/control | settings, integrations (not TorQ) |
Dynamic sidebar
resolveDepartmentFromLocation(pathname, search) picks the active department (longest prefix + FD query exceptions). AppLayout renders that department’s nav; the OPSENO mark links to /apps. Launcher hides the sidebar entirely. /torq scopes to the TorQ Concierge department, not Control.
Rollback
workspaces.settings.shell.departments = false restores the classic flat mega-sidebar.