Hestino.CatalogPackages is the authoritative package containing
versioned Hestino tenant catalog definitions.
It defines the standard catalog data that must be installed for every Hestino tenant during tenant provisioning and reused when existing tenants are upgraded to newer catalog package versions.
| Package ID | Hestino.CatalogPackages |
|---|---|
| Current Version | 2026.1.0 |
| Target Framework | .NET Standard 2.1 |
| NuGet Feed | https://nuget.dreamconsistency.com/v3/index.json |
| Bitbucket Repository | Hestino.CatalogPackages |
| Jenkins Job | Hestino - Packages / Hestino.CatalogPackages - NuGet Release |
Hestino.Management.Api.
Hestino uses one shared physical Tenant database per environment.
However, all rows in the Hestino Tenant database are tenant-scoped and contain
a mandatory Tenant_RefID.
Catalog data is therefore not shared between tenants as database rows. Every tenant receives its own tenant-scoped copy of the required Hestino catalog items.
The package describes what must be installed.
Hestino.Management.Api, as part of the tenant provisioning workflow,
is responsible for how those catalog definitions are reconciled
into the shared Hestino Tenant database for the target
Tenant_RefID.
Hestino.Management.Api.
Catalog UUIDs represent stable semantic identities. Database primary keys and tenant references are installation-specific and are never stored inside the catalog package JSON.
Catalog JSON resources must not contain installation-specific database fields.
Tenant_RefIDCMN_CountryID or RAP_PermissionIDCreationTimestampModificationTimestampIsDeleted
These values are generated or resolved by Hestino.Management.Api
when catalog packages are installed or reconciled for a specific tenant.
The initial 2026.1.0 release contains two required Hestino tenant packages.
| Package | Version | Purpose | Dependency |
|---|---|---|---|
Hestino.Core |
2026.1.0 |
Core Hestino tenant catalogs including common reference data, access-control definitions, system roles, and configuration definitions. | None |
Hestino.Restaurant.Standard |
2026.1.0 |
Standard restaurant-specific catalogs including locations, menus, nutrition, dietary information, and publication types. | Hestino.Core >= 2026.1.0 |
Package dependencies define the required installation order. A dependent package must not be installed before all required package dependencies have been successfully installed for the same tenant.
| Area | Catalog |
|---|---|
| Common | CMN_Languages |
| Common | CMN_Currencies |
| Common | CMN_Countries |
| Common | CMN_TimeZones |
| Common | CMN_COM_ContactTypes |
| Common | CMN_AddressTypes |
| Common | CMN_UnitsOfMeasure |
| Access Control | RAP_Permission_Groups |
| Access Control | RAP_Permissions |
| Access Control | RAP_UserRoles system role definitions |
| Configuration | CNF_Configuration_Settings_Groups |
| Configuration | CNF_Configuration_Settings |
| Configuration | CNF_Configuration_Allowed_Settings_Values |
| Area | Catalog |
|---|---|
| Locations | LOC_LocationTypes |
| Locations | LOC_CuisineTypes |
| Locations | LOC_FeatureTypes |
| Locations | LOC_ExternalIdentifierTypes |
| Menus | MEN_ItemAvailabilityStatuses |
| Menus | MEN_Allergens |
| Menus | MEN_AllergenPresenceTypes |
| Menus | MEN_DietaryTags |
| Nutrition | NUT_Nutrients |
| Content | CNT_PublicationTypes |
System roles are distributed together with the permission definitions required by the Hestino application.
Role-to-permission relationships are represented by stable permission UUIDs in
the package definition. During tenant provisioning or catalog reconciliation,
Hestino.Management.Api resolves those UUIDs to tenant-local
permission IDs and creates the corresponding
RAP_UserRole_Permissions rows.
Relationship tables without their own semantic UUID are not treated as independent catalog resources.
The initial package contains the Hestino language catalog required for current and planned markets.
| Language | Culture Code | Native Name |
|---|---|---|
| English | en-US |
English |
| German | de-DE |
Deutsch |
| Romanian | ro-RO |
Română |
| Serbian (Latin) | sr-Latn-RS |
Srpski (latinica) |
| Serbian (Cyrillic) | sr-Cyrl-RS |
Српски (ћирилица) |
| Croatian | hr-HR |
Hrvatski |
| Russian | ru-RU |
Русский |
| Dutch | nl-NL |
Nederlands |
| Greek | el-GR |
Ελληνικά |
| Czech | cs-CZ |
Čeština |
| Slovenian | sl-SI |
Slovenščina |
| Italian | it-IT |
Italiano |
| French | fr-FR |
Français |
Some concepts, such as countries, currencies, languages, and time zones, exist both in the Realm database and in the Hestino Tenant database.
Where both catalogs represent the same semantic item, the same stable UUID should be used across the database boundary.
Installing the required Hestino catalog packages is a mandatory part of new
tenant provisioning and is executed by Hestino.Management.Api.
A tenant must not transition to ACTIVE /
COMPLETED until all required tenant catalog packages have been
successfully installed.
If installation fails, the provisioning operation remains retryable and the
tenant application remains in REGISTERED /
IN_PROGRESS.
Catalog package installation and reconciliation performed by
Hestino.Management.Api must be idempotent.
Re-running the same package for the same tenant must not create duplicate
semantic catalog items.
For catalog tables containing stable UUIDs, logical uniqueness is scoped by:
The same catalog UUID may therefore appear multiple times in the shared physical Tenant database, but only once for a particular tenant.
The repository contains a validation console:
Validation is executed as part of the release pipeline before the NuGet package can be packed and published.
Validation includes package structure, package dependencies, stable identity uniqueness, required catalog fields, and cross-catalog references.
Run validation locally with:
Add the package to a consuming component:
Consumers should load catalog definitions through the package provider rather than accessing embedded JSON resources directly.
Hestino.CatalogPackages repository and released as a new version.
| Component | Usage |
|---|---|
Hestino.Management.Api |
Loads Hestino catalog package definitions and installs or reconciles tenant-scoped catalog data as part of new tenant provisioning and future catalog package upgrades for existing tenants. |
Hestino.Management.Api is the product control plane responsible
for catalog package installation and reconciliation. No separate tenant
catalog installer service, console application, or repository is required.
Hestino packages use the following version format:
| Version | Meaning |
|---|---|
2026.1.0 |
First Hestino.CatalogPackages release in 2026. |
2026.1.1 |
Patch or non-breaking correction to catalog package release 2026.1.0. |
2026.2.0 |
Second catalog package release in 2026, normally containing new or intentionally updated catalog definitions. |
Jenkins receives the Hestino package version explicitly, for example:
The release pipeline must succeed completely before a package is published. Catalog validation failure or compilation failure blocks publication.
Tenant_RefID must never be stored in catalog JSON.Hestino.Management.Api supplies Tenant_RefID during tenant catalog installation or reconciliation.Hestino.Management.Api must be idempotent.Before publishing a new release, run:
| Version | Date | Change |
|---|---|---|
2026.1.0 |
2026-08-10 | Initial Hestino catalog package release. Added Hestino.Core and Hestino.Restaurant.Standard packages, common tenant catalogs, access-control definitions, system roles and permissions, configuration definitions, location catalogs, menu and allergen catalogs, dietary and nutrition catalogs, publication types, and initial support for 13 Hestino languages. |