{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://usebldg.com/schemas/SpaceObservation.schema.json",
 "additionalProperties": false,
 "description": "A space as traced: a point inside the closed ring of walls (virtual walls included) that is the space (the\nstored plan holds that ring).",
 "properties": {
  "id": {
   "description": "Identifier of this element, unique across the whole plan.",
   "pattern": "^[A-Za-z_][A-Za-z0-9_.\\-]{0,63}$",
   "title": "Id",
   "type": "string"
  },
  "name": {
   "default": "",
   "description": "Label as printed on the plan, e.g. LAUNDRY (drawn at the space's label spot).",
   "title": "Name",
   "type": "string"
  },
  "use": {
   "anyOf": [
    {
     "enum": [
      "living",
      "bedroom",
      "kitchen",
      "dining",
      "bathroom",
      "half_bath",
      "laundry",
      "closet",
      "corridor",
      "entry",
      "garage",
      "storage",
      "utility",
      "office",
      "stair",
      "other"
     ],
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Its activity; null = unknown (inferred from the name and components).",
   "title": "Use"
  },
  "at": {
   "description": "A point [x, y] inside the space, clear of the walls (e.g. where its name is printed); the space is the smallest ring of walls, virtual walls included, around it.",
   "items": {
    "type": "number"
   },
   "maxItems": 2,
   "minItems": 2,
   "title": "At",
   "type": "array"
  }
 },
 "required": [
  "id",
  "at"
 ],
 "title": "SpaceObservation",
 "type": "object"
}
