Register all active platform services and base features in core DB so admin can manage them, add delivery/hospitality/sports-center backend phases, update apps catalog and production deploy tooling. Co-authored-by: Cursor <cursoragent@cursor.com>
3.4 KiB
Phase 12.1 — Digital Menu Catalog
| Field | Value |
|---|---|
| Status | Complete |
| Module | hospitality |
| Commercial Product | Torbat Food |
| Version | 0.12.1.0 |
| Database | hospitality_db |
| API Port | 8009 |
| ADR | ADR-001, ADR-003, ADR-006, ADR-017 |
| Prior phase | 12.0 Foundation |
Goal
Extend the Hospitality Platform digital menu with catalog depth — allergens, modifier groups/options, availability windows, Storage media refs, and multi-language shells — without introducing POS, kitchen, QR ordering, or reservation engines.
Scope (In)
- Catalog aggregates: Allergen, ModifierGroup, ModifierOption, MenuItemModifier, MenuItemAllergen, AvailabilityWindow, MenuMediaRef, MenuLocalization
- Additive MenuItem fields: preparation_minutes, calories, spicy_level, dietary flags, tags, primary_media_ref
- Catalog APIs under
/api/v1+ validators + permissionshospitality.allergens|modifier_*|availability_windows|menu_media|menu_localizations.* - Publish-only catalog events
hospitality.* - Alembic
0002_phase_121_digital_menu_catalog - Capability flag
digital_menu_catalog: true; version0.12.1.0
Out of Scope
- POS Lite / POS Pro
- Kitchen display / tickets
- QR Menu rendering / QR Ordering
- Reservation / Table Service engines
- Payment posting / Delivery dispatch
- Binary media storage (refs to Storage only)
Owned Modules (aggregates)
Independent aggregates in app/models/catalog.py (UUID refs only). Foundation menu shells from 12.0 remain owners of Menu / Category / Item core rows.
Published Events
| Event | Aggregate |
|---|---|
hospitality.allergen.created |
allergen |
hospitality.modifier_group.created |
modifier_group |
hospitality.modifier_option.created |
modifier_option |
hospitality.menu_item_modifier.linked |
menu_item_modifier |
hospitality.menu_item_allergen.linked |
menu_item_allergen |
hospitality.availability_window.created |
availability_window |
hospitality.menu_media_ref.created |
menu_media_ref |
hospitality.menu_localization.upserted |
menu_localization |
API Contracts (catalog)
| Resource | Prefix |
|---|---|
| Allergens | /api/v1/allergens |
| Modifier groups / options | /api/v1/modifier-groups, /modifier-options |
| Item ↔ modifier / allergen links | /api/v1/menu-item-modifiers/link, /menu-item-allergens/link |
| Availability windows | /api/v1/availability-windows |
| Menu media refs | /api/v1/menu-media-refs |
| Menu localizations | /api/v1/menu-localizations/upsert |
Permissions
Catalog trees: hospitality.allergens.*, hospitality.modifier_groups.*, hospitality.modifier_options.*, hospitality.availability_windows.*, hospitality.menu_media.*, hospitality.menu_localizations.*.
Quality Gates
All gates passed (architecture, dependency, migration, tenant isolation, API, permissions, security, performance, documentation). See phase-handover/phase-12-1.md.