Fluent Commerce Logo
Docs
Sign In

Location Workflow Interface Contract

Interface Contract

Changed on:

13 Sept 2024

Detailed Description

CreateWaveByExpiry - Incoming Event

The CreateWaveByExpiry incoming contains the instructions describing the desired characteristics of the to be created. Included are the maximum number of Fulfilments that the should contain and optionally the user that will be processing it.

Request Payload

Main Payload

Property

Description

Type

Required?

maxCount

The maximum number of fulfilments in a

Integer

Required

userName

The name of the user that will be assigned to the

String

Optional

Event Request Example 

1{
2  "name": "WaveCreate",
3  "entityType": "LOCATION",
4  "entityId": "3",
5  "entityRef": "F_SYD",
6  "entitySubtype": "STORE",
7  "rootEntityType": "LOCATION",
8  "retailerId": "1",
9  "attributes": {
10    "maxCount": 5,
11    "userName": "Matt"
12  }
13}


CreateWaveByUserSelection - Incoming Event

The CreateWaveByExpiry incoming contains the instructions describing the desired characteristics of the to be created. Included are the Fulfilments that the should contain and optionally the user that will be processing it.

Property

Description

Type

Required?

fulfilmentIds

The ids of the user selected Fulfilments to add to the

Array of Integers

Required

userName

The name of the user that will be assigned to the

String

Optional

waveName

The user assigned name of the

String

Optional

CREATE - outgoing Wave Event

The outgoing to the Fulfilment specifies that the Fulfilment has been allocated to a .

Request Payload

This does not contain any specific attributes.

Event Request Example


1{
2  "name": "WaveCreate",
3  "entityId": "826",
4  "entityType": "FULFILMENT",
5  "retailerId": "1",
6  "scheduledOn": 1652247669583
7}


PickConfirm - Incoming Event

Incoming responsible for defining the items that were picked for a .

Request Payload

Main Payload

Property

Description

Type

Required?

pickedItems

The list of all the items that are available to be picked by the store associate

`[pickedItem]`

Required

pickedItem Definition

Property

Description

Type

Required?

Notes

gtin

The barcode of the item picked

String

Optional


productRef

The reference of the product

String

Required


availableQty

The number of items that were picked

Integer

Required


catalogueRef

The reference of the catalogue in which the product belongs to

String

Required


Event Request Example

1{
2    "name": "PickConfirm",
3    "entityType": "WAVE",
4    "entityId": "199",
5    "entityRef": "f3cfe26d-c303-4744-a979-40144de045a7",
6    "entitySubtype": "STORE",
7    "rootEntityType": "LOCATION",
8    "retailerId": "1",
9    "attributes": {
10        "pickedItems": [
11            {
12                "productRef": "AH8050-003",
13                "catalogueRef": "FCRG:PC:MASTER",
14                "availableQty": 1
15            }
16        ]
17    }
18}


PickConfirm - Outgoing Event

This is the outgoing that contains the details of each picked item and how that affects the related requested Fulfilment.

Request Payload

Main Payload

Property

Description

Type

Required?

pickedItems

The list of all the items that are available to be picked by the store associate

`[pickedItem]`

Required

fulfilmentItems

The list of all the items that are picked by the store associate

`[fulfilmentItem]`

Required

pickedItem Definition

Property

Description

Type

Required?

Notes

gtin

The barcode of the item picked

String

Optional


productRef

The reference of the product

String

Required


availableQty

The number of picked items

Integer

Required

availableQty should always be >=0

catalogueRef

The reference of the catalogue in which the product belongs to

String

Required


fulfilmentItem Definition

Property

Description

Type

Required?

Notes

skuRef

The SKU reference of the Fulfilment item

String

Optional


orderItemId

The item id of the Fulfilment item

String

Required


rejectedQty

The quantity that could not be picked for a particular item

Integer



Integer

Required

Integer


rejectedQty = requestedQty- filledQty

availableQty

The picked quantity

Integer

Required

Recommended to use the filledQty value instead

orderItemRef

The item reference of the fulfilment item

String

Required


requestedQty

The originally requested quantity of the Fulfilment item

Integer

Required

This is the original amount that was requested to ship

fulfilmentItemRef

The item reference

String

Optional


filledQty

The quantity of item that is confirmed in a pick

Integer

Required

filledQty = pickedItems.availableQty

Event Request Example

1{
2  "name": "WavePack",
3  "retailerId": "1",
4  "entityId": "761",
5  "entityType": "FULFILMENT",
6  "scheduledOn": 1652227174231,
7  "attributes": {
8    "pickedItems": [
9      {
10        "productRef": "AH8050-002",
11        "availableQty": 2,
12        "catalogueRef": "FCRG:PC:MASTER"
13      },
14      {
15       "productRef": "AH8050-004",
16        "availableQty": 2,
17        "catalogueRef": "FCRG:PC:MASTER"
18      }
19    ],
20    "fulfilmentItems": [
21      {
22        "skuRef": "AH8050-004",
23        "orderItemId": "762",
24        "rejectedQty": 0,
25        "availableQty": 2,
26        "orderItemRef": "AH8050-004",
27        "requestedQty": 2,
28        "fulfilmentItemRef": "AH8050-004",
29        "filledQty": 2
30      },
31      {
32        "skuRef": "AH8050-002",
33        "orderItemId": "763",
34        "rejectedQty": 0,
35        "availableQty": 2,
36        "orderItemRef": "AH8050-002",
37        "requestedQty": 2,
38        "fulfilmentItemRef": "AH8050-002",
39        "filledQty": 2
40      }
41    ]
42  }
43}


PickConfirmAndWaveComplete - Incoming Event

The incoming is responsible for defining the items that were picked and completing a .

Request Payload

Main Payload

Property

Description

Type

Required?

pickedItems

The list of all the items that are available to be picked by the store associate

`[pickedItem]`

Required

pickedItem Definition

Property

Description

Type

Required?

Notes

gtin

The barcode of the item picked

String

Optional


productRef

The reference of the product

String

Required


availableQty

The number of items that were picked

Integer

Required


catalogueRef

The reference of the catalogue in which the product belongs to

String

Required


Event Request Example

1{
2    "name": "PickConfirmAndWaveComplete",
3    "entityType": "WAVE",
4    "entityId": "199",
5    "entityRef": "f3cfe26d-c303-4744-a979-40144de045a7",
6    "entitySubtype": "STORE",
7    "rootEntityType": "LOCATION",
8    "retailerId": "1",
9    "attributes": {
10        "pickedItems": [
11            {
12                "productRef": "AH8050-003",
13                "catalogueRef": "FCRG:PC:MASTER",
14                "availableQty": 1
15            }
16        ]
17    }
18}


PickConfirmAndWaveComplete - Outgoing Event

This is the outgoing that contains the details of each picked item and how that affects the related requested Fulfilment.

Request Payload

Main Payload

Property

Description

Type

Required?

pickedItems

The list of all the items that are available to be picked by the store associate

`[pickedItem]`

Required

fulfilmentItems

The list of all the items that are picked by the store associate

`[fulfilmentItem]`

Required

pickedItem Definition

Property

Description

Type

Required?

Notes

gtin

The barcode of the item picked

String

Optional


productRef

The reference of the product

String

Required


availableQty

The number of picked items

Integer

Required

availableQty should always be >=0

catalogueRef

The reference of the catalogue in which the product belongs to

String

Required


fulfilmentItem Definition

Property

Description

Type

Required?

Notes

skuRef

The SKU reference of the Fulfilment item

String

Optional


orderItemId

The item id of the Fulfilment item

String

Required


rejectedQty

The quantity that could not be picked for a particular item

Integer



Integer

Required

Integer


rejectedQty = requestedQty- filledQty

availableQty

The picked quantity

Integer

Required

Recommended to use the filledQty value instead

orderItemRef

The item reference of the fulfilment item

String

Required


requestedQty

The originally requested quantity of the Fulfilment item

Integer

Required

This is the original amount that was requested to ship

fulfilmentItemRef

The item reference

String

Optional


filledQty

The quantity of item that is confirmed in a pick

Integer

Required

filledQty = pickedItems.availableQty

Event Request Example

1{
2  "name": "FulfilmentPack",
3  "retailerId": "1",
4  "entityId": "761",
5  "entityType": "FULFILMENT",
6  "scheduledOn": 1652227174231,
7  "attributes": {
8    "pickedItems": [
9      {
10        "productRef": "AH8050-002",
11        "availableQty": 2,
12        "catalogueRef": "FCRG:PC:MASTER"
13      },
14      {
15       "productRef": "AH8050-004",
16        "availableQty": 2,
17        "catalogueRef": "FCRG:PC:MASTER"
18      }
19    ],
20    "fulfilmentItems": [
21      {
22        "skuRef": "AH8050-004",
23        "orderItemId": "762",
24        "rejectedQty": 0,
25        "availableQty": 2,
26        "orderItemRef": "AH8050-004",
27        "requestedQty": 2,
28        "fulfilmentItemRef": "AH8050-004",
29        "filledQty": 2
30      },
31      {
32        "skuRef": "AH8050-002",
33        "orderItemId": "763",
34        "rejectedQty": 0,
35        "availableQty": 2,
36        "orderItemRef": "AH8050-002",
37        "requestedQty": 2,
38        "fulfilmentItemRef": "AH8050-002",
39        "filledQty": 2
40      }
41    ]
42  }
43}


WaveDispatch - Incoming Event

The incoming contains the details of the articles packed for each Fulfilment.

Request Payload

Main Payload

Property

Description

Type

Required?

allFulfilmentArticles

The list of all articles of a fulfilment keyed by Fulfilment ID

`Map<Integer,List<ArticleDetails>>`

Required

ArticleDetails Definition

Property

Description

Type

Required?

Notes

packaging_name

The package type that the items were packed into

String

Required

For Example: Small, Medium, Large, Custom

length

The length of the in cm

String

Required


width

The width of the in cm

String

Required


height

The height of the in cm

String

Required


weight

The weight of the in kg

String

Required


maxWeight

The maxWeight of the

String

Required


Event Request Example

1{
2    "name":"WaveDispatch",
3    "entityType":"WAVE",
4    "entityId":"1486",
5    "entityRef":"e217b0ef-24a3-4676-b2f7-ba27ccceb949",
6    "entitySubtype":"STORE",
7    "rootEntityType":"LOCATION",
8    "retailerId":"1",
9    "attributes":{
10        "allFulfilmentArticles":{
11            "1488":[
12                {
13                    "packaging_name":"BOX2022-SM1",
14                    "length":"25",
15                    "width":"10",
16                    "height":"10",
17                    "weight":"0.5",
18                    "maxWeight":"1.5"
19                },
20                ...
21            ]
22        }
23    }
24}

WaveDispatch - Outgoing Event

The outgoing which sends the details of each packed for a single Fulfilment.

Request Payload

Main Payload

Property

Description

Type

Required?

fulfilmentArticles

The list of all articles of a Fulfilment which are a part of the outgoing

`[fulfilmentArticle]`

Required

fulfilmentArticle Definition

Property

Description

Type

Required?

Notes

packaging_name

The package type that the items were packed into

String

Required

For Example: Small, Medium, Large, Custom

length

The length of the in cm

String

Required


width

The width of the in cm

String

Required


height

The height of the in cm

String

Required


weight

The weight of the in kg

String

Required


maxWeight

The maxWeight of the

String

Required


Event Request Example

1{
2  "name": "WaveDispatchInitiated",
3  "entityId": "800",
4  "entityType": "FULFILMENT",
5  "retailerId": "1",
6  "scheduledOn": 1652245219038,
7  "attributes" : {
8      "fulfilmentArticles" : [
9          {
10              "packaging_name":"BOX2022-SM1",
11              "length":"25",
12              "width":"10",
13              "height":"10",
14              "weight":"0.5",
15              "maxWeight":"1.5"
16          },
17          ...
18      ]
19  }
20}