Skip to content

Case Management

The apps.cases module manages support cases, borrower interactions, supercases for bulk operations, and campaigns for mass outreach.

Cases

Case Types

Type Description
general General inquiry or support request
complaint Borrower complaint
dispute Account dispute

Case Lifecycle

open → in_progress → escalated → closed
              │           │
              └──→ snoozed ──→ (auto-wake) → in_progress

Case Model

Field Description
borrower FK to borrower
loan Optional FK to loan
case_type General, complaint, or dispute
status Open, in_progress, escalated, snoozed, closed
priority Low, medium, high, critical
source How the case was created (phone, email, portal, internal)
team Assigned team
assigned_to FK to assigned user
sla_deadline SLA target resolution time
sla_breached Whether the SLA has been breached
resolution Resolution details (when closed)

SLA Tracking

Cases have configurable SLA deadlines. The system tracks:

  • Whether the deadline has been met
  • Time elapsed since creation
  • sla_breached flag set automatically when deadline passes

Escalation

Cases can be escalated through multiple levels:

Field Description
escalation_level Current escalation level (1, 2, 3...)
escalation_reason Why the case was escalated
escalated_at When escalation occurred
escalated_by Who escalated

Snooze

Cases can be snoozed until a specified date:

  • snoozed_until --- When the case should auto-wake
  • Snoozed cases are excluded from active work queues
  • Automatic wake-up returns the case to in_progress

Interactions

Communication records attached to cases:

Field Description
case FK to case
direction Inbound or outbound
channel Phone, email, SMS, chat, letter
interaction_type Type of interaction
theme Topic/category
subject Brief summary
notes Detailed notes
duration Call/interaction duration
transcript Full conversation transcript (if available)
created_by FK to user who recorded the interaction

Interactions provide a chronological record of all communications related to a case.

Supercases

Supercases enable bulk case management across groups of loans:

Supercase Model

Field Description
name Supercase name
case_type Type of cases in this group
status Open, in_progress, closed
description Description and objectives

Supercase Populations

Groups of loans within a supercase:

Field Description
supercase FK to supercase
name Population name
criteria JSONB rules for loan selection
loan_count Number of matching loans

Populations allow a supercase to target different groups of loans with different actions or communications.

Use Cases

  • Regulatory remediation affecting a class of loans
  • Natural disaster forbearance programs
  • Product recall or rate correction across a portfolio
  • System-wide communication campaigns

Campaigns

Mass outreach campaigns for targeted borrower communication:

Field Description
name Campaign name
campaign_type Type of campaign
channel Communication channel (email, SMS, letter)
template_name Communication template to use
filter_criteria JSONB rules for targeting borrowers
status Draft, active, completed, cancelled
total_targeted Number of borrowers targeted
total_sent Number of communications sent
total_failed Number of failed deliveries

Campaign Workflow

  1. Create --- Define targeting criteria and select template
  2. Preview --- Review targeted borrower count and sample communication
  3. Launch --- Begin sending communications
  4. Track --- Monitor delivery success/failure rates
  5. Complete --- Campaign finishes when all communications are sent

Campaigns route delivery through the Communications module and respect do_not_contact flags.

Pre-Delinquency Rules

Early warning rules that trigger proactive outreach before a borrower becomes delinquent:

Field Description
trigger_type What triggers the rule
dpd_threshold DPD level that activates the rule
action Action to take (send communication, create task, create case)

Pre-delinquency rules integrate with Collections and can automatically create cases or trigger communications when early warning signs appear.

See Also