Building

Familiarize yourself with particulars of the building endpoint.

Description

A building refers to a physical structure or real estate asset that the company focuses on managing, optimizing and analyzing through its digital platform. Building data can be pushed to the BuildingMinds Platform via this API.


Add buildings

POST Request: {{BASE_URL}}/building

Pre-Requisite: For a building to be added via BuildingMinds API, an address must be on-boarded with an AddressIds and a site with that address must be on-boarded with a siteId.

  • For the building to be on-boarded, {{addressID}} from the related address and {{siteID}} from the related site are required.
  • If you create a building with a random Address or site ID, it will remain in a NEW state. An address and a site with the specified IDs must be successfully created before the building can proceed to a COMPLETED state.

Field Attributes

Field

Type

Description

addressIds

string

Array of address Ids.
minLength: 1; maxLength: 50

airConditioning

boolean

Does the building have air conditioning (Y/N) ?

buildingCode

string

User specific Building Code; minLength: 1; maxLength: 70

buildingId

string

Unique identifier; must either originate from the previous system or be explicitly defined
minLength: 1; maxLength: 50 (mandatory)

buildingPermitDate

string

Building permit date in yyyy-mm-ddThh:mm:ssZ form (conform to ISO 8061).
minLength: 20

certificateIds

string, array

Array of certificate Ids.
minLength: 1; maxLength: 50

constructionYear

string

Year of construction in yyyy-mm-ddThh:mm:ssZ form (conform ISO 8061). In case only year exists use yyyy-01-01 00:00:00.Z.
minLength: 20

electricVehicleChargingStations

number

Number of electric vehicle charging stations.
maximum: 9999

energyEfficiencyClass

string

Energy Efficiency Class of Building.
minLength: 1; maxLength: 50

energyRatingIds

string, array

Array of energyRating Ids.
minLength: 1; maxLength: 50

eventType

string,enum

Type of the event as specific domain event.

Options: BuildingAdded, BuildingUpdated, BuildingDeleted 

expectedLifeEndDate

string

The expected end date of the Building's lifecycle in yyyy-mm-ddThh:mm:ssZ form (conform to ISO 8061).
minLength: 20

extensionData

json

Extension data for storing any custom data

fossilFuelExposure

string,enum

Fossil fuel exposure and its kind if known.

Options: Extraction, Storage, Transport, Manufacture, Other, Not exposed 

monumentProtection

boolean

Is the building declared as an ancient monument with national importance by the government (Y/N) ?

name

string

User specific building name e.g: EMEA Headquarter, Office Berlin; minLength: 1; maxLength: 200 (mandatory)

netZeroEnergyBuilding

boolean

Is the building a net zero energy building (Y/N)?

numberOfEmployees

number

Number of employees.
maximum: 999999

parkingSpaces

number

Number of parking spaces.
maximum: 9999

percentageOfOwnership

number

Percentage of ownership.
maximum: 100

primaryEnergyType

string,enum

Type of energy used.

Options: Natural Gas, Coal, Nuclear, Petroleum, Hydropower, Wind, Biomass, Geothermal, Solar 

primaryHeatingType

string,enum

Primary Type of heating.

Options: District heating, Natural gas, Oil-based fuels, Solar thermal, Unspecified, Heat pump, Electricity (radiator), Biomass, Micro combined heat and power, Geothermal 

primaryTypeOfBuilding

string,enum

Type of building use.

Options: Retail, Retail, High Street, Retail, Retail Centers, Retail, Shopping Center, Retail, Strip Mall, Retail, Lifestyle Center, Retail, Warehouse, Retail, Restaurants/Bars, Retail, Other, Office, Office, Corporate, Office, Low-Rise Office, Office, Mid-Rise Office, Office, High-Rise Office, Office, Medical Office, Office, Business Park, Office, Other, Industrial, Industrial, Distribution Warehouse, Industrial, Industrial Park, Industrial, Manufacturing, Industrial, Other, Residential, Residential, Multi-Family, Residential, Low-Rise Multi-Family, Residential, Mid-Rise Multi-Family, Residential, High-Rise Multi-Family, Residential, Family Homes, Residential, Student Housing, Residential, Retirement Living, Residential, Other, Hotel, Lodging, Leisure & Recreation, Lodging, Leisure & Recreation, Indoor Arena, Lodging, Leisure & Recreation, Fitness Center, Lodging, Leisure & Recreation, Performing Arts, Lodging, Leisure & Recreation, Swimming Center, Lodging, Leisure & Recreation, Museum/Gallery, Lodging, Leisure & Recreation, Other, Education, Education, School, Education, University, Education, Library, Education, Other, Technology/Science, Technology/Science, Data Center, Technology/Science, Laboratory/Life sciences, Technology/Science, Other, Health Care, Health Care, Health Care Center, Health Care, Senior Homes, Health Care, Other, Mixed Use, Mixed Use, Office/Retail, Mixed Use, Office/Residential, Mixed Use, Office/Industrial, Mixed Use, Other, Other, Other, Parking (Indoors), Other, Self-Storage, Industrial, Refrigerated Warehouse, Industrial, Non-refrigerated Warehouse  (mandatory)

primaryWaterType

string

Type of water used.
minLength: 1; maxLength: 50

secondaryHeatingType

string,enum

Secondary Type of heating

Options: District heating, Natural gas, Oil-based fuels, Solar thermal, Unspecified, Heat pump, Electricity (radiator), Biomass, Micro combined heat and power 

secondaryTypeOfBuilding

string,enum

Second type of building used

Options: Retail, Retail, High Street, Retail, Retail Centers, Retail, Shopping Center, Retail, Strip Mall, Retail, Lifestyle Center, Retail, Warehouse, Retail, Restaurants/Bars, Retail, Other, Office, Office, Corporate, Office, Low-Rise Office, Office, Mid-Rise Office, Office, High-Rise Office, Office, Medical Office, Office, Business Park, Office, Other, Industrial, Industrial, Distribution Warehouse, Industrial, Industrial Park, Industrial, Manufacturing, Industrial, Other, Residential, Residential, Multi-Family, Residential, Low-Rise Multi-Family, Residential, Mid-Rise Multi-Family, Residential, High-Rise Multi-Family, Residential, Family Homes, Residential, Student Housing, Residential, Retirement Living, Residential, Other, Hotel, Lodging, Leisure & Recreation, Lodging, Leisure & Recreation, Indoor Arena, Lodging, Leisure & Recreation, Fitness Center, Lodging, Leisure & Recreation, Performing Arts, Lodging, Leisure & Recreation, Swimming Center, Lodging, Leisure & Recreation, Museum/Gallery, Lodging, Leisure & Recreation, Other, Education, Education, School, Education, University, Education, Library, Education, Other, Technology/Science, Technology/Science, Data Center, Technology/Science, Laboratory/Life sciences, Technology/Science, Other, Health Care, Health Care, Health Care Center, Health Care, Senior Homes, Health Care, Other, Mixed Use, Mixed Use, Office/Retail, Mixed Use, Office/Residential, Mixed Use, Office/Industrial, Mixed Use, Other, Other, Other, Parking (Indoors), Other, Self-Storage, Industrial, Refrigerated Warehouse, Industrial, Non-refrigerated Warehouse 

selfUse

boolean

Is the building self-used or not? (Y/N)

siteId

string

Refers to the site which the building belongs to.
minLength: 1 ; maxLength: 50 (mandatory)

status

string

Status of building
minLength: 1; maxLength: 50

tenantStructure

string,enum

Are there multiple tenants in the building or only one?

Options: Single-tenant, Multi-tenant 

typeOfOwnership

string

Is the building owned or leased?

Options: Owner, Tenant  (mandatory)

validFrom

string

The records can be used from this date onwards in yyyy-mm-ddThh:mm:ssZ form (conform to ISO 8061)
minLength: 20 (mandatory)

validUntil

string

The records can be used from this date onwards in yyyy-mm-ddThh:mm:ssZ form (conform to ISO 8061)
minLength: 20 (mandatory)

valuationIds

string, array

Array of valuation Ids
minLength: 1; maxLength: 50

yearOfLastRefurbishment

string

Year last refurbishment took place in yyyy-mm-ddThh:mm:ssZ form (conform ISO 8061). In case only year exists use yyyy-01-01T00:00:00Z
minLength: 20


Sample payload


[
    {
        "addressIds": [
            "{{addressUID}}"
        ],
        "airConditioning": true,
        "buildingCode": "abc123",
        "buildingId": "{{buildingUID}}",
        "certificateIds": [
            "cert-123"
        ],
        "constructionYear": "{{validFromDate}}",
        "electricVehicleChargingStations": 10,
        "energyEfficiencyClass": "e class",
        "energyRatingIds": [
            "123-C"
        ],
        "eventType": "BuildingAdded",
        "extensionData": {
            "remark": "aca",
            "aoFunctionName": "wsw",
            "aoFunctionCode": "7yjy",
            "gbScope": "n65g",
            "architecturalObjectId": "12s3-12",
            "statusId": 1
        },
        "fossilFuelExposure": "Extraction",
        "monumentProtection": true,
        "name": "Onboarding building {{$randomUserName}}",
        "netZeroEnergyBuilding": true,
        "numberOfEmployees": 10,
        "parkingSpaces": 20,
        "percentageOfOwnership": 10,
        "primaryEnergyType": "Natural Gas",
        "primaryHeatingType": "District heating",
        "primaryTypeOfBuilding": "Retail",
        "primaryWaterType": "hard",
        "secondaryHeatingType": "District heating",
        "secondaryTypeOfBuilding": "Retail",
        "selfUse": true,
        "siteId": "{{siteUID}}",
        "status": "123",
        "tenantStructure": "Single-tenant",
        "typeOfOwnership": "Owner",
        "validFrom": "{{validFromDate}}",
        "validUntil": "{{validUntilDate}}",
        "valuationIds": [
            "abc-123"
        ],
        "yearOfLastRefurbishment": "{{validUntilDate}}",
        "buildingPermitDate": "{{validFromDate}}"

    }
]

Update building

For the building to be updated, {{addressID}} from the related address and {{siteID}} from the related site are required.

  • If you try to update a building with a random address or site ID, it will remain in NEW state. An address and a site with the specified IDs must be successfully created before the building can proceed to a COMPLETED state.
  • The only change will be in the eventType: BuildingUpdated.

POST Request:{{BASE_URL}}/building


[
   {
       "addressIds": [
           "{{addressUID}}"
       ],
       "eventType": " BuildingUpdated",
       "buildingId": "{{ONBOARDED_BUILDING}}",
       "name": "Edited {{ONBOARDED_BUILDING_NAME}}",
       "primaryTypeOfBuilding": "Hotel",
       "siteId": "{{ONBOARDED_SITE}}",
       "typeOfOwnership": "Tenant",
       "validFrom": "{{validFromDate}}",
       "validUntil": "{{validUntilDate}}"
   }
]

Delete building

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

  • For the building to be deleted, {{addressID}} from the related address and {{siteID}} from the related site are required.
  • In case you delete a building, only the building will be deleted and not the on-boarded address or site.

POST Request:{{BASE_URL}}/building


[
    {
        "addressIds": [
            "{{addressUID}}"
        ],
        "airConditioning": true,
        "buildingCode": "abc123",
        "buildingId": "{{buildingUID}}",
        "certificateIds": [
            "cert-123"
        ],
        "constructionYear": "{{validFromDate}}",
        "electricVehicleChargingStations": 10,
        "energyEfficiencyClass": "e class",
        "energyRatingIds": [
            "123-C"
        ],
        "eventType": " BuildingDeleted",
        "extensionData": {
            "remark": "aca",
            "aoFunctionName": "wsw",
            "aoFunctionCode": "7yjy",
            "gbScope": "n65g",
            "architecturalObjectId": "12s3-12",
            "statusId": 1
        },
        "fossilFuelExposure": "Extraction",
        "monumentProtection": true,
        "name": "Onboarding building {{$randomUserName}}",
        "netZeroEnergyBuilding": true,
        "numberOfEmployees": 10,
        "parkingSpaces": 20,
        "percentageOfOwnership": 10,
        "primaryEnergyType": "Natural Gas",
        "primaryHeatingType": "District heating",
        "primaryTypeOfBuilding": "Retail",
        "primaryWaterType": "hard",
        "secondaryHeatingType": "District heating",
        "secondaryTypeOfBuilding": "Retail",
        "selfUse": true,
        "siteId": "{{siteUID}}",
        "status": "123",
        "tenantStructure": "Single-tenant",
        "typeOfOwnership": "Owner",
        "validFrom": "{{validFromDate}}",
        "validUntil": "{{validUntilDate}}",
        "valuationIds": [
            "abc-123"
        ],
        "yearOfLastRefurbishment": "{{validUntilDate}}",
        "buildingPermitDate": "{{validFromDate}}"

    }
]

View status of building

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