Spensara Spensara Knowledge Base & Documentation Repository

Repository Docs & Knowledge Base

Consolidated Spensara documentation repository (722 Markdown & architecture documents in ../repository)
Built Word Documents (.docx): Spensara Overview (.docx) Capability Assessment (.docx) Brink POS Ingestion Analysis (.docx) The Borg Ingestion Architecture (.docx)

Warehouse Model (93)

Analytical data warehouse schemas, curated tables, and Redshift/Athena data models.
warehouse-model/docs/features/ETL/warehouse-data/curated-model/pos_menu_items.md 3,879 bytes · Updated Oct 23, 2026 10:44 AM EDT
Raw File

curated.pos_menu_items

Purpose

This table stores menu-facing items as they should be presented in ordering or store-operational surfaces. It combines product, category, pricing, and menu-state fields into a lightweight serving model.

It is especially useful for menu rendering, 86-state tracking, and kitchen-delay or station routing context at the menu level.

Schema contract

The deployed SQL under backend/Kds.Ai.Warehouse/Sql/Bootstrap/Tenant/Curated/ is the source of truth for the current column names, types, and nullability.

Column groups

  • Business properties describe the business entity, event, fact, or reference record represented by the table.
  • Technical and ETL properties describe warehouse lineage, surrogate keys, source reconciliation, tenant scoping, slowly changing dimension controls, and ingestion metadata.

Business properties

ColumnTypeNullableBusiness MeaningNotes
item_idINTEGERNoMenu item identifier.
item_nameVARCHAR(255)NoCustomer- or operator-facing item name.
priceDECIMAL(10, 2)NoCurrent selling price of the item.
category_idINTEGERNoCategory identifier for menu grouping.
descriptionVARCHAR(65535)YesLonger description shown to users or operators.
kds_delayINTEGERYesDelay or prep offset used for kitchen-display behavior.
category_nameVARCHAR(100)YesHuman-readable category label.
kds_stationINTEGERYesKitchen station or routing identifier for the item.
is_86dDECIMAL(2, 0)YesFlag indicating that the item is currently unavailable or 86'd.
86d_reasonVARCHAR(65535)YesFree-form reason why the item is unavailable.
86d_atTIMESTAMPYesTimestamp when the item was marked unavailable.
station_nameVARCHAR(255)YesReadable kitchen station or routing name for the item.
availability_statusVARCHAR(100)YesStandardized business status of menu availability such as active, unavailable, or seasonal.
is_activeBOOLEANYesCanonical flag indicating whether the menu item is active in the curated model.
costDECIMAL(10, 2)YesItem cost used for margin and cost analysis.
snapshot_dateDATEYesDate of the menu item snapshot used for ETL partitioning.
currency_codeVARCHAR(10)YesISO or business-standard currency code used for menu price values.
timezone_nameVARCHAR(100)YesCanonical IANA or business-standard time zone name used for menu-state timestamps.

Technical and ETL properties

ColumnTypeNullableTechnical MeaningNotes
menu_item_keyBIGINTYesStable warehouse key for the menu item entity.
source_systemVARCHAR(100)YesCanonical name of the source platform that produced the menu item row.
source_menu_item_idVARCHAR(199)YesOriginal menu item identifier from the source platform.
effective_from_utcTIMESTAMPYesUTC timestamp from which the current menu-item state is valid.
effective_to_utcTIMESTAMPYesUTC timestamp until which the current menu-item state is valid.
tenant_keyBIGINTYesStable warehouse key for the tenant, brand, or client that owns the menu item.
tenant_nameVARCHAR(255)YesReadable tenant, brand, or client name associated with the menu item.
_etl_batch_idVARCHAR(256)YesETL batch lineage identifier.
_etl_source_typeVARCHAR(100)YesSource adapter type used by ETL.
_etl_ingested_atTIMESTAMPNoWarehouse ingestion timestamp for the curated row.Required ingestion audit timestamp.