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
translateBarCodeAPI is called to retrieve the shipment or order number. - The
getShipmentListAPI is called with the shipment or order number to retrieve the details of the shipment. - If no translation is returned by the
translateBarCodeAPI, then thegetShipmentListAPI is called with the original input to thetranslateBarCodeAPI. - If multiple translations are returned by the
translateBarCodeAPI, 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
getShipmentListAPI 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
getShipmentListAPI is called to retrieve shipments as per the updated search criteria. - SortThe 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
getShipmentListAPI is called to sort the shipments based on the selected sort order. - Shipment summaryThe 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_LEVELgetPaymentTypeList