Batch Picking

This page describes batch picking and how to configure it.

Introduction

Batch picking is one of the available multi order pick methods of fulfillmenttools. A pick run combines multiple pickjobs which represent parts of or a whole consumer order. When two pickjobs of a batch pick run contain the same article, the two articles are merged to one pick line item for the picker.

Please see the following example: Pickjob A contains the item "apple" with a quantity of 3. Pickjob B contains article "apple" with a quantity of 5. A batch pick run of these two pickjobs would combine both pickjobs and results in three pick line items in the pickrun - one of them is "apple" with a quantity of 8.

After the pick process is finished the picked items are distributed into order specific batches of goods again to be shipped or handed over.

Configuration

Wether a single order can be part of a batch pick is depended on three configurations with different priorities. The configuration is done on three levels, namely:

  • Pick Job specific configuration: The field preferredPickingMethods within a Pickjob (Link) tells you in which ways the pickjob expects to be processed. This configuration supersedes all other configuration around picking methods.

  • Facility specific configuration which says which picking methods are supported in which facility (Link)

  • Tenant wide configuration (Link) of the default picking method: When a pickjob is created and no specific other configuration is provided (for example in the pickjob itself or the target facility) this default picking method is applied to a new pickjob

The three levels of configuration are, as mentioned above, partially superseding, which means in this case: When a pickjob is marked as one, that should be fulfilled by a Batch Picking process, it overrules any configuration given to the facility or the tenant.

Setting tenant wide default picking method

The defaultPickingMethod of the tenant can currently be set to one of the following values: SINGLE_ORDER, MULTI_ORDER or BATCH (see Configurations of Picking Methods for details).

The PATCH method on the /api/configurations/picking endpoint can be used to change the value:

curl --location --request PATCH 'https://your.api.fulfillmenttools.com/api/configurations/picking' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
    "version":25,
    "pickingMethodsConfiguration": {
        "defaultPickingMethod": "BATCH"
    }
}'

This configuration is considered a fallback configuration: It will only be used for new pickjobs if there is no facility configuration (see Configuration of picking methods in a facility) regarding picking methods in the target facility and no pickjob specific configuration (see Configuration of the preferred picking method in a pickjob) regarding picking methods (upon creation via API for example).

Configuration of picking methods in a facility

The configuration of available picking methods within a facility is done in the facility itself. The parameter pickingMethods is an array that can contain none, some or all of the following values: SINGLE_ORDER, MULTI_ORDER or BATCH. The configured values tells about which kind of picking methods are performed in the corresponding facility and can be changed issuing a call like this:

curl --location --request PATCH 'https://your.api.fulfillmenttools.com/api/facilities/0a3fe1dd-70d8-43b3-a70a-2cff78a4d439' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
    "actions": [ 
        {
            "action":"ModifyFacility",
            "pickingMethods": ["BATCH"]
        }
    ],
    "version":20
}'

200 OK
{
    "name": "Store Cologne",
    "pickingMethods": [
        "BATCH"
    ],
    ...
}

This configuration overwrites a potentially present tenant wide configuration to picking methods (see Setting tenant wide default picking method). A pickjob may override this configuration if it carries a different configuration regarding picking methods.

Configuration of the preferred picking method in a pickjob

To keep things easy a pickjob knows about the desired picking methods. The value is written to the pickjob itself (field preferredPickingMethods). The value here is the outcome of any given configuration on tenant or facility level and may be overwritten during creation of the pickjob.

Be aware: Providing pickingMethods in the creation of a pickjob might overwrite any given facility specific or tenant wide configuration.

Configure picking methods via Tags

It is also possible to add picking methods according to present tags on the pickjob. Please see the following issued configuration:

curl --location --request PUT 'https://your.api.fulfillmenttools.com/api/configurations/tags/pickjob' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
    "preferredPickingMethodsConfiguration": {
        "preferredPickingMethodsPerTag": [
            {
                "tagRef": "Consumer Group",
                "matchingValues": [
                    "B2C"
                ],
                "pickingMethods": [
                    "BATCH"
                ]
            },
            {
                "tagRef": "Consumer Group",
                "matchingValues": [
                    "B2B"
                ],
                "pickingMethods": [
                    "SINGLE_ORDER"
                ]
            }
        ]
    },
    ...
}'

200 OK
...

Make sure that the corresponding tags exist in order to apply the preferredPickingMethods in the above configuration.

In this example every incoming order or pickjob, which is tagged with the tag Consumer Groupis subject to this configuration. When such an entity is tagged with value B2C the created pickjob will contain the picking method BATCH while the tag value B2B results in picking method SINGLE_ORDER.

Creating a pickjob with given picking method via API

The following call would create a pickjob according to a given pickjob specific configuration:

curl --location --request POST 'https://your.api.fulfillmenttools.com/api/pickjobs' \
--header 'Authorization: Bearer TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
    "facilityRef": "0a3fe1dd-70d8-43b3-a70a-2cff78a4d439",
    "preferredPickingMethods": ["BATCH"],
    ...
}
'

201 Created
{
    "facilityRef": "0a3fe1dd-70d8-43b3-a70a-2cff78a4d439",
    "id":"96bd7ed8-cbfa-4c05-b8ae-6ab0ef647a74",
    "preferredPickingMethods": ["BATCH"]
    ...
}

Last updated