{
	"id": "LocationFeatureSpecification.json",
	"title": "Location Feature Specification",
	"description": "Specifies a location feature by providing a structured value representing a feature of an accommodation as a property-value pair of varying degrees of formality.",
	"media": {"type": "application/json;profile=http://schema.org/LocationFeatureSpecification"},
	"allOf": [{"$ref": "Thing.json"}, {"$ref": "Intangible.json"}, {"$ref": "StructuredValue.json"}, {"$ref": "PropertyValue.json"}],
	"type": "object",
	"properties": {
		"hoursAvailable": {"$ref": "OpeningHoursSpecification.json#/definitions/possibleRef"},
		"validFrom": {"$ref": "#/definitions/validFrom"},
		"validThrough": {"$ref": "#/definitions/validThrough"}
	},
	"definitions": {
		"array": {
			"type": "array",
			"items": {"$ref": "#"}
		},
		"possibleRef": {
			"oneOf": [
				{"$ref": "#"},
				{
					"type": "string",
					"format": "uri",
					"links": [{
						"rel": "full",
						"href": "{+$}"
					}]
				}
			]
		},
		"possibleRefArray": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/possibleRef"}
				},
				{
					"type": "string",
					"format": "uri",
					"links": [{
						"rel": "full",
						"href": "{+$}"
					}]
				}
			]
		},
		"validFrom": {
			"title": "Valid From",
			"description": "The date when the item becomes valid.",
			"anyOf": [
				{
					"type": "string",
					"format": "date"
				},
				{
					"type": "string",
					"format": "date-time"
				}
			]
		},
		"validThrough": {
			"title": "Valid Through",
			"description": "The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours.",
			"anyOf": [
				{
					"type": "string",
					"format": "date"
				},
				{
					"type": "string",
					"format": "date-time"
				}
			]
		}
	}
}