TorbatYar/docs/hospitality-phase-12-1.md
Mortezakoohjani 5c6a2e78cf feat(platform): seed service registry, deploy all modules, and fix homepage catalog.
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>
2026-07-27 12:39:51 +03:30

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 + permissions hospitality.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; version 0.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.