{
  "type": "object",
  "properties": {
    "datasets": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/IDataSetConfig"
      }
    },
    "config": {
      "$ref": "#/definitions/IDataConfigLocal"
    },
    "hideHeader": {
      "type": "boolean"
    },
    "airflowTask": {
      "type": "object",
      "properties": {
        "dagId": {
          "type": "string"
        },
        "taskId": {
          "type": "string"
        }
      },
      "required": ["dagId", "taskId"]
    },
    "backgroundColor": {
      "type": "object",
      "properties": {
        "dataset": {
          "type": "string"
        },
        "conditionalColors": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "value": {
                "type": "number"
              },
              "condition": {
                "enum": ["eq", "gt", "gte", "lt", "lte", "neq"],
                "type": "string"
              },
              "opacity": {
                "type": "number"
              },
              "color": {
                "type": "string"
              }
            },
            "required": ["color", "value"]
          }
        }
      },
      "required": ["conditionalColors", "dataset"]
    },
    "id": {
      "type": "string"
    },
    "reportOptions": {
      "$ref": "#/definitions/ReportOptions"
    },
    "reportMode": {
      "type": "boolean"
    },
    "stateCb": {
      "type": "object"
    },
    "calendarType": {
      "const": "CALENDAR_445",
      "type": "string"
    }
  },
  "required": ["datasets"],
  "definitions": {
    "IDataSetConfig": {
      "type": "object",
      "properties": {
        "identifier": {
          "type": "string"
        },
        "decimalPlaces": {
          "type": "number"
        },
        "overriddenTitle": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "toggle": {
          "type": "boolean"
        },
        "type": {
          "enum": ["BOOLEAN", "ENUM", "NUMBER", "TEXT"],
          "type": "string"
        },
        "enum": {
          "description": "Labels a row's dropdown offers, keyed by the value written to the dataset. A STRING dataset's\nvalues are text and a DECIMAL dataset's are numbers; they are never mixed, because easas-be\nstores `1` and `\"1\"` as different JSON primitives.",
          "$ref": "#/definitions/IoEnumConfig"
        },
        "editable": {
          "type": "boolean"
        },
        "valueRange": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      },
      "required": ["identifier"]
    },
    "IoEnumConfig": {
      "description": "Labels a row's dropdown offers, keyed by the value written to the dataset. A STRING dataset's\nvalues are text and a DECIMAL dataset's are numbers; they are never mixed, because easas-be\nstores `1` and `\"1\"` as different JSON primitives.",
      "type": "object"
    },
    "IDataConfigLocal": {
      "type": "object",
      "properties": {
        "alignStartTo": {
          "enum": [
            "DAYS",
            "HALFHOUR",
            "HOURS",
            "MILLIS",
            "MINUTES",
            "MONTHS",
            "SECONDS",
            "WEEKS",
            "YEARS"
          ],
          "type": "string"
        },
        "timeOffset": {
          "type": "number"
        },
        "timeOffsetUnits": {
          "enum": [
            "DAYS",
            "HALFHOUR",
            "HOURS",
            "MILLIS",
            "MINUTES",
            "MONTHS",
            "SECONDS",
            "WEEKS",
            "YEARS"
          ],
          "type": "string"
        },
        "dataFrequency": {
          "type": "string"
        },
        "updateFrequency": {
          "type": "number"
        },
        "maxHeight": {
          "type": "number"
        },
        "displayNote": {
          "type": "boolean"
        },
        "note": {
          "type": "string"
        },
        "hideUpdateButton": {
          "type": "boolean"
        }
      }
    },
    "ReportOptions": {
      "type": "object",
      "properties": {
        "fontSize": {
          "type": "string"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
