Foundational Domains & Entities
Authors:
Matthew Hesford, Esma Tuzovic, Anita Gu, Cille Schliebitz
Changed on:
2 Feb 2025
Overview
The Foundation Domain contains the core foundational entities to support the Management capabilities.
Key points
- The foundation domain is made up of:
- Accounts
- Retailers
- Locations
- Networks
Fluent Domain Entity - Account
A Fluent Account is a tenant of the platform and typically represents a client. An is the most top-level container of client data and is isolated and secure from other accounts in the environment.
Each has its own unique URL for accessing all parts of Fluent Management, such as API endpoints, and Web Apps.
URL Patterns for Sandbox and Production
Fluent Web Apps URLs
- Sandbox: https://[ACCOUNTID].sandbox.apps.fluentcommerce.com/[AppName]
- Production: https://[ACCOUNTID].apps.fluentcommerce.com/[AppName]
Fluent API Root URLs
- Sandbox: https://[ACCOUNTID].sandbox.api.fluentretail.com/
- Production: https://[ACCOUNTID].api.fluentretail.com/
Accounts are a commercially agreed . For Clients on a standard agreement, 2 sandbox accounts, and 1 production are provided.

Fluent Account Types
Fluent Commerce provides the following types:
Client Account - Every client receives this as part of their subscription agreement. As part of the initial implementation, a Fluent implementation partner is responsible for setting up and configuring a client .
One client receives:
- two sandbox accounts that may be provisioned at least 4 weeks before the scheduled UAT/SIT
- one production account that may be provisioned 4 to 6 weeks before scheduled 'Go-Live' and the 'Ready for Launch' report identifies no issues.
Clients may purchase additional accounts as part of their commercial agreement with Fluent Commerce. The limit for client accounts is negotiated as part of the license agreement.
Partner Account - A Partner Account is a sandbox provided to Fluent Partners who have completed the Fluent OMS Training. This is primarily for the internal use of the partner for continued learning, demos, self-service labs, and testing custom plugins.
During the delivery of a client project, the partner has access to the client accounts. Partner accounts have the following policies and prerequisites:
A single partner will be provided to official implementation partners in the sandbox environment.
A partner must have completed the Fluent OMS Training (with at least 2 Technical Resources), before qualifying for a Partner .
A Partner has some limits, such as:
- Total number of API requests per day is limited to 1000
- Total number of orders per day is limited to 100
- Max Retailers are limited to 50
Best Practice: Partner Account should not be used for any client implementations.
Training Account - Training Accounts are temporary accounts issued to learners on the LMS who enroll in implementation-based training. This includes, Functional, Configuration, Developer, and Technical courses.
Training accounts remain active for 30 days before being recycled and made available for subsequent training sessions.
Fluent Domain Entity: Retailer
A Retailer is defined as a business that sells goods to the public. On the Fluent platform Retailer is a logical division of an based on client brands, geographies, or different billing entities within the organization. Each Retailer has its own Customers, Orders, Billing Accounts, and Workflows (Business Logic).
Retailers can own or share:
- Users
- Settings
- Locations and Networks
- Products, and Inventory
Retailers can be classified under client brands, geographies, or different billing entities, and many more.
Account 1 - In this example, GlobalCorp EU operating in Europe has 4 retailers which may be classified under brands like Brand A, Brand B, Brand C for 1.
Account 2 - In this example, the GlobalCorp USA operating has 3 retailers (Retailer E, Retailer F, Retailer G,) which are classified under different geographical locations like USA, UK, EU.

Deciding how Many Retailers to Include in Your Fluent
The following decision tree can be used to determine how many Retailers should ideally be included in an :

Fluent Domain Entities - Network and Location
A Location represents any physical place, such as a store, , or , and may also represent third-party locations, such as drop-ship vendor locations. The creates and manages individual points on the map, such as for stores, warehouses, centers, and pickup locations. It also manages opening hours, address, lat/long, storage areas, and custom attributes.
A Network is a named group of locations for the purpose of separating locations into logical or geographic categories. These could represent pools of locations, such as by region, type, grade, , and customer types. Networks are used for many purposes including:
- Choosing which locations are available for customer collections or return, which locations should be used to fulfill orders
- As a mechanism to share locations between retailers such as grouping of locations for global inventory purposes.
It is important to note that:
- A Network can have many Locations.
- A Location can be in many Networks.
In other words, and have M: N (many-to-many) relationships, and there is also no limit to the number of networks.
- Click and Collect Network (purple broken line) indicates the locations (store/warehouse) which provide the click and collect option.
- Warehouse represents a location which contains opening hours, address, lat/long, storage areas, and custom attributes.
- Store location represents the stores within the network, which contains opening hours, address, lat/long, storage areas, and custom attributes.
- Home Delivery Network 🚚 (green broken lines) indicates the locations (stores/warehouses) which provide Home Delivery services. One or more locations can be in one or more network

Context and Settings
Settings are used to enable and disable certain platform features (feature toggles). Each setting can be specified on different levels and are applied in hierarchical :
- Account setting - Account level setting which applies to all Retailers.
- Retailer setting - Retailer level setting which applies to the Retailer.
- Agent/Location setting - Location level setting which applies to the Location.
In Fluent apps, settings can be used to specify custom values or toggles. These settings can range from toggling " fulfilment only" to defining environment-specific endpoints. Compared to the attributes of an , settings are more static in nature.
- Account context - Account level settings include INVENTORY_BATCH_ENHANCEMENT_ENABLED and SSO.DETAILS .
- Retailer context - Retailer level settings include: DEFAULT_TAX_TYPE and ORDER_EXPIRY_TIME
- Location/Agent context - Location level settings include PICK_PACK_TIME_LIMIT , STORE_MANIFEST.
View all of the settings used in the Context of 'Account.'
View all of the settings used in the Context of 'Retailer.'