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
- The
getUserUiStateListAPI 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, theMaxNumberOfShipmentsattribute is retrieved. - The
getStoreBatchListAPI is called withGetNewBatchesset toY. The API queries theYFS_SHIPMENT_LINEtable to form batches of unpicked shipment lines that belong to shipments that are either inReady for Backroom Pick
orBackroom Pick in Progress"
status withIncludedInBatch = Y. Products that are already being picked as part of a single order are not considered to form batches. Therefore, if an order is inBackroom Pick in Progress
status, it can be picked as part of a batch only when theIncludedInBatchattribute isY. - The shipment lines are sorted into batches using the
ConfigureBatchByelement. TheConfigureBatchByelement that is passed in the input to thegetStoreBatchListAPI, can take multiple attributes as the batch criteria. EachConfigureBatchByelement consists of theAttributechild element. EveryAttributeelement has theEntityattribute which specifies the entity to which the attribute belongs. The allowed entities are
andShipment
. The batch is configured for the value passed in theShipmentLineNameattribute. For example,Entity=ShipmentLine Name=ItemID. - If
Combine BOPUS orders and SFS orders in batches
rule is enabled, the batch criteria is defaulted toDepartmentCode. IfSeparate BOPUS orders and SFS orders into different batches
rule is enabled, thenDepartmentCodeandDeliveryMethodare passed as batch criteria in theConfigureBatchByelement. - Batches are comprised of shipment lines, which are based on the criteria that is provided in the
ConfigureBatchByelement of the API output. If no criteria is provided for theConfigureBatchByelement, then batches are grouped by theDepartmentCodeattribute of the shipment lines. To ensure that separate batches are created for departments or department groups, you must ensure the following:- Configure Departments at the catalog organization level.
- Configure Department Groups at the store level.
- The
DepartmentCodeattribute is populated for all shipment lines.
- When the count of shipments reaches
MaxNumberOfShipmentspassed in the input, batches are formed based on the unique combinations of attributes in theConfigureBatchByelement.
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, theDeliveryMethodattribute is passed asPickin the input to thegetStoreBatchListAPI. If the store associate has permissions to pickShip from Storeorders, theDeliveryMethodattribute is passed asSHPin the input to thegetStoreBatchListAPI. 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
andShip 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 theNot started
batches while theIn 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.