Picking Classes

Updated 5 months ago by Colin Mollenhour

A "Picking Class" is a defined grouping of Shipments with customized settings for how those Shipments are to be picked and packed. When Shipments are matched to a Picking Class it allows those Shipments to easily be batched together. By utilizing the advanced matching capabilities of Picking Classes you can codify the logic you wish to use to group your Shipments together automatically, allowing your operations to become more streamlined and better optimized.

An important aspect of Picking Classes is the Packing Solution assigned to a Shipment. For best results, make sure your Containers and their configuration accurately reflect the way they are used in your warehouse. "Garbage in, garbage out."

Picking Classes can be managed from the Operations > Picking Batches > Picking Classes menu item.

The process of "classifying" Shipments into Picking Classes is the last step of the Order Processing Loop as seen below. This article describes how to set up Picking Classes and assumes that all of the previous stages of the order processing have been properly configured.

Picking Class Assignment

ShipStream comes out of the box with a "Default" Picking Class which catches all Shipments. Any existing orders will be automatically assigned to this Picking Class. When you create a new Picking Class, this will automatically be taken into consideration when new orders are created or when existing orders are updated (e.g. allocated to new inventory, shipping method changed, etc.). If you want to retroactively assign Shipments to a new Picking Class or for changes to existing Picking Classes to take effect on existing Shipments you will need to use the "Regenerate Shipments" mass action from the Order grid. This operation may take a while to complete for large numbers of orders so use filters as appropriate to hone in on the orders that really need to be updated.

Picking with Picking Classes

With your Picking Classes setup appropriately your users will be able to create batches for a Picking Class with just a few clicks via the Admin UI or the Scanner UI. The Admin UI offers a few additional filtering options but in both cases there are two paths to creating a batch: Picking Class > Cart Type or Cart Type > Picking Class. The resulting batch will be optimized for picking proximity to reduce travel and limited in size to fit the bin count, max weight and max volume of the cart selected.

Creating a Batch by Picking Class with the Admin UI

Click "Start New Picking Batch" from the following locations:

  • Shipping > Orders
  • Shipping > Shipments
  • Operations > Picking Batches
Creating a Batch by Picking Class with the Scanner UI

Tap "Picking" from the main menu and then "Create New Batch"

Defining and Planning

The first step of creating your Picking Classes is to know which Picking Classes you need. Since packing follows picking this is often informed by the contraints of your packing stations but can also be informed by many other criteria. For example:

  • Which containers are readily available at each packing station (keep a subset of your containers at different packing stations to allow them to be more specialized and consistent).
  • Which locations the completed packages will be loaded to (separate packing stations by carrier)
  • Which products should be picked together (pick by Merchant or other product attributes)
  • Which special packaging requirements are applicable (handle international or haz-mat orders in a separate line to ensure specialized personnel are processing the shipments with special needs)

Take stock of what products you have, your labor force, your warehouse layout, your box inventory and your equipment and plan out how you would like your shipments to be grouped and processed within the warehouse. This information and your data and decisions should inform how your Picking Classes are defined.

Creating a Picking Class

To create a new Picking Class, head to Operations > Picking Batches > Picking Classes and click Create New Picking Class. You can always modify all properties of a Picking Class after it is created but see Picking Class Assignment above for how to make sure your updates take effect on existing shipments.

Picking Class Information

The Name is used to identify the Picking Class in the UI so give it a brief but descriptive name that your users will recognize and understand.

Choose the applicable Picking Workflows which should be allowed for the shipments assigned to this Picking Class.

Assign one or more Cart Types by choosing the cart type and specifying the Max Shipments that should be added to the batch for the given Cart Type. This will typically determine the number of Shipments that are added to batches for this Picking Class. However, the number of Shipments will also be limited by the attributes f the Cart Type when the batch is created. Specifically, if adding another Shipment to the batch would exceed the Total Max Weight or Total Max Volume for the cart the Shipment would not be added.

Order Selection Constraints

With these fields empty all Shipments will be allowed. Choose one or more Warehouses to limit the Picking Class to your selected warehouses. Choose one or more Merchants to limit the Picking Class to Shipments belonging to the selected merchants.

Shipment Matching Constraints

Each Shipment will be checked against each Picking Class using the Sort Order in ascending order. Since a Shipment could match multiple Picking Classes the final determination of which one will be assigned can be controlled by the Sort Order and the Matching Condition. A "Soft Match" will match but will be overridden by another Picking Class if there is another match down the line. A "Hard Match" will match and halt evaluation of the remaining Picking Classes.

To use advanced custom logic for your matching criteria choose "Use Script" so that an embedded script will be executed for every shipment and determine if each shipment is a Soft Match, a Hard Match or neither. See "Picking Class Shipment Matching Scripts" for the scripting details.

Set a Shipment Max Weight and Shipment Max Volume to exclude shipments that exceed the specified thresholds based on the total weight and dimensions of the Shipment and the container as determined by the Packing Solution. This provides a simple way to group shipments by size.

Use the Solution Container Whitelist/Blacklist to only match Shipments based on the container as determined by the Packing Solution. This provides a simple way to group shipments by the containers needed for packing which allows you to easily tailor your packing stations to use a subset of your total available containers.

Batch Options

Override the configuration values for the given Picking Class by choosing a value for Group By Carrier and Group By Batch Tag. These options cause each batch created to contain only shipments of the same carrier or the same Batch Tag which is determined by the first shipment added to the batch.

Reservation Options

The Pick Source will determine how Shipment items are allocated to shelf locations as the batch is being generated:

  • Prefer Pickable - Allocate to any pickable locations. This allows ShipStream to optimize pick locations to reduce warehouse travel distance. Unless "Include Non-Pickable Orders" option is checked in the Admin UI, shipments will only be included if all items on the shipment can be assigned to pickable locations.
  • Prefer Non-Pickable - Allocate to non-pickable locations. Use this option to cause allocation to prefer non-pickable locations, such as bulk storage.
  • Strict by Location Priorities - This will bypass the pick location optimization and ensure that items are allocated strictly by the top-to-bottom sort order of the inventory locations for each item.

Packing Slip Options

These options also can be used to override the default configuration.

The Render Batch Tag option determines if the Order's Batch Tag value should be printed on the packing slip.

The Render External ID Barcode option determines if the Shipment's extenral_id field should be rendered on the packing slip as a Code-128 barcode.


How did we do?