This page provides a combined overview and core feature summary of the Foundation Service for the Infosys Equinox platform.
Overview
What is Foundation Service?
Foundation Service is the platform setup and configuration backbone of Infosys Equinox commerce. It acts as the master registry that every other microservice depends on. Before products are created, orders are placed, or users are registered, the business and store structure that owns that data must already exist in this service.
When a new merchant (tenant) signs up to use the Equinox platform, the first administrative step is creating a Business and at least one Store through this service. Other services then scope their data to those identifiers.
If Foundation is not set up first:
- PIM Service cannot create product catalogs (no store to attach them to).
- OMS Service cannot accept orders (no store context to validate against).
- User Service cannot create user accounts (no instance scope to assign them under).
- Inventory Service cannot track stock (no locations to store inventory at).
How the Platform Uses This Service
Every request in the Equinox platform carries three key identifiers in the JWT or request headers:
| Identifier | What it represents | Where it comes from |
|---|---|---|
instanceId |
The platform tenant (the SaaS subscription) | Provided at login; scopes all data |
businessId |
The merchant organization within that instance | Created via POST /v1/businesses |
storeId |
The specific storefront/channel/location | Created via POST /v1/stores |
All collections in this service, and in every other Equinox service, filter by these identifiers to keep tenant data isolated.
Platform Architecture – Where Foundation Fits
┌─────────────────────────────────┐
│ Foundation Service │
│ (businesses, stores, locations, │
│ sites, sellers, master data, │
│ feature flags, batch pipelines)│
└──────────────┬──────────────────┘
│ provides context for
┌──────────┬─────────────┼──────────┬──────────┐
▼ ▼ ▼ ▼ ▼
PIM OMS Inventory User Loyalty
(products) (orders) (stock) (users) (points)
│ │ │
└──────────┴─────────────┘
│
Marketplace / Cart / Subscription
Foundation is the only service that does not depend on another Equinox domain service. All other domain services depend on it.
First-Time Tenant Setup Order
- Create a Business (
POST /v1/businesses) — top-level organization record. - Create root Store (
POST /v1/stores) — global/HQ store at hierarchy level 0. - Create child Stores if needed — regional, district, or leaf stores parented to level 0.
- Create Locations (
POST /v1/locations) — physical warehouses, stores, or dark-stores attached to stores. - Create Sites (
POST /v1/sites) — online storefronts linked to a store. - Create Sellers (
POST /v1/sellers) — vendor profiles for multi-vendor models. - Configure Service Properties — cross-service config consumed by PIM, OMS, and others.
- Configure Feature Flags — enable/disable features per instance.
- Set up Batch schedules — scheduled imports/exports through ETL pipelines.
Related Services
| Integration | Direction | Purpose |
|---|---|---|
| PIM Service | Outbound | Reads storeId/businessId for catalog scoping and locale/currency/timezone validation. |
| OMS Service | Outbound | Uses store context for order routing, fulfillment mapping, and ship-from-store support. |
| Inventory Service | Outbound | Reads location records and coordinates for nearest-location stock routing. |
| Loyalty Service | Outbound | Uses store hierarchy for tier and points rules at global/store scope. |
| User Service | Outbound | Reads instanceId/storeId for user scoping and permission context. |
| Auth Service | Inbound | Provides JWT token issuance; tokens are validated on Foundation routes. |
| Batch Lambdas (PIM, OMS, etc.) | Inbound | Receives EventBridge events and callbacks execution status to Foundation history endpoints. |
Core Features
Domain Areas
| # | Domain | What It Manages |
|---|---|---|
| 1 | Businesses | Top-level tenant entities that own stores, sites, and data. |
| 2 | Stores | Storefront/channel units (B2B, B2C, B2B2C), up to 4 hierarchy levels. |
| 3 | Store Associations | Cross-store relationships, including fulfillment partnerships. |
| 4 | Master Data | Reference data: currencies, locales, timezones, and countries. |
| 5 | Extension Framework | Per-instance validators and lifecycle handlers loaded from approved sources. |
Key Capabilities
- Store hierarchy with automatic inheritance and child-level overrides.
- Redis-cached effective configuration for fast hierarchy resolution.
- Up to 4 hierarchy levels (0-3): Global/HQ – Regional – District – Leaf.
- Circular reference prevention in hierarchy updates.
- FEFO-aware location management with ship-from-store eligibility.
- EventBridge-driven batch scheduling with real-time callback status updates.
- In-memory development mode using in-memory stubs (
FOUNDATION_USE_INMEMORY=true). - Strict multi-tenant isolation via
instanceId-scoped repository queries. - Pluggable per-instance extension handlers for validation and lifecycle hooks.
- Consistent pagination defaults (
page=1,limit=10,maxLimit=100) and status model (ACTIVE=1,INACTIVE=0).
Technology Stack
| Component | Technology | Purpose |
|---|---|---|
| HTTP Framework | Fastify 5.x | REST API server with JSON Schema validation. |
| Language | TypeScript | Type-safe business logic and domain models. |
| Primary Database | MongoDB 6.x | Document storage for service entities. |
| Cache | Redis (ElastiCache in AWS) | Caches effective configuration for store hierarchies. |
| Auth | AWS Cognito + @equinox/fastify-jwt-auth |
JWT validation and privilege enforcement. |
| Events | AWS EventBridge | Asynchronous domain-event publishing. |
| Batch Execution | AWS Lambda + EventBridge cron rules | ETL scheduling and execution. |
| File Storage | AWS S3 | Batch upload file storage (CSV/Excel). |
| Tracing | AWS X-Ray (optional) | Distributed request tracing. |
Revision History
2026-08-04 | AN – Page created and uploaded the contents