{
  "type": "object",
  "properties": {
    "xAxis": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        },
        "identifier": {
          "type": "string"
        },
        "minValue": {
          "type": "number"
        },
        "maxValue": {
          "type": "number"
        }
      },
      "required": [
        "identifier",
        "title"
      ]
    },
    "yAxis": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        },
        "identifier": {
          "type": "string"
        },
        "minColor": {
          "type": "string"
        },
        "maxColor": {
          "type": "string"
        },
        "minValue": {
          "type": "number"
        },
        "maxValue": {
          "type": "number"
        }
      },
      "required": [
        "identifier",
        "title"
      ]
    },
    "yAxisSecondary": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        },
        "identifier": {
          "type": "string"
        },
        "minColor": {
          "type": "string"
        },
        "maxColor": {
          "type": "string"
        },
        "minValue": {
          "type": "number"
        },
        "maxValue": {
          "type": "number"
        }
      },
      "required": [
        "identifier",
        "title"
      ]
    },
    "isLoadConfig": {
      "type": "boolean"
    },
    "chartTitle": {
      "type": "string"
    },
    "axisStepSize": {
      "type": "number"
    },
    "minColor": {
      "type": "string"
    },
    "maxColor": {
      "type": "string"
    },
    "loadConf": {
      "type": "object",
      "properties": {
        "type": {
          "const": "Time",
          "type": "string"
        },
        "lead": {
          "type": "number"
        },
        "lag": {
          "type": "number"
        },
        "leadUnit": {
          "$ref": "#/definitions/DweenTimeUnit"
        },
        "lagUnit": {
          "$ref": "#/definitions/DweenTimeUnit"
        },
        "alignUnit": {
          "enum": [
            "DAYS",
            "HALFHOUR",
            "HOURS",
            "MILLIS",
            "MINUTES",
            "MONTHS",
            "SECONDS",
            "WEEKS",
            "YEARS"
          ],
          "type": "string"
        }
      },
      "required": [
        "alignUnit",
        "lag",
        "lagUnit",
        "leadUnit"
      ]
    },
    "hideHeader": {
      "type": "boolean"
    },
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    },
    "instantFrom": {
      "$ref": "#/definitions/JSJoda.Instant"
    },
    "instantTo": {
      "$ref": "#/definitions/JSJoda.Instant"
    }
  },
  "required": [
    "isLoadConfig",
    "xAxis",
    "yAxis"
  ],
  "definitions": {
    "DweenTimeUnit": {
      "enum": [
        "DAYS",
        "HALFHOUR",
        "HOURS",
        "MILLIS",
        "MINUTES",
        "MONTHS",
        "SECONDS",
        "WEEKS",
        "YEARS"
      ],
      "type": "string"
    },
    "JSJoda.Instant": {
      "type": "object"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}