{
    "title": "Multi-dimensional Definition",
    "type": "object",
    "$schema": "http://json-schema.org/draft-04/schema",
    "properties": {
        "dimensionName": {
            "type": "string",
            "description": "Type of dimension being used (ex. StdTime)."
        },
        "isSlice": {
            "type": "boolean",
            "description": "Is slice?",
            "default": true
        },
        "values": {
            "type": "array",
            "description": "Array where every element is either a single value, or an array of two values (lower and upper bound).",
            "items": {
                "oneOf": [
                    {
                        "type": "number"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "number"
                        },
                        "minItems": 2,
                        "maxItems": 2
                    }
                ]
            }
        },
        "variableName": {
            "type": "string",
            "description": "Name of the variable."
        }
    },
    "anyOf": [
        {
            "required": [
                "variableName"
            ]
        },
        {
            "required": [
                "dimensionName",
                "values"
            ]
        }
    ],
    "additionalProperties": false,
    "dependencies": {
        "dimensionName": [
            "values"
        ],
        "values": [
            "dimensionName"
        ]
    },
    "esriDocumentation": {
        "additionalInformation": "[Multidimensional Definition](http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#//02r300000290000000) in ArcGIS REST API",
        "examples": [
            {
                "code": {
                    "multidimensionalDefinition": {
                        "variableName": "AvgSalinity",
                        "dimensionName": "StdZ",
                        "values": [
                            [
                                1406181600000,
                                1406182200000
                            ],
                            [
                                1406224800000,
                                1406225400000
                            ]
                        ],
                        "isSlice": false
                    }
                }
            }
        ]
    }
}