The Access Control and Workflow features represent a complete redesign of the former “Rights” functionality within the SAM’URAI solutions.
They allow article withdrawals to be restricted and governed in a more precise, readable, and scalable way, based on:
users,
containers,
schedules,
and business rules (products, categories, quotas, etc.).
1. Access Control
General principle
An access control makes it possible to restrict a user’s access to certain containers, on defined days and time slots.
This is a first level of security, which applies before any product restriction or quota logic.
Here is an example:
Configuration:
Once validated:
Default behavior*
A user without any access control:
has access to all containers,
7 days a week,
24 hours a day.
No restriction is applied to them.
User / Access Control association
A user can be linked to only one access control at a time.
An access control can be associated with one or more users.
The access control defines where and when the user is authorized to access containers.
Definition of time slots
For each day of the week, it is possible to define an access time slot.
Example:
Monday: from 08:30 to 17:30
Tuesday: from 08:30 to 17:30
Wednesday: no access
…
Each day is configured independently, allowing the setup to match real operational hours.
Container restriction
The access control also allows defining which containers are authorized.
Only the selected containers are accessible
All other containers are completely inaccessible to the user
Blocking rules
Outside of:
the defined time slots,
or the authorized containers,
👉 the user has no access and cannot perform any article withdrawal.
Objectives of Access Control
Secure access to containers
Prevent withdrawals outside authorized hours
Adapt access according to user profiles
Simplify rights management compared to the previous functionality
2. Workflow (introduction)
The Workflow feature goes further than access control.
It allows the implementation of advanced business rules, including:
restrictions on categories, products, or articles,
and, at a later stage, withdrawal quotas.
The Workflow is applied after access control and determines what the user can take and in what quantity, based on the configured frequencies.
✅ In summary
The Workflow operates as a cascading filter:
Categories → Products → Articles → Withdrawal mode
Each choice conditions the next one to ensure a clear, logical, and secure selection.
🧩 Workflow – Operating principle
The Workflow allows defining progressive restrictions, organized in a step-by-step logic.
Each level conditions the next to ensure a controlled and consistent selection.
🗂️ Step 1 – Category restriction
This first step defines the scope of accessible categories.
✔️ If no category is selected, all categories are available
✔️ Selected categories must be explicitly defined
❌ Non-selected categories will not be available for withdrawal
👉 This selection forms the foundation of the entire Workflow and impacts all subsequent steps.
📦 Step 2 – Product restriction
Once categories are defined, the Workflow allows restricting product selection.
✔️ Only products belonging to previously authorized categories can be selected
❌ Products from non-selected categories are automatically excluded
👉 This ensures consistency between categories and products.
🧾 Step 3 – Article restriction
The same principle applies at the article level.
✔️ Only articles linked to previously authorized products can be selected
❌ Any selection outside this scope is impossible
👉 This step further refines control.
🚚 Step 4 – Withdrawal mode per line
For each Workflow line, it is possible to define the withdrawal mode:
🔹 Click & Collect
🔹 Direct withdrawal
👉 This configuration allows the Workflow to adapt to different use cases and organizational needs.
3. Quotas (Workflow add-on)
General principle
Quotas make it possible to limit the quantities of articles that can be withdrawn, based on rules defined in the Workflow.
They apply after all previously enforced restrictions:
Access Control (where and when the user can access),
Workflow (what the user can take),
Quotas (how much the user can take).
Quotas apply only to elements already authorized by the Workflow.
Objectives of quotas
Control withdrawal volumes per user
Prevent abuse or overconsumption
Adapt quantities to business needs
Differentiate usage based on profiles or contexts
Types of quotas
Quotas can be defined at different levels:
by category,
by product,
by article.
👉 The quota level depends on the granularity defined in the Workflow.
Quota frequency
Each quota is associated with a reset frequency:
daily,
weekly,
monthly,
or over a defined period.
The frequency determines the time window over which the withdrawal counter is calculated.
Blocking vs non-blocking quotas
For each quota, its behavior can be defined:
🔒 Blocking quota
Once the quota is reached:
the withdrawal is completely blocked,
the user can no longer select the concerned article,
an informational message is displayed.
👉 No overrun is allowed.
⚠️ Non-blocking quota
Once the quota is reached:
the withdrawal remains possible,
a warning message informs the user that the quota has been exceeded.
👉 This mode allows flexible control without stopping activity.
Quota application logic
Quotas follow the cascading logic of the Workflow.
They apply only to:
authorized categories,
authorized products,
authorized articles,
and the defined withdrawal mode.
👉 An article that is not accessible via the Workflow is never subject to quotas, since it is not visible for withdrawal.
Rule priority and consistency
Access Control always remains the top priority
The Workflow defines the authorized scope
Quotas regulate volumes within that scope
This hierarchy ensures clear, readable, and consistent rule management.
Default case
If no quota is defined:
no quantity limitation is applied,
withdrawals remain unlimited for authorized elements.
In summary
Quotas represent the final level of control:
👉 Access (Access Control)
👉 Select (Workflow)
👉 Limit (Quotas)
They combine security, flexibility, and usage control, while adapting to business constraints.


