What is FTC?
FTC stands for Federal Trade Commission. The United States Federal Trade Commission (FTC) defines rules that retailers must follow when dealing with customer orders. This rule states that:
Ø A notification must be sent to a customer if the promised ship date cannot be met and that a new promised ship date will be given to the customer.
Ø If the customer does not respond to the notification that is sent the first time the merchandise is delayed, the retailer can assume that the customer accepts the delay.
Ø If the merchandise is delayed more than once and the customer does not respond to these notifications, the retailer must cancel the order.
Ø If the retailer is unable to give a promise date and the customer can accept an indefinite delay, notifications do not have to be sent to the customer notifying them of delays.
If a time frame is not advertised by the retailer, FTC stipulates that an order must be shipped within 30 days of the order capture. If it becomes apparent that the ship date will not be met, a second ship date must be calculated. This date cannot be more than 30 days after the first ship date. A notification should be sent to the customer, informing them about the shipment failure, along with the next ship date. If, for any reason, the notice cannot be received by the customer, the order is expected to be cancelled by the end of the day corresponding to the first ship date. A second ship date has been calculated, and if, before that date, it becomes apparent that the order will not be completely delivered on time, a notification should be sent to the customer, stating that the ship date is unknown, and that the order should be cancelled on the second ship date.
Sterling Call Center and Store uses five dates to determine whether a delay occurred.
Expected ship date
First promised date
Current promised date
Next promised date
Notifications sent for delays:
First Delay Notifications
Next Delay Notifications
Please refer the SCCSS_Implementation_Guide (http://pic.dhe.ibm.com/infocenter/ssfs/v9r2/nav/1_8_7_1) for more details on these dates and notifications.
The monitor rules can be customized to notify the customer of delays, either earlier than or later than what is configured by default. By default, all the notifications are sent to the customer, at the most, 120 hours before the date, if they have not provided an e-mail address. If they have provided an e-mail address, the notification is sent, at the most, 48 hours before the date. This can be changed by going to the corresponding rule and changing the time component to suit the business requirements better.
Configuration Required to Implement FTC
1. Configure the Enhanced Order Monitor agent.
2. Make sure the pipeline used has the FTC Monitoring rules implemented. Refer the Federal Trade Commission Compliance section in the SCCSS_Implementation_Guide for details of rules that need to be configured to handle the various scenarios
- Backorder or Indefinite Notifications
- First Delay Notifications
- Next Delay Notifications
- Automatic Acceptance
- Auto Cancellation Notice
3. Rename the sample file ORDER_MONITOR_EX.001.xml.sample located in <INSTALL_DIR>\repository\xapi\template\merged\monitor
to ORDER_MONITOR_EX.001.xml. Place this file at <INSTALL_DIR>\extensions\global\template\monitor.
4. Configuring the Alert Component
The XSL components are used to convert the output XMLs into HTML messages that are sent to the customers through the e-mail components of the services. By default, the names of all the XSL files are provided by Sterling Call Center and Store with a .sample extension. Copy these to create a new XSL file without the .sample extension, customize your XSL files as needed, and update the template Name field of the E-mail Sender components of the relevant services.
Specifying the XSLs
- Go to <INSTALL_DIR>/repository/xapi/template/merged/email/ycd
Copy the files and remove the .sample part of the following xmls:
Place these at <INSTALL_DIR>\extensions\global\template\email\ycd.
- Go to <INSTALL_DIR>/repository/xapi/template/merged/exception_console/ycd
Copy the files and remove the .sample part of the following xmls:
Place these at <INSTALL_DIR>\extensions\global\template\ exception_console\ycd.
Configuring the E-mail Component
If the service sends an e-mail notification, the e-mail component must be configured accordingly. In particular, set the E-mail Server field to the ID of the mail server user to send the notifications. Additionally, specify the XSL used for the template of the e-mail, in the Template Name field.
6. Rebuild the resource jar after making the extensions to the monitor template and xsls by running the below command from <INSTALL_DIR>/bin:
./deployer.sh -t resourcejar
7. Rebuild the ear and deploy the same.
8. Configure FTC Compliance fields in Channel Applications Manager
- In the Channel Applications Manager, click the Expand icon adjacent to Configure Order Administration to expand the branch.
- Click the Advanced Configurations link.
- Select Configure FTC Compliance Settings.
- Enter information in the applicable fields.
Other Observations and Known Issues
1. Make sure the createOrder xml has the FTC dates set so that the alert mechanism can make the necessary calculations around FTC logic.
- The following user exits have to be configured(with the mentioned services) to set these dates automatically while order creation and modification:
These services would set the order dates which are then used by the FTC logic for further checks.
- As an alternate the below input can be passed to createOrder API for setting these dates:
<Order DocumentType="0001" EnterpriseCode="DEFAULT">
<OrderLine ItemGroupCode="PROD" OrderedQty="1" ShipNode="" >
<Item ItemID="try" UnitOfMeasure="EACH" />
<OrderDate DateTypeId="MAX_DELIVERY" ExpectedDate="2012-04-09T17:11:44-04:00"/>
<OrderDate DateTypeId="MAX_SHIPMENT" ExpectedDate="2012-04-09T17:11:44-04:00"/>
<OrderDate DateTypeId="MIN_DELIVERY" ExpectedDate="2012-04-09T17:11:44-04:00"/>
<OrderDate DateTypeId="MIN_SHIPMENT" ExpectedDate="2012-04-09T17:11:44-04:00"/>
<OrderDate ActualDate="2500-01-01T00:00:00-05:00" DateTypeId="YCD_FTC_CANCEL_DATE"/>
<OrderDate ActualDate="2012-04-09" DateTypeId="YCD_FTC_FIRST_PROMISE_DATE"/>
<OrderDate ActualDate="2012-04-09T00:00:00-04:00" DateTypeId="YCD_FTC_PROMISE_DATE" ExpectedDate="2012-04-09T00:00:00-04:00"/>
<PersonInfoBillTo Country="US" />
2. FTC is not meant for Del lines. Whenever an order line is marked as "Del", we set the YCD_FTC_PROMISE_DATE as high date. The reason for this is that DS and PS lines require an appointment in order to complete the fulfillment. The appointment date is the promised date. Until you set an appointment no promise has been given to the customer for when they should expect to receive the merchandise. For this reason the product explicitly ignores lines with the deliver method as "DEL" because the appointment process handles the use case. The appointment process already accounts for when the customer is not home, or when a delay occurs the call center calls the customer to reschedule. This inherent process covers FTC compliance.
3. Few files like ORDER_MONITOR_EX.xml and ORDER_MONITOR_EX_CONDITION.xml do not contain the orderline and orderdate elements which are required for FTC to work properly. Due to this the order monitor agent when run throws null pointer exceptions. To avoid the exceptions make sure these files if used have the following element:
<OrderLine OrderLineKey="" >
<OrderDate ActualDate="" DateTypeId="" ExpectedDate="" />
<OrderStatus Status="" StatusQty=""/>
<Schedule ExpectedShipmentDate="" />
4. In-definite FTC Alert only considers the line quantity which hasn't been shipped or cancelled to display as delayed quantity.
5. On the YCDShipmentTrackingFTCDelay panel, First Promise Date changes to ETS(Expected Time of Shipment) -1 i.e. one day less than when shipment will be delivered. This issue is seen specifically if the database locale and the installation locale are different say IST and EST. yfs.install.localecode has to match the underlying OS default timezone where the database is installed to avoid timezone calculation errors. Usually this problem will not be faced by customers since their DB and Installation both will be in US locale.
6. Ctrl+Shift+M on the FTC Alert Details screen does not open the model pop up and in the logs StringIndexOutOfBoundsException gets thrown. To get any alert details as an alternate you can use the postCommand of getExceptionDetails API.
7. FTC First delay alert is not raised when difference between First Promise date and Next promise date is more than 30 days.
This is the expected behavior from the product. If the customer does not respond to the notification that is sent the first time the merchandise is delayed, the retailer can assume that the customer accepts the delay. However, if the merchandise is delayed more than once and the customer does not respond to these notifications, the retailer must cancel the order. If a time frame is not advertised by the retailer, the FTC stipulates that an order must be shipped within 30 days of the order capture. If it becomes apparent that the ship date will not be met, a second ship date must be calculated. This date cannot be more than 30 days after the first ship date. When a quantity on an order line is delayed beyond the process buffer and within 30 days of the promised date, and where the promised date has not already been delayed, a first delay notification will be sent to the customer. Hence, when the delay is more than 30 days, directly Next Delay Alert is generated. First Delay Notifications would be sent only when the delay is within 30 days of the promised date.