Next-generation platform

Implementing shipment search

A store associate can search for shipments and provide relevant information to the customer. This section describes the APIs, services, and other components that are used to implement shipment search.

Solution

Find shipment portlet

  • When the store associate scans the bar code on the receipt or manually enters the shipment or order number, the translateBarCode API is called to retrieve the shipment or order number.
  • The getShipmentList API is called with the shipment or order number to retrieve the details of the shipment.
  • If no translation is returned by the translateBarCode API, then the getShipmentList API is called with the original input to the translateBarCode API.
  • If multiple translations are returned by the translateBarCode API, an appropriate error message is displayed.
  • If multiple shipments are found, they are listed and the store associate can select the appropriate shipment to view the Shipment summary.
  • If a single shipment is found, the Shipment summary page is displayed.
  • If no shipments are returned, an appropriate error message is displayed.

Advanced shipment search

If the customer does not have the shipment or order number handy, the store associate can click Advanced search to search for the shipment using other criteria such as order fulfillment type, expected shipping or pickup date, carrier, or the store associate to whom the fulfillment task is assigned.

The shipment search also retrieves sales orders created through multiple channels. If store associate chooses carrier as one of the criteria, the getScacList API is called to retrieve all the carriers for the store. The carrier type selected by the store associate is passed as input along with other search criteria to the getShipmentList API to retrieve the matching orders.

Shipments search results list

The shipment search results list displays all the orders that match the search criteria. The getShipmentList API fetches the first 10 records and as you scroll through the page, the next set of shipments are loaded by calling the getShipmentList API. The store associate can use the Filter option to narrow down the search results.

The shipments list provides details such as the shipment number, number of products, shipment status, expected pickup date, customer name, order number, and the store associate to whom the fulfillment task is assigned. An action button that corresponds to the shipment status is also provided.

  • Filter

    The store associate can filter shipments by using criteria such as shipment status. When the store associate clicks the Filter option, the shipment statuses are picked from a pre-defined list in the <config> file. The <config> file is configurable so that you can customize the statuses as required.

    When the store associate selects the appropriate filter criteria and applies the filter, the filter criteria is passed to the getShipmentList API to retrieve the shipments that match the input criteria. Shipment status will be passed as a complex query.

  • Modify Search

    Each search criterion that was selected earlier in the portlet is displayed in the Shipment search results page. The store associate can use Modify search to change the advanced search criteria or they can click the close icon next to each criterion to remove them. The getShipmentList API is called to retrieve shipments as per the updated search criteria.

  • Sort
    The store associate can sort shipments in the Shipment search results page by using one of the following options:
    • Oldest to newest
    • Newest to oldest

    By default, the shipments are sorted by the oldest first. The getShipmentList API is called to sort the shipments based on the selected sort order.

  • Shipment summary
    The Shipment summary page provides a summary of the shipments, including the products. The following APIs are invoked to display the details in the Shipment summary page:
    • getShipmentDetails - To get the shipment details.
    • getShipmentLineList - To get the shipment line details.
    • getRuleDetails - USE_PMNT_CARD_TYPE_CONF_LEVEL
    • getPaymentTypeList