Dataset - Cash register

Table: cashiers

Operators who process transactions at the point of sale.

Column

Required

Type

Description

merchant_id

YES

STRING

Unique identifier of the merchant

cashier_id

YES

STRING

Unique identifier of the cashier

cashier_name

YES

STRING

Display name of the cashier


Table: channels

Sales channels through which orders can be placed.

Column

Required

Type

Description

merchant_id

YES

STRING

Unique identifier of the merchant

channel_id

YES

STRING

Unique identifier of the channel

channel_name

YES

STRING

Display name of the channel

channel_type

YES

STRING

Type of channel (e.g., cash register, mobile ordering, kiosk)


Table: merchants

Business entities. All data is isolated by merchant.

Column

Required

Type

Description

merchant_id

YES

STRING

Unique identifier of the merchant

merchant_name

YES

STRING

Display name of the merchant/business


Table: orders

Transaction records containing order totals and metadata.

Column

Required

Type

Description

merchant_id

YES

STRING

Unique identifier of the merchant

order_id

YES

STRING

Unique identifier of the order

order_short_id

YES

STRING

Human-readable short order ID for receipts/display

user_id

YES

STRING

ID of the user who created the order

cashier_id

YES

STRING

ID of the cashier who processed the order

channel_id

YES

STRING

ID of the sales channel where order was placed

pos_id

YES

STRING

ID of the POS terminal/configuration

device_id

YES

STRING

ID of the physical device used

order_type

YES

STRING

Transaction type (purchase or refund)

purchased_by

YES

STRING

Reference to original order (for refunds)

currency

YES

STRING

ISO currency code (e.g., EUR, USD)

total

YES

NUMERIC

Final order total including tip, deposit, and discounts

vat_gross

YES

NUMERIC

Total gross amount subject to VAT

vat_tax

YES

NUMERIC

Total VAT/tax amount

vat_net

YES

NUMERIC

Total net amount (gross minus tax)

subtotal

YES

NUMERIC

Order subtotal before tip and deposits

tip

YES

NUMERIC

Tip amount added to the order

discount

YES

NUMERIC

Total discount amount applied

voucher

YES

STRING

Voucher/promo code applied to the order

deposit

YES

NUMERIC

Container deposit charged (bottles, glasses)

deposit_return

YES

NUMERIC

Value of deposits returned to customer

attributes

NO

ARRAY

Additional order attributes/flags

ordered_at

YES

TIMESTAMP

When the order was created

ingestion

YES

TIMESTAMP

When the record was loaded into the data warehouse


Table: payments

Payment transactions linked to orders. An order can have multiple payments (split payments).

Column

Required

Type

Description

merchant_id

YES

STRING

Unique identifier of the merchant

order_id

YES

STRING

ID of the associated order

payment_id

YES

STRING

Unique identifier of the payment

payment_amount

YES

NUMERIC

Amount of this payment

payment_method

YES

STRING

Payment method used (e.g., cash, card terminal, online payment)

payment_device

YES

STRING

ID of the payment terminal/device used

payment_provider

YES

STRING

Payment processor handling the transaction

payment_status

YES

STRING

Status of the payment (e.g., success, failed, canceled)

payment_type

YES

STRING

Type classification of the payment

payment_card_brand

YES

STRING

Card brand (e.g., Visa, Mastercard, Maestro)

payment_card_funding_type

YES

STRING

Card funding type (debit or credit)

payment_card_entry_mode

YES

STRING

How the card was read (e.g., chip, contactless, swipe)

payment_card_country

YES

STRING

Country of card issuance

invoice_name

YES

STRING

Company/customer name for invoice

invoice_email

YES

STRING

Email address for invoice delivery

invoice_additional_information

YES

STRING

Additional invoice details/notes

reduction_card_code

YES

STRING

Code of prepaid/loyalty card used for payment

currency

YES

STRING

ISO currency code

voucher

YES

STRING

Voucher code associated with payment

ingestion

YES

TIMESTAMP

When the record was loaded into the data warehouse


Table: pos

Point of Sale terminal configurations.

Column

Required

Type

Description

merchant_id

YES

STRING

Unique identifier of the merchant

pos_id

YES

STRING

Unique identifier of the POS configuration

pos_name

YES

STRING

Display name of the POS terminal


Table: products

Order line items representing products sold in orders.

Column

Required

Type

Description

merchant_id

YES

STRING

Unique identifier of the merchant

order_id

YES

STRING

ID of the associated order

type

YES

STRING

Line item type indicator

product_id

YES

STRING

Unique identifier of the product

product_type

YES

STRING

Product type (e.g., food/beverage, ticket, voucher)

product_name

YES

STRING

Display name of the product

custom_product_id

YES

STRING

Merchant-defined custom product identifier

ean_code

YES

STRING

EAN/barcode of the product

cost_centre

YES

STRING

Cost centre for accounting

ledger_id

YES

STRING

ID of the ledger entry

ledger_group_code

YES

STRING

Ledger group code for accounting categorization

ledger_group_name

YES

STRING

Display name of the ledger group

ledger_group_category

YES

STRING

Category within the ledger group

ledger_group_cost_centre

YES

STRING

Cost centre associated with the ledger group

price

YES

NUMERIC

Unit price of the product

discount

YES

NUMERIC

Discount amount applied to this line

vat_gross

YES

NUMERIC

Gross amount subject to VAT

vat_tax

YES

NUMERIC

VAT/tax amount

vat_net

YES

NUMERIC

Net amount (gross minus tax)

cost_price

YES

NUMERIC

Cost/purchase price of the product (for margin calculation)

quantity

YES

NUMERIC

Number of units sold

ticket_provider

YES

STRING

Ticket provider (for ticket products)

ticket_type_id

YES

STRING

Type ID from the ticket provider

ticket_provider_order_id

YES

STRING

Order ID from the ticket provider

vat

YES

NUMERIC

VAT percentage rate

tags

NO

ARRAY

Product tags (name/value pairs)

ordered_at

YES

TIMESTAMP

When the order was placed

reduction_card_code

YES

STRING

Reduction card code (for voucher products)

external_card_brand

YES

STRING

Brand of external gift/voucher card

external_card_provider

YES

STRING

Provider of external card

ingestion

YES

TIMESTAMP

When the record was loaded into the data warehouse


Table: tickets

Individual ticket barcodes for ticket-type products.

Column

Required

Type

Description

merchant_id

YES

STRING

Unique identifier of the merchant

order_id

YES

STRING

ID of the associated order

product_id

YES

STRING

ID of the ticket product

ticket_provider

YES

STRING

Ticket provider system

ticket_type_id

YES

STRING

Type identifier from the ticket provider

ticket_provider_order_id

YES

STRING

Order reference from the ticket provider

barcode

YES

STRING

Unique barcode/QR code for the ticket

barcode_description

YES

STRING

Human-readable description of the ticket


Table: users

Users with access to the system.

Column

Required

Type

Description

merchant_id

YES

STRING

Unique identifier of the merchant

user_id

YES

STRING

Unique identifier of the user

user_name

YES

STRING

Display name of the user


Notes

  • All monetary fields use NUMERIC type with 2 decimal precision

  • merchant_id is the primary key for data isolation across all tables

  • ordered_at represents when the business transaction occurred

  • An order can have multiple payments (split payment support)

  • The products table contains order line items, not catalog definitions


Public ERD

image-20260402-085436.png