API Guides

Space

Familiarize yourself with the particulars of the space endpoint.

Description

A space represents an area or volume bounded actually or theoretically. Spaces are areas or volumes that provide for certain functions within a building. Space data can be pushed to the BuildingMinds Platform via this API.


Add spaces

POST Request: {{BASE_URL}}/space

Pre-Requisite: For a space to be added via BuildingMinds API, a floor must be on-boarded with a floorId.

  • For the space to be on-boarded, a {{floorID}} from the related floor is required.
  • If you create a space with a random floor ID, it will remain in a NEW state. A floor with the specified ID must be successfully created before the space can proceed to a COMPLETED state.

Field attributes

FieldTypeDescription
climateCooledbooleanIs the space climate cooled? (Y/N)
climateHeatedbooleanIs the space climate heated? (Y/N)
coUseAreabooleanIs the space being used by multiple tenants? (Y/N)
effectZonesCoolingnumberArea that is cooled
minimum: 1; maximum: 9999
effectZonesHeatingnumberArea that is heated
minimum: 1; maximum: 9999
effectZonesBentilationnumberArea that is ventilated
minimum: 1; maximum: 9999
energyRatingIdsstring, arrayArray of energyRating IDs
minLength: 1; maxLength: 50
eventTypestringType of the event as specific domain event

Options: SpaceAdded, SpaceUpdated, SpaceDeleted
extensionDatajsonExtension data for storing any custom data
floorIdstringReference to the floor which the space belongs to
minLength: 1; maxLength: 50 (mandatory)
maximumOccupancynumberDefine maximum occupancy of space
minimum: 1; maximum: 9000
namestringUser-specific space name
minLength: 1; maxLength: 200 (mandatory)
primaryCeilingMaterialstringMaterial of celiling
minLength: 1; maxLength: 75
primaryFloorMaterialstringMaterial of floor
minLength: 1; maxLength: 75
primaryWallMaterialstringMaterial of wall
minLength: 1; maxLength: 75
rentabilitybooleanStatus of the space; is the space eligible for renting out? (Y/N)
spaceCodestringUser specific space Code
minLength: 1; maxLength: 70
spaceHeightnumberActual space height e.g: 3.6 m
minumum: 2; maximum: 999
spaceHeightUsablenumberUsable height of space
minimum: 2; maximum: 999
spaceIdstringUnique identifier; must either originate from the previous system or be explicitly defined
minLength: 1; maxLength: 50 (mandatory)
spaceNumbernumberNumber of space
minimum: 1; maximum: 99999
spaceVolumeGrossnumberGross volume of space including surrounding walls
minimum: 1; maximum: 999999
spaceVolumeNetnumberNet volume of space excluding surrounding walls
minimum: 1; maximum: 999999
typestringType of space
minLength: 1; maxLength: 70 (mandatory)
validFromstringThe records can be used from this date onwards in yyyy-mm-ddThh:mm:ssZ form (conform to ISO 8061)
minLength: 20 (mandatory)
validUntilstringThe records can be used until this date in yyyy-mm-ddThh:mm:ssZ form (conform to ISO 8061)
minLength: 20 (mandatory)
ventilationTypestringDefine the ventilation type e.g: exhaust, supply, balanced, and heat-recovery

Options: Exhaust, Supply, Balanced, Heat-recovery
workAreaIdsstring, arrayArray of Work area IDs
minLength: 1; maxLength: 50
[
  {
    "climateCooled": true,
    "climateHeated": true,
    "coUseArea": true,
    "effectZonesCooling": 9999,
    "effectZonesHeating": 9999,
    "effectZonesVentilation": 9999,
    "energyRatingIds": [
      "string"
    ],
    "eventType": "SpaceAdded",
    "extensionData": {
      "additionalProp1": {}
    },
    "floorId": "string",
    "maximumOccupancy": 99999,
    "name": "string",
    "primaryCeilingMaterial": "string",
    "primaryFloorMaterial": "string",
    "primaryWallMaterial": "string",
    "rentability": true,
    "spaceCode": "string",
    "spaceHeight": 999,
    "spaceHeightUsable": 999,
    "spaceId": "string",
    "spaceNumber": 99999,
    "spaceVolumeGross": 999999,
    "spaceVolumeNet": 999999,
    "type": "string",
    "validFrom": "stringstringstringst",
    "validUntil": "stringstringstringst",
    "ventilationType": "Exhaust",
    "workAreaIds": [
      "string"
    ]
  }
]

Update space

For the space to be updated, {{floorID}} from the related floor is required.

  • If you try to update a space with a random floor ID, it will remain in NEW state. A floor with the specified IDs must be successfully created before the space can proceed to a COMPLETED state.
  • The only change will be in the eventType: SpaceUpdated.

POST Request:{{BASE_URL}}/space

[
  {
    "climateCooled": true,
    "climateHeated": true,
    "coUseArea": true,
    "effectZonesCooling": 9999,
    "effectZonesHeating": 9999,
    "effectZonesVentilation": 9999,
    "energyRatingIds": [
      "string"
    ],
    "eventType": "SpaceUpdated",
    "extensionData": {
      "additionalProp1": {}
    },
    "floorId": "string",
    "maximumOccupancy": 99999,
    "name": "string",
    "primaryCeilingMaterial": "string",
    "primaryFloorMaterial": "string",
    "primaryWallMaterial": "string",
    "rentability": true,
    "spaceCode": "string",
    "spaceHeight": 999,
    "spaceHeightUsable": 999,
    "spaceId": "string",
    "spaceNumber": 99999,
    "spaceVolumeGross": 999999,
    "spaceVolumeNet": 999999,
    "type": "string",
    "validFrom": "stringstringstringst",
    "validUntil": "stringstringstringst",
    "ventilationType": "Exhaust",
    "workAreaIds": [
      "string"
    ]
  }
]

Delete space

Most of the schema will be the same as the adding space and this will be a POST request too, but the only change will be in the eventType: SpaceDeleted.

  • For the space to be deleted, {{floorID}} from the related floor is required.
  • In case you delete a space, only the space will be deleted and not the on-boarded floor.

POST Request:{{BASE_URL}}/space

[
  {
    "climateCooled": true,
    "climateHeated": true,
    "coUseArea": true,
    "effectZonesCooling": 9999,
    "effectZonesHeating": 9999,
    "effectZonesVentilation": 9999,
    "energyRatingIds": [
      "string"
    ],
    "eventType": "SpaceDeleted",
    "extensionData": {
      "additionalProp1": {}
    },
    "floorId": "string",
    "maximumOccupancy": 99999,
    "name": "string",
    "primaryCeilingMaterial": "string",
    "primaryFloorMaterial": "string",
    "primaryWallMaterial": "string",
    "rentability": true,
    "spaceCode": "string",
    "spaceHeight": 999,
    "spaceHeightUsable": 999,
    "spaceId": "string",
    "spaceNumber": 99999,
    "spaceVolumeGross": 999999,
    "spaceVolumeNet": 999999,
    "type": "string",
    "validFrom": "stringstringstringst",
    "validUntil": "stringstringstringst",
    "ventilationType": "Exhaust",
    "workAreaIds": [
      "string"
    ]
  }
]

View status of space

Based on the batchID generated you can GET the batch of the on-boarded space with the below mentioned request. This will be the same for both Update and Delete.

GET Request:{{BASE_URL}}/batch/{id}/inbound

Please refer to Batch page for more details.