{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/cam-monitor-plan-monitor-plan-schema.json",
  "title": "MonitorPlan",
  "description": "MonitorPlan schema from Monitor Plan Management OpenAPI Specification",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "12345"
    },
    "facId": {
      "type": "number",
      "example": 0.0
    },
    "configTypeCode": {
      "type": "string",
      "example": "string"
    },
    "lastUpdated": {
      "format": "date-time",
      "type": "string",
      "example": "2024-01-15T12:00:00Z"
    },
    "updatedStatusFlag": {
      "type": "string",
      "example": "active"
    },
    "needsEvalFlag": {
      "type": "string",
      "example": "string"
    },
    "checkSessionId": {
      "type": "string",
      "example": "12345"
    },
    "endReportPeriodId": {
      "type": "number",
      "example": 0.0
    },
    "beginReportPeriodId": {
      "type": "number",
      "example": 0.0
    },
    "userId": {
      "type": "string",
      "example": "12345"
    },
    "addDate": {
      "format": "date-time",
      "type": "string",
      "example": "2024-01-15T12:00:00Z"
    },
    "updateDate": {
      "format": "date-time",
      "type": "string",
      "example": "2024-01-15T12:00:00Z"
    },
    "submissionId": {
      "type": "number",
      "example": 0.0
    },
    "submissionAvailabilityCode": {
      "type": "string",
      "example": "string"
    },
    "plant": {
      "$ref": "#/components/schemas/Plant"
    },
    "locations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MonitorLocation"
      },
      "example": [
        "string"
      ]
    },
    "comments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MonitorPlanComment"
      },
      "example": [
        "string"
      ]
    },
    "reportingFrequencies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MonitorPlanReportingFrequency"
      },
      "example": [
        "string"
      ]
    },
    "unitStackConfigurations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UnitStackConfiguration"
      },
      "example": [
        "string"
      ]
    },
    "unitCapacities": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UnitCapacity"
      },
      "example": [
        "string"
      ]
    },
    "unitControls": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UnitControl"
      },
      "example": [
        "string"
      ]
    },
    "unitFuels": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UnitFuel"
      },
      "example": [
        "string"
      ]
    },
    "lastEvaluatedDate": {
      "format": "date-time",
      "type": "string",
      "example": "2024-01-15T12:00:00Z"
    },
    "emissionEvaluations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EmissionEvaluation"
      },
      "example": [
        "string"
      ]
    },
    "beginReportingPeriod": {
      "$ref": "#/components/schemas/ReportingPeriod"
    },
    "endReportingPeriod": {
      "$ref": "#/components/schemas/ReportingPeriod"
    }
  },
  "required": [
    "id",
    "facId",
    "configTypeCode",
    "lastUpdated",
    "updatedStatusFlag",
    "needsEvalFlag",
    "checkSessionId",
    "endReportPeriodId",
    "beginReportPeriodId",
    "userId",
    "addDate",
    "updateDate",
    "submissionId",
    "submissionAvailabilityCode",
    "plant",
    "locations",
    "comments",
    "reportingFrequencies",
    "unitStackConfigurations",
    "lastEvaluatedDate",
    "emissionEvaluations",
    "beginReportingPeriod",
    "endReportingPeriod"
  ]
}