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_transaction_tenders.md 4,195 bytes · Updated Oct 23, 2026 10:44 AM EDT
Raw File

curated.pos_transaction_tenders

Purpose

This table stores tender or payment facts associated with POS transactions. It provides a flattened payment-level surface for settlement analysis, tender mix reporting, drawer reconciliation, and payment troubleshooting.

Each row represents one tender event or payment record in the current reporting-oriented contract.

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
checkINTEGERYesCheck or transaction number being paid.
dateDATEYesBusiness date associated with the tender record.
typeidINTEGERYesSpecific tender or payment subtype identifier.
unitVARCHAR(6)YesStore or unit code in the source contract.
amountDOUBLE PRECISIONYesMain tender amount applied.
typeINTEGERYesTender record type code.
nameVARCHAR(20)YesTender or payer display name.
tipDOUBLE PRECISIONYesTip amount attached to the tender.
houseidINTEGERYesHouse-account identifier when relevant.
tippableINTEGERYesFlag indicating whether the tender is tip-eligible.
hourINTEGERYesHour bucket associated with the tender event.
minuteINTEGERYesMinute bucket associated with the tender event.
idINTEGERYesTender record identifier.
autogratDOUBLE PRECISIONYesAutomatic gratuity amount associated with the tender.
strunitINTEGERYesStructured unit identifier from the source contract.
revenueINTEGERYesRevenue identifier associated with the tender.
occasionINTEGERYesOccasion identifier associated with the transaction.
sourceINTEGERYesSource code indicating where the tender originated.
store_nameVARCHAR(255)YesReadable store name associated with the tender event.
tender_nameVARCHAR(255)YesReadable tender or payment-method name used in canonical business form.
payment_familyVARCHAR(100)YesStandardized payment family code such as cash, card, wallet, loyalty, or house account.
payment_family_nameVARCHAR(255)YesReadable business name of the standardized payment family.
event_time_utcTIMESTAMPYesUTC timestamp representing the canonical tender event time.
business_dateDATEYesBusiness date associated with the tender event in curated logic.
currency_codeVARCHAR(10)YesISO or business-standard currency code used for tender monetary values.

Technical and ETL properties

ColumnTypeNullableTechnical MeaningNotes
transaction_tender_keyBIGINTYesStable warehouse key for the transaction tender fact row.
source_systemVARCHAR(100)YesCanonical name of the source platform that produced the tender event row.
source_transaction_tender_idVARCHAR(199)YesOriginal transaction tender identifier from the source platform.
tenant_keyBIGINTYesStable warehouse key for the tenant, brand, or client that owns the tender event.
tenant_nameVARCHAR(255)YesReadable tenant, brand, or client name associated with the tender event.
_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.