{
  "title": "Webscene",
  "type": "object",
  "$schema": "http://json-schema.org/draft-04/schema",
  "description": "The web scene data lists the basemap, operational layers, and presentation slides to be used in the web scene. It also contains information about pop-up windows and layer styling overrides to be used in the web scene. A version property allows you to supply the version of the web scene JSON format being used.",
  "properties": {
    "applicationProperties": {
      "type": "object",
      "$ref": "applicationProperties_schema.json"
    },
    "authoringApp": {
      "type": "string",
      "description": "String value indicating the application which authored the webmap"
    },
    "authoringAppVersion": {
      "type": "string",
      "description": "String value indicating the authoring App's version number."
    },
    "baseMap": {
      "type": "object",
      "description": "Basemaps give the web scene a geographic context.",
      "$ref": "baseMap_schema.json"
    },
    "clippingArea": {
      "type": "object",
      "$ref": "clippingArea_schema.json"
    },
    "ground": {
      "type": "object",
      "$ref": "ground_schema.json"
    },
    "heightModelInfo": {
      "type": "object",
      "$ref": "heightModelInfo_schema.json"
    },
    "initialState": {
      "type": "object",
      "description": "An envelope object defines the initial state at which to open the scene.",
      "$ref": "initialState_schema.json"
    },
    "mapRangeInfo": {
      "type": "object",
      "description": "Map Range Information",
      "$ref": "mapRangeInfo_schema.json"
    },
    "operationalLayers": {
      "type": "array",
      "description": "Operational layers contain business data which are used to make thematic scenes.",
      "items": {
        "type": "object",
        "$ref": "operationalLayers_schema.json"
      },
      "uniqueItems": true
    },
    "presentation": {
      "type": "object",
      "$ref": "presentation_schema.json"
    },
    "spatialReference": {
      "type": "object",
      "description": "An object used to specify the spatial reference of the given geometry.",
      "$ref": "spatialReference_schema.json"
    },
    "tables": {
      "type": "array",
      "description": "An array of table objects.",
      "items": {
        "type": "object",
        "$ref": "table_schema.json"
      }
    },
    "version": {
      "type": "string",
      "description": "Root element in the web scene specifying a string value indicating the web scene version.",
      "$ref": "version_schema.json"
    },
    "viewingMode": {
      "type": "string",
      "enum": [
        "global",
        "local"
      ]
    },
    "widgets": {
      "type": "object",
      "description": "the widgets object contains widgets that should be exposed to the user.",
      "$ref": "widgets_schema.json"
    }
  },
  "required": [
    "ground",
    "operationalLayers",
    "spatialReference",
    "version",
    "viewingMode"
  ],
  "additionalProperties": false
}
