Foundation & Security Domains
Essential knowledge
Changed on:
11 Nov 2024
Overview
[Warning: empty required content area]Key points
[Warning: empty required content area]Foundation Domain & Entities
In Module 1 you were introduced to the Domains of the Fluent platform. We will now take a closer look at the Security and Foundation Domains, and their Entities.The Foundation Domain contains the core foundational entities to support the Order Management capabilities. It consists of the Account, Retailer, Location, and Network Entities, as well as other platform Entities, such as Event (also used for activities).Foundation Domain Entity: Fluent Account
A Fluent Account is a tenant of the platform and typically represents a client. An Account is the most top-level container of client data and is isolated and secure from other accounts in the environment.Each account has its own unique URL for accessing all parts of Fluent Order Management, such as API endpoints, and Web Apps.URL Patterns for Sandbox and ProductionFluent Web Apps URLs- Sandbox: https://[ACCOUNTID].sandbox.apps.fluentcommerce.com/[AppName]
- Production: https://[ACCOUNTID].apps.fluentcommerce.com/[AppName]
- Sandbox: https://[ACCOUNTID].sandbox.api.fluentretail.com/
- Production: https://[ACCOUNTID].api.fluentretail.com/

Fluent Account Types
Fluent Commerce provides the following account types:Client Account
Every client receives this account 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 account.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.
Partner Account
A Partner Account is a sandbox account 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 account 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 Account.A Partner account 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
Training Acccount
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.Foundation Domain Entity: Fluent 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 Account 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

- 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 Account 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.
Foundation Domain Entity: Locations & Networks
A Location represents any physical place, such as a store, warehouse, or collection point, and may also represent third-party locations, such as drop-ship vendor locations. The Location entity creates and manages individual points on the map, such as for stores, warehouses, fulfillment 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, order, 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.
- A Network can have many Locations.
- A Location can be in many 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
Security Domain & Entities
The Security Domain represents the users, roles, and permissions that are applicable across the Fluent platform.Security Domain Entity: Users & Roles
Users
The Fluent platform comes with user role management that defines what functionalities a user can perform in the Fluent platform. For example, users may have a role to modify a workflow or make changes to a location. A user can have multiple roles and each of these roles may be associated with a context which can be the account, any retailer, and/or any location within the account.Roles
Roles are a set of permissions for a user. Example Roles include:- STORE_ASSISTANT
- DEVELOPER
- ADMIN
Permissions
A user's permissions determine which of the modules they have access to within the Fluent OMS. User, Roles, and Permissions management are done using GraphQL API. Clients are able to create, better manage and assign roles according to the job functions in their organization. The role Manager and User Manager roles will provide system administrators with the ability to create roles, assign roles to users, revoke roles from users and assign permissions to roles according to their organizations' functional structure.
- User - A User can have multiple roles. Roles can have multiple permissions. A role can only have 1 context.
- Role - A User can take the Role of Admin, Developer, or Store Manager. Roles can have multiple permissions.
- Context - Roles are specific to the Context like Retailer, Account, or Location. A role can only have one context.