Case controls & escalation
Change timing, ownership, urgency, and workflow state through explicit transitions that preserve deadlines, wake conditions, current facts, and audit history.
Case controls change how work proceeds; they do not change balances, waive obligations, or bypass a specialist workflow.
Control matrix
| Control | Required inputs | System effect | Cannot do |
|---|---|---|---|
| Wait/snooze | Reason, wake time or condition, expected version | Moves to waiting state and creates wake trigger. | Move past a non-deferrable deadline. |
| Schedule contact | Purpose, channel, requested time, destination | Creates future task/interaction intent. | Guarantee the future contact is eligible. |
| Reassign | Destination queue/worker and reason | Moves eligible task ownership. | Grant missing skill or permission. |
| Escalate | Reason, urgency, destination, response target | Raises case level and creates specialist work. | Convert a blocked action to allowed. |
| Reopen | New trigger and reason | Creates a new open interval on the same history. | Erase the prior closure outcome. |
| Close | Structured outcome and exit evidence | Freezes completed interval. | Close with unmet mandatory tasks or obligations. |
Versioned transition
curl -X POST "$BASE/v1/servicing/cases/1001/transitions" \
-H "Authorization: Bearer $TOKEN" \
-H "LendEasy-Tenant: demo-lender" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: hbr-wait-for-documents-2027-05-01" \
-d '{
"targetStatus": "SNOOZED",
"reason": "Waiting for the requested borrower documents.",
"resumeDate": "2027-05-05"
}'
The workflow validates that the transition is allowed from the current stage and that exit/wake requirements are present. A concurrent update returns 409 rather than overwriting newer work.
Deadlines keep running
Waiting state distinguishes customer wait, external-party wait, scheduled follow-up, and operational hold. Each state declares which service-level clocks pause and which regulatory or contractual deadlines continue. A user cannot snooze away a mandatory response date.
Scheduled work re-checks
The scheduled time is a preference. At execution, the interaction re-resolves customer local time, consent, restrictions, contact frequency, case/loan state, and destination. If blocked, it records the blocked attempt or creates review; it does not keep retrying around the same control.
Escalation
Before escalating, GET /v1/servicing/cases/{caseId}/escalation-targets enumerates the valid destinations under the same escalate authority: eligible queues, under-capacity escalation specialists, supervisors, and compliance reviewers. At-capacity workers disappear from the lists rather than being marked, and the escalating command revalidates whichever target is chosen:
{
"caseId": 1001,
"queues": [{ "queueCode": "ESCALATION", "displayName": "Escalation" }],
"people": [{ "workerId": 4103, "displayName": "Evan Escalation", "activeTaskCount": 3, "capacity": 6 }],
"supervisors": [{ "workerId": 4103, "displayName": "Evan Escalation", "activeTaskCount": 3, "capacity": 6 }],
"complianceReviewers": [{ "workerId": 4104, "displayName": "Cora Compliance", "activeTaskCount": 1 }]
}
The dedicated escalation command names an explicit target — a person, a queue, a supervisor, or a compliance reviewer — with a required urgency and response deadline. GET /v1/servicing/tasks/{taskId}/reassignment-options-style capacity filtering applies to escalation targets too: an over-capacity destination is not offered.
curl -X POST "$BASE/v1/servicing/cases/1001/escalate" \
-H "Authorization: Bearer $TOKEN" \
-H "LendEasy-Tenant: demo-lender" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: escalate-hbr-vulnerability" \
-d '{
"targetType": "SUPERVISOR",
"targetRef": "4102",
"reason": "Customer requested specialist support.",
"urgency": "URGENT",
"responseDeadline": "2027-05-02T17:00:00-07:00"
}'
Escalation preserves the existing case and links the new task, urgency, service-level effect, owner, decision, and return path.
Close and reopen
Closure requires structured outcome, reason, all mandatory stage criteria, and current authoritative facts. Reopen creates a new trigger event and current workflow state while retaining the previous closed interval and evidence.