json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "definitions": {
          "Sample": {
              "type": "object",
              "properties": {
                  "id": {
                      "description": "ID of the sample",
                      "type": "string"
                  },
                  "lon": {
                      "description": "WGS84 longitude",
                      "type": "string"
                  },
                  "lat": {
                      "description": "WGS84 latitude",
                      "type": "string"
                  },
                  "label": {
                      "description": "Name of the sample",
                      "type": "string"
                  },
                  "timeline": {
                      "description": "List of sample dates",
                      "type": "string"
                  },
                  "validdata": {
                      "description": "List of sample dates",
                      "type": "string"
                  },
                  "attributes": {
                      "description": "List of lists of observations",
                      "type": "string"
                  }
              }
          },
          "Parameter": {
              "type": "object",
              "properties": {
                  "keyname": {
                      "description": "The name of the parameter",
                      "type": "string"
                  },
                  "keytype": {
                      "description": "The description of the type of the parameter",
                      "type": "string"
                  },
                  "keymin": {
                      "description": "The minimum value of the parameter",
                      "type": "number"
                  },
                  "keymax": {
                      "description": "The maximum value of the parameter",
                      "type": "number"
                  },
                  "default": {
                      "description": "The default value of the parameter",
                      "type": "number"
                  },
                  "domain": {
                      "description": "The optional names of the values of the parameter",
                      "type": "array",
                      "_uniqueItems": true,
                      "items": {
                          "type": "string"
                      }
                  }
              },
              "required": [
                  "keyname",
                  "keytype",
                  "keymin",
                  "keymax",
                  "default"
              ]
          },
          "Filter": {
              "type": "object",
              "properties": {
                  "alias": {
                      "description": "The short name of the filter",
                      "type": "string"
                  },
                  "name": {
                      "description": "The complete name of the filter",
                      "type": "string"
                  },
                  "missingdata": {
                      "description": "Does the filter support the use of missing data?",
                      "type": "string"
                  },
                  "parameters": {
                      "description": "The list of parameters of the filter",
                      "type": "array",
                      "items": {
                          "$ref": "#/definitions/Parameter"
                      }
                  },
                  "sample": {
                      "description": "A sample object",
                      "type": "string"
                  }
              },
              "required": [
                  "alias",
                  "name",
                  "missingdata",
                  "parameters",
                  "sample"
              ]
          }
      },
      "title": "eotsfilter service",
      "description": "Capabilities document of a Earth-Observation Time-Series filter service",
      "type": "object",
      "properties": {
          "service": {
              "description": "The name of the service",
              "type": "string"
          },
          "filters": {
              "description": "A list of filters",
              "type": "array",
              "items": {
                  "$ref": "#/definitions/Filter"
              }
          }
      },
      "required": [
          "service",
          "filters"
      ],
      "additionalProperties": false
  }