{
	"type": "object",
	"description": "Parameters for solving a route.",
	"properties": {
		"start": {
			"description": "The starting point of the route. The spatial reference of this point is determined by inWkid (defaults to 4326).",
			"$ref": "#/$defs/RoutePoint"
		},
		"end": {
			"description": "The ending point of the route. The spatial reference of this point is determined by inWkid (defaults to 4326).",
			"$ref": "#/$defs/RoutePoint"
		},
		"stops": {
			"description": "Optional intermediate stops along the route. Each stop is in the spatial reference defined by inWkid (defaults to 4326).",
			"type": "array",
			"items": {
				"$ref": "#/$defs/RoutePoint"
			},
			"default": []
		},
		"travelMode": {
			"description": "Optional travel mode name used to apply route layer attributes. If no matching travel mode is found, defaults are used.",
			"type": "string",
			"enum": [
				"<INSERT VALID TRAVEL MODE STRINGS BASED ON THE ROUTE LAYER CONFIGURATION>"
			]
		},
		"inWkid": {
			"description": "Spatial reference WKID for input points. Defaults to 4326 (WGS84).",
			"type": "integer",
			"default": 4326
		},
		"outWkid": {
			"description": "Spatial reference WKID for output geometries. Defaults to 4326 (WGS84).",
			"type": "integer",
			"default": 4326
		}
	},
	"required": [
		"start",
		"end"
	],
	"$defs": {
		"RoutePoint": {
			"type": "object",
			"properties": {
				"x": {
					"description": "X-coordinate of the point, in the spatial reference defined by inWkid.",
					"type": "number"
				},
				"y": {
					"description": "Y-coordinate of the point, in the spatial reference defined by inWkid.",
					"type": "number"
				},
				"name": {
					"description": "Optional human-readable label for the point.",
					"type": "string"
				}
			},
			"required": [
				"x",
				"y"
			]
		}
	}
}
