{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://weverlabs.com/schemas/intake-work-order-dispatch.schema.json",
  "title": "Intake Work Order Dispatch",
  "type": "object",
  "required": [
    "dispatch_id",
    "intake_request_id",
    "work_order_id",
    "requested_tool",
    "runtime_record_id",
    "queue_state",
    "return_contract"
  ],
  "properties": {
    "dispatch_id": {
      "type": "string"
    },
    "intake_request_id": {
      "type": "string"
    },
    "work_order_id": {
      "type": "string"
    },
    "requested_tool": {
      "type": "string",
      "enum": [
        "tokenops",
        "financeops",
        "energyops",
        "distributionops",
        "packetops",
        "wever_labs_os"
      ]
    },
    "runtime_record_id": {
      "type": "string"
    },
    "run_contract_id": {
      "type": "string"
    },
    "quote_id": {
      "type": "string"
    },
    "credit_entitlement_id": {
      "type": "string"
    },
    "provider_route_id": {
      "type": "string"
    },
    "queue_state": {
      "type": "string",
      "enum": [
        "accepted",
        "queued",
        "operating",
        "waiting_on_evidence",
        "result_ready",
        "callback_pending",
        "callback_delivered",
        "exception",
        "replay_ready"
      ]
    },
    "evidence_bindings": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "return_contract": {
      "type": "object",
      "required": [
        "result_contract_required",
        "callback_required",
        "usage_receipt_required",
        "attestation_required"
      ],
      "properties": {
        "result_contract_required": {
          "type": "boolean"
        },
        "callback_required": {
          "type": "boolean"
        },
        "usage_receipt_required": {
          "type": "boolean"
        },
        "settlement_receipt_required": {
          "type": "boolean"
        },
        "attestation_required": {
          "type": "boolean"
        },
        "callback_url": {
          "type": "string"
        }
      }
    },
    "operator_review_required": {
      "type": "boolean"
    },
    "created_at": {
      "type": "string"
    }
  }
}
