Customer pickup
When a customer, pickup recipient, or gift recipient arrives at a store to collect the
products in an order, the store associate can use the Customer Pickup
feature to identify the
person at the store front, scan the products that are available, mark shortages, confirm the
process, and print a customer pickup acknowledgment.
Solution
The following section describes APIs, user exits, services, and other components.
- Customer Pickup
-
When a store associate clicks the Customer Pickup link in the More Tasks portlet, the Customer Pickup portlet is displayed, where a store associate can start the customer pickup process in the following ways:
- A store associate can click the count that indicates the number of shipments that are ready for
customer pickup. The
getShipmentList
API is called to retrieve this count. - A store associate can scan an order or a shipment. The
translatebar code
API is called to translate the order or shipment bar code data to outbound shipments. - A store associate can use the Advanced Search option to search for shipments that are ready for customer pickup, by using the first name, last name, phone number and email address as search criteria, for either customer or pick recipient but not both. If the search results in a single shipment, the store associate is taken directly to the Customer Pickup screen. If the search results in multiple shipments, the Customer pickup orders screen is displayed with a list of shipments that match the search criteria.
Customer Pickup
task can be performed only on shipments that havePickup in Store
as the fulfillment type andReady for Customer
as the status. If a shipment does not meet these criteria, an appropriate message is displayed before proceeding to the task. ThegetShipmentList
API is called to validate and retrieve shipments that are ready for customer pickup.From the Customer pickup orders screen, the store associate can select the required shipment and click Start Customer Pickup. Based on the expected pickup date of the shipment, an appropriate SLA indicator is displayed for each shipment so that the store associate can initiate the customer pickup process for high priority shipments. On the Customer Pickup screen, the store associate can view the SLA indicator, shipment number, shipment status, customer verification methods, staging location, and the products to be picked up. The
getShipmentDetails
API is called to display the shipment details while thegetShipmentLineList
API is called to retrieve the list of products except the bundle parent. - A store associate can click the count that indicates the number of shipments that are ready for
customer pickup. The
- Customer verification
- A store associate can select an appropriate option from the Verification Method list to validate the identity of the customer. For example, a customer's identity can be verified by using proofs such as Passport, Driving License, and so on. The getCommonCodeList API is called with the CodeType as YCD_CUST_VERFN_TYP to fetch the customer verification methods.
- Staging location
- A store associate can see the name of the staging location where the backroom picked products
are placed for customer pickup. When the
getShipmentDetails
API is called to load the shipment details, the staging location name is also retrieved. The display of the staging location is controlled by theStaging location required
rule in Sterling Business Center.- If the rule is disabled, the staging location is not displayed.
- If the rule is enabled and the store associate does not provide a staging location while performing backroom pick, the staging location is not displayed.
- Pickup products
- The count of products that you can scan or manually hand over is displayed. Each of these
products is displayed in a separate panel and each panel displays the product description, product
image, variation attributes (if applicable) such as size and color, and the quantity to be picked
up, and so on. In case of bundle products, the bundle parent is hidden and only component products
are displayed. On selecting a product, the store associate can view the text field with the picked
up quantity, - and + buttons to decrement or increment the quantity and the
More Actions link.
The store associate can either scan the products or manually enter the picked up quantity using the text field and the - and + buttons. The
registerbar codeForCustomerPickup
API is called to translate the bar code to product ID and validates that the product is part of the shipment being picked up. If the product ID is valid, the picked-up quantity of the product is increased by translated product quantity. However, when the quantity is manually entered and the store associate clicks Update, thechangeShipment
API is called to update the picked-up quantity. The API is also called when the store associate clicks Pickup All to pick up all the products at once.
- More Actions
- The store associate can click More Actions to perform other tasks for the
selected product. The pop-up to perform more actions is displayed. The picked-up quantity and the
remaining quantity are displayed. The store associate can select the appropriate action for the
remaining quantity of the product. By default, inventory shortage, cancel and pickup later are the
available actions.
- If the store associate chooses to Cancel the remaining quantity, an appropriate cancellation
reason must be selected. The
changeShipment
API is called to apply the changes to the shipment. - If the store associate chooses to apply Inventory Shortage, the product is back-ordered by
calling the
changeShipment
API. - If the store associate chooses Pickup Later, based on the customer needs, the
splitShipment
API is called to split the shipment for pickup later products.
Note: The store associate can also choose to apply the action to all products in the shipment.If you want to use a custom shortage resolution during customer pickup, you must implement the
YCDBeforeConfirmShipmentOfRecordCustomerPickUE
andYCDAfterConfirmShipmentOfRecordCustomerPickUE
user exits. TherecordCustomerPick
API calls the YCDBeforeConfirmShipmentOfRecordCustomerPickUE user exit before calling the confirmShipment API and the YCDAfterConfirmShipmentOfRecordCustomerPickUE user exit after calling the confirmShipment API.When the store associate clicks Finish Pickup to complete the customer pickup, the
recordCustomerPick
API is called to record the customer pickup and confirm the shipment. - If the store associate chooses to Cancel the remaining quantity, an appropriate cancellation
reason must be selected. The
- Print Acknowledgment
- On the Shipment Summary screen, the store associate can click
Print Acknowledgment from the related tasks. The
YCD_Print_CustomerPickupAcknowledgement_94
service is called to print the customer pickup acknowledgment.The
YCD_Print_CustomerPickupAcknowledgement_94
service calls multiple APIs such asgetSortedShipmentDetails
,getCurrencyList
,getOrganizationHierarchy
, andgetItemUOMMasterList
to retrieve the details that must be printed on the Customer Pickup Acknowledgment, which is determined by theStoreAcknowledgementPrint_Comp1_94.xsl.sample
. TheStoreAcknowledgementPrint_Comp2_94.xsl.sample
determines the formatting of the acknowledgment. These templates are provided as sample implementation only and suffixed with.sample
. However, you can create a custom print service and use the templates by copying and renaming the sample template files by removing the.sample
from the file name and customize it as required.The templates are stored in the /template/prints/ycd/xsl/ directory as part of the add-in workspace and built into the <INSTALL_DIR>/jar/platform/9_4/resources.jar. You can create different templates for the
YCD_Print_CustomerPickupAcknowledgement_94
service and point to the templates in the Applications Manager.
Device-specific details
- Due to space constraints on a mobile screen, the order number is truncated with ellipsis and an additional link is provided to expand to a pop-over that shows the order number and shipment status.
- Due to space constraints on a mobile screen, a horizontal scroll bar might appear for the additional information panel of the shipment.
Implementation
The following section describes the configuration required to use the customer pickup feature.
- Customer Pickup for Pickup in Store: Required by a store associate to perform the customer pickup task.
- Pickup All: Enables a store associate to pickup all products in the shipment at once.
- Print Customer Pickup Acknowledgment: Enables a store associate to print the acknowledgment for
completing the customer pickup.
For more information about administering user group permissions, see Administering user group permissions.
- You must enable the
Add Note
order modification type at the order and order line level forCanceled
andShorted
statuses, to log notes whenever a shipment line is canceled or shorted. - You must enable the
Cancel
order modification type for appropriate statuses, to allow a store associate to selectCancel
as the shortage resolution for a shipment line. - You must enable the following shipment modification types for
Ready for Backroom Pick
andBackroom Pick In Progress
statuses:- Delete Shipment
- Change Other Attributes
- Remove Line
-
Configure
Customer pickup verification criteria
appropriately. For more information, see Manage customer pickup verification criteria. - Configure
Customer pickup shortage resolution
appropriately. By default, the shortage resolutions,Inventory Shortage
,Cancel
, andPickup Later
are available for the default organization. If you want to use the same shortage resolutions for a new enterprise, you must either inherit the default organization's properties or use the following values to create shortage resolutions by using the Sterling Business Center.- Inventory Shortage
- Shortage Resolution: AllInventoryShortage
- Shortage Resolution Name: Inventory Shortage
- Cancel
- Shortage Resolution: Cancel
- Shortage Resolution Name: Cancel
- Pickup Later
- Shortage Resolution: PickLater
- Shortage Resolution Name: Pickup Later
For more information, see Manage customer pickup shortage resolution. To inherit default organization's properties, see Defining an enterprise's primary information. If you create custom shortage resolutions, then you must have corresponding implementation as well.
- Inventory Shortage
Configuring bar code types
Item
to translate product bar code to product ID.Store Outbound Shipment.
Used in the customer pickup portlet to find the matching shipment or order. The bar code should have following sources configured:Shipment
: External service. The bar code validation source isYCD_Translate_bar code_InboundShipment
.Order
: External service. The bar code validation source isYCD_Translate_bar code_OrderNo
.
For more information about the APIs, see IBM® Sterling Order Management System: Javadoc.