Equinox Platform v9.0 – Terminology and Concepts

Term Definition Related Services
Account (B2B) A buyer organization in B2B commerce. Represents a corporate entity with multiple users, teams, cost centers, credit limits, and contracts. Each account is scoped to an instanceId for multi-tenant isolation. Account Service B2B
Account Type Categorization of B2B accounts based on industry vertical or business relationship (e.g., Enterprise, SMB, Partner, Reseller). Account Service
Actor Context A comprehensive context object in the cart service containing userId, businessId, storeId, instanceId, and channel. Propagated through all 8 checkout DAG apps to drive business logic decisions. Cart Service Cart
Adapter (Cart) Integration layer in cart service that connects to external services (PIM, Inventory, Promotion, Payment). Implements circuit breaker pattern with fallback strategies. Cart Service
API Gateway AWS API Gateway serves as the entry point for all HTTP requests, routing to appropriate Lambda-based microservices. Handles CORS, throttling, and request/response transformation. Platform
Attribute Set Reusable template defining the set of attributes for a product type. For example, “Apparel” attribute set includes size, color, material, and fit. Products reference an attribute set; variants fill in the attribute matrix. PIM Service Catalog
ATP (Available-to-Promise) The quantity of a specific SKU actually available for sale after accounting for reservations, blocked inventory, and in-transit stock. Calculated as: on_hand – reserved – blocked. Inventory Service Inventory
AWS CDK AWS Cloud Development Kit v2 used for Infrastructure as Code (IaC). All services define their AWS resources (Lambda, DynamoDB, EventBridge, etc.) using TypeScript CDK constructs in the cdk/ directory. Infrastructure AWS Component
AWS EventBridge Serverless event bus used for inter-service communication. All domain events (order.placed, inventory.updated, product.published) are published to EventBridge with instanceId in event detail for tenant filtering. Platform Events
AWS Lambda Serverless compute service hosting all 12 microservices. Each service runs as a Lambda function with Node.js 20 runtime, typically 1024-3008 MB memory, 30-300 second timeout depending on workload. Platform
AWS Step Functions Serverless workflow orchestration used by OMS for complex order fulfillment flows. Handles retries, parallel processing, human-in-the-loop approvals, and long-running fulfillment processes. OMS Service Order
B2B (Business-to-Business) Commerce model where transactions occur between businesses. In Equinox 9x, B2B features include accounts, teams, cost centers, approval workflows, credit terms, contracts, and purchase orders. Account Service Store
B2C (Business-to-Consumer) Commerce model where transactions occur between a business and individual consumers. Standard e-commerce with user accounts, wishlists, loyalty, and credit card payments. Store Equinox Frontend Accelerator
Batch Framework @equinox/batch-framework v1.0.4 – Handles bulk operations with retry logic and dead-letter queues. Used for catalog imports, inventory uploads, order exports, and mass data migrations. Equinox Component PIM Service
BOPIS (Buy Online Pickup In Store) Fulfillment mode where customers buy online and pick up at a physical store location. Controlled by location_channel_policies with max_bopis_share_percent to reserve inventory for in-store sales. Inventory Service OMS Service Fulfillment
Bundled App A marketplace app type that executes in-process as an @equinox npm package. Fastest execution (~1ms latency). All 8 core checkout apps are bundled apps packaged in @equinox/cart-apps. Marketplace Service Cart
Business Top-level tenant entity representing a merchant or company. Has a numeric businessId and contains multiple stores. Defined in Foundation Service. All services filter data by businessId or its derived instanceId. Foundation Service Platform
Business User A user with role-based access to admin interfaces. Can be Catalog Manager, Order Manager, Merchandiser, Price Manager, etc. Roles are instanceId-scoped via PBAC. Authentication Services User Services
Cart Context Shared mutable state passed between DAG nodes during checkout. Each app reads from and writes to CartContext to propagate pricing, promotions, taxes, and shipping calculations. Cart Service
Catalog A collection of products organized by type: MASTER (source of truth), SALES (channel-specific with pricing), or PROMOTIONAL (time-limited campaigns). Each catalog has channel[], workflowVersion (draft/live), and subType (filter/expression). PIM Service Catalog
Category Hierarchical product taxonomy node. Categories form a tree structure for navigation and browse. Supports multi-level hierarchies with parent-child relationships. PIM Service Merchandising
CDK Constructs Reusable AWS infrastructure components in Equinox AWS component. Includes Lambda constructs, API Gateway patterns, EventBridge rules, and DynamoDB tables with best-practice defaults. Equinox AWS Component Infrastructure
Channel Sales channel through which customers buy. Values: WEB, MOBILE_APP, STORE, MARKETPLACE, B2B, WHOLESALE. A first-class cross-cutting concept affecting product visibility, inventory allocation, pricing, and order routing across all services. Platform All Services
Checkout DAG Directed Acyclic Graph defining the sequence and dependencies of checkout apps. Configured per store in the checkoutWorkflows collection. Supports parallel execution, conditional nodes, and app-with-fallback resilience. Cart Service
Circuit Breaker Resilience pattern preventing cascading failures. Used for external app calls, database queries, and service adapters. Opens after 5 consecutive failures, half-opens after 30 seconds, falls back to cached data or default logic. Platform All Services
CloudWatch AWS monitoring service collecting logs, metrics, and traces from all Lambda functions. Custom metrics tracked: API latency, cache hit rate, adapter success rate, DAG execution time, privilege resolution time. Observability Platform
Cognito AWS Cognito User Pools handle authentication for all users (customers and admins). Pre-token-generation Lambda injects custom claims (instanceId, businessId, storeId, roles) into JWT access tokens. Authentication Services User Services Auth
Composite ID MongoDB document _id structure for multi-tenant isolation: { instanceId: ObjectId, catalogId?: string, identifier: string }. Used by products, SKUs, categories, and most PIM entities. Ensures tenant data never leaks. PIM Service Data Architecture
Contract (B2B) Agreement between buyer and seller organizations specifying catalog access, price lists, payment terms, credit limits, and expiry date. Enforced at checkout by pricing and payment apps. Account Service B2B
Cost Center B2B organizational unit for budget allocation and expense tracking. Users can be assigned to cost centers; orders are tagged with cost center for reporting and approval workflows. Account Service B2B
Credit Limit Maximum credit extended by seller to buyer organization in B2B. Available credit calculated as: credit_limit – used_credit. Checked at checkout; orders exceeding limit require payment or approval. Account Service B2B
CSR (Customer Service Representative) Admin user role with privileges to view/manage customer orders, process returns/refunds, place orders on behalf of customers, and resolve customer issues. Uses equinox-ultra-admin CSR app. Equinox Ultra Admin Order
DAG (Directed Acyclic Graph) Checkout execution model where 8 marketplace apps execute in a configurable sequence with dependencies. Supports parallel execution (tax + shipping), conditional nodes (fraud), and async nodes (notification). Cart Service Marketplace
DocumentDB AWS DocumentDB (MongoDB-compatible) is the primary database for 11 of 12 services. Version 6.x. Provides multi-document ACID transactions, change streams for event sourcing, and automatic backups. Data Architecture Platform
Draft Workflow Entities (catalogs, products, promotions) start as DRAFT versions invisible to customers. Admin users edit drafts, then publish to LIVE state. DRAFT entities have __DRAFT suffix in identifier or separate workflowVersion field. PIM Service Promotion Service
ElastiCache AWS ElastiCache for Redis (cluster mode enabled, TLS). All services use @equinox/redis-client v1.0.4 (ioredis). Cache keys prefixed with eq:{instanceId}:... for tenant isolation. TTLs: 2-60 minutes. Platform All Services
EventBridge See AWS EventBridge. Platform
Expression Calculator Configuration-driven calculation engine in cart service. Executes math formulas defined as JSON: { formula: 'quantity * price', variables: [...] }. Used for 70% of cart calculations (subtotal, discounts, tax). Cart Service
External App Marketplace app type that executes via HTTP REST call to third-party services (Stripe, Avalara, Signifyd). Latency 100-500ms. Supports retry, circuit breaker, and credential resolution (OAuth2, API Key, HMAC). Marketplace Service
Fastify High-performance web framework used by all 12 services (version 5.6-5.7). Chosen for speed, TypeScript support, JSON Schema validation, and plugin ecosystem. Integrates with @equinox/fastify-jwt-auth. Platform Framework
FEFO (First Expiry First Out) Inventory allocation strategy for perishable goods. Allocates SKUs with earliest expiry date first to minimize waste. Implemented in Inventory service using lots table with expiry_date column. Inventory Service Inventory
Flow Configuration Declarative system in cart service defining HOW each action (ADD_ITEMS, CHECKOUT, PLACE_ORDER) executes. Configured via database with steps, hooks, validations, and error handling. Enables zero-code business logic changes. Cart Service
Flow Orchestrator Component in cart service that executes flow configurations. Runs pre-hooks, validations, steps in sequence, handles errors per step strategy (FAIL_FAST, RETRY, FALLBACK), then post-hooks. Cart Service
Fraud App One of 8 checkout DAG apps. Scores order risk using rules (shipping!=billing address, high order value, multiple cards, velocity). Conditional execution: only runs if order value > threshold. Cart Service @equinox/cart-apps
Fulfillment Process of picking, packing, and shipping orders. Types: SHIP (standard), BOPIS (pickup), SFS (ship from store), DIGITAL (instant download). Orchestrated by OMS via Step Functions state machines. OMS Service Order
GoRules Zen Engine Business rules engine (v0.42.0) used by Promotion service and Loyalty service. Evaluates promotion eligibility, coupon codes, loyalty points earn/burn rules, and tier progression logic. Promotion Service Loyalty Service
IAM Policy (PBAC) JSON policy structure in JWT claims defining user permissions: { Effect: 'Allow|Deny', Action: ['service:privilege'], Resource: 'eq:service:type:value' }. Evaluated by @equinox/fastify-jwt-auth. Deny takes precedence. Authentication Services Auth
Instance Logical multi-tenant isolation unit. MongoDB ObjectId (24-character hex). Every MongoDB document has instanceId field; every MySQL table has business_id + store_id. Redis keys prefixed with instanceId. S3 paths scoped by instanceId. Platform All Services
Instance Properties Configuration key-value pairs stored on Instance entity: { name: string, value: string }[]. Examples: defaultLocale, supportedLocales, timezone, currency. Complex values stored as stringified JSON. Account Service Platform
Inventory Position Physical inventory record per (location, SKU, lot). Fields: on_hand, available (ATP), reserved, blocked, in_transit. Updated by transactions: RECEIVE, SELL, RESERVE, RELEASE, ADJUST, TRANSFER. Inventory Service Inventory
JFrog Artifactory Private npm registry hosting @equinox/* packages: cart-apps, pim-apps, batch-framework, jwt-auth, redis-client, search-client, marketplace-integration, cognito-user-management. URL: https://infyartifactory.jfrog.io/artifactory/api/npm/eq-npm-lib-release-local/ Platform Equinox Component
JWT (JSON Web Token) Authentication token issued by Cognito. Contains standard claims (sub, exp, iss) plus custom claims (instanceId, businessId, storeId, roles). Validated by @equinox/fastify-jwt-auth using JWKS. Never expired tokens reach services. Auth All Services
Lambda App Marketplace app type that executes via AWS Lambda.invoke() synchronous or asynchronous. Latency 50-200ms cold start. Used for custom merchant business logic deployed independently from cart service. Marketplace Service
Location Physical location (warehouse, store, distribution center) holding inventory. Each location has location_channel_policies defining allocation strategy, BOPIS%, SFS%, floor stock, cutoff time, and lead time per channel. Inventory Service Inventory
Location Channel Policy Per-location, per-channel inventory allocation rules. MySQL table with fields: sales_channel (enum), allocation_strategy (NEAREST_FIRST|MOST_INVENTORY|PRIORITY_ORDER), max_bopis_share_percent, max_sfs_share_percent, floor_stock_for_pos_qty, cutoff_time, lead_time_days. Inventory Service
Lot Inventory batch tracked for expiry, serial numbers, or compliance. Fields: lot_number, expiry_date, manufacture_date, is_hazmat, is_perishable. Enables FEFO allocation and recall management. Inventory Service Inventory
Loyalty Account Customer loyalty profile tracking points balance, tier (Bronze/Silver/Gold/Platinum), tier expiry, lifetime earn/burn, and redemptions. Points transactions logged with expiresAt for time-limited points. Loyalty Service Marketing
Loyalty App One of 8 checkout DAG apps. Previews loyalty points earn (based on cart total × tier multiplier) and applies points burn for redemptions. Integrates with Loyalty Service Zen Engine rules. Cart Service @equinox/cart-apps
Marketplace App Pluggable business capability registered in Marketplace Service. Types: bundled (in-process npm), lambda (AWS Lambda), external (HTTP). Used for payments, tax, shipping, fraud, loyalty, promotions, pricing, notifications. Marketplace Service Cart
Master Catalog Source-of-truth catalog containing all products. Not channel-restricted. All product data enters here first, then flows to SALES or PROMOTIONAL catalogs with channel restrictions and pricing overrides. PIM Service Catalog
MFE (Module Federation) Micro-frontend architecture in eq9-ultra-store-front. App shell + 7 independently deployed MFEs: browse, transactional, authentication, myaccount, loyalty, subscription, b2b. Uses Next.js Module Federation. Frontend Accelerator Frontend
Microservice Self-contained service owning its data and business logic. Equinox 9x has 12 microservices: authservices, userservices, account-service, foundation-service, marketplace-service, pim-service, inventoryservice, cart-service, oms-service, promotion-service, loyalty-service, ratingreview-service. Platform
Module Federation Webpack 5 feature enabling runtime sharing of React components across independently deployed applications. Used in Frontend Accelerator for MFEs. Frontend Accelerator Frontend
MongoDB Composite Index Multi-field index always leading with instanceId for tenant-scoped queries: { '_id.instanceId': 1, '_id.catalogId': 1, '_id.identifier': 1 }. Critical for multi-tenancy performance and isolation. Data Architecture All Services
Multi-Tenancy Architecture where multiple customers (tenants) share the same application and infrastructure but data is strictly isolated. Implemented via instanceId filtering in MongoDB, business_id+store_id in MySQL, Redis key prefixes, and JWT claims. Platform All Services
Next.js React framework used by Equinox Ultra Admin (v16.1.1 with 7 admin apps) and Frontend Accelerator (Module Federation MFEs). Provides SSR, SSG, API routes, and file-based routing. Frontend Equinox Ultra Admin
Notification App One of 8 checkout DAG apps. Sends email/SMS/push notifications post-checkout (async). Integrates with SES, SNS, and third-party notification providers. Cart Service @equinox/cart-apps
Observability Logging, metrics, and tracing via @equinox/aws-observability-npm. Integrates CloudWatch Logs, X-Ray distributed tracing, CloudWatch Metrics (custom namespaces), and structured JSON logging with correlation IDs. Platform All Services
OMS (Order Management Service) OMS Service (:3041) manages order lifecycle: placement, payment capture, fulfillment orchestration (Step Functions), shipment tracking, returns, refunds. Channel field is required and non-nullable on every order. OMS Service Order
Payment App One of 8 checkout DAG apps (final node). Creates payment session, handles gateway integration (Stripe, Adyen, etc.), captures authorization, and stores payment method tokens. Supports app-with-fallback for resilience. Cart Service @equinox/cart-apps
Payment Terms (B2B) Number of days buyer has to pay seller for credit purchases (NET30, NET45, NET60). Enforced by payment app; overdue accounts blocked from checkout until payment received. Account Service B2B
PBAC (Policy-Based Access Control) Authorization model where user permissions are defined by IAM-style policies in JWT claims. Replaces RBAC. Every API route protected by @PreAuthorize(‘service:privilege’). Deny Effect takes precedence over Allow. Authentication Services Auth Platform
PIM (Product Information Management) PIM Service (:3020) manages products, SKUs, catalogs, categories, attributes, pricing, and search. Integrates TypeSense for real-time search, S3 for assets, and @equinox/pim-apps for extended workflows. PIM Service Catalog
Pnpm Workspace Package manager used by Equinox Ultra Admin monorepo. 7 Next.js apps + shared packages (@eqnx-api/*, @eqnx-ui/*, @eqnx-next-config). Uses pnpm catalog for dependency management. Equinox Ultra Admin Frontend
Policy PBAC policy document defining access rules: { name, rules[{ action, resource, effect: 'Allow|Deny' }] }. Stored in Authentication Services MongoDB. Mapped to users via PolicyActionMapping and UserRoleMapping. Authentication Services Auth
@PreAuthorize Decorator-style pattern (implemented as Fastify preHandler hook) protecting API routes. Usage: { onRequest: fastify.preAuthorize('catalog:read') }. Validates JWT and checks privilege against PBAC policies. Auth All Services
Price Book Channel and customer-segment specific pricing catalog: { channel: 'WEB', customerSegment: 'PREMIUM', entries: [{skuId, price}] }. Pricing app resolves price by matching ActorContext channel + user segment. PIM Service Pricing
Pricing App One of 8 checkout DAG apps (first node). Fetches price from PIM price books, applies tiered pricing and volume discounts, and calculates item-level prices. Foundation of cart value calculations. Cart Service @equinox/cart-apps
Privilege Granular permission string: service:action (e.g., catalog:read, order:create, user:delete). Checked by @PreAuthorize. Flat list cached in Redis per userId with 5-minute TTL. Authentication Services Auth
Product Catalog item with base attributes, category, and asset references. Products have variants (SKUs) differing by attribute values (size, color). Composite ID: { instanceId, catalogId, identifier } or identifier__DRAFT for workflow draft. PIM Service Catalog
Promotion Marketing offer (discount, coupon, BOGO, free shipping) evaluated by GoRules Zen Engine. Defined with channels[], stackable flag, exclusionGroups[], Zen rules JSON, and date range. Coupon codes link to promotions. Promotion Service Marketing
Promotion App One of 8 checkout DAG apps. Evaluates promotion eligibility by calling Promotion Service Zen Engine with cart context. Applies discounts to cart. Validates coupon codes and usage limits. Cart Service @equinox/cart-apps
React Query Data fetching library used by Equinox Ultra Admin. Custom hooks in @eqnx-api/* packages wrap API calls with caching, retry, and optimistic updates. Uses customFetch from @eqnx-api/core. Equinox Ultra Admin Frontend
Redis Cluster AWS ElastiCache for Redis with cluster mode enabled and TLS. All services use @equinox/redis-client v1.0.4. Keys: eq:{instanceId}:{service}:{entity}:{id}. TTLs: 2-60 minutes. No cross-tenant access possible. Platform All Services
Reservation Inventory held for pending order. Status: PENDING (cart), CONFIRMED (checkout), FULFILLED (shipped), CANCELLED (released). Expires after configurable timeout (default 15 minutes) and auto-releases inventory. Inventory Service Inventory
Role Named collection of privileges: { name, privileges[], isActive }. Examples: CatalogManager, OrderViewer, PriceEditor. Users assigned roles via UserRoleMapping scoped by instanceId. Same user can have different roles in different instances. Authentication Services Auth
Sales Catalog Channel-specific catalog with pricing. Has channel[] restriction (e.g., [“WEB”, “MOBILE_APP”]) and linked price book. Products invisible to channels not in array. PIM Service Catalog
SFS (Ship From Store) Fulfillment mode where online orders ship from physical store inventory. Controlled by location_channel_policies with max_sfs_share_percent to reserve inventory for walk-in customers. Inventory Service OMS Service Fulfillment
Shipping App One of 8 checkout DAG apps (parallel with tax app). Calls carrier APIs for rates, calculates delivery date, validates shipping address, and assigns carrier/service level. Integrates with UPS, FedEx, USPS. Cart Service @equinox/cart-apps
SKU (Stock Keeping Unit) Specific product variant identified by attribute values (size: ‘L’, color: ‘Blue’). Lowest level of catalog hierarchy. Inventory positions track ATP per SKU. Composite ID structure same as Product. PIM Service Inventory Service Catalog
Step Functions See AWS Step Functions. OMS Service
Store Child entity of Business representing a sales channel instance (web store, mobile app, physical location). Has storeId (integer), storeType (DIGITAL/PHYSICAL/WAREHOUSE), supportedChannels[], and hierarchyLevel (0-3). Foundation Service Platform
Store Hierarchy 4-level tree structure: Business → Store Level 0 → Store Level 1 → Store Level 2 → Store Level 3. Config inheritance flows down hierarchy. Used for multi-brand, multi-region, franchise models. Foundation Service
Storefront Customer-facing e-commerce website: Frontend Accelerator. Module Federation architecture with 7 MFEs. Built with Next.js, React 18, Zustand for state, makeFetch for API calls. Frontend Accelerator Frontend
Tax App One of 8 checkout DAG apps (parallel with shipping app). Calculates tax based on jurisdiction, product tax codes, and exemptions. Integrates with Avalara, Vertex, or custom tax engines. Cart Service @equinox/cart-apps
Team (B2B) Group of users within a buyer account for access control and approval workflows. Teams can have spending limits, category restrictions, and approval rules. Account Service B2B
Tier (Loyalty) Loyalty program level: Bronze, Silver, Gold, Platinum. Each tier has minPoints threshold, benefits[] (free shipping, point multiplier, exclusive access), and expiry rules. Loyalty Service Marketing
Turbo (Turborepo) Build system for monorepos. Used by Equinox Ultra Admin (pnpm workspace) and Marketplace Apps (React 18 apps). Provides parallel builds, remote caching, and incremental builds. Frontend Build
TypeScript Programming language (version 5.x) used for all 12 microservices, frontend apps, and shared libraries. Provides type safety, interfaces, enums, and compile-time error checking. Platform All Services
TypeSense Real-time search engine used by PIM Service. Features: typo tolerance, faceted filtering, relevance ranking, autocomplete. Collections per (instanceId, catalogId). Synced on every product create/update. PIM Service Search
Ultra Admin Equinox Ultra Admin – Next.js 16 pnpm workspace with 7 admin applications: csradmin, merchandiseradmin, b2badmin, loyaltyadmin, analyticadmin, ordermanageradmin, reportingadmin. Shared packages: @eqnx-api/*, @eqnx-ui/*. Equinox Ultra Admin Frontend
Ultra Store Front See Storefront and Frontend Accelerator. Frontend Accelerator
User Authenticated person using the platform. Stored in User services with Cognito sync. Each user mapped to instances via instanceMappings with businessId and storeId. Same user can access multiple tenants with different roles. User Services Auth
User Profile Extended user metadata: firstName, lastName, avatar, dateOfBirth, phoneNumber, preferences, segments[] (for personalization). Stored in User Services userProfiles collection. User Services
Variant Product SKU with specific attribute values. Example: Product “T-Shirt” has variants for each size×color combination. Each variant has unique SKU, prices[], and inventory positions. PIM Service Catalog
Webhook Outbound HTTP callback registered by marketplace apps to receive events (order.placed, inventory.updated). Includes HMAC signature, retry policy, and circuit breaker protection. Marketplace Service
Workflow (Draft/Live) Content management pattern where entities start as DRAFT (invisible to customers), get edited/approved, then published to LIVE state. Used by PIM (catalogs, products), promotions, and content. PIM Service Promotion Service
Workflow Version Field on catalogs/products: ‘catalog-0’ (draft) or ‘catalog-1’ (live). TypeSense indexes only live versions. Admin UIs show both; storefront shows only live. PIM Service
X-Ray AWS X-Ray provides distributed tracing for request flows across Lambda functions, EventBridge events, and database calls. Tracks latency, errors, and dependencies. Integrated via @equinox/aws-observability-npm. Observability Platform
Zen Engine See GoRules Zen Engine. Promotion Service Loyalty Service
Zustand Lightweight state management library used by Frontend Accelerator MFEs. Each MFE has its own Zustand store (cartStore, authStore, userStore, loyaltyStore). Simple API, no boilerplate. Frontend Accelerator Frontend

Revision History
2026-08-12 | JP – Created the page and added the content.