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.
| Status | Meaning |
|---|---|
| Draft | Created but not active — editable, no SLA, no revenue |
| Order Unassigned16 | Active and needs a vendor |
| Order Assigned1 | A vendor has the order, awaiting their response |
| Order Declined2 | Vendor declined — goes back for reassignment |
| Order Accepted3 | Vendor confirmed |
| Accepted with Conditions4 | Vendor countered on fee or due date |
| In Progress10 | Vendor actively working |
| Inspection Scheduled14 | Inspection appointment set |
| Inspection Completed15 | Property inspected |
| Report Submitted11 | Report uploaded, awaiting QC |
| Revision Requested12 | QC found issues — back to the vendor |
| Report Accepted13 | Passed QC |
| Order Completed6 | Delivered, submitted (if required), and paid |
| On Hold9 | Temporarily paused |
| Cancelled8 | Terminated with a reason |
| Rejected7 | Rejected |
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)
The platform rejects invalid transitions. You cannot move an order from Order Assigned1 straight to Report Submitted11 — it must be accepted, worked, and inspected first. Moving backward requires an explicit revision or cancellation reason.
Reading and changing status
| Action | Endpoint |
|---|---|
| Drive a status change (client/ops) | |
| List an order's status history |
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: