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

  1. Create a Business (POST /v1/businesses) — top-level organization record.
  2. Create root Store (POST /v1/stores) — global/HQ store at hierarchy level 0.
  3. Create child Stores if needed — regional, district, or leaf stores parented to level 0.
  4. Create Locations (POST /v1/locations) — physical warehouses, stores, or dark-stores attached to stores.
  5. Create Sites (POST /v1/sites) — online storefronts linked to a store.
  6. Create Sellers (POST /v1/sellers) — vendor profiles for multi-vendor models.
  7. Configure Service Properties — cross-service config consumed by PIM, OMS, and others.
  8. Configure Feature Flags — enable/disable features per instance.
  9. 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