Appease customer

When a customer is dissatisfied with an order or product for some reason, a store associate should be able to appease the customer using suitable appeasement options. The store associate can search and identify the order and open the Order Summary screen, where you can select the "Appease Customer" option from the More menu. The Customer Appeasement screen is loaded with appeasement reasons, appeasement options and existing notes, if any. When the screen loads, the getCommonCodeList API is called with the codeType as YCD_APPEASEMENT_RSN to load the appeasement reasons. The store associate can select either product or order depending upon what the customer is unhappy about. When a store associate chooses to provide appeasement for a Product, only then the order lines or products in the order are displayed and the store associate can choose a product that the customer is unhappy about. The getCompleteOrderLineList API is called to retrieve the order lines. To load the appeasement options for an order or product, the YCDGetAppeasementOffersForStoreUE is called. By default, the UE implementation returns the following appeasement options:
  • 10% discount on current order
  • 10% discount on future order
  • Discount on current order
  • Discount on future order
  • Issue coupon
  • Issue gift card
Depending upon the appeasement option that you select, an appropriate logic is executed as follows:
  • When the store associate selects an option that applies to the current order such as “10% discount on current order” or “Discount on current order”, the invokeUE API is called, which in turn calls the YCDProvideAppeasementInStoreUE user exit. The recordInvoiceCreation API is called as part of the user exit to create an invoice with InvoiceType as CREDIT_MEMO, which is the default implementation.
  • When the store associate selects an option that applies to a future order such as “10% discount on future order” or “Discount on future order”, the invokeUE API is called, which in turn calls the YCDSendFutureOrderCustomerAppeasementUE user exit. No default implementation is provided for the user exit.
  • When the store associate selects “Issue Coupon” as the option, the YCDProvideAppeasementAsCouponUE user exit is called. No default implementation is provided for the user exit.
  • When the store associate selects “Issue Gift Card” as the option, the YCDProvideAppeasementAsGiftCardUE user exit is called. No default implementation is provided for the user exit.

The getNoteList API is called with the ReasonCode as YCD_CUSTOMER_APPEASE to load the existing notes in the notes panel. In the Add Note box, the store associate can enter a note and mark as important, if required. When the store associate clicks Add, the changeOrder API is called with the ReasonCode as YCD_CUSTOMER_APPEASE, note text, and priority in the input.