Order lifecycle & state machine

The complete set of order statuses, what each means, and the valid transitions between them.

Every order moves through a deterministic state machine. Statuses never skip — each transition is validated, and each one writes an audit record. This page is the reference for what every status means and how orders move between them.

Status reference

Each status has a numeric code used throughout the API and history.

StatusMeaning
DraftCreated but not active — editable, no SLA, no revenue
Order Unassigned16Active and needs a vendor
Order Assigned1A vendor has the order, awaiting their response
Order Declined2Vendor declined — goes back for reassignment
Order Accepted3Vendor confirmed
Accepted with Conditions4Vendor countered on fee or due date
In Progress10Vendor actively working
Inspection Scheduled14Inspection appointment set
Inspection Completed15Property inspected
Report Submitted11Report uploaded, awaiting QC
Revision Requested12QC found issues — back to the vendor
Report Accepted13Passed QC
Order Completed6Delivered, submitted (if required), and paid
On Hold9Temporarily paused
Cancelled8Terminated with a reason
Rejected7Rejected

Reconsideration-of-value statuses (ROV — Borrower17, ROV — Client18) and client-initiated revisions (Revision Requested by Client20) are covered in QC review & revision loop.

Valid transitions

Draft → OrderAssigned
OrderAssigned → OrderAccepted | OrderAcceptedWithConditions | OrderDeclined | OnHold | Cancelled
OrderDeclined → OrderUnassigned → OrderAssigned   (reassignment)
OrderAccepted → InProgress | InspectionScheduled | OnHold | Cancelled
InspectionScheduled → InspectionCompleted
InspectionCompleted → ReportSubmitted
ReportSubmitted → ReportAccepted | RevisionRequest
RevisionRequest → ReportSubmitted              (revision loop)
ReportAccepted → (delivery) → OrderCompleted
Any active state → OnHold → (reactivate) → previous flow
Any active state → Cancelled                    (with reason)

Reading and changing status

ActionEndpoint
Drive a status change (client/ops)
List an order's status history
Every change is auditable

Each transition records who made it, when, the before/after status, and the reason. See Audit trail & history.

Walk the lifecycle

This section of the docs follows the order from creation to completion:

  1. Create an order
  2. Activate the order
  3. Assign a vendor
  4. Accept, decline & conditions
  5. Schedule & complete inspection
  6. Upload report & submission
  7. QC review & revision loop
  8. Deliver to borrower
  9. UCDP / EAD submission
  10. Invoicing & payment
  11. Completion, hold & cancel