Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Chapter 35: Glossary

Complete A-Z Reference for POS Platform Terminology

This glossary provides definitions for all technical terms, acronyms, and domain concepts used throughout this Blueprint Book.


A

ADR (Architecture Decision Record)

A document that captures an important architectural decision along with its context and consequences. ADRs provide a historical record of why decisions were made.

Example: “ADR-001: Use schema-per-tenant for data isolation”

Aggregate

In Domain-Driven Design, a cluster of domain objects that can be treated as a single unit. An aggregate has a root entity and enforces consistency boundaries.

Example: Order is an aggregate root containing OrderLines, Payments, and Discounts.

API Gateway

A server that acts as the single entry point for all client requests. It handles request routing, composition, and protocol translation.

Audit Log

An append-only record of all significant events in the system. Used for compliance, debugging, and analytics.

POS Context: Every inventory change, transaction, and user action is logged.


B

Background Job

A task that runs asynchronously outside the main request/response cycle. Used for scheduled tasks, long-running operations, and deferred processing.

POS Context: Daily inventory snapshots, report generation, sync operations.

Barcode

A machine-readable representation of data, typically printed on product labels. Common formats include UPC-A, EAN-13, Code 128, and QR codes.

Blazor

A .NET web framework for building interactive web UIs using C# instead of JavaScript. Stanly uses Blazor Server for its admin interface.

Bounded Context

In DDD, a logical boundary within which a particular domain model is defined and applicable. Different bounded contexts may have different models for the same real-world concept.

POS Context: “Inventory” context vs “Sales” context may model products differently.

BRIN Index (Block Range Index)

A PostgreSQL index type optimized for large tables with naturally ordered data (like timestamps). More compact than B-tree for sequential data.

Usage: CREATE INDEX idx_events_created ON events USING BRIN (created_at);

Bridge

A software component that connects two different systems. In Stanly, the Bridge connects store computers running QuickBooks POS to the central Stanly server.


C

Cash Drawer

The physical drawer containing cash, typically connected to a POS terminal. Opened programmatically when cash transactions occur.

Checkout

The process of completing a sale, including scanning items, applying discounts, collecting payment, and generating a receipt.

Circuit Breaker

A design pattern that prevents cascading failures by detecting failures and stopping attempts to invoke a failing service.

Example: If payment gateway fails 5 times, stop trying for 30 seconds.

Command (CQRS)

An operation that modifies state. Commands are imperative (“CreateOrder”, “ApplyDiscount”) and may be rejected if invalid.

Connection String

A string containing information needed to connect to a database, including server, port, database name, and credentials.

Example: Host=postgres16;Port=5432;Database=pos_db;Username=pos_user;Password=xxx

CORS (Cross-Origin Resource Sharing)

A security mechanism that allows or restricts web pages from making requests to a different domain than the one serving the page.

CQRS (Command Query Responsibility Segregation)

An architectural pattern that separates read operations (queries) from write operations (commands). Allows optimizing each path independently.

Customer Display

A secondary screen facing the customer showing items being scanned, prices, and transaction totals.


D

Dead Letter Queue

A queue where messages that cannot be processed are sent for later analysis. Prevents message loss and enables debugging.

Dependency Injection (DI)

A technique where objects receive their dependencies from external sources rather than creating them internally. Promotes loose coupling and testability.

Discrepancy

A difference between expected and actual values. In inventory, the difference between system quantity and physical count.

Docker

A platform for developing, shipping, and running applications in containers. Provides consistent environments across development and production.

Docker Compose

A tool for defining and running multi-container Docker applications using YAML configuration files.

Domain Event

A record that something significant happened in the domain. Events are named in past tense (“OrderCreated”, “PaymentReceived”).

Domain-Driven Design (DDD)

An approach to software development that focuses on modeling the business domain and using a ubiquitous language shared by developers and domain experts.

DTO (Data Transfer Object)

An object that carries data between processes. DTOs are simple containers with no business logic.


E

EF Core (Entity Framework Core)

Microsoft’s object-relational mapper (ORM) for .NET. Maps database tables to C# classes and handles CRUD operations.

EMV

A global standard for chip-based credit and debit card transactions. Named after Europay, Mastercard, and Visa.

Entity

In DDD, an object defined by its identity rather than its attributes. Entities have a unique identifier that persists over time.

Example: A Customer is an entity - even if their name changes, they’re still the same customer.

Event Sourcing

A pattern where state is stored as a sequence of events rather than current values. The current state is derived by replaying all events.

Benefit: Complete audit trail, ability to reconstruct any historical state.

Event Store

A database optimized for storing and retrieving events. Provides append-only storage and efficient event streaming.


F

Failover

The automatic switching to a backup system when the primary system fails.

Fiscal Printer

A specialized printer that generates legally-compliant receipts with tax calculations. Required in some jurisdictions.

Fitness Function

An automated test that verifies architectural characteristics (performance, security, scalability) are maintained as the system evolves.

Example: “API response time must be < 200ms for 95th percentile”

Flyway

A database migration tool that manages schema versioning and applies migrations in order.

Fulfillment

The process of preparing and shipping an order to the customer.


G

GDPR (General Data Protection Regulation)

EU regulation on data protection and privacy. Requires consent for data collection, right to deletion, and data portability.

Gift Card

A prepaid stored-value card issued by a retailer. Can be physical or digital.

gRPC

A high-performance RPC framework using Protocol Buffers. Alternative to REST for service-to-service communication.


H

Hangfire

A .NET library for running background jobs. Provides scheduling, retry logic, and a dashboard.

Hardware Security Module (HSM)

A physical device that safeguards cryptographic keys. Used for PCI-DSS compliance.

Heartbeat

A periodic signal sent to indicate a system is alive and functioning. In Stanly, bridges send heartbeats every 60 seconds.

Horizontal Scaling

Adding more machines to handle increased load. Contrast with vertical scaling (adding resources to existing machines).

Hot Path

The code path executed for the most common operations. Must be optimized for performance.


I

Idempotency

The property where an operation produces the same result regardless of how many times it’s executed. Critical for retry logic.

Example: Creating an order with idempotency key ensures duplicates aren’t created on retry.

Idempotency Key

A unique identifier included with requests to enable idempotent operations.

Index (Database)

A data structure that improves query performance by providing quick lookup paths. Types include B-tree, BRIN, GIN, and GiST.

Integration Test

A test that verifies multiple components work together correctly. Tests real database, real services.

Inventory

The quantity and value of goods available for sale. Tracked by SKU and location.


J

Job

See Background Job.

JSON Web Token

See JWT.

JWT (JSON Web Token)

A compact, URL-safe means of representing claims between parties. Used for authentication in APIs.

Structure: Header.Payload.Signature (base64 encoded)


K

Kiosk Mode

A locked-down interface mode where users can only access specific application features. Prevents tampering with settings.


L

Layaway

A payment plan where items are reserved and paid for over time before being picked up.

Load Balancer

A device or software that distributes network traffic across multiple servers.

Location

A physical place where inventory is stored and/or sold. Each location has separate inventory counts.

Stanly Locations: HQ, GM, HM, LM, NM

Logging

Recording application events for debugging, monitoring, and audit purposes.


M

Materialized View

A database view that stores query results physically. Faster to query but must be refreshed when source data changes.

Microservice

An architectural style where applications are composed of small, independent services that communicate over a network.

Middleware

Software that sits between the application and the network/OS, handling cross-cutting concerns like authentication, logging, and error handling.

Migration (Database)

A version-controlled change to database schema. Applied in order to evolve the database structure.

Multi-Tenancy

An architecture where a single instance of software serves multiple customers (tenants), with data isolation between them.

Strategies: Shared database, schema-per-tenant, database-per-tenant.


N

N+1 Query Problem

A performance anti-pattern where code executes N additional queries to fetch related data for N items. Solved with eager loading or batch queries.


O

OAuth 2.0

An authorization framework that enables third-party applications to obtain limited access to user accounts.

Offline-First

A design approach where applications work without network connectivity and sync when connection is available.

ORM (Object-Relational Mapping)

A technique for converting data between incompatible type systems in object-oriented programming languages and relational databases.

Outbox Pattern

A pattern for reliable message publishing where messages are saved to a database table (outbox) before being published to a message broker.


P

Pagination

Dividing large result sets into smaller pages for display and transmission.

Partitioning

Dividing a database table into smaller, more manageable pieces while maintaining a single logical table.

Types: Range partitioning (by date), list partitioning (by tenant).

Payment Gateway

A service that authorizes credit card payments and transfers funds.

PCI-DSS (Payment Card Industry Data Security Standard)

A set of security standards for organizations that handle credit card data.

Key Requirements: Network security, cardholder data protection, vulnerability management, access control, monitoring, security policy.

PLU (Price Look-Up)

A 4 or 5 digit number assigned to produce items for checkout identification.

POS (Point of Sale)

The place and system where a retail transaction is completed. Includes hardware (terminal, scanner, printer) and software.

PostgreSQL

An open-source relational database known for robustness, extensibility, and standards compliance.

Projection

In event sourcing, a read model built by processing events. Optimized for specific query patterns.


Q

QBXML

QuickBooks’ XML-based API format for communicating with QuickBooks Point of Sale.

Query (CQRS)

An operation that returns data without modifying state. Queries can be optimized independently from commands.

Queue

A data structure that holds items in order. Used for background jobs, message passing, and load leveling.


R

RBAC (Role-Based Access Control)

An access control method where permissions are assigned to roles, and roles are assigned to users.

POS Roles: SuperAdmin, TenantAdmin, Manager, Cashier, Auditor.

Read Replica

A database copy that handles read queries, reducing load on the primary database.

Receipt

A document acknowledging a transaction. Can be printed, emailed, or displayed digitally.

Reconciliation

The process of comparing two sets of records to ensure they match. Used for inventory and financial data.

Refund

A return of payment to a customer, typically for returned merchandise.

Repository Pattern

A design pattern that provides an abstraction layer between the domain and data mapping layers.

REST (Representational State Transfer)

An architectural style for web services using HTTP methods (GET, POST, PUT, DELETE) to operate on resources.

Retry Policy

A strategy for automatically retrying failed operations with configurable delays and limits.

RFID (Radio-Frequency Identification)

Technology using electromagnetic fields to automatically identify and track tags attached to objects. Raptag uses RFID for inventory scanning.

Row-Level Security (RLS)

A PostgreSQL feature that restricts which rows a user can access based on policies.


S

SaaS (Software as a Service)

A software distribution model where applications are hosted centrally and accessed via the internet.

Saga

A pattern for managing distributed transactions by defining a sequence of local transactions with compensating actions for rollback.

Schema

The structure of a database including tables, columns, types, and relationships.

Schema-Per-Tenant

A multi-tenancy strategy where each tenant has their own database schema within a shared database.

SDK (Software Development Kit)

A collection of tools and libraries for building applications for a specific platform.

Seeding

Populating a database with initial data required for the application to function.

Serilog

A .NET logging library with structured logging capabilities.

Service Bus

A messaging infrastructure that enables asynchronous communication between services.

Session

A server-side storage mechanism that maintains state across multiple requests from the same client.

Sharding

Distributing data across multiple databases based on a shard key (like tenant ID).

SignalR

A .NET library for adding real-time web functionality using WebSockets.

SKU (Stock Keeping Unit)

A unique identifier for a distinct product. Used for inventory tracking and sales analysis.

Example: “NXP0323” identifies a specific product variant.

Snapshot

A point-in-time copy of data. Used in event sourcing to avoid replaying all events.

Soft Delete

Marking records as deleted without physically removing them. Enables recovery and audit.

Implementation: is_deleted boolean column, excluded from normal queries.

Split Payment

A transaction where payment is made using multiple payment methods (e.g., $50 cash + $30 credit card).

Swagger/OpenAPI

A specification for describing REST APIs. Enables automatic documentation and client generation.


T

Tailscale

A VPN service using WireGuard that creates secure mesh networks. Used for connecting store bridges to central Stanly.

Tenant

A customer organization in a multi-tenant system. Each tenant’s data is isolated from others.

Tenant ID

A unique identifier for a tenant, typically a UUID. Used to scope all data and operations.

Token

A piece of data representing identity or authorization. See JWT.

Transaction

In databases, a unit of work that is atomic (all or nothing). In retail, a sale or return event.


U

Ubiquitous Language

In DDD, a common language shared by developers and domain experts, used in code and conversations.

Unit of Work

A pattern that maintains a list of objects affected by a business transaction and coordinates writing out changes.

Unit Test

A test that verifies a single unit of code (function, method) in isolation.

UPC (Universal Product Code)

A barcode symbology used for tracking items in stores. 12-digit format in North America.

UUID (Universally Unique Identifier)

A 128-bit identifier that is unique across space and time. Format: 550e8400-e29b-41d4-a716-446655440000


V

Value Object

In DDD, an object defined by its attributes rather than identity. Two value objects with the same attributes are equal.

Example: Money(100, "USD") is a value object.

Vault

A system for managing secrets (passwords, API keys, certificates). Examples: HashiCorp Vault, Azure Key Vault.

Vertical Scaling

Adding resources (CPU, RAM) to existing machines. Contrast with Horizontal Scaling.

View (Database)

A virtual table based on a SQL query. Can simplify complex queries and provide security.

Void

Canceling a transaction before it’s completed or settled.

VPN (Virtual Private Network)

A secure connection between networks over the internet. See Tailscale.


W

WebSocket

A protocol providing full-duplex communication over a single TCP connection. Used for real-time features.

Webhook

An HTTP callback that occurs when something happens. A way for apps to receive real-time notifications.


X

XSS (Cross-Site Scripting)

A security vulnerability where attackers inject malicious scripts into web pages viewed by other users.

XUNIT

A .NET unit testing framework.


Y

YAML (YAML Ain’t Markup Language)

A human-readable data serialization format used for configuration files (docker-compose.yml, etc.).


Z

Zero Downtime Deployment

Deploying new versions without any interruption to users. Achieved through rolling updates, blue-green deployments, or canary releases.


Domain-Specific Terms (Retail/POS)

TermDefinition
BasketCollection of items a customer intends to purchase
Cash FloatStarting cash amount in the register at beginning of shift
Cash UpEnd-of-day process of counting cash and reconciling with sales
ClerkEmployee operating the POS terminal
CompComplimentary item given free to customer
EoDEnd of Day - daily closing procedures
House AccountCredit account for regular customers
LayawayPayment plan where items are reserved until fully paid
MarkdownPrice reduction on items
No SaleOpening cash drawer without a transaction
On HandCurrent inventory quantity
Open TicketTransaction started but not completed
Over/ShortDifference between expected and actual cash
PLUPrice Look-Up code for produce
Rain CheckPromise to sell at sale price when item is restocked
ShrinkageInventory loss due to theft, damage, or errors
SKUStock Keeping Unit - unique product identifier
TenderPayment method (cash, credit, etc.)
TillCash drawer
VoidCancel a line item or entire transaction
X-ReadMid-day sales report without resetting totals
Z-ReadEnd-of-day report that resets totals

Use Ctrl+F (or Cmd+F on Mac) to quickly find terms in this glossary.