Fluent Commerce Logo
Docs
Sign In

CreateWaveByFulfilmentIds

Rule

Changed on:

3 June 2024

Overview

The CreateWaveByFulfilmentIds takes a list of Fulfillments and creates a Wave with them.

Plugin NameFulfilment Reference Module
Namespace{{accountId}}.fulfilment

The Fulfilment Reference Module is the foundation for in-store operations. It provides a reference Workflow for pickpack, and shipping of orders for in-store staff. Extensible by design, use this Module as a base to build a solution to the needs of your customers.

UI Description

Create a wave with the specified fulfilmentIds, optional waveName and optional userName.

Accepts

  • Location

Actions

  • Type: CreateWave mutation
  • Condition: Always
  • Description: Sends a GraphQL mutation that creates a Wave with the given Fulfilment Ids. 

Event attributes

Name

Type

Required?

Default

Description

fulfilmentIds

`array of integers`

Yes

N/A

List of fulfilment Ids to be added to the wave.

waveName

`String`

No

N/A

The name of the Wave. 

userName

`String`

No

N/A

The name of the user who is allocated to the Wave. This value will only be populated if it matches a valid Fluent user.

Configuration example

1 {
2      "name": "CreateWaveByUserSelection",
3      "description": "Creates a wave based on fulfilments selected by the user",
4      "type": "LOCATION",
5      "subtype": "STORE",
6      "eventType": "NORMAL",
7      "rules": [
8        {
9          "name": "{{account}}.fulfilment.CreateWaveByFulfilmentIds",
10          "props": {}
11        }
12      ],
13      "triggers": [
14        {
15          "status": "ACTIVE"
16        }
17      ],
18      "userActions": [
19        {
20          "context": [
21            {
22              "label": "Create Custom Wave",
23              "type": "PRIMARY",
24              "modules": [
25                "servicepoint",
26                "store"
27              ],
28              "confirm": false
29            }
30          ],
31          "attributes": [
32            {
33              "name": "userName",
34              "label": "Wave Assignee",
35              "type": "String",
36              "mandatory": false
37            },
38            {
39              "name": "waveName",
40              "label": "Wave Name",
41              "type": "STRING",
42              "mandatory": false
43            },
44            {
45              "name": "fulfilmentIds",
46              "label": "Fulfilment Ids",
47              "type": "FULFILMENT_IDS",
48              "mandatory": true
49            }
50          ]
51        }
52      ]
53    }

Language: json

Detailed Technical Description

1. Accepts a list of fulfillment IDs and optional wave attributes. 

2. Filters out any fulfilment already assigned to a Wave.

3. If a

`userName`
is provided then the rule will attempt to retrieve a corresponding user matching the  
`user.username`
field. If a user is found, the
`allocatedTo`
field of the wave will be set to that user. 

4. Performs a createWave mutation with the final list of fulfilment Ids. The optional

`waveName`
provided will be allocated to the
`name`
field of the Wave alongside the
`allocatedTo`
field.


Version History

2024-06-03

v2.0.3

Modifications to enable the feature enabling individual fulfilments selection for Wave creation.

2023-12-14

v2.0.1

refers to the plugin