Location Workflow Interface Contract
Changed on:
13 Sept 2024
Detailed Description
CreateWaveByExpiry - Incoming Event
The CreateWaveByExpiry incoming event contains the instructions describing the desired characteristics of the Wave to be created. Included are the maximum number of Fulfilments that the Wave 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 wave | Integer | Required |
userName | The name of the user that will be assigned to the wave | 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}
Language: json
Name: WaveCreate
Description:
[Warning: empty required content area]CreateWaveByUserSelection - Incoming Event
The CreateWaveByExpiry incoming event contains the instructions describing the desired characteristics of the Wave to be created. Included are the Fulfilments that the Wave 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 Wave | Array of Integers | Required |
userName | The name of the user that will be assigned to the wave | String | Optional |
waveName | The user assigned name of the Wave | String | Optional |
CREATE - outgoing Wave Event
The outgoing event to the Fulfilment entity specifies that the Fulfilment has been allocated to a Wave.
Request Payload
This event 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}
Language: json
Name: WaveCreate
Description:
[Warning: empty required content area]PickConfirm - Incoming Event
Incoming event responsible for defining the items that were picked for a Wave.
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}
Language: json
Name: pickConfirm payload
Description:
[Warning: empty required content area]PickConfirm - Outgoing Event
This is the outgoing event 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 order 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 order 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 Fulfillment 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}
Language: json
Name: WavePack payload
Description:
[Warning: empty required content area]PickConfirmAndWaveComplete - Incoming Event
The incoming event is responsible for defining the items that were picked and completing a Wave.
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}
Language: json
Name: pickConfirmAndWaveComplete payload
Description:
[Warning: empty required content area]PickConfirmAndWaveComplete - Outgoing Event
This is the outgoing event 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 order 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 order 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 Fulfillment 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}
Language: json
Name: FulfilmentPack payload
Description:
[Warning: empty required content area]WaveDispatch - Incoming Event
The incoming event 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 article in cm | String | Required | |
width | The width of the article in cm | String | Required | |
height | The height of the article in cm | String | Required | |
weight | The weight of the article in kg | String | Required | |
maxWeight | The maxWeight of the article | 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}
Language: json
Name: WaveDispatch payload
Description:
[Warning: empty required content area]WaveDispatch - Outgoing Event
The outgoing event which sends the details of each article 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 wave |
| 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 article in cm | String | Required | |
width | The width of the article in cm | String | Required | |
height | The height of the article in cm | String | Required | |
weight | The weight of the article in kg | String | Required | |
maxWeight | The maxWeight of the article | 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}
Language: json
Name: WaveDispatchInitiated payload
Description:
[Warning: empty required content area]