Designing Overdue Process Templates and Event Types
The following table shows a sample overdue process template for one of the rules in the Residential / North cell in the previous section's matrix.
Overdue Process Template
Overdue Event Type
When Triggered
Accelerated overdue process for residential customers
Old debt letter
At inception of process
Cut active service agreements
10 days after inception
Reduce customer's credit rating
10 days after inception (i.e., at the same time the cut process is created)
Write down small debt
0 days after completion of the cut process(es)
Refer debt to collection agent
0 days after attempting the small write down (this means that either the small write-down or the agency referral will take place as if the write-down is successful, the bill's FTs will be matched to balanced match events and the overdue process will stop)
Cancel collection agent referral
45 days after referral
Write-off debt
0 days after collection agent cancellation
You should create a similar table for each of the distinct overdue process templates in your matrix.
At this point, you've designed the distinct overdue process templates. Next, you'll need to design the algorithms that control their overdue processes:
A template's Calculate Unpaid and Original Amount algorithm calculates the original and unpaid amounts of the objects being collected by a process. These values are used throughout the overdue processing module.
A template's Cancel Criteria algorithm is executed to determine if a process should be cancelled. Refer to How Are Overdue Processes Cancelled for the details.
A template's Cancel Logic algorithm is executed to cancel a process. Refer to How Are Overdue Processes Cancelled for the details. Please note that the logic embodied in this type of algorithm can be sophisticated because it is responsible for stopping an ongoing process's activities (e.g., this could involve cancelling field activities or cases). Cancellation algorithms are also responsible for inserting log entry(s).
A template's Hold Event Activation algorithm is invoked to determine if the Overdue / Cut Event Manager should suspend the activation of the process's events.
A template's Information algorithm is invoked to construct the override "info string".
Next, extract each unique event type from the above table:
Overdue Event
Type
Action
Old debt letter
Create a customer contact
Cut active service agreement(s)
Start a cut process for every active SA with an unpaid FT on the bill
Reduce customer's credit rating
Insert an account credit rating history record
Write down small debt
Create write-down adjustments if unpaid debt is less than $x
Refer debt to collection agent
Create a collection agency referral
Cancel collection agent referral
Cancel the collection agency referral
Write off unpaid debt
Create adjustments to write-off unpaid debt
At this point, you know the distinct event types. Next, you'll need to design the algorithms that control the lifecycle of each event type:
The event type's Event Activation algorithm(s) are executed by the Overdue / Cut Event Manager on its trigger date. The following points describe the logic embodied in such an algorithm:
The activity that happens on the trigger date (e.g., creation of a customer contact, To Do, etc.). Refer to Overdue Events Can Do Many Things for the details.
Whether the event is transitioned into the Waiting or Complete state when it's triggered. Refer to Some Events Can Wait for the details.
How the log entry(s) associated with event activation will be constructed. The base-package algorithms allow you to control the verbiage in the log entry by defining the desired message number on the algorithm. This means that you may have to set up new messages. Refer to Activating Events Should Add A Log Entry for the details.
The event type's Cancel Logic algorithm(s) are invoked when an event is cancelled. The following points describe the logic embodied in such an algorithm:
If the event is allowed to be canceled. This logic may be necessary if some conditions prevent events of this type from canceling. For example, you may want to prevent an event from canceling when there are later dependent events that aren't canceled.
Any ancillary actions that take place during cancellation.
How the log entry(s) associated with event cancellation will be constructed.
The event type's Monitor Waiting Event algorithm(s) are invoked to monitor a waiting event. These algorithms are responsible for transitioning a Waiting event to Complete if the object on which it's waiting is complete.
The event type's Event Information algorithm is invoked to construct the override "info string".
Once you've designed each event type's algorithms, you're ready to design your cut processes.