In this release

This is a minor release with focus on how BuildingComponents and its subclasses are managed via the API, in line with the root and leaf class principle from RealEstateCore API specification.

RealEstateCore

ProptechOS v2.1 adopts RealEstateCore v3.1.3 (upgraded from v3.1.1).

New functionality

  • The /buildingcomponent/ endpoint now returns BuildingComponent and its subclasses including Room, Storey and VirtualBuildingComponent.
  • The /buildingcomponent/ endpoint can be filtered by class (see above), using the query parameter buildingcomponent_classes
  • There is a new leaf class end point /room/ for Rooms. It has the class specific query filter room_types.
  • There is a new GET /storey/ operation to list all available stories.
  • Since version 2.0.1 the intention is to have all endpoints both in ‘json’ and ‘json-ld’ format. POST, PUT and DELETE methods as well as observation endpoints with the url prefix ‘/json’ were added so that all endpoints now have both prefixed and non-prefixed urls. The added endpoints are listed below:
    • RealEstate operations:
      • POST /json/realestate
      • PUT /json/realestate
      • DELETE /json/realestate/{id}
      • POST /json/realestates
    • RealEstateComponent operations:
      • POST /json/realestatecomponent
      • PUT /json/realestatecomponent
      • DELETE /json/realestatecomponent/{id}
      • POST /json/realestatecomponents
    • BuildingComponent operations:
      • POST /json/buildingcomponent
      • PUT /json/buildingcomponent
      • DELETE /json/buildingcomponent/{id}
      • POST /json/buildingcomponents
    • Storey operations:
      • POST /json/storey
      • PUT /json/storey
      • DELETE /json/storey/{id}
      • POST /json/storeys
    • Device operations:
      • POST /json/device
      • PUT /json/device
      • DELETE /json/device/{id}
    • Sensor operations:
      • POST /json/sensor
      • PUT /json/sensor
      • DELETE /json/sensor/{id}
      • GET /json/sensor/{id}/observation
      • GET /json/sensor/{id}/observation/latest
      • POST /json/sensor/observation/latest
    • Actuator operations:
      • POST /json/actuator
      • PUT /json/actuator
      • DELETE /json/actuator/{id}
      • PUT /json/actuator/{id}/actuation
    • AliasNamespace operations:
      • POST /json/aliasnamespace
      • PUT /json/aliasnamespace
      • DELETE /json/aliasnamespace/{id}
    • RealEstateCore individuals operations:
      • GET /json/quantitykind
      • GET /json/placementcontext
      • GET /json/devicefunction
      • GET /json/roomtype
      • GET /json/buildingcomponentclass
      • GET /json/measurementunit
  • For increased clarity, the Open API Specification (“Swagger docs”) now uses tags to explain the connection between endpoints and RealEstateCore classes and properties they relate to.

Breaking changes

Property ‘geoReferenceOrigo’ of BuildingComponent (and its subclasses: Room, Storey, VirtualBuildingComponent) has been renamed to ‘isLocatedAtLocalCoordinates’.

Deprecated features and functionality

  • Storey has previously been accessed via /realestatecomponent/{id}/storey. This endpoint will continue to be useful, but is marked as Deprecated in the documentation, and the resposne header includes
    warning: 299 – ‘Deprecated API’

    See above for the new method of interacting with Storey via /buildingcomponent

    Accessing Storeys via the Building is a heritage from a previous RealEstateCore version, where “StoreyLevel” was a separate class, not a subclass of BuildingComponent.

Fixes and minor updated

  • The core:MeasurementUnits PartsPerBillion, Percentage and Index has been added to the ProptechOS extension to RealEstateCore.
  • An issue with Longitude and Latitude for geoReferenceOrigo for Buildings and RealEstates have been fixed.
  • An issue with proper deletion of Building Alias has been fixed.