Concepts

Inquiry lifecycle

Handle inquiry states without losing decisions.

Inquiry states

CreatedPendingCompletedNeeds ReviewApprovedDeclinedFailedExpiredPurged
Primary inquiry path
Created

Inquiry opened

Pending

Verification started

Completed

All checks finished

policy
Approved
Needs Review
Expired

Inquiry lifetime elapsed

Failed

Hard failure or attempt cap

Purged

Approved record removed

Transitions

Known transitions

NameTypeDescription
Open→ CREATEDPOST /customer/inquiries or portal create.
First ID scanCREATED → PENDINGDocument scan moves inquiry immediately.
All steps pass→ COMPLETED → APPROVED|NEEDS_REVIEWCOMPLETED is transitional; policy decides next state.
Hard fail / caps→ FAILEDMay emit inquiry.declined with status FAILED.
TTL sweeper→ EXPIREDPortal may extend/resume per portal APIs.
Portal purge→ PURGEDOperator purge workflow.

Limits and expiry

  • INQUIRY_TTL_SEC default 86400 (24h) from opened_at.
  • Template configuration may override the effective inquiry expiry.
  • Expired inquiries cannot continue verification or return document URLs.

Dashboard display