View batches in a store

A store associate can view batches of products from one or more orders, such that the store associate can select a batch and pick the products in an efficient manner, as compared to the traditional single order pick.

Batches can be created based on different criteria such as departments, batch type, number of orders, SLA, and so on. The Batches screen displays new and existing batches.

Solution

The following section describes APIs, user exits, services, and other components.

When the store associate clicks Pick Products in Batches from the application home page, the getStoreBatchList API is called to display the batches in the Batches screen. The getStoreBatchList API must be called with a valid OrganizationCode attribute, otherwise an appropriate error message is displayed. This API fetches all batches, including new and in-progress. By default, batches are created based on SLA for the orders and the number of orders allowed in a batch. An SLA indicator is displayed for each batch on the user interface to show the store associate the order in which the batches need to be picked.

Configure and filter

The store associate can either filter or configure the batches. The store associate can click the Configure icon and select the sort method and the maximum number of orders per batch. These user preferences are saved as BATCH_SORT_METHOD and BATCH_MAX_SHIPMENTS respectively. The sort method can be Sort while pick or Sort after pick. If the store associate does not configure the preferences, Sort While Pick is considered as the default sort method and the limit for the maximum number of orders in a batch is defaulted to 10.

The store associate can also click the Filter by icon to filter the batches by status, either Not started, In progress, or Picked. By default, Not started and In-progress batches are shown. If the store associate sets the filter to include Picked batches that are complete and have been assigned a staging location, only batches that are completed within the last 24 hours are displayed. When a store associate chooses a filter, it is saved for the current session and is applicable until either the store associate logs out or choose different filter options.

Retrieve new batches

When the Batch List screen loads, the following logic is executed:
  • The getUserUiStateList API is called to fetch the user preferences. The user's preference is used to determine the maximum number of orders in a batch. From the user preferences, the MaxNumberOfShipments attribute is retrieved.
  • The getStoreBatchList API is called with GetNewBatches set to Y. The API queries the YFS_SHIPMENT_LINE table to form batches of unpicked shipment lines that belong to shipments that are either in Ready for Backroom Pick or Backroom Pick in Progress" status with IncludedInBatch = Y. Products that are already being picked as part of a single order are not considered to form batches. Therefore, if an order is in Backroom Pick in Progress status, it can be picked as part of a batch only when the IncludedInBatch attribute is Y.
  • The shipment lines are sorted into batches using the ConfigureBatchBy element. The ConfigureBatchBy element that is passed in the input to the getStoreBatchList API, can take multiple attributes as the batch criteria. Each ConfigureBatchBy element consists of the Attribute child element. Every Attribute element has the Entity attribute which specifies the entity to which the attribute belongs. The allowed entities are Shipment and ShipmentLine. The batch is configured for the value passed in the Name attribute. For example, Entity=ShipmentLine Name=ItemID.
  • If Combine BOPUS orders and SFS orders in batches rule is enabled, the batch criteria is defaulted to DepartmentCode. If Separate BOPUS orders and SFS orders into different batches rule is enabled, then DepartmentCode and DeliveryMethod are passed as batch criteria in the ConfigureBatchBy element.
  • Batches are comprised of shipment lines, which are based on the criteria that is provided in the ConfigureBatchBy element of the API output. If no criteria is provided for the ConfigureBatchBy element, then batches are grouped by the DepartmentCode attribute of the shipment lines. To ensure that separate batches are created for departments or department groups, you must ensure the following:
    1. Configure Departments at the catalog organization level.
    2. Configure Department Groups at the store level.
    3. The DepartmentCode attribute is populated for all shipment lines.
  • When the count of shipments reaches MaxNumberOfShipments passed in the input, batches are formed based on the unique combinations of attributes in the ConfigureBatchBy element.

Retrieve existing batches

When the Batch List screen loads, the getStoreBatchList API is called with the GetExistingBatches attribute set to Y in the input. The API queries the YFS_STORE_BATCH table to fetch the existing batches for the current store, that match the Status and other attributes passed in the input. If the GetBatchesOfAllUsers attribute is passed as N in the input to the API, only the batches that belong to the current user are fetched.

User exits

When the getStoreBatchList API is called, if the attribute GetNewBatches is set to Y, then the user exit com.yantra.pca.ycd.japi.ue.YCDGetNewBatches is triggered. This user exit retrieves unpicked shipment lines, creates batches based on any user-input logic, and then returns the batch list.

Device-specific details

Batch lists can be viewed on both mobile and desktop devices.

Implementation

The following section describes the rules that must be configured for the feature.

  • A store associate with Batch Pick Orders permissions can view batches.
  • If the store associate has the permission to pick Pickup in Store orders, the DeliveryMethod attribute is passed as Pick in the input to the getStoreBatchList API. If the store associate has permissions to pick Ship from Store orders, the DeliveryMethod attribute is passed as SHP in the input to the getStoreBatchList API. Therefore, only the shipment lines with the appropriate delivery method are considered while batch lists are shown to the store associate.
  • You can configure the application to combine products from Pickup in Store and Ship from Store orders in the same batch or separate them into different batches. An appropriate icon is displayed to distinguish the batches based on the order fulfillment type. This configuration affects only the Not started batches while the In progress batches are not affected. Further, you can also configure department groups to logically group the departments in an organization. For more information, see Configuring batches.
  • For more information about administering user group permissions, see Administering User Group Permissions
  • For more information about the APIs, see the Sterling Selling and Fulfillment Foundation: Javadocs.