Fluent Commerce Logo
Docs
Sign In

CreateFulfilmentForUnfulfillableItems

Rule

Changed on:

25 Oct 2023

Overview

The rule creates 

`SYSTEM_REJECTED`
 fulfilments for unfulfillable items using a location ref provided in input parameters. It uses a mathematical calculation on counts of all fulfilments by dividing them into 2 different groups depending on their statuses i.e. accepted statuses and rejected statuses. If the 
`fulfilmentType`
 parameter is not empty then a fulfilment with this type will be created.

UI Description

Creates a rejected fulfilment for order items that could not be fulfilled (no inventory) using location {PROP_SYSTEM_REJECTED_LOC_REF}, accepted statuses including {PROP_ACCEPTED_STATUSES} and rejected statuses including {PROP_REJECTED_STATUSES}. If the "fulfilmentType" parameter is not empty then a fulfilment with this type will be created.

Accepts

  • ORDER

Actions

  • This rule does not directly identify any event attributes

Rule parameters

Parameter

Description

systemRejectedLocationRef

The location ref to be used to create new SYSTEM_REJECTED fulfilment.

acceptedStatuses

The list of all accepted statuses of fulfilments used to find the count of unfulfillable item counts.

rejectedStatuses

The list of all rejected statuses of fulfilments used to calculate the aggregate count of rejected fulfilment items.

fulfilmentType

The type of fulfilment.

Event attributes

This rule does not directly identify any event attributes.

Exceptions

This rule will throw an IllegalArgumentException

  • if invalid order type
  • if invalid location type
  • if invalid 
    `acceptedStatuses`
    , must not be empty
  • if invalid 
    `rejectedStatuses`
    , must not be empty
  • if found a fulfilment status in both 
    `acceptedStatuses`
     and 
    `rejectedStatuses`
     lists

All generated exceptions will be wrapped with RubixException

Configuration example

1{
2  "name": "<ACCOUNTID>.order.CreateFulfilmentForUnfulfillableItems",
3  "props": {
4    "fulfilmentType":"HD_PFS",
5    "systemRejectedLocationRef":"{{escalationLocation}}",
6    "acceptedStatuses":"[{{acceptedFulfilmentStatuses}}]",
7    "rejectedStatuses":"[{{rejectedFulfilmentStatuses}}]"
8  }
9}

Language: json

Detailed Technical Description

Extension 

If you are using Click and Collect, Home Delivery or Mixed Baskets reference workflows, following fulfilment types can be used without additional rule modification.

`CC_PFS`
 for Click & Collect - Pick from Store

`CC_PFDC`
 for Click & Collect - Pick from DC

`HD_PFS`
 for Home Delivery - Pick from Store

`HD_PFDC`
 for Home Delivery - Pick from DC

If you create your own fulfilment type and would like it to be supported in our reference workflow, you need to set the custom type in the 

`fulfilmentType`
 field and update the workflow so the new fulfilment type can be processed.

Useful information:

  • A guide about uploading and installing plugins with modified rules is available here;
  • The Workflow Engine overview is available here.

Version History

2023-08-04

v1.0.2

First release

Copyright © 2024 Fluent Retail Pty Ltd (trading as Fluent Commerce). All rights reserved. No materials on this docs.fluentcommerce.com site may be used in any way and/or for any purpose without prior written authorisation from Fluent Commerce. Current customers and partners shall use these materials strictly in accordance with the terms and conditions of their written agreements with Fluent Commerce or its affiliates.

Fluent Logo