{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "schema:LocationFeatureSpecification",
  "title": "LocationFeatureSpecification",
  "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.",
  "type": "object",
  "allOf": [
    {
      "description": "A property-value pair, e.g. representing a feature of a product or place. Use the 'name' property for the name of the property. If there is an additional human-readable version of the value, put that into the 'description' property.\\n\\n Always use specific schema.org properties when a) they exist and b) you can populate them. Using PropertyValue as a substitute will typically not trigger the same effect as using the original, specific property.\n    ",
      "$ref": "schema:PropertyValue"
    }
  ],
  "properties": {
    "hoursAvailable": {
      "description": "The hours during which this service or contact is available.",
      "$ref": "schema:OpeningHoursSpecification"
    },
    "validFrom": {
      "description": "The date when the item becomes valid.",
      "anyOf": [
        { "type": "string", "format": "date" },
        { "type": "string", "format": "date-time" }
      ]
    },
    "validThrough": {
      "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" }
      ]
    }
  }
}
