# Hospitality Commercial Report > ADR-023 commercial foundation · Commercial Runtime CERTIFIED · Hospitality L2 bundles remain service-owned (ADR-017 / ADR-021 pattern). ## Dynamic commercial consumption | Concern | Source | | --- | --- | | Product display name | `loadCommercialProducts` via `useHospitalityProductBrand` | | Entitlement lock | `FeatureLock` + `checkFeatureAccess` (`hospitality.{bundle}`) | | Upgrade path | UpgradePrompt → `/billing` | | Required bundle / capability | Shown on CapabilityUnavailable | | Hospitality L2 packs | `GET /capabilities` + tenant bundles UI | | Pricing / plans | Never hardcoded in Hospitality UI | ## Feature lock layers 1. **L2 Hospitality bundle** (`HospitalityBundleGate`) — service capability flags 2. **Commercial entitlement** (`FeatureLock`) — platform plan / license ## Hardcoded product ban Hardcoded «تربت فود / Torbat Food» removed from hub/dashboard primary labels; falls back to opaque «Hospitality» only when commercial registry empty/unavailable (honest message). ## Marketplace Not sold as a Hospitality connector list — **CapabilityUnavailable** until marketplace foundation exists.