Pick Service Request¶
This type of service request is used for picking inventory out of the butler system.
Pick Request Lifecycle¶
Todo
Have to write this.
Create a Pick Request¶
Todo
Write about expectation format
-
POST
/api-gateway/sr-service/platform-srms/service-request
¶ To create a new pick service request, a Service Request Object should be sent in a HTTP POST request to the above endpoint. The newly created or modified object will be returned in the response if the request is successful.
Pick requests should have the
type
parameter set toPICK
.Request Headers: - Content-Type – the request’s content-type has to be passed in this header
- Accept – the response content type depends on Accept header
- Authorization – OAuth token to authenticate
Status Codes: - 200 OK – No error
- 400 Bad Request – Bad data
Example request:POST /api-gateway/sr-service/platform-srms/service-request HTTP/1.1 Host: example.com Content-Type: application/json Accept: application/json, text/javascript
{ "externalServiceRequestId": "16feb_033", "type": "PICK", "serviceRequests": [{ "externalServiceRequestId": "lineid_01", "type": "PICK_LINE", "expectations": { "containers": [{ "products": [{ "productQuantity": 5, "productAttributes": { "filter_parameters": ["product_sku = 'MM00001'"] } }] }] } }], "attributes": { "pick_before_time": "2018-04-09T18:00:00Z", "pick_after_time": "2018-04-09T18:00:00Z", "order_options": { "priority": 1 } } }
Example Response:HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{ "id": 821, "externalServiceRequestId": "16feb_033", "serviceRequests": [{ "id": 822, "externalServiceRequestId": "lineid_01", "serviceRequests": null, "type": "PICK_LINE", "actuals": null, "expectations": { "containers": [{ "id": 710, "state": null, "type": "VIRTUAL", "barcode": null, "products": [{ "id": 712, "uid": null, "possibleUids": [{ "quantity_per_unit": 1, "product_uid": "5", "relative_priority": 1 }], "uidType": null, "productQuantity": 5, "productAttributes": { "filter_parameters": ["product_sku = 'MM00001'"] }, "createdOn": "2018-04-24T10:56:23.551", "updatedOn": "2018-04-24T10:56:23.551" }], "containers": null, "containerAttributes": null, "createdOn": "2018-04-24T10:56:23.55", "updatedOn": "2018-04-24T10:56:23.55" }] }, "receivedOn": "2018-04-24T05:26:23.547", "status": "CREATED", "state": "CREATED", "attributes": null, "createdOn": "2018-04-24T05:26:23.547", "updatedOn": "2018-04-24T05:26:23.547" }], "type": "PICK", "actuals": null, "expectations": null, "receivedOn": "2018-04-24T05:26:23.544", "status": "CREATED", "state": "CREATED", "attributes": { "pick_after_time": "2018-04-09T18:00:00Z", "order_options": { "priority": 1 }, "pick_before_time": "2018-04-09T18:00:00Z" }, "createdOn": "2018-04-24T05:26:23.544", "updatedOn": "2018-04-24T05:26:23.544" }
Cancel a Pick Request¶
-
POST
/api-gateway/sr-service/platform-srms/service-request/cancel
¶ A Pick request can only be modified or cancelled before the
cancellation_locked
state. Please consult the Pick Request Lifecycle for details.Todo
Find out more details about partial cancellation
Request Headers: - Content-Type – the request’s content-type has to be passed in this header
- Accept – the response content type depends on Accept header
- Authorization – OAuth token to authenticate
Request JSON Object: - externalServiceRequestId (string) –
externalServiceRequestId
to be cancelled - type (string) – Should be equal to
PICK
Status Codes: - 200 OK – No error
- 400 Bad Request – Bad data
Example request:POST /api-gateway/sr-service/platform-srms/service-request/cancel HTTP/1.1 Host: example.com Content-Type: application/json Accept: application/json, text/javascript
{ "externalServiceRequestId": "22", "type": "PICK" }
Example Response:HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{ "id": 5, "externalServiceRequestId": "22", "type": "PICK" }
Modify a Pick Request¶
-
POST
/api-gateway/sr-service/platform-srms/service-request/modify
¶ A Pick request can only be modified or cancelled before the
cancellation_locked
state. Please consult the Pick Request Lifecycle for details.Request Headers: - Content-Type – the request’s content-type has to be passed in this header
- Accept – the response content type depends on Accept header
- Authorization – OAuth token to authenticate
Status Codes: - 200 OK – No error
- 400 Bad Request – Bad data
Example request:POST /api-gateway/sr-service/platform-srms/service-request/modify HTTP/1.1 Host: example.com Content-Type: application/json Accept: application/json, text/javascript
{ "externalServiceRequestId": "16feb_033", "type": "PICK", "serviceRequests": [{ "externalServiceRequestId": "lineid_02", "type": "PICK_LINE", "expectations": { "containers": [{ "products": [{ "productQuantity": 5, "productAttributes": { "filter_parameters": [ "product_sku = '5001'" ] } }] }] } }] }
Example Response:HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8
{ "id": 7, "externalServiceRequestId": "16feb_033", "type": "PICK", "serviceRequests": [{ "externalServiceRequestId": "lineid_02", "type": "PICK_LINE", "expectations": { "containers": [{ "products": [{ "productQuantity": 5, "productAttributes": { "filter_parameters": ["product_sku = '5001'"] } }] }] } }] }
Pick Request Notifications¶
All Pick Request notifications follow the generic notification format (see
Event Notifications), and contain the relevant payload in the
notification_data
attribute.
Fulfillable Notification¶
{
"notification_type": "order_information",
"version_number": "1.5.0",
"notification_seq": "butler_core:a495d2ba",
"notification_data": {
"type": "PICK",
"state": "fulfillable",
"externalServiceRequestId": "ORD-120",
"createdOn": "2018-04-23T16:10:35Z",
"expectations": {
"containers": []
},
"serviceRequests": [{
"state": "fulfillable",
"externalServiceRequestId": "ORD-234_2",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 100,
"productAttributes": {
"filter_parameters": ["product_sku = '2006'"]
}
}]
}]
},
"actuals": {
"containers": []
},
"type": "PICK_LINE"
}, {
"state": "fulfillable",
"externalServiceRequestId": "ORD-234_1",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 100,
"productAttributes": {
"filter_parameters": ["product_sku = '2005'"]
}
}]
}]
},
"actuals": {
"containers": []
},
"type": "PICK_LINE"
}],
"actuals": {
"containers": []
},
"attributes": {
"order_options": {
"invoice_needed": "false",
"auto_release": "true",
"doc_ready": "false",
"bintags": [],
"checklist": "false",
"case_pick_allowed": "true",
"open_case_pick_allowed": "true",
"priority": 1
},
"execution_id": 123456789,
"pps_bin_id": "2",
"pps_id": "4"
}
}
}
Cancellation Locked Notification¶
{
"notification_type": "order_information",
"version_number": "1.5.0",
"notification_seq": "butler_core:b582ad28",
"notification_data": {
"type": "PICK",
"state": "cancellation_locked",
"externalServiceRequestId": "ORD-120",
"createdOn": "2018-04-23T16:10:35Z",
"expectations": {
"containers": []
},
"serviceRequests": [{
"state": "fulfillable",
"externalServiceRequestId": "ORD-234_2",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 100,
"productAttributes": {
"filter_parameters": ["product_sku = '2006'"]
}
}]
}]
},
"actuals": {
"containers": []
},
"type": "PICK_LINE"
}, {
"state": "fulfillable",
"externalServiceRequestId": "ORD-234_1",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 100,
"productAttributes": {
"filter_parameters": ["product_sku = '2005'"]
}
}]
}]
},
"actuals": {
"containers": []
},
"type": "PICK_LINE"
}],
"actuals": {
"containers": []
},
"attributes": {
"order_options": {
"invoice_needed": "false",
"auto_release": "true",
"doc_ready": "false",
"bintags": [],
"checklist": "false",
"case_pick_allowed": "true",
"open_case_pick_allowed": "true",
"priority": 1
},
"execution_id": 123456789,
"pps_bin_id": "2",
"pps_id": "4"
}
}
}
Pick Started Notification¶
{
"notification_type": "order_information",
"version_number": "1.5.0",
"notification_seq": "butler_core:bb60d43b",
"notification_data": {
"type": "PICK",
"state": "pick_started",
"externalServiceRequestId": "ORD-120",
"createdOn": "2018-04-23T20:18:29Z",
"expectations": {
"containers": []
},
"serviceRequests": [{
"state": "fulfillable",
"externalServiceRequestId": "ORD-234_2",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 100,
"productAttributes": {
"filter_parameters": ["product_sku = '2006'"]
}
}]
}]
},
"actuals": {
"containers": []
},
"type": "PICK_LINE"
}, {
"state": "fulfillable",
"externalServiceRequestId": "ORD-234_1",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 100,
"productAttributes": {
"filter_parameters": ["product_sku = '2005'"]
}
}]
}]
},
"actuals": {
"containers": [{
"products": [{
"productQuantity": 80,
"productAttributes": {
"pdfa_values": {
"product_sku": "2005"
},
"package_name": "subpack",
"package_count": 4
}
}],
"state": "complete",
"barcode": null,
"type": "VIRTUAL"
}]
},
"type": "PICK_LINE"
}],
"actuals": {
"containers": [{
"products": [{
"productQuantity": 20,
"productAttributes": {
"pdfa_values": {
"product_sku": "2005"
},
"package_name": "subpack",
"package_count": 1
}
}],
"state": "item_missing",
"barcode": null,
"type": "VIRTUAL",
"containerAttributes": {}
}]
},
"attributes": {
"order_options": {
"invoice_needed": "false",
"auto_release": "true",
"doc_ready": "false",
"bintags": [],
"checklist": "false",
"case_pick_allowed": "true",
"open_case_pick_allowed": "true",
"priority": 1
},
"execution_id": 123456789,
"pps_bin_id": "2",
"pps_id": "4",
"pps_seat_name": "front_4",
"user_name": "default_user_name"
}
}
}
Unfulfillable Notification¶
{
"type": "PICK",
"state": "not_fulfillable",
"externalServiceRequestId": "1",
"createdOn": "2018-04-16T03:32:01Z",
"expectations": {
"containers": []
},
"serviceRequests": [{
"state": "undefined",
"externalServiceRequestId": "3",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 120,
"productAttributes": {
"filter_parameters": ["product_sku = '2006'"]
}
}]
}]
},
"actuals": {
"containers": []
},
"type": "PICK_LINE"
}, {
"state": "undefined",
"externalServiceRequestId": "2",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 100,
"productAttributes": {
"filter_parameters": ["product_sku = '2005'"]
}
}]
}]
},
"actuals": {
"containers": []
},
"type": "PICK_LINE"
}],
"actuals": {
"containers": []
},
"attributes": {
"order_options": {
"invoice_needed": "false",
"auto_release": "true",
"doc_ready": "false",
"bintags": [],
"checklist": "false",
"case_pick_allowed": "true",
"open_case_pick_allowed": "true",
"priority": 1
},
"execution_id": 123456789
}
}
Abandoned Notification¶
{
"type": "PICK",
"state": "abandoned",
"externalServiceRequestId": "1",
"createdOn": "2018-04-16T03:37:26Z",
"expectations": {
"containers": []
},
"serviceRequests": [{
"state": "fulfillable",
"externalServiceRequestId": "3",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 2200,
"productAttributes": {
"filter_parameters": ["product_sku = '2006'"]
}
}]
}]
},
"actuals": {
"containers": [{
"products": [{
"productQuantity": 2000,
"productAttributes": {
"pdfa_values": {
"product_sku": "2006"
}
}
}],
"state": "complete",
"barcode": null,
"type": "VIRTUAL"
}, {
"products": [{
"productQuantity": 180,
"productAttributes": {
"pdfa_values": {
"product_sku": "2006"
}
}
}],
"state": "complete",
"barcode": null,
"type": "VIRTUAL"
}]
},
"type": "PICK_LINE"
}, {
"state": "fulfillable",
"externalServiceRequestId": "2",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 2200,
"productAttributes": {
"filter_parameters": ["product_sku = '2005'"]
}
}]
}]
},
"actuals": {
"containers": [{
"products": [{
"productQuantity": 2000,
"productAttributes": {
"pdfa_values": {
"product_sku": "2005"
}
}
}],
"state": "complete",
"barcode": null,
"type": "VIRTUAL"
}, {
"products": [{
"productQuantity": 200,
"productAttributes": {
"pdfa_values": {
"product_sku": "2005"
}
}
}],
"state": "complete",
"barcode": null,
"type": "VIRTUAL"
}]
},
"type": "PICK_LINE",
"attributes": {
"pps_seat_name": "front_4",
"user_name": "default_user_name"
}
}],
"actuals": {
"containers": [{
"products": [{
"productQuantity": 20,
"productAttributes": {
"pdfa_values": {
"product_sku": "2006"
}
}
}],
"state": "item_missing",
"barcode": null,
"type": "VIRTUAL",
"containerAttributes": {}
}]
},
"attributes": {
"order_options": {
"invoice_needed": "false",
"auto_release": "true",
"doc_ready": "false",
"bintags": [],
"checklist": "false",
"case_pick_allowed": "true",
"open_case_pick_allowed": "true",
"priority": 1
},
"execution_id": 123456789,
"pps_bin_id": "2",
"pps_id": "4",
"pps_seat_name": "front_4",
"user_name": "default_user_name"
}
}
Cancelled and Modified Notification¶
This notification is sent when a cancellation or modification request has been processed.
It contains a single state
variable in it’s notification_data
that contains either success
or failure
.
Todo
Confirm pick cancellation / modification failure notification
{
"notification_type": "order_modification",
"version_number": "1.5.0",
"notification_seq": "butler_core:ed76e403",
"notification_data": {
"state": "success"
}
}
Order Complete Notification¶
{
"notification_type": "order_information",
"version_number": "1.5.0",
"notification_seq": "butler_core:b923bdde",
"notification_data": {
"type": "PICK",
"state": "complete",
"externalServiceRequestId": "ORD-777",
"createdOn": "2018-04-25T06:11:45Z",
"expectations": {
"containers": []
},
"serviceRequests": [{
"state": "complete",
"externalServiceRequestId": "ORD-777_2",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 2,
"productAttributes": {
"filter_parameters": ["product_sku = '2001'"]
}
}]
}]
},
"actuals": {
"containers": [{
"products": [{
"productQuantity": 2,
"productAttributes": {
"pdfa_values": {
"product_sku": "2001"
},
"package_name": "item",
"package_count": 2
}
}],
"state": "complete",
"barcode": null,
"type": "VIRTUAL"
}]
},
"type": "PICK_LINE"
}, {
"state": "complete",
"externalServiceRequestId": "ORD-777_1",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 3,
"productAttributes": {
"filter_parameters": ["product_sku = '2002'"]
}
}]
}]
},
"actuals": {
"containers": [{
"products": [{
"productQuantity": 1,
"productAttributes": {
"pdfa_values": {
"product_sku": "2002"
},
"package_name": "item",
"package_count": 1
}
}],
"state": "complete",
"barcode": null,
"type": "VIRTUAL"
}, {
"products": [{
"productQuantity": 2,
"productAttributes": {
"pdfa_values": {
"product_sku": "2002"
},
"package_name": "item",
"package_count": 2
}
}],
"state": "complete",
"barcode": null,
"type": "VIRTUAL"
}]
},
"type": "PICK_LINE"
}],
"actuals": {
"containers": [{
"products": [{
"productQuantity": 2,
"productAttributes": {
"pdfa_values": {
"product_sku": "2002"
},
"package_name": "item",
"package_count": 2
}
}],
"state": "item_missing",
"barcode": null,
"type": "VIRTUAL",
"containerAttributes": {}
}]
},
"attributes": {
"order_options": {
"invoice_needed": "false",
"auto_release": "true",
"doc_ready": "false",
"bintags": [],
"priority": 1,
"checklist": "false"
},
"execution_id": 123456789,
"pps_bin_id": "2",
"pps_id": "4",
"pps_seat_name": "front_4",
"user_name": "undefined"
}
}
}
Bin Complete Notification¶
{
"notification_type": "bin_complete",
"version_number": "1.5.0",
"notification_seq": "butler_core:04554b9b",
"notification_data": {
"ppsId": 4,
"ppsBinId": "ppsBinId",
"serviceRequests": [{
"type": "PICK",
"state": "complete",
"externalServiceRequestId": "ORD-777",
"createdOn": "2018-04-26T16:55:41Z",
"expectations": {
"containers": []
},
"serviceRequests": [{
"state": "complete",
"externalServiceRequestId": "ORD-777_1",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 3,
"productAttributes": {
"filter_parameters": ["product_sku = '2002'"]
}
}]
}]
},
"actuals": {
"containers": [{
"products": [{
"productQuantity": 3,
"productAttributes": {
"pdfa_values": {
"product_sku": "2002"
},
"package_name": "item",
"package_count": 3
}
}],
"state": "complete",
"barcode": null,
"type": "VIRTUAL"
}]
},
"type": "PICK_LINE"
}],
"actuals": {
"containers": []
},
"attributes": {
"order_options": {
"invoice_needed": "false",
"auto_release": "true",
"doc_ready": "false",
"bintags": [],
"priority": 1,
"checklist": "false"
},
"execution_id": 123456789,
"pps_bin_id": "2",
"pps_id": "4",
"pps_seat_name": "front_4",
"user_name": "default_user_name"
}
}, {
"type": "PICK",
"state": "complete",
"externalServiceRequestId": "ORD-888",
"createdOn": "2018-04-26T17:00:36Z",
"expectations": {
"containers": []
},
"serviceRequests": [{
"state": "complete",
"externalServiceRequestId": "ORD-888_1",
"expectations": {
"containers": [{
"products": [{
"productQuantity": 3,
"productAttributes": {
"filter_parameters": ["product_sku = '2002'"]
}
}]
}]
},
"actuals": {
"containers": [{
"products": [{
"productQuantity": 3,
"productAttributes": {
"pdfa_values": {
"product_sku": "2002"
},
"package_name": "item",
"package_count": 3
}
}],
"state": "complete",
"barcode": null,
"type": "VIRTUAL"
}]
},
"type": "PICK_LINE"
}],
"actuals": {
"containers": []
},
"attributes": {
"order_options": {
"invoice_needed": "false",
"auto_release": "true",
"doc_ready": "false",
"bintags": [],
"priority": 1,
"checklist": "false"
},
"execution_id": 123456789,
"pps_bin_id": "2",
"pps_id": "4",
"pps_seat_name": "front_4",
"user_name": "default_user_name"
}
}]
}
}
Item Picked Notifications¶
This notification is sent whenever a pick transaction is done. The payload contains the complete current state of the service request.
Some examples of different cases are shown below:
Item Picked (K-Deep Containers){ "notification_type": "order_information", "version_number": "1.5.0", "notification_seq": "butler_core:b9252c11", "notification_data": { "type": "PICK", "state": "fulfillable", "externalServiceRequestId": "ORD-120", "createdOn": "2018-04-24T10:22:12Z", "expectations": { "containers": [] }, "serviceRequests": [{ "state": "fulfillable", "externalServiceRequestId": "ORD-234_2", "expectations": { "containers": [{ "products": [{ "productQuantity": 100, "productAttributes": { "filter_parameters": ["product_sku = '2006'"] } }] }] }, "actuals": { "containers": [{ "products": [{ "productQuantity": 60, "productAttributes": { "pdfa_values": { "product_sku": "2006" }, "package_name": "subpack", "package_count": 3 } }], "state": "complete", "barcode": null, "type": "VIRTUAL" }] }, "type": "PICK_LINE" }, { "state": "fulfillable", "externalServiceRequestId": "ORD-234_1", "expectations": { "containers": [{ "products": [{ "productQuantity": 100, "productAttributes": { "filter_parameters": ["product_sku = '2005'"] } }] }] }, "actuals": { "containers": [] }, "type": "PICK_LINE" }], "actuals": { "containers": [{ "products": [{ "productQuantity": 40, "productAttributes": { "pdfa_values": { "product_sku": "2006" }, "package_name": "subpack", "package_count": 2 } }], "state": "physically_damaged", "barcode": null, "type": "VIRTUAL", "containerAttributes": {} }, { "products": [{ "productQuantity": 20 }], "state": "unscannable", "barcode": null, "type": "VIRTUAL", "containerAttributes": {} }] }, "attributes": { "order_options": { "invoice_needed": "false", "auto_release": "true", "doc_ready": "false", "bintags": [], "checklist": "false", "case_pick_allowed": "true", "open_case_pick_allowed": "true", "priority": 1 }, "execution_id": 123456789, "pps_bin_id": "2", "pps_id": "4", "pps_seat_name": "front_4", "user_name": "default_user_name" } } }Item Picked (Eaches){ "notification_type": "order_information", "version_number": "1.5.0", "notification_seq": "butler_core:f96bd026", "notification_data": { "type": "PICK", "state": "fulfillable", "externalServiceRequestId": "ORD-777", "createdOn": "2018-04-24T11:21:55Z", "expectations": { "containers": [] }, "serviceRequests": [{ "state": "fulfillable", "externalServiceRequestId": "ORD-777_1", "expectations": { "containers": [{ "products": [{ "productQuantity": 3, "productAttributes": { "filter_parameters": ["product_sku = '2002'"] } }] }] }, "actuals": { "containers": [{ "products": [{ "productQuantity": 2, "productAttributes": { "pdfa_values": { "product_sku": "2002" }, "package_name": "item", "package_count": 2 } }], "state": "complete", "barcode": null, "type": "VIRTUAL" }] }, "type": "PICK_LINE" }], "actuals": { "containers": [{ "products": [{ "productQuantity": 1, "productAttributes": { "pdfa_values": { "product_sku": "2002" }, "package_name": "item", "package_count": 1 } }], "state": "item_missing", "barcode": null, "type": "VIRTUAL", "containerAttributes": {} }] }, "attributes": { "order_options": { "invoice_needed": "false", "auto_release": "true", "doc_ready": "false", "bintags": [], "priority": 1, "checklist": "false" }, "execution_id": 123456789, "pps_bin_id": "2", "pps_id": "4", "pps_seat_name": "front_4", "user_name": "default_user_name" } } }Item Picked (Tote Flow){ "notification_type": "order_information", "version_number": "1.5.0", "notification_seq": "butler_core:5425f134", "notification_data": { "type": "PICK", "state": "complete", "externalServiceRequestId": "ORD-777", "createdOn": "2018-04-26T12:46:17Z", "expectations": { "containers": [] }, "serviceRequests": [{ "state": "complete", "externalServiceRequestId": "ORD-777_1", "expectations": { "containers": [{ "products": [{ "productQuantity": 3, "productAttributes": { "filter_parameters": ["product_sku = '2002'"] } }] }] }, "actuals": { "containers": [{ "products": [{ "productQuantity": 3, "productAttributes": { "pdfa_values": { "product_sku": "2002" }, "package_name": "item", "package_count": 3 } }], "state": "complete", "barcode": null, "type": "VIRTUAL" }] }, "type": "PICK_LINE", "attributes": { "tote_id": "A000000001" } }], "actuals": { "containers": [] }, "attributes": { "order_options": { "invoice_needed": "false", "auto_release": "true", "doc_ready": "false", "bintags": [], "priority": 1, "checklist": "false" }, "execution_id": 123456789, "pps_bin_id": "2", "pps_id": "4", "pps_seat_name": "front_4", "user_name": "undefined" } } }Item Picked (with Item Missing exception){ "notification_type": "order_information", "version_number": "1.5.0", "notification_seq": "butler_core:57f1fa3f", "notification_data": { "type": "PICK", "state": "fulfillable", "externalServiceRequestId": "ORD-777", "createdOn": "2018-04-25T06:11:45Z", "expectations": { "containers": [] }, "serviceRequests": [{ "state": "fulfillable", "externalServiceRequestId": "ORD-777_2", "expectations": { "containers": [{ "products": [{ "productQuantity": 2, "productAttributes": { "filter_parameters": ["product_sku = '2001'"] } }] }] }, "actuals": { "containers": [{ "products": [{ "productQuantity": 2, "productAttributes": { "pdfa_values": { "product_sku": "2001" }, "package_name": "item", "package_count": 2 } }], "state": "complete", "barcode": null, "type": "VIRTUAL" }] }, "type": "PICK_LINE" }, { "state": "fulfillable", "externalServiceRequestId": "ORD-777_1", "expectations": { "containers": [{ "products": [{ "productQuantity": 3, "productAttributes": { "filter_parameters": ["product_sku = '2002'"] } }] }] }, "actuals": { "containers": [{ "products": [{ "productQuantity": 1, "productAttributes": { "pdfa_values": { "product_sku": "2002" }, "package_name": "item", "package_count": 1 } }], "state": "complete", "barcode": null, "type": "VIRTUAL" }] }, "type": "PICK_LINE" }], "actuals": { "containers": [{ "products": [{ "productQuantity": 2, "productAttributes": { "pdfa_values": { "product_sku": "2002" }, "package_name": "item", "package_count": 2 } }], "state": "item_missing", "barcode": null, "type": "VIRTUAL", "containerAttributes": {} }] }, "attributes": { "order_options": { "invoice_needed": "false", "auto_release": "true", "doc_ready": "false", "bintags": [], "priority": 1, "checklist": "false" }, "execution_id": 123456789, "pps_bin_id": "2", "pps_id": "4", "pps_seat_name": "front_4", "user_name": "undefined" } } }