Next-generation platform

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.

By using the Find order implementation, a store associate can perform the following activities:
  • 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 the getOrderList 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 appropriate EntryType attribute is passed as input to the getOrderList API to retrieve the orders. For Store, Online, and Call Center channels, the EntryType is Store, Online, and Call Center respectively..
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.