{
	"id": "OpeningHoursSpecification.json",
	"title": "Opening Hours Specification",
	"description": "A structured value providing information about the opening hours of a place or a certain service inside a place.\n\nThe place is open if the opens property is specified, and closed otherwise.\n\nIf the value for the closes property is less than the value for the opens property then the hour range is assumed to span over the next day.",
	"media": {"type": "application/json;profile=http://schema.org/OpeningHoursSpecification"},
	"allOf": [{"$ref": "Thing.json"}, {"$ref": "Intangible.json"}, {"$ref": "StructuredValue.json"}],
	"type": "object",
	"properties": {
		"closes": {"$ref": "#/definitions/closes"},
		"dayOfWeek": {"$ref": "DayOfWeek.json#/definitions/possibleRef"},
		"opens": {"$ref": "#/definitions/opens"},
		"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": "{+$}"
					}]
				}
			]
		},
		"closes": {
			"title": "Closes",
			"description": "The closing hour of the place or service on the given day(s) of the week.",
			"type": "string",
			"format": "time"
		},
		"opens": {
			"title": "Opens",
			"description": "The opening hour of the place or service on the given day(s) of the week.",
			"type": "string",
			"format": "time"
		},
		"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"
				}
			]
		}
	}
}