API Guides

Rental Unit

Familiarise yourself with the particulars of the rental unit endpoint.

Description

A rental unit represents a structure or part of a structure rented out to a third party as a home, residence, office or for any other use. Rental unit data can be pushed to the BuildingMinds Platform via this API.


Add rental units

POST Request: {{BASE_URL}}/rental-unit

Pre-Requisite: For a rental unit to be added via BuildingMinds API, it must be associated with any of the following entity identifiers: siteId, buildingId, floorId, spaceId or landId.

  • If you create a rental unit without a suitable linked entity, it will remain in a NEW state. A related entity with its specified ID must be successfully created before the rental unit can proceed to a COMPLETED state.

Field attributes

FieldTypeDescription
addressIdsstring, arrayArray of address Ids.
minLength: 1; maxLength: 50
buildingIdsstring, arrayArray of building Ids.
minLength: 1; maxLength: 50
energyRatingIdsstring, arrayArray of energyRating Ids.
minLength: 1; maxLength: 50
eventTypestringType of the event as specific domain event

Options: RentalUnitAdded, RentalUnitUpdated, RentalUnitDeleted
extensionDatajsonExtension data for storing any custom data
floorIdsstring, arrayArray of floor Ids.
minLength: 1; maxLength: 50
fossilFuelExposurestringType of energy used

Options: Extraction, Storage, Transport, Manufacture, Other, Not exposed
landIdsstring, arrayArray of land Ids.
minLength: 1; maxLength: 50
namestringUser-specific rental unit name
minLength: 1; maxLength: 200 (mandatory)
rentalUnitCodestringUser specific RentalUnit Code
minLength: 1; maxLength: 70
rentalUnitIdstringUnique identifier; must either originate from the previous system or be explicitly defined
minLength: 1; maxLength: 50 (mandatory)
rentedOutbooleanIs the RentalUnit rented out? (Y/N)
siteIdsstring, arrayArray of site Ids.
minLength: 1; maxLength: 50
spaceIdsstring, arrayArray of space Ids
minLength: 1; maxLength: 50
usageTypestringUsage type of the rental unit

Options: Education, Education, Library, Education, Other, Education, School, Education, University, Health Care, Health Care, Health Care Center, Health Care, Other, Health Care, Senior Homes, Hotel, Industrial, Industrial, Distribution Warehouse, Industrial, Industrial Park, Industrial, Manufacturing, Industrial, Other, Lodging, Leisure & Recreation, Lodging, Leisure & Recreation, Fitness Center, Lodging, Leisure & Recreation, Indoor Arena, Lodging, Leisure & Recreation, Museum/Gallery, Lodging, Leisure & Recreation, Other, Lodging, Leisure & Recreation, Performing Arts, Lodging, Leisure & Recreation, Swimming Center, Mixed Use, Mixed Use, Office/Industrial, Mixed Use, Office/Residential, Mixed Use, Office/Retail, Mixed Use, Other, Office, Office, Business Park, Office, Corporate, Office, High-Rise Office, Office, Low-Rise Office, Office, Medical Office, Office, Mid-Rise Office, Office, Other, Other, Other, Parking (Indoors), Other, Self-Storage, Residential, Residential, Family Homes, Residential, High-Rise Multi-Family, Residential, Low-Rise Multi-Family, Residential, Mid-Rise Multi-Family, Residential, Multi-Family, Residential, Other, Residential, Retirement Living, Residential, Student Housing, Retail, Retail, High Street, Retail, Lifestyle Center, Retail, Other, Retail, Restaurants/Bars, Retail, Retail Centers, Retail, Shopping Center, Retail, Strip Mall, Retail, Warehouse, Technology/Science, Technology/Science, Data Center, Technology/Science, Laboratory/Life sciences, Technology/Science, Other
vacancybooleanIs the rental unit vacant? (Y/N)
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)
[
  {
    "siteIds": [
      "string"
    ],
    "addressIds": [
      "string"
    ],
    "buildingIds": [
      "string"
    ],
    "energyRatingIds": [
      "string"
    ],
    "eventType": "RentalUnitAdded",
    "extensionData": {
      "additionalProp1": {}
    },
    "floorIds": [
      "string"
    ],
    "fossilFuelExposure": "Extraction",
    "landIds": [
      "string"
    ],
    "name": "string",
    "rentalUnitCode": "string",
    "rentalUnitId": "string",
    "rentedOut": true,
    "spaceIds": [
      "string"
    ],
    "usageType": "Education",
    "vacancy": true,
    "validFrom": "stringstringstringst",
    "validUntil": "stringstringstringst"
  }
]

Update rental unit

For the rental unit to be updated, it must be associated with any of the following entity identifiers: siteId, buildingId, floorId, spaceId and landId.

  • If you update a rental unit without a suitable linked entity, it will remain in a NEW state. A related entity with its specified ID must be successfully created before the rental unit can proceed to a COMPLETED state.
  • The only change will be in the eventType: RentalUnitUpdated.

POST Request:{{BASE_URL}}/rental-unit

[
  {
    "siteIds": [
      "string"
    ],
    "addressIds": [
      "string"
    ],
    "buildingIds": [
      "string"
    ],
    "energyRatingIds": [
      "string"
    ],
    "eventType": "RentalUnitUpdated",
    "extensionData": {
      "additionalProp1": {}
    },
    "floorIds": [
      "string"
    ],
    "fossilFuelExposure": "Extraction",
    "landIds": [
      "string"
    ],
    "name": "string",
    "rentalUnitCode": "string",
    "rentalUnitId": "string",
    "rentedOut": true,
    "spaceIds": [
      "string"
    ],
    "usageType": "Education",
    "vacancy": true,
    "validFrom": "stringstringstringst",
    "validUntil": "stringstringstringst"
  }
]

Delete rental unit

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

  • In case you delete a rental unit, only the rental unit will be deleted and not the associated objects.

POST Request:{{BASE_URL}}/rental-unit

[
  {
    "siteIds": [
      "string"
    ],
    "addressIds": [
      "string"
    ],
    "buildingIds": [
      "string"
    ],
    "energyRatingIds": [
      "string"
    ],
    "eventType": "RentalUnitDeleted",
    "extensionData": {
      "additionalProp1": {}
    },
    "floorIds": [
      "string"
    ],
    "fossilFuelExposure": "Extraction",
    "landIds": [
      "string"
    ],
    "name": "string",
    "rentalUnitCode": "string",
    "rentalUnitId": "string",
    "rentedOut": true,
    "spaceIds": [
      "string"
    ],
    "usageType": "Education",
    "vacancy": true,
    "validFrom": "stringstringstringst",
    "validUntil": "stringstringstringst"
  }
]

View status of rental unit

Based on the batchID generated you can GET the batch of the on-boarded rental unit 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.