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:

  1. Cycles & Deliveries

  2. Delivery Rules

  3. 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

  1. Specify the number of cycles:

    • Minimum: 1

    • Maximum: 5

  2. Specify the number of deliveries per cycle.

  3. 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 herearrow-up-right 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:

Step 3: Select or Create Products

Add Products to a Delivery Rule

  1. Click Configure Resources.

  2. A pop-up displays available product variants.

  3. Select one or more products and specify the quantity.

  4. Click Confirm Resources to add them to the delivery rule.

  5. Products can be removed or updated later.

Create a New Product

If the required product does not exist:

  1. Click Add New Product.

  2. Enter:

    • Product name

    • Product variants

    • Product type (fetched from MDMS)

  3. Use Add Products to create multiple products if required.

  4. Click Confirm:

    • Product is created

    • Product variants are created

  5. 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 herearrow-up-right to access the deliveryconfig.js file.

Sample structure for delivery configuration:

chevron-rightSample Confighashtag

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/_search

    • Variant is fetched from product/variant/v1/_search

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.

chevron-rightSample confighashtag

Configuration Fields

  • deliveryConfig: Default data for deliveries

  • conditionConfig: Default data per delivery condition

  • deliveryType: Default delivery type value

API Details

End Point
Role

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?