Delivery Details - Delivery Rules
Overview
The Delivery Details step allows users to define when, to whom, and what resources are delivered during a campaign. This configuration is completed across three screens:
Cycles & Deliveries
Delivery Rules
Summary
Delivery behaviour can be preconfigured based on project type using MDMS, while still allowing users to adjust values as needed.
Steps
Step 1: Configure Cycles & Deliveries
Purpose: Define the structure of the campaign timeline.
Actions
Specify the number of cycles:
Minimum: 1
Maximum: 5
Specify the number of deliveries per cycle.
Enter the start and end dates for each cycle.
Configuration & Defaults
Default values for cycles and deliveries are fetched from MDMS, based on the selected project type. Click here to access the config file.
If configured:
The screen is pre-populated with default values.
Users can increase or decrease these values if required.
Validations
Cycle start and end dates must not overlap with other cycles.
Date validation rules are configurable via MDMS.
Save & Continue
Clicking Next:
Stores cycle configuration in local storage.
Moves the user to the Delivery Rules screen.

Step 2: Add Delivery Rules
Purpose: Define delivery logic for each cycle and delivery.
What Users Configure
For each selected cycle and delivery, users can:
Add delivery rules
Add conditions within each rule
Attach products to each rule
Delivery Rule Limits
Maximum 5 delivery rules per delivery.
Each rule can have multiple conditions.
Conditions Configuration
Condition attributes include:
Age
Gender
Height
Weight
Operators and attributes are sourced from MDMS.
For certain project types (e.g., LLIN-mz):
Fixed attributes are preconfigured.
Users may be restricted from adding or removing attributes.
Project-Type Based Defaults
Delivery rules, conditions, and products can be preloaded based on project type.
If defaults are present:
Users can modify, remove, or add rules unless restricted by configuration.


Reference files:
Click here to access the file.
Click here to access the Delivery rules screen config file.
Click here to access the API call file.
Step 3: Select or Create Products
Add Products to a Delivery Rule
Click Configure Resources.
A pop-up displays available product variants.
Select one or more products and specify the quantity.
Click Confirm Resources to add them to the delivery rule.
Products can be removed or updated later.
Create a New Product
If the required product does not exist:
Click Add New Product.
Enter:
Product name
Product variants
Product type (fetched from MDMS)
Use Add Products to create multiple products if required.
Click Confirm:
Product is created
Product variants are created
A success screen is shown after completion.




Step 4: Save Delivery Rules
When the user clicks Next:
Delivery rules data is:
Saved to local storage
Persisted using the Draft API
Data is validated before moving to the summary screen.
Step 5: Review Delivery Summary
Purpose: Final verification before completing delivery setup.
Summary Screen Shows:
Cycle configuration
Delivery rules per cycle and delivery
Conditions and products for each rule
Delivery type (if applicable)
Users can review and confirm all values before proceeding.

Setup Delivery Configuration
Delivery Configuration via MDMS
Delivery behaviour is driven by the MDMS configuration and acts as the default template. This MDMS schema is used to fetch the details for every product type. Refer to this page to check the config of delivery based on project type.
Click here to access the deliveryconfig.js file.
Sample structure for delivery configuration:
Key Configuration Fields
projectType
Determines which delivery configuration is applied.
attrAddDisable
If
true, users cannot add new attributes.
deliveryAddDisable
If
true, users cannot add new delivery rules.
cycleConfig
deliveryConfig
Defines default delivery conditions and products
Adding product configuration requires caution. Incorrect product configuration may cause failures during campaign creation.
Value must contain the product variant ID, fetched from
product/variant/v1/_search.Name should follow the format
<Product Name> - <Variant>, where:
Product name is fetched from
product/v1/_searchVariant is fetched from
product/variant/v1/_search
Reference Links
MDMS
Hooks
New changes
We have added the Delivery type to each delivery condition, showing the delivery type of the campaign.
Each delivery condition now includes a Delivery Type.
Default delivery types can be configured per project type in MDMS.
Example use case: SMC campaigns with predefined delivery types.
Configuration Fields
deliveryConfig: Default data for deliveriesconditionConfig: Default data per delivery conditiondeliveryType: Default delivery type value
API Details
product/variant/v1/_search
CAMPAIGN_MANAGER
product/v1/_search
CAMPAIGN_MANAGER
product/v1/_create
CAMPAIGN_MANAGER
product/variant/v1/_create
CAMPAIGN_MANAGER
project-factory/v1/project-type/update
CAMPAIGN_MANAGER
Last updated
Was this helpful?