{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://weverlabs.com/schemas/energyops-packet-readiness-request.schema.json",
  "title": "EnergyOps Packet Readiness Request",
  "type": "object",
  "required": [
    "object_type",
    "requested_tool",
    "workflow_type",
    "project",
    "evidence_items",
    "callback"
  ],
  "properties": {
    "object_type": {
      "const": "energyops_packet_readiness_request"
    },
    "requested_tool": {
      "const": "energyops"
    },
    "workflow_type": {
      "enum": [
        "interconnection_packet_readiness",
        "utility_filing_review",
        "project_evidence_review",
        "milestone_tracking_review",
        "missing_document_review",
        "regulatory_packet_readiness"
      ]
    },
    "run_contract_id": {
      "type": "string"
    },
    "quote_id": {
      "type": "string"
    },
    "credit_entitlement_id": {
      "type": "string"
    },
    "project": {
      "type": "object",
      "required": [
        "project_id",
        "project_name"
      ],
      "properties": {
        "project_id": {
          "type": "string"
        },
        "project_name": {
          "type": "string"
        },
        "utility_territory": {
          "type": "string"
        },
        "technology_type": {
          "type": "string"
        },
        "capacity_mw": {
          "type": "number"
        },
        "site_reference": {
          "type": "string"
        },
        "interconnection_queue_reference": {
          "type": "string"
        }
      }
    },
    "milestones": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "milestone_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          }
        }
      }
    },
    "evidence_items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "evidence_id",
          "evidence_type"
        ],
        "properties": {
          "evidence_id": {
            "type": "string"
          },
          "evidence_type": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          }
        }
      }
    },
    "callback": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "events": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}
