Legacy platform

Appease a customer

A customer can report an unsatisfied experience with a CSR or there can be a delay in the delivery of products. In such situations, the user must be able to appease the customer to avoid a return or cancellation of the order.

Solution

The following section describes APIs, user exits, services, and other components.

A user can apply a customer appeasement to an order by using the "Appease Customer" related task in the Order Summary screen. When the user chooses to apply an appeasement, the Appease Customer screen is displayed. The getCompleteOrderLineList API is called to display the order lines.

The user must select a reason code to apply an appeasement. The getCommonCodeList API is called with the CodeType as YCD_APPEASEMENT_RSN to retrieve the reason codes.

The user can choose to apply the customer appeasement at the order or order line level. When the user chooses to apply the appeasement to the entire order, the user cannot select individual order lines. However, when the user chooses to apply the appeasement at the order line level, the user can select the individual order lines.

The screen also displays the previous customer appeasement notes. The getNoteList API is called to display the previous customer appeasements notes. The user who applied the appeasement, date, and time when the appeasement was applied are displayed. The OrderHeaderKey and the YCD_CUSTOMER_APPEASE ReasonCode attribute are passed in the input to the API.

When the user goes to the next screen in the wizard, the YCDGetAppeasementOffersUE user exit is invoked to retrieve the appeasement options. The appeasement options are displayed based on the offer types that are returned by the user exit. An OfferType can have one of the following values:
  • FLAT_AMOUNT_ORDER
  • PERCENT_ORDER
  • PERCENT_FUTURE_ORDER
  • VARIABLE_AMOUNT_ORDER
  • VARIABLE_FUTURE_AMOUNT_ORDER
  • VARIABLE_PERCENT_AMOUNT_ORDER
  • VARIABLE_PERCENT_FUTURE_AMOUNT_ORDER

For each offer type that is returned by the user exit, a corresponding offer description is displayed. The default description for an offer type is driven by the isccs_bundle.js file in the <install_dir>/isccs/resources/bundle/nls/ directory. This file can be modified to suit your implementation.

The YCDGetAppeasementOffersUE user exit returns the following information for every appeasement offer:
  • Preferred: If the value of this attribute is Y, the appeasement offer is preferred and is selected by default.
  • OfferAmount: This attribute is used to display the offer amount in the description of the offer.
  • ChargeName and ChargeCategory: The charge name and the charge category used to provide the discount. These attributes are used while generating an invoice.
  • IsPercent: This attribute indicates whether the appeasement offer is provided as a percentage of the order amount or not.
  • IsVariable: This attribute indicates whether the offer is variable or fixed. If the value is Y, the logged in user can specify the discount on the order.
  • DiscountPercent: If the discount is offered as a percentage on the order amount, the percentage is returned in this attribute.
  • IsFuture: This attribute indicates whether the appeasement is applicable to current order or future orders.

The user must enter a note that describes the reason for applying an appeasement. A default note is displayed for each appeasement offer, the note content is driven by the isccs_bundle.js file. However, the user can modify the note on the user interface as required.

When the user applies an appeasement to an order, the following APIs are called:
  • changeOrder: This API is called to create a note with the ReasonCode attribute as YCD_CUSTOMER_APPEASE.
  • recordInvoiceCreation: This API is called to create a credit memo. Invoices are always associated with the sales order. When a customer appeasement is applied from the return order flow, the invoice that is generated, is associated with the sales order. Therefore, you can view the credit memo by using the "View All Invoices" related task in the Order Summary screen of the order.

When the user applies an appeasement that is applicable for future orders, the YCDSendFutureOrderCustomerAppeasementUE user exit is invoked. The appeasement offered is recorded but applied only on the customer's future orders.

Implementation

The following section describes the rules that you must configure.
  • You must configure the customer appeasement reasons. For more information, see the Sterling Business Center System Configuration.
  • You must configure the ChargeCategory as Discount. For more information about configuring the charge name and the charge category, see the Channel Applications Manager.
  • Applying customer appeasements to an order is a permission-controlled task. For information about assigning resource permissions to a user group, see the Administering user group permissions.
  • Variable appeasement offers are permission-controlled. Out-of-the-box, only an administrator user can apply a variable appeasement. For information about administering user group permissions, see Administering user group permissions.

For more information about the APIs and user exits, see the Javadoc.

End-user impact

The user can provide discounts by applying appeasements to an order, to avoid customer dissatisfaction.