{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "webServiceRunningWithoutErrors": {
      "type": "boolean"
    },
    "webServiceIsInitialised": {
      "type": "boolean"
    },
    "validationErrors": {
      "type": "array",
      "description": "validationErrors",
      "items": {
        "type": "object"
      }
    },
    "validationWarnings": {
      "type": "array",
      "description": "validationWarnings",
      "items": {
        "type": "object"
      }
    },
    "archiveIsConfigured": {
      "type": "boolean"
    },
    "archiveStatus": {
      "$ref": "#/definitions/ArchiveStatus"
    }
  },
  "required": [
    "webServiceRunningWithoutErrors",
    "webServiceIsInitialised",
    "validationErrors",
    "archiveIsConfigured",
    "validationErrors"
  ],
  "definitions": {
    "ArchiveStatus": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "archiveIsRunning": {
          "type": "boolean"
        },
        "version": {
          "type": "string"
        },
        "catalogIsRunning": {
          "type": "boolean"
        },
        "recordsInCatalog": {
          "type": "number"
        },
        "sizeOnDiskInBytes": {
          "type": "number"
        },
        "freeSpaceOnDiskInBytes": {
          "type": "number"
        },
        "dataServiceAvailable": {
          "type": "boolean"
        },
        "archiveTaskStatusList": {
          "type": "array",
          "description": "ArchiveTaskStatusList",
          "items": {
            "$ref": "#/definitions/ArchiveTaskStatus"
          }
        }
      },
      "required": [
        "archiveIsRunning",
        "version",
        "catalogIsRunning",
        "recordsInCatalog",
        "sizeOnDiskInBytes",
        "freeSpaceOnDiskInBytes",
        "dataServiceAvailable",
        "archiveTaskStatusList"
      ]
    },
    "ArchiveTaskStatus": {
      "type": "object",
      "required": [
        "running",
        "status",
        "name",
        "scheduled",
        "runIntervalInSeconds",
        "startTime",
        "endTime",
        "lastRunDate",
        "lastRunTime"
      ],
      "additionalProperties": false,
      "properties": {
        "running": {
          "type": "boolean"
        },
        "status": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "scheduled": {
          "type": "boolean"
        },
        "runIntervalInSeconds": {
          "type": "string"
        },
        "startTime": {
          "type": "string"
        },
        "endTime": {
          "type": "string"
        },
        "lastRunDate": {
          "type": "string"
        },
        "lastRunTime": {
          "type": "string"
        },
        "timeZone": {
          "type": "string"
        }
      }
    }
  }
}

