Location Workflow 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 |
| 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 |
| Required |
fulfilmentItems | The list of all the items that are picked by the store associate |
| 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 |
| 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 |
| Required |
fulfilmentItems | The list of all the items that are picked by the store associate |
| 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 |
| 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 |
| 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}