{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/kontaktio/main/json-schema/kontaktio-building-schema.json", "title": "Building", "description": "Smart Location Building. Includes the building's floors and campus. ", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/kontaktio-buildings-api-openapi.yml#/components/schemas/Building", "type": "object", "properties": { "content": { "type": "array", "uniqueItems": true, "minItems": 1, "items": { "type": "object", "properties": { "id": { "type": "number", "description": "Building ID." }, "name": { "type": "string", "minLength": 1, "description": "Building name." }, "address": { "type": "string", "minLength": 1, "description": "Building address." }, "description": { "type": "string", "minLength": 1, "description": "Building description." }, "floors": { "type": "array", "uniqueItems": true, "minItems": 1, "items": { "type": "object", "properties": { "id": { "type": "number", "description": "Floor Id." }, "name": { "type": "string", "minLength": 1, "description": "Floor name." }, "height": { "type": "number", "description": "Height of floor in meters." }, "width": { "type": "number", "description": "Width of the floor in meters." }, "anchorLat": { "type": "number", "description": "Latitude of floor’s bottom right corner." }, "anchorLng": { "type": "number", "description": "Longitude of floor’s bottom right corner." }, "rotation": { "type": "number", "description": "Rotation of floor boundary rectangle on earth map. In radians." }, "properties": { "type": "object", "properties": { "EgQhanFqevOm": { "type": "string", "minLength": 1 }, "OfrViMjzwNPS": { "type": "string", "minLength": 1 }, "taVMBxTzdnKH": { "type": "string", "minLength": 1 } }, "required": [ "EgQhanFqevOm", "OfrViMjzwNPS", "taVMBxTzdnKH" ] }, "level": { "type": "number", "description": "Floor’s level." }, "latLngGeojson": { "type": "object", "description": "GeoJSON format description of floor boundary vertices (using latitude and longitude coordinates).", "properties": { "type": { "type": "string", "minLength": 1 }, "geometry": { "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "minLength": 1 }, "coordinates": { "type": "array", "items": { "type": "object", "properties": { "0": { "type": "array", "uniqueItems": true, "items": { "type": "object", "properties": { "0": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "1": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "2": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "3": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "4": { "type": "array", "uniqueItems": true, "items": { "type": "object" } } } } } } } } } } }, "required": [ "type", "geometry" ] }, "xyGeojson": { "type": "object", "description": "GeoJSON format description of floor boundary vertices (using meters, bottom left point should always be [0, 0]).", "properties": { "type": { "type": "string", "minLength": 1 }, "geometry": { "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "minLength": 1 }, "coordinates": { "type": "array", "items": { "type": "object", "properties": { "0": { "type": "array", "uniqueItems": true, "items": { "type": "object", "properties": { "0": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "1": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "2": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "3": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "4": { "type": "array", "uniqueItems": true, "items": { "type": "object" } } } } } } } } } } }, "required": [ "type", "geometry" ] }, "imageLatLngGeojson": { "type": "object", "description": "GeoJSON format description of floor plan boundary vertices (using latitude and longitude coordinates).", "properties": { "type": { "type": "string", "minLength": 1 }, "geometry": { "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "minLength": 1 }, "coordinates": { "type": "array", "items": { "type": "object", "properties": { "0": { "type": "array", "uniqueItems": true, "items": { "type": "object", "properties": { "0": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "1": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "2": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "3": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "4": { "type": "array", "uniqueItems": true, "items": { "type": "object" } } } } } } } } } } }, "required": [ "type", "geometry" ] }, "imageXyGeojson": { "type": "object", "description": "GeoJSON format description of floor plan boundary vertices (using meters relative to baseline of floor).", "properties": { "type": { "type": "string", "minLength": 1 }, "geometry": { "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "minLength": 1 }, "coordinates": { "type": "array", "items": { "type": "object", "properties": { "0": { "type": "array", "uniqueItems": true, "items": { "type": "object", "properties": { "0": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "1": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "2": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "3": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "4": { "type": "array", "uniqueItems": true, "items": { "type": "object" } } } } } } } } } } }, "required": [ "type", "geometry" ] } } } }, "campus": { "type": "object", "properties": { "id": { "type": "number", "description": "Campus ID." }, "name": { "type": "string", "minLength": 1, "description": "Campus name." } }, "required": [ "id", "name" ] }, "lat": { "type": "number", "description": "Building latitude." }, "lng": { "type": "number", "description": "Building longitude." }, "latLngGeojson": { "type": "object", "description": "GeoJSON format description of floor boundary vertices (using latitude and longitude coordinates).", "properties": { "type": { "type": "string", "minLength": 1 }, "geometry": { "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "minLength": 1 }, "coordinates": { "type": "array", "items": { "type": "object", "properties": { "0": { "type": "array", "uniqueItems": true, "items": { "type": "object", "properties": { "0": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "1": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "2": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "3": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "4": { "type": "array", "uniqueItems": true, "items": { "type": "object" } } } } } } } } } } }, "required": [ "type", "geometry" ] }, "xyGeojson": { "type": "object", "description": "GeoJSON format description of floor boundary vertices (using meters, bottom left point should always be [0, 0]).", "properties": { "type": { "type": "string", "minLength": 1 }, "geometry": { "type": "object", "required": [ "type", "coordinates" ], "properties": { "type": { "type": "string", "minLength": 1 }, "coordinates": { "type": "array", "items": { "type": "object", "properties": { "0": { "type": "array", "uniqueItems": true, "items": { "type": "object", "properties": { "0": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "1": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "2": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "3": { "type": "array", "uniqueItems": true, "items": { "type": "object" } }, "4": { "type": "array", "uniqueItems": true, "items": { "type": "object" } } } } } } } } } } }, "required": [ "type", "geometry" ] } }, "required": [ "id" ] } } } }