Implementing order search
A store associate can search for an order, view and track its status, and cancel the order, if requested by the customer. This section describes the APIs, services, and other components that are used to implement these capabilities.
- Search for orders and provide the required information to the customer who arrives at the store.
- Search for the order directly by scanning the order receipt or entering the order number.
- If the order number or the order receipt is not available, the store associate can click the Advanced search link to search for the name, email address or contact number of the customer or the details of the payment method used to place the order, to identify the customer and view the orders placed by the customer..
- View the order details and perform appropriate tasks after the order is identified.
- Search for the order and cancel the order by providing appropriate cancellation reason if the order is not already shipped.
- Tack the order at every stage of the ship or pickup process and also update the customers about the expected delivery time.
- Add notes to add more information about the order or why the order was canceled.
- View the existing notes on an order, which were either automatically logged or added by another store associate. Any order-related information can be added in the form of notes.
Assumptions and limitations
- Supports only sales order search (DocumentType 0001).
- Serial number is displayed only for CARRY order lines.
Solution
Find order portlet
When the store associate scans the bar code on the receipt or manually enters the order number,
the translateBarCode
API is called to retrieve the order number. The
getOrderList
API is called with the order number to retrieve the details of the
order.
If no translation is returned by the translateBarCode
API, then the
getOrderList
API is called with the original input to the
translateBarCode
API, or the store associate can manually input the order
number.
- If multiple translations are returned by the
translateBarCode
API, an appropriate error message is displayed. - If multiple orders are found, they are listed and the store associate can select the appropriate order to view the order summary.
- If a single order is found and if the order is confirmed, the Order summary page is displayed.
- If no orders are returned, an appropriate error message is displayed.
The order search also retrieves sales orders created through multiple channels. If the store
associate chooses payment method as one of the advanced search criteria, the
getPaymentTypeList
API is called to retrieve all payment types using the
CallingEnterpriseCode
attribute for the store. The payment type selected by the
store associate is passed as input along with other search criteria to the
getOrderList
API to retrieve the matching orders.
Search results - Orders list
- The order list displays all the orders matching the search criteria and supports infinite
scrolling. The
getOrderList
API fetches 10 records at a time, loading the next set of orders while the page is scrolled by calling thegetOrderList
API. - The order list provides details such as the order number, number of products, order channel, name of the store in case of store purchase, date, order amount, status, and customer name.
- The order list also displays a maximum of two product images for each order. If there are more
images to be shown, a text cue is displayed in the format: <count of
remaining product images> more. For example, 1 more', or
2 more
based on how many product images are present for each category for that order. The text cue is read-only and cannot be clicked.
- Order search results - Filter orders
- The store associate can use the filter option to narrow down the search result.
- The store associate can filter orders using criteria like order date range, status and order
channel. When the store associate clicks Filter, the
getCommonCodeList
API is called (CodeType=ENTRY_TYPE
) to populate the entry type checkboxes. The order statuses are picked from a pre-defined list in the sales-order-list-filter.config.ts file. The file is configurable, so you can customize the statuses as required. For more information about customizing the order statuses under filter orders, see Adding custom order statuses to the filter criteria.The store associate can select Search within store to look for orders that are created only by the current store.
- When the store associate selects the appropriate filter criteria and applies the filter, the
filter criteria is passed to the
getOrderList
API to retrieve the orders matching the input criteria. Order status, date range, seller organization code, and a complex query with the appropriateEntryType
attribute is passed as input to thegetOrderList
API to retrieve the orders. For Store, Online, and Call Center channels, theEntryType
isStore
,Online
, andCall Center
respectively..
- The store associate can filter orders using criteria like order date range, status and order
channel. When the store associate clicks Filter, the
- Order search results - Sort orders
- The store associate can sort orders in the order search results page by using any of the
following options:
- Oldest to newest
- Newest to oldest
By default, the orders are sorted by the most recent first. The
getOrderList
API is then called to sort the orders based on the sort order selected by user.The options to sort orders are customizable. For more information about how you can customize the sort options, see Adding custom sort options to order search results page.
The Order summary page provides a summary of the order that the customer places, including the product, the delivery method, and the price. For more information about the implementation of the Order summary page, order tracking, order cancellation, and so on, see Implementing order capture.