# Picking

{% hint style="info" %}
This article focuses on using the Operations app. For information on APIs and customizations, see the [picking](https://docs.fulfillmenttools.com/documentation/by-pillar/store-operations/picking "mention") section.
{% endhint %}

When you open the Operations app, the first page shown is the picking section. You'll see a list of all the tasks and their current states. By default, they're ordered by date ascending (oldest first) within each status.&#x20;

<figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2Fb8NjAG6g15ezPTMiSuIB%2FOrder-Overview.png?alt=media&#x26;token=cca62cd8-3377-45e6-83a3-4a510ddb5feb" alt="" width="188"><figcaption></figcaption></figure>

{% hint style="info" %}
**Order date versus order created date**

The order date is when the customer placed the order in the tenant's shop. It shouldn't be confused with the order created date, which is when the order was created in fulfillmenttools.
{% endhint %}

Tapping on a task shows all ordered items for that task, including the respective quantity. On the screen that shows all items and on the picking summary screen, the system generates a subtitle for each item based on available attributes if no dedicated subtitle is present.

<figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FKQF8FGweU58ZR1wwtDNy%2FPicking-List.png?alt=media&#x26;token=b6cad565-4357-424d-b918-e0130cf7fb0f" alt="" width="188"><figcaption></figcaption></figure>

It's possible to configure [picking scanning rules](https://docs.fulfillmenttools.com/documentation/apps/operations-app/broken-reference), such as barcode validation or the use of a manual input picker.

## Picking sequence

It is possible to sort the pick lines in a **picking sequence**, which is a numerical order representing the physical location of the item in the picking area. If [storage locations](https://docs.fulfillmenttools.com/documentation/apps/operations-app/broken-reference) are activated for the tenant, the running sequence of the locations is used. Additionally, the picking sequence can be defined in the [listing](https://docs.fulfillmenttools.com/documentation/apps/operations-app/broken-reference) and in the line items of the [order](https://docs.fulfillmenttools.com/documentation/apps/operations-app/broken-reference). If more than one listing or order line has the same picking sequence number, the system sorts those items by their tenant article ID.

## Product attributes in product detail view

Apart from the `%%subtitle%%` key, only attributes that are supplied with the key `category` and the value `descriptive` are displayed.

<figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2Fe50LlptZTvRW6lkNXcYx%2FDetails-View-01.png?alt=media&#x26;token=dc922227-f3cb-4ac4-a48f-0df981dbd96a" alt="" width="188"><figcaption></figcaption></figure>

If no such attributes are defined (and no subtitle is provided), the view remains empty.

<figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FIjkuIzbtDZ0QmgwtdJ3E%2FDetails-View-02.png?alt=media&#x26;token=4a1547e1-f5a1-4c90-9768-6be4e20bc3ca" alt="" width="188"><figcaption></figcaption></figure>

## Short identifier (short ID)

To identify a task more easily, the system adds a short identifier (`shortID`). The system generates this identifier from the first letter of the customer's first and last name, along with an incrementing number for each occurrence of that initial combination. This number can have a maximum of two digits (e.g., 99), after which it resets to 1. The identifier is specific to a facility and not unique across the tenant, unlike an order ID.

### Example

The identifier for a task that belongs to an order for **J**ane **D**oe would be `JD1`, assuming no other customer at this facility has a first name starting with "J" and a last name starting with "D".

<div><figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FJI7iJifFI3iSiPuk1xor%2FShort-ID-01.png?alt=media&#x26;token=ac377248-4cb7-48bf-8c57-4ca19e224ab9" alt="" width="188"><figcaption><p>Short ID within task overview</p></figcaption></figure> <figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2Fu9qvhNtQsf6frqSR8sIL%2FShort-ID-02.png?alt=media&#x26;token=135d73c7-ce6f-444b-b3f4-1845b9e5edc5" alt="" width="188"><figcaption><p>Short ID within the task</p></figcaption></figure></div>

{% hint style="info" %}
This identifier is also available in the labeling and handover sections. For example, a fulfiller can use this identifier to locate a chosen parcel by writing the identifier on that parcel.
{% endhint %}

## Notifications in Android application

When a new pick job is incoming, the user receives an Android system notification, so the user does not have to check the application periodically.

The notification is related to the facility the user has currently selected in the application. If a user has not selected a facility, the system does not send notifications. Furthermore, the user must be logged in to the application to receive a notification. Notifications are delivered even if the phone's screen is locked. Tapping on the notification leads the user to the list of pick jobs. This approach prevents users from being overwhelmed by notifications.

<figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2Fc5Wij3aUhkJQC3cKMWop%2FPush-Notifications.png?alt=media&#x26;token=6d0f4b79-3782-4d6b-b045-5e4c96943cce" alt="" width="188"><figcaption></figcaption></figure>

The notification feature is configurable within the app settings. The sound and banner notifications can be turned on and off. The application saves these settings on the device.

<figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FSkHxWWbl9m6lGWhvxPsO%2FNotifications-Settings.png?alt=media&#x26;token=88f5f70e-70a4-4fb1-bc06-7d7da71d8a18" alt="" width="188"><figcaption></figcaption></figure>

## Picking process

Users can pick each collected line item by either scanning its barcode or manually adding the picked quantity.

### Scanning

Users can scan item barcodes using the SCAN button at the bottom of the screen. When using a data collection device, such as a Mobile Data Entry (MDE) device, the device's dedicated scan button can also be used.

<figure><img src="https://content.gitbook.com/content/Lrrr5jgTsDuR38gNJIrm/blobs/sPhcnIhfOsS1Aw4QAbs8/p3.png" alt="" width="188"><figcaption></figcaption></figure>

### Adding quantities manually

If scanning a barcode is not possible or desired, users can select an item by tapping on it. The user can then manually adjust the quantity using the amount handler and save the change.

<figure><img src="https://content.gitbook.com/content/Lrrr5jgTsDuR38gNJIrm/blobs/VScL2tQAI3gx6B5aqc1A/p4.png" alt="" width="188"><figcaption></figcaption></figure>

### Finishing a picking task

Once all available items are picked, the user can complete the picking task by sliding the complete button to the right.

<div><figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2F98ioJBCBslg4dyUQTgCw%2Ffinishing1.avif?alt=media&#x26;token=e0379cd2-a9b1-4702-b366-56a7283dc05d" alt="" width="188"><figcaption><p>Complete picking task</p></figcaption></figure> <figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2F4VslzZVjk8cPBffQCZyK%2Ffinishing2.avif?alt=media&#x26;token=66611321-319d-4654-b493-67cdba22b7a8" alt="" width="188"><figcaption><p>Slide to confirm</p></figcaption></figure></div>

### Pausing or interrupting a picking task

During the picking process, the user can pause a picking task by tapping the X in the upper-left corner of the screen. The picked items are saved, allowing the user to resume the task later.

The picking task does not have a specific "paused" status, but the task overview clearly shows that some items have already been picked.

<div><figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2Fb9WVyBMOcNpBvwJbUgI1%2FPause-Picking-01.png?alt=media&#x26;token=3b43839d-912f-4252-b437-d9a4c101e315" alt=""><figcaption><p>X in task</p></figcaption></figure> <figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2F1Y8fpnUT2Z92UIsOxmNQ%2FPause-Picking-02.png?alt=media&#x26;token=b3abdad5-f138-4c06-83c9-b796057571f3" alt=""><figcaption><p>Confirmation</p></figcaption></figure> <figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FEda9QaRGrdDx9VVKwTzn%2FPause-Picking-03.png?alt=media&#x26;token=86067479-8dd6-4739-b3ca-f49dab481501" alt=""><figcaption><p>Picked amount is kept</p></figcaption></figure></div>

### Picking substitute items

Once the task is opened, the user begins picking the ordered items.

<figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FFCNOkNzDO99QM2DWiaaz%2Fp1.png?alt=media&#x26;token=56ff0832-f7a4-44e9-b8c0-e51b80068c6a" alt="" width="188"><figcaption></figcaption></figure>

If the originally ordered product is unavailable, users can switch to substitute options by pressing the three-dot menu icon (⋮).

<figure><img src="https://content.gitbook.com/content/Lrrr5jgTsDuR38gNJIrm/blobs/YZ2hHtXNktfi9ZfdXrJq/6-3.png" alt="" width="188"><figcaption></figcaption></figure>

Tapping **Select substitute items** directs the user to the substitute selection screen.

<figure><img src="https://content.gitbook.com/content/Lrrr5jgTsDuR38gNJIrm/blobs/ASuVxRCCbUMeeSZKcqa6/6-4.png" alt="" width="188"><figcaption></figcaption></figure>

The user selects an available substitute article and enters the correct quantity. The substitute pick is confirmed by tapping **CLOSE**.

<div><figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FtxYwuPLEvu3XEkcD4kGZ%2Fsubstitute1.avif?alt=media&#x26;token=426eb80c-12af-4d53-b98d-4c9e06dce84e" alt="" width="188"><figcaption><p>Substitute item selection</p></figcaption></figure> <figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2F4jfvj5qaUbtO6YhcxnZN%2Fsubstitute2.avif?alt=media&#x26;token=7d3aed4d-8819-4af6-a89d-8a27d4dc6d28" alt="" width="188"><figcaption><p>Confirmation</p></figcaption></figure></div>

### Picking with load units

Once all items for a task have been picked, it is possible to enter the used load units, such as a bag or a box. Load units can be assigned either at the beginning, before picking starts, or at the end, after all items have been picked.

Load unit usage before picking starts:

<div><figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FpqtVH7PT5klLadrNuAXE%2FLoad-Units-Before-01.png?alt=media&#x26;token=e5b1e859-dad3-4276-a0ef-5eb9abf8d180" alt=""><figcaption><p>Option to scan load unit</p></figcaption></figure> <figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2Fl03lwzBh9sBLMBJFde11%2FLoad-Units-Before-02.png?alt=media&#x26;token=4b659aed-4cae-44fe-a486-6771455f5ef5" alt=""><figcaption><p>Manual addition of load unit</p></figcaption></figure> <figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2F2l7vqKBuFojmhTkoZjUA%2FLoad-Units-Before-03.png?alt=media&#x26;token=f5bc59b7-f20e-42ff-a655-c6ce05584866" alt=""><figcaption><p>Overview + start task</p></figcaption></figure></div>

Load unit usage after picking is completed:

<figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FEmLKCNPyZBPOjSKSQmfy%2FLoad-Units-After.png?alt=media&#x26;token=406eb651-62f4-49ec-a89c-5bf483301247" alt="" width="188"><figcaption><p>Selection of used load units</p></figcaption></figure>

### Picking with measurement units

When an item must be picked by weight, length, or a similar criterion, this is specified within the item details. The Operations App automatically displays the required amount.

When a weighted item must be picked, the item should first be weighed, and then the user can enter the weighed amount into the app.

<figure><img src="https://content.gitbook.com/content/Lrrr5jgTsDuR38gNJIrm/blobs/d4La0jusEqS5XvSuZLCr/enter-amount%20---.png" alt=""><figcaption></figcaption></figure>

#### Secondary measurement units

In certain instances, it is necessary to enter additional information about the required amount, such as combining weight with a piece count. For example, when picking a watermelon, the user must specify the number of pieces and the total weight.

<figure><img src="https://content.gitbook.com/content/Lrrr5jgTsDuR38gNJIrm/blobs/Clw9T7sXwOJuGIt92NEI/double.png" alt="" width="188"><figcaption></figcaption></figure>

#### Tolerances for measurement units

When a soft or hard tolerance is set for an item, only amounts within that tolerance range can be entered.

#### Hard tolerance

Hard tolerance prevents over-picking beyond a set percentage. The pickable amount is between the originally ordered amount and the ordered amount plus the tolerance percentage.

#### Example

* 1000g of cherries were ordered.
* A 20% hard tolerance is set.
* The valid picking range is from 1000g to 1200g (1000 + (0.2 \* 1000)).

This information is communicated during the picking process.

<div><figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FxbVGIaZUfkcjzFJUiG6W%2Fhardtolerance2.avif?alt=media&#x26;token=ebacbea7-565c-45b7-93c1-b582e8af6293" alt=""><figcaption><p>Allowed range is shown</p></figcaption></figure> <figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FYOFmU9uPLYQcHTlOwECG%2Fhardtolerance1.avif?alt=media&#x26;token=c30d6459-0d16-45ea-86b8-05df8eba6cda" alt=""><figcaption><p>Picked outside the range</p></figcaption></figure> <figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2Fjy8CSaiA9OmsXK0snwvJ%2Fhardtolerance3.avif?alt=media&#x26;token=0fdb7546-9455-4f4d-b221-167fdbcb3e98" alt=""><figcaption><p>Picked within the range</p></figcaption></figure></div>

#### Soft tolerance

Soft tolerance prevents under-picking beyond a set percentage. The pickable amount is between the ordered amount minus the tolerance percentage and the originally ordered amount.

#### Example

* 1000g of cherries were ordered.
* A 30% soft tolerance is set.
* The valid picking range is from 700g to 1000g (1000 - (0.3 \* 1000)).

This information is communicated during the picking process.

<figure><img src="https://content.gitbook.com/content/Lrrr5jgTsDuR38gNJIrm/blobs/3rN8HBQ1Zk5J82rt3PXz/correct.png" alt="" width="188"><figcaption></figcaption></figure>

{% hint style="info" %}
A combination of hard and soft tolerance is possible.
{% endhint %}

### Reasons for short-picks

If a picking task cannot be completed fully, the system may prompt the user to enter reasons for the short-picks before finishing the task, depending on the configuration.

As the user is about to complete the task, they will be prompted to provide a reason for each line item that was short-picked. This requirement can be optional or mandatory.

<div><figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FbRR9OmlyFYLCVMZzEu8F%2FReasons-for-shortpick-01.png?alt=media&#x26;token=db696f08-8b21-4dcb-bdad-531e7f2fe71c" alt=""><figcaption><p>Mandatory: Before reason is selected</p></figcaption></figure> <figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2Fz8cXEIXQj21UEUXHEvz4%2FReasons-for-shortpick-02.png?alt=media&#x26;token=99a09744-ef6b-4ca4-9b3f-2e242b081847" alt=""><figcaption><p>Selection of reason</p></figcaption></figure> <figure><img src="https://4170739437-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLrrr5jgTsDuR38gNJIrm%2Fuploads%2FLS97fcMaBoPmnoFf7TxG%2FReasons-for-shortpick-03.png?alt=media&#x26;token=c22bc874-8832-47cc-8604-ba34f1db6e27" alt=""><figcaption><p>After reason is selected</p></figcaption></figure></div>

## Zone picking

When using zone picking, picking tasks can be shown or hidden to the user, depending on the user's assigned zones.

### Example

This table provides an at-a-glance view of which tasks are pickable based on the job zones and picker assignments.

| Pick job zone     | Picker assignment | Pickable task |
| ----------------- | ----------------- | ------------- |
| A and B           | Zone A and B      | Yes           |
| A, B, and C       | Zone A and B      | Yes           |
| C                 | Zone A and B      | No            |
| B and C           | Zone A and B      | Yes           |
| No assigned zones | N/A               | Yes           |
