View fulfillment summary
During order creation or modification, users must be able to capture the requirements of the customer from an order fulfillment perspective.
Solution
This section describes APIs, user exits, services, and other components.
Capturing the fulfillment details is one of the stages in order creation. The user can view the Fulfillment Summary screen as part of the order creation wizard.
Pick Up and Shipping groupsWhen the
Fulfillment Summary screen loads, the
getFulfillmentSummaryDetails
API is called to retrieve the fulfillment details for
an order and display the available order lines, unavailable order lines, or both. This API obtains
the order details from the getCompleteOrderDetails
API and availability details
from getPossibleSchedules
API.
Users can view the summary of the entire order from the fulfillment perspective:
- Shipping order lines are grouped and displayed based on the number of interactions between the
seller organization and customers. An interaction is an activity that involves the movement of
products from the seller organization to the customer. These interactions are determined based on
sourcing and scheduling rules that are configured for the enterprise. The
getFulfillmentSummaryDetails
API returns aNoOfInteractions
attribute, which determines the number of shipping groups an order line is spread across. The shipping address is displayed for each group of shipping order lines. - Pick Up order lines are grouped and displayed based on the store address from where the customer can pick up the products. All order lines that can be picked up from a particular store are grouped and displayed together. The store name is displayed at the group level.
- The unavailable Pick Up and Shipping order lines are displayed separately.
getRuleDetails
API is called to verify whether the following rules are enabled:YCD_ENABLE_GIFT_SHIPMENT
YCD_ENABLE_GIFT_PICKUP
- Change to Pick Up: When the user chooses to change the delivery method of order lines from
Shipping or Delivery to Pick Up, the store selection window is displayed. For more information about
the implementation of store selection, see Search for stores. After the user selects a store and applies
the changes, the
modifyFulfillmentOptions
API is called to apply the changes to the order lines. When the user selects some order lines in a group and chooses to change the delivery method to "Pick Up", the Alternate Stores window displays all the stores in which the selected products are present. If any of the selected products are not present in a store, the stores are listed but marked as "Not Available". In such situations, the user cannot select a store. The delivery method can be changed from Pick Up to Shipping only ifCHANGE_DELIVERY_METHOD
modification type is allowed for the order lines. - Change Pick Up Recipient: The user can enter the details of the Pick Up recipient for Pick Up
order lines. Once the Pick Up recipient information is updated, the details are displayed in the
"Pick up By" column of the order line. The user can enter the Pick Up Recipient details for a Pick
Up order line only if the
MARKFOR
modification type is allowed for the order line. - Change Pick Up Date: The user can select a Pick Up date for a group of Pick Up order lines or
change the Pick Up date of individual order lines. When the user chooses to apply a Pick Up date at
the group level, the date when all the order lines are available is applicable. However, when the
user modifies individual Pick Up dates, it does not affect other order lines. The user can change
the Pick Up date for individual order lines, if the
REQ_SHIP_DATE
modification type is allowed at the line level. However, the user can change the Pick Up date for the entire group of Pick Up order lines, if theREQ_SHIP_DATE
modification type is allowed at the order level. - Change Store: This option is applicable to Pick Up order lines only. When the user chooses to
change the store for a set of Pick Up order lines, the Alternate Stores window
displays all the stores in which the selected products are present. For more information about the
implementation of store selection, see Search for stores. The user can change the store for individual
order lines, if the
SHIP_NODE
modification type is allowed at the line level. However, the user can change the store for the entire group of Pick Up order lines, if theSHIP_NODE
modification type is allowed at the order level. - Change to Shipping: When the user chooses to change the delivery method of order lines from Pick
Up or Delivery to Shipping, the address capture window is displayed. For more information about the
implementation of the address capture feature, see Capture Address. The delivery
method can be changed from Pick Up to Shipping only if
CHANGE_DELIVERY_METHOD
modification type is allowed for the order lines. -
A user can change the delivery method from Pick Up or Shipping to Delivery. The modifyFulfillmentOptions API is called to update the delivery method. After the delivery method is updated, a message prompts the CSR to click Next to schedule appointments in the Work Order Appointment screen. Delivery products are not displayed in the View Fulfillment Summary screen. For more information, see Work Order Appointments.
- Change Address: When the user chooses to change the shipping address of order lines, the address
capture window is displayed. For more information about the implementation of the address capture
feature, see Capture Address. When the user applies an address, a window is displayed to show only the
order lines that are completely or partially unavailable. The available order lines are not
displayed. The
getFulfillmentOptionsForLines
API is called to check the availability of the order lines. When the user chooses to apply the address to available lines, themodifyFulfillmentOptions
API is called to apply the selected address to the order lines. If all order lines are available, then themodifyFulfillmentOptions
API is called directly to apply the selected address.The same logic is applicable to apply an address to available lines, when the user changes the delivery method of order lines from Pick Up to Shipping.
The shipping address can be changed only if the
SHIPTO
modification type is allowed for the order lines. - Optimization Type: When the Fulfillment Summary screen loads, one of the
optimization types is defaulted on the order. The
OptimizationType
attribute that is returned by thegetFulfillmentSummaryDetails
API determines the optimization type. Users can select an optimization type to optimize an order during sourcing, scheduling, or both. By default, three optimization types are displayed. The description for the optimization types is derived from theisccs_bundle.js
file in the <install_dir>/isccs/resources/bundle/nls/ directory.- Group into as few shipments as possible.
- Fastest. Ship products as they become available, could cause additional charges.
- Group items available within <number of days>: The
getAllocationRuleList
API is called to retrieve the description of the scheduling rule that is configured for the enterprise.
The optimization types are displayed only if the
RULE_ID
modification type is allowed for the order. If this rule is not enabled, the default optimization type for the enterprise is displayed as text.The optimization type that is selected in the Shipping Preferences while creating a Business Customer overrides the optimization type configured at the enterprise level.
- Change Level of Service: When the user selects a level of service for Shipping order lines, the
level of service and the expected date that consists of minimum and maximum delivery dates are
updated. The user can change the level of service only if the
CARRIER_SERVICE_CODE
modification type is allowed for the order. When the user saves the changes, theCarrierServiceCode
attribute, theCommittedDate
attribute of typeMIN_DELIVERY
, andCommittedDate
attribute of typeMAX_DELIVERY
are set for the selected service and passed in the input to themodifyFulfillmentOptions
API. The level of service is applied to all Shipping order lines. The user can change the level of service for each order line or a group of Shipping lines. If the level of service is changed for a bundle parent product of type "ship independent" or "deliver together", the level of service is automatically applied to the component products. However, when the user applies a level of service to a product, it is not automatically applied to the related product, unless the related products are selected.
getFulfillmentSummaryDetails
API returns the IsBundleParent
attribute. If the value of this attribute is Y
, the product is a bundle parent. The
API also returns the BundleFulfillmentMode
attribute, which indicates whether the
components in the bundle parent are shipped together, shipped independently, or delivered together. - For a bundle parent of type "ship-together", the components are not displayed upfront. The user can click the unit price link to view the components.
- For a bundle parent of type "ship-independent", all the components are displayed.
getCompleteOrderDetails
API is called to display the component products
for the bundle parent. If the user selects a bundle parent, the components are not selected
automatically.When the Fulfillment Summary
screen loads, the getCompleteOrderDetails
API is called to retrieve the total
number of records. The IsLargeOrder
attribute is set to "Y
" based
on the total no of records and value set for the "Show availability if number of order lines
in the order is less than
" rule. The IsLargeOrder
attribute is passed in
the getFulfillmentSummaryDetails
API. If the IsLargeOrder
flag is
Y
, then availability for the order lines is not calculated, and hence the user does
not get to know whether the order lines are available or not. The behavior of the
getFulfillmentSummaryDetails
API changes based on the IsLargeOrder
flag value. If IsLargeOrder
is "Y", then the API calls
getCompleteOrderLineList
to fetch different shipToKeys
for order
lines with delivery method "SHP" and different ship nodes for order with delivery method
"PICK".
If any pickup order lines exist and node is not stamped, then such order lines are displayed as error lines. The user must select the store for such order lines to resolve the errors.
As availability is not calculated for large orders, the user must know the order lines that are backordered. Therefore, after scheduling, if there are any backordered lines, a backordered lines panel is displayed. The panel displays both shipping and pickup order lines.
On the
Fulfillment Summary screen, the getCompleteOrderLineList
API
is called with GetDistinctOrderLineList="Y"
, OrderHeaderKey
, and
DeliveryMethod
= "PICK/SHP
" attributes in the input to retrieve
the unique addresses and ship nodes for the order. The getCompleteOrderLineList
API
retrieves the list of shipToKeys
and ShipNodes
that are unique.
These keys are used to fetch the personInfoDesc
and shipNodeDesc
using data providers that invoke getShipNodeList
and
getPersonInfoList
APIs to fetch the details.
The panel titles are displayed
using ShipNodeDescription
for pickup panel and shipping address for shipping panel.
When the user expands a shipping panel, the getCompleteOrderLineList
API is called
again to get the first page of the shipping order lines that are being shipped to that
address.
The defaulting of the optimization type is not based on
getPossibleSchedules
API output, as this API is not called for large orders. If the
order is created for a business customer, then the optimization type is defaulted based on the
default shipping preferences of the customer. Otherwise, the default shipping options of the
Enterprise are considered.
In case of large orders, order line reservations are not done and FTC dates are not stamped on order lines.
Deleting order linesThe
getFulfillmentSummaryDetails
API returns the modification permissions that are
required to delete order lines. The delete button is enabled for draft order lines, only if the
REMOVE
modification type is allowed. Similarly, the deleted button is enabled for
confirmed order lines, only if the CANCEL
modification type is allowed.
When the user attempts to delete the bundle parent, a confirmation message is displayed, stating that the lines will be deleted. If the bundle parent is deleted, all the components are deleted. To modify the component products, the user must select them separately.
When the user selects a parent product that contains related products for
deletion, the user can choose to delete the parent and related products or only the parent product.
If the user chooses to remove related products, an additional flag,
CancelRelatedLines="Y"
is passed in the input to the
modifyFulfillmentOptions
API.
If order lines are deleted from an order and the small order condition is met, the order lines are reserved. However, if products are added to a small order that already has reserved order lines and the large order condition is met, reservation does not happen for newly added order lines and the order remains partially reserved.
Updating changesWhen the user applies the changes and goes to the next screen, the
modifyFulfillmentOptions
API is called. This API in turn calls the
validateItemForOrdering
API to ensure that the changes comply with the minimum and
maximum ordered quantity that is defined for the products in the catalog. If the quantity of a
product is less than the minimum quantity, the user is directed to the Add
Products screen, where the user must make the appropriate changes before proceeding
further.
When the user chooses to go to the next screen in the wizard, the information about
the order lines is passed in the input to the reserveOrder
API. This API first
calls the changeOrder
API passing all the order lines in the input, to reserve the
inventory. However, the reserveOrder
API is called only when the "Reserve Items
During Order Entry And Order Modification" rule is enabled.
Implementation
- You must configure the sourcing and scheduling rules appropriately. For more information, see the Configuring Distributed Order Management.
- Shipment optimization is based on the scheduling rule configured. You must configure
the
Scheduling Rule For Additional Shipping Option
rule. For more information, see theSterling Business Center System Configuration. - The user can change the delivery method for an order line only if the "Change Delivery Method" status modification rule is allowed for a specific status at the line level. For more information, see theConfiguring Distributed Order Management.
- The user can change the address for an order line only if the "Change Ship To" status modification rule is allowed for a specific status at the line level. For more information, see the Configuring Distributed Order Management.
- The user can change the level of service for a Shipping order line only if the "Change Carrier Service Code" status modification rule is allowed for a specific status at the line level. For more information, see theConfiguring Distributed Order Management.
- The user can change the Pick Up date for a Pick Up order line only if the "Change Requested Ship Date" status modification rule is allowed for a specific status at the line level. For more information, see theConfiguring Distributed Order Management.
- The user can change the Pick Up recipient information for a Pick Up order line only if the "Change Mark For" status modification rule is allowed for a specific status at the line level. For more information, see theConfiguring Distributed Order Management.
- The user can change the optimization type only if the "Change Schedule Rule Id" status modification rule is allowed for a specific status at the order level. For more information, see the Configuring Distributed Order Management.
You must configure the standard unit of measure display rules for a product. To define the unit of measure for quantity, see Defining unit of measure.
- To display the bundle components immediately after the bundle parent product, you must select
the
Assign Group Sequence Number to Order Lines
option in the Applications Manager. For more information, see the Configuring Distributed Order Management. - The "Allow Pick Up" store rule governs the display of Pick Up options. When the
Fulfillment Summary screen loads, the
getRuleDetails
API is called to verify whether theYCD_STORE_ENABLED
rule is enabled. Only if this rule is enabled, the Pick Up options are available. For more information, see the Sterling Business Center System Configuration. - You must configure the store rules appropriately. For more information, see the Sterling Business Center System Configuration.
- To set up the gift options for products that are either shipped or picked up, enable
the following rules.
- Allow Gift Information For Product Being Shipped
- Allow Gift Information For Product Being Picked
- Allow Gift Wrapping
- You must enable the "Reserve Items During Order Entry And Order Modification" rule. For more information, see the Sterling Business Center System Configuration.
- In "Fulfillment Options" screen, configure the
Show Availability Information In Fulfillment Summary If Number Of Orderlines Is Less Than
rule appropriately. For more information, see the Sterling Business Center System Configuration topic.
End-user impact
Users can view fulfillment summary and take appropriate actions to fulfill an order efficiently.