TotalApp Docs

Field & Estimate Operations

From adjuster dispatch through repair estimate approval to final settlement — the physical and financial resolution of a claim.

What this group does

Once a claim reaches adjuster_assigned in the Claim Files Hub, these three screens carry it through the operational chain that most people picture when they think of "processing a claim": physically inspecting the loss, pricing the repair, and paying it out. The chain is linear and each screen hands real data to the next.

Dispatch & Field Calendar
Estimate Approvals & Limits
Settlement & Payouts
Subrogation & Recovery

Each screen is backed by shared TypeScript contracts (ClaimRecord, FieldTaskRecord, EstimateRecord, PayoutRecord) in src/types/insurOps.ts, and every integration action below performs a real read-modify-write on the next screen's persisted record — not a simulated hand-off.

1. Dispatch & Field Calendar

Purpose: Match approved claim files to field adjusters and schedule/track the physical inspection. A split map/schedule view shows both the geographic distribution of losses and the lifecycle status of field tasks.

Key features

  • Split map/schedule view — a mock map plots incident locations (pin colour = urgency: red/amber/green) and adjuster coverage areas; the schedule list sits alongside it.
  • Smart Matching engine — opened from the "Smart Match" button, candidates are ranked by a combined score: proximity (closer is better), specialty match (claim type → ideal AdjusterSpecialty, bonus points on match), and workload (fewer open tasks scores higher). The top-ranked candidate is marked with a ✦.
  • Field task lifecyclepending_dispatch → en_route → on_site_inspection → report_submitted, tracked via status badges.
  • Field Inspection Summary modal — field photos (emoji placeholders), GPS check-in time, preliminary valuation, and field notes for the selected task.

Integration triggers

ActionWhat it does
Submit Inspection & Push to EstimateMarks the field task report_submitted; sets the linked ClaimRecord.estimateStep to pending_approval and carries the preliminary valuation forward as the estimate amount — the claim now appears in Estimate Approvals & Limits' review queue.
Flag InvestigationAppends the field notes as a new red-flag reason and re-routes the claim to Fraud & Risk Scoring (creates or updates the linked FraudAlertRecord).

2. Estimate Approvals & Limits

Purpose: Review the repair estimate line by line, compare it against loss photos, and approve or declare a total loss through a multi-tier authority workflow.

Key features

  • Itemized line-item grid — Part Name / Category (OEM, Aftermarket, Labor, Paint) / Unit Cost / Labor Hours / Discount Rate / Total, fully editable; each row's total is computed automatically (labor rows are hours × rate, others use unit cost, both discounted).
  • Side-by-side photo comparison — the "Compare Photos" modal shows FNOL loss photos (ClaimRecord.fnolSnapshot.evidenceThumbnails) next to the requested repair line items, so reviewers can sanity-check parts against actual damage.
  • Multi-tier authority limit workflow — a badge derived automatically from the estimate total:
TierThresholdMeaning
Tier 1 · Auto/Desk Approval< $2,500Auto-approved at desk level
Tier 2 · Senior Adjuster Approval$2,500 – $15,000Requires senior adjuster sign-off
Tier 3 · Director Signature Required≥ $15,000Requires director signature

Thresholds live in APPROVAL_TIER_LIMITS (src/types/insurOps.ts); the badge is informational — real authorization is enforced server-side via RBAC capabilities (ins:estimate:review, ins:estimate:approve).

Integration triggers

ActionWhat it does
Approve & Lock ReserveMarks the estimate approved, sets ClaimRecord.status to estimate_approved, and locks the reserve amount to the estimate total — the claim now shows up in Settlement & Payouts as an approved estimate awaiting payout.
Declare Total Loss (Pert)Marks the estimate total_loss and rejects the claim's estimate step; also emits a TotalLossPayload that opens a real SalvageAssetRecord in Salvage & Parts Management (reserve price and estimated salvage value are derived from the estimate total).

3. Settlement & Payouts

Purpose: Compute the net payout from an approved estimate, route it to the right payee and bank, execute the payment, and open a subrogation file when a third party shares fault.

Key features

  • Financial settlement ledgerApproved Repair Total − Deductible − Depreciation − Salvage Retention = Net Payout Amount, computed live as you edit the figures.
  • Payee & banking routing panel — destination selector (Pay to Insured / Pay Directly to Body Shop, auto-filling the payee name from the Repair & Service Network / Third-Party Beneficiary), IBAN verification badge, Bank Name field, and Payment Method (EFT/Wire, Check, Direct Voucher).
  • Payment execution & status pipeline — a queue table with Payout ID, Claim ID, Payee Name, Gross Amount, Deductions, Net Payout, and Bank Status (Pending Execution / Processing / Paid / Failed).
  • Pending-estimate hint strip — approved estimates that don't yet have a payout are surfaced in an info banner at the bottom of the screen.

Integration triggers

ActionWhat it does
Execute PayoutMarks the payout paid, sets the linked ClaimRecord.status to closed and its payoutStep.payoutStatus to paid — the claim now shows as closed in the Claim Files Hub.
Initiate Subrogation (conditional)Only enabled when Third-Party Fault % > 0. Opens a full SubrogationRecord dossier (demand amount = net payout × fault share) and sets payoutStep.subrogationStatus to pending — ready for negotiation in Subrogation & Recovery.

End-to-end data flow

Source screenActionTarget screen / record
Claim Files HubAdjuster assignedClaim enters Dispatch & Field Calendar's queue
Dispatch & Field CalendarSubmit Inspection & Push to EstimateClaimRecord.estimateStep.approvalStatus = pending_approval → Estimate Approvals queue
Dispatch & Field CalendarFlag InvestigationFraudAlertRecord opened/updated → Fraud & Risk Scoring
Estimate Approvals & LimitsApprove & Lock ReserveClaimRecord.status = estimate_approved → Settlement & Payouts queue
Estimate Approvals & LimitsDeclare Total LossSalvageAssetRecord created → Salvage & Parts Management (see Recovery & Analytics)
Settlement & PayoutsExecute PayoutClaimRecord.status = closed → visible as closed in Claim Files Hub
Settlement & PayoutsInitiate SubrogationSubrogationRecord created → Subrogation & Recovery (see Recovery & Analytics)