Pick Service Request

This type of service request is used for picking inventory out of the butler system.

Pick Request Lifecycle

graph TD A[created] --> |Inventory available and blocked| B[fulfillable] B --> |First rack reached| C[cancellation_locked] C --> |First pick transaction done| D[pick_started] D --> |Pick transactions| D D --> |All picks done| E[complete] A --> |Inventory not available| F[not_fulfillable] A --> |Cancel API call| G[cancelled] B --> |Cancel API call| G D --> |Partially complete due to<br/>inventory missing| H[abandoned] class E node-success class F node-failure class G node-failure class H node-failure

Pick Service Request Object

A pick service request object is derived from the generic Service Request Object.

pickServiceRequest
type

The type of a pick service request object is PICK.

serviceRequests

This is a list of child service requests of this object. The list elements are of the type pickLineServiceRequest, and at least one child pick line is required.

attributes

This is an optional dictionary containing key-value pairs that affect how this service request is processed.

Supported attributes:

pick_before_time

This is a string in ISO 8601 datetime format. The system will set this as the deadline before which this order has to be picked.

pick_after_time

This is a string in ISO 8601 datetime format. The system will set this as the time after which this order can be picked.

simple_priority

New in version 4.0: This is a string representing the priority of this service request. It can have the following values:

  1. normal: This is the default value of the priority.
  2. high: High priority orders have a higher chance of being completed before normal orders.
  3. low: Low priority orders have a lower chance of being completed before normal orders.
  4. critical: Critical orders have the highest probability of being picked early, and critical orders can even jump pick_before_time / pick_after_time boundaries.
order_options

This is a dictionary representing key-value pairs that further affect how this service request will be processed. The possible values here can be different depending on different downstream fulfillment engines configured in the system.

pickLineServiceRequest

This service request describes a single pick line in a pick service request.

type

The type of a pick line service request object is PICK_LINE.

expectations

The expectations object in a pick line service request defines the product(s) to be picked.

This object is of the form: { "containers": [ pickLineExpectationContainer ]}.

pickLineExpectationContainer
products[]

This is a list with one object containing the product details.

productQuantity

An integer representing the quantity of eaches to be picked.

productAttributes

This is an object which specifies which product has to be picked for this pick line.

filter_parameters

This is a list of strings with a special SQL-like syntax which represents filtering criteria to match the product to be picked.

If multiple filter strings are given, products matching all the filters are selected.

Each filter string is of the format:

unique_key operator value
  • unique_key is one of the uniquely defining attributes of the product
  • operator is one of =, in.
  • value is either a string with single quotes, or a list of strings.

Examples:

{
    "filter_parameters": [
        "product_sku = 'SKU12345'"
    ]
}
{
    "filter_parameters": [
        "lot_id in ['e82b3734-8dee-48a8-af72-e6c0abcc6eec',
                    '6f6dd87f-d0f5-49de-bd4e-94dd58e8d682',
                    'd3cbd2e8-c5a2-43ac-8467-87de272496b5']"
    ]
}
{
    "filter_parameters": [
        "product_sku = 'SKU12345'",
        "client_id = 'C1'"
    ]
}

Create a Pick Request

POST /api-gateway/sr-service/platform-srms/service-request

To create a new pick service request, a Pick 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.

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:
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,
                    "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.

Pick cancellation works asynchronously. So, this API accepts the request, and generates a success or failure notification according to the result.

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:
 
Response JSON Object:
 
  • id (int) – A unique transaction id for this request. The result notification will have this transaction id for reference.
  • externalServiceRequestId (string) – serviceRequest.externalServiceRequestId
  • type (string) – PICK
Status Codes:
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.

Pick modification works asynchronously. So, this API accepts the request, and generates a success or failure notification according to the result.

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) – serviceRequest.externalServiceRequestId to be modified
  • type (string) – Should be equal to PICK
  • expectations – (Optional) Can be passed if expectation(s) of this service request have to be modified.
  • serviceRequests – (Optional) Can be passed if child service request(s) of this service request have to be modified.
  • attributes – (Optional) Can be passed if attributes of this service request have to be modified.
Response JSON Object:
 
  • id (int) – A unique transaction id for this request. The result notification will have this transaction id for reference.
  • externalServiceRequestId (string) – serviceRequest.externalServiceRequestId
  • type (string) – PICK
Status Codes:
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"
}

Pick Request Notifications

All Pick Request notifications follow the generic notification format (see Event Notifications), and contain the relevant payload in the notification.notification_data attribute.

Fulfillable Notification

Show/Hide
{
    "notification_type": "order_information",
    "version_number": "1.5.0",
    "notification_id": "butler_core:a495d2ba",
    "notification_data": {
        "type": "PICK",
        "state": "fulfillable",
        "status": "PROCESSING",
        "externalServiceRequestId": "ORD-120",
        "createdOn": "2018-04-23T16:10:35Z",
        "expectations": {
            "containers": []
        },
        "serviceRequests": [{
            "state": "fulfillable",
            "status": "PROCESSING",
            "externalServiceRequestId": "ORD-234_2",
            "expectations": {
                "containers": [{
                    "products": [{
                        "productQuantity": 100,
                        "productAttributes": {
                            "filter_parameters": ["product_sku = '2006'"]
                        }
                    }]
                }]
            },
            "actuals": {
                "containers": []
            },
            "type": "PICK_LINE"
        }, {
            "state": "fulfillable",
            "status": "PROCESSING",
            "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

Show/Hide
{
    "notification_type": "order_information",
    "version_number": "1.5.0",
    "notification_id": "butler_core:b582ad28",
    "notification_data": {
        "type": "PICK",
        "state": "cancellation_locked",
        "status": "PROCESSING",
        "externalServiceRequestId": "ORD-120",
        "createdOn": "2018-04-23T16:10:35Z",
        "expectations": {
            "containers": []
        },
        "serviceRequests": [{
            "state": "fulfillable",
            "status": "PROCESSING",
            "externalServiceRequestId": "ORD-234_2",
            "expectations": {
                "containers": [{
                    "products": [{
                        "productQuantity": 100,
                        "productAttributes": {
                            "filter_parameters": ["product_sku = '2006'"]
                        }
                    }]
                }]
            },
            "actuals": {
                "containers": []
            },
            "type": "PICK_LINE"
        }, {
            "state": "fulfillable",
            "status": "PROCESSING",
            "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

Show/Hide
{
    "notification_type": "order_information",
    "version_number": "1.5.0",
    "notification_id": "butler_core:bb60d43b",
    "notification_data": {
        "type": "PICK",
        "state": "pick_started",
        "status": "PROCESSING",
        "externalServiceRequestId": "ORD-120",
        "createdOn": "2018-04-23T20:18:29Z",
        "expectations": {
            "containers": []
        },
        "serviceRequests": [{
            "state": "fulfillable",
            "status": "PROCESSING",
            "externalServiceRequestId": "ORD-234_2",
            "expectations": {
                "containers": [{
                    "products": [{
                        "productQuantity": 100,
                        "productAttributes": {
                            "filter_parameters": ["product_sku = '2006'"]
                        }
                    }]
                }]
            },
            "actuals": {
                "containers": []
            },
            "type": "PICK_LINE"
        }, {
            "state": "fulfillable",
            "status": "PROCESSING",
            "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

Show/Hide
{
    "notification_type": "order_information",
    "version_number": "1.5.0",
    "notification_id": "butler_core:ed76e403",
    "notification_data": {
        "type": "PICK",
        "state": "not_fulfillable",
        "status": "FAILED",
        "externalServiceRequestId": "1",
        "createdOn": "2018-04-16T03:32:01Z",
        "expectations": {
            "containers": []
        },
        "serviceRequests": [{
            "state": "undefined",
            "status": "FAILED",
            "externalServiceRequestId": "3",
            "expectations": {
                "containers": [{
                    "products": [{
                        "productQuantity": 120,
                        "productAttributes": {
                            "filter_parameters": ["product_sku = '2006'"]
                        }
                    }]
                }]
            },
            "actuals": {
                "containers": []
            },
            "type": "PICK_LINE"
        }, {
            "state": "undefined",
            "status": "FAILED",
            "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

Show/Hide
{
    "notification_type": "order_information",
    "version_number": "1.5.0",
    "notification_id": "butler_core:ed76e403",
    "notification_data": {
        "type": "PICK",
        "state": "abandoned",
        "status": "CANCELLED",
        "externalServiceRequestId": "1",
        "createdOn": "2018-04-16T03:37:26Z",
        "expectations": {
            "containers": []
        },
        "serviceRequests": [{
            "state": "fulfillable",
            "status": "PROCESSING",
            "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.

Attributes in notification.notification_data:

  • id: Transaction id of the cancellation/modification request for which this is a response.
  • state: Status. Either success or failure.

Sample Notification:

Show/Hide
{
    "notification_type": "order_modification",
    "version_number": "1.5.0",
    "notification_id": "butler_core:ed76e403",
    "notification_data": {
        "state": "success"
    }
}

In case the cancellation or modification is successful, an additional order_information notification is generated:

Order Information after cancellation
{
    "notification_type": "order_information",
    "version_number": "1.5.0",
    "notification_id": "platform:[B@39a06c3b",
    "notification_data": {
        "type": "PICK",
        "state": "cancelled",
        "status": "CANCELLED",
        "externalServiceRequestId": "10Aug_0002",
        "createdOn": "2018-08-10T06:11:24.04",
        "expectations": {
            "containers": []
        },
        "serviceRequests": [{
            "state": "fulfillable",
            "status": "PROCESSING",
            "externalServiceRequestId": "lineid_10aug_002",
            "expectations": {
                "containers": [{
                    "products": [{
                        "productAttributes": {
                            "filter_parameters": ["product_sku = '1911'"]
                        },
                        "productQuantity": 5
                    }]
                }]
            },
            "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
        },
    }
}

Order Complete Notification

Show/Hide
{
    "notification_type": "order_information",
    "version_number": "1.5.0",
    "notification_id": "butler_core:b923bdde",
    "notification_data": {
        "type": "PICK",
        "state": "complete",
        "status": "PROCESSED",
        "externalServiceRequestId": "ORD-777",
        "createdOn": "2018-04-25T06:11:45Z",
        "expectations": {
            "containers": []
        },
        "serviceRequests": [{
            "state": "complete",
            "status": "PROCESSED",
            "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",
            "status": "PROCESSED",
            "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

Show/Hide
{
    "notification_type": "bin_complete",
    "version_number": "1.5.0",
    "notification_id": "butler_core:04554b9b",
    "notification_data": {
        "ppsId": 4,
        "ppsBinId": "ppsBinId",
        "serviceRequests": [{
            "type": "PICK",
            "state": "complete",
            "status": "PROCESSED",
            "externalServiceRequestId": "ORD-777",
            "createdOn": "2018-04-26T16:55:41Z",
            "expectations": {
                "containers": []
            },
            "serviceRequests": [{
                "state": "complete",
                "status": "PROCESSED",
                "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",
            "status": "PROCESSED",
            "externalServiceRequestId": "ORD-888",
            "createdOn": "2018-04-26T17:00:36Z",
            "expectations": {
                "containers": []
            },
            "serviceRequests": [{
                "state": "complete",
                "status": "PROCESSED",
                "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_id": "butler_core:b9252c11",
    "notification_data": {
        "type": "PICK",
        "state": "fulfillable",
        "status": "PROCESSING",
        "externalServiceRequestId": "ORD-120",
        "createdOn": "2018-04-24T10:22:12Z",
        "expectations": {
            "containers": []
        },
        "serviceRequests": [{
            "state": "fulfillable",
            "status": "PROCESSING",
            "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",
            "status": "PROCESSING",
            "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_id": "butler_core:f96bd026",
    "notification_data": {
        "type": "PICK",
        "state": "fulfillable",
        "status": "PROCESSING",
        "externalServiceRequestId": "ORD-777",
        "createdOn": "2018-04-24T11:21:55Z",
        "expectations": {
            "containers": []
        },
        "serviceRequests": [{
            "state": "fulfillable",
            "status": "PROCESSING",
            "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_id": "butler_core:5425f134",
    "notification_data": {
        "type": "PICK",
        "state": "complete",
        "status": "PROCESSED",
        "externalServiceRequestId": "ORD-777",
        "createdOn": "2018-04-26T12:46:17Z",
        "expectations": {
            "containers": []
        },
        "serviceRequests": [{
            "state": "complete",
            "status": "PROCESSED",
            "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_id": "butler_core:57f1fa3f",
    "notification_data": {
        "type": "PICK",
        "state": "fulfillable",
        "status": "PROCESSING",
        "externalServiceRequestId": "ORD-777",
        "createdOn": "2018-04-25T06:11:45Z",
        "expectations": {
            "containers": []
        },
        "serviceRequests": [{
            "state": "fulfillable",
            "status": "PROCESSING",
            "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",
            "status": "PROCESSING",
            "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"
        }
    }
}