Built by UrSpayce for Embassy Office Parks REIT

One operating picture
across 51.2 million
square feet.

The plant rooms already know what is running and at what efficiency. The meters already know what the portfolio consumed last night. The lanes already know how long a car waited at the boom. None of it reaches one screen, and none of it reaches an occupier at all. Pulse is the layer that changes both — in the terms the lease and the disclosure are already written in.

14
operating assets, from Manyata to the Bellary solar park
7
head-end protocols normalised to one vocabulary
7,400+
live points mapped to the machines they describe
12
independently deployable services behind one gateway

The problem, in your own words

Every number already exists. None of them are in the same place.

A 51.2 msf portfolio across five cities, built over two decades, runs on other people's software: Honeywell in one plant room, Metasys in the next, a Modbus gateway on a panel nobody has the drawings for. Each of them is right about its own building and silent about everything else.

The plant is invisible above the plant room

A chiller drifting from 0.62 to 0.79 kW/TR costs a park lakhs a year and shows up nowhere until the bill arrives. The head end knows. Nobody above the plant room does.

Consumption arrives a month late

Energy and water are read for billing, not for operating. By the time a variance is visible it is a line in a reconciliation rather than something anybody can act on.

The occupier sees none of it

Nine good months leave no trace; one bad afternoon does. A renewal conversation opens with a discount because there is no service record to open it with instead.

What you asked for on 12 September

Five requirements. Five screens.

Taken from the minutes of the Teams call, in the order they were raised. Each one is a working surface in the console rather than a roadmap item.

01

IBMS integration — high side and low side, on one platform

"Interested in integrating BMS data, including high-side and low-side equipment, into a centralised platform."

A connector per plant room, an edge agent inside the park network pushing outward, and a point map that records both what the vendor calls a point and what it means. Every chart downstream reads the meaning, so a Siemens park and a Honeywell park produce the same view without a single conditional in the interface. The split an engineer actually uses — central plant against air distribution — is a field on every machine, not a filter somebody has to remember.

  • BACnet/IP & MS/TP
  • Modbus TCP/RTU
  • OPC UA
  • Niagara N4
  • Honeywell EBI
  • JCI Metasys
  • Siemens Desigo CC
  • Schneider EcoStruxure
  • MQTT / Sparkplug
02

Commercial real estate use cases, not generic facilities software

"Share relevant use cases specifically for Commercial Real Estate."

Everything here is modelled the way a REIT is: assets, buildings, leasable units, leases with their own service levels, and WALE computed from the rent roll rather than typed into a slide. Occupancy is a property of operating stock. Parking bays are a lease term the barrier enforces. Utility recovery is generated from the occupier's own sub-meters, with each line naming the meter it came from.

  • WALE & expiry horizon
  • Vacancy by area
  • Occupier scorecards
  • Sub-metered recovery
  • Lease-level SLAs
03

Real-time operational data on one platform

"Parking operations, equipment performance, water consumption, energy consumption, overall operational efficiency — what is operating, at what efficiency, and how resources are being consumed."

Four of those are four screens; the fifth is the one they compose into. Equipment efficiency is arithmetic on live points — kW/TR for a chiller, coil delta-T for an air handler, load factor for a diesel set, power factor for a capacitor bank — each judged against its own nameplate rather than a borrowed benchmark. Energy and water separate supply from demand, so the source mix and the consumption breakdown can never double-count each other. Parking is written by the lane controller, which is the only way turn time at the boom becomes measurable at all.

  • Whole-plant kW/TR
  • Hourly load curve
  • Water balance
  • Live bay occupancy
  • ANPR read rate
  • Scope 1 & 2 carbon
04

The dashboard you asked to see more of

"Found the dashboard interesting, and want to know more about it for better monitoring and analysis."

The command dashboard is that idea carried into commercial real estate and made honest about its own limits. It composes fourteen sources at request time and names any that did not answer, because a dashboard that silently drops a source understates a number without telling anyone. Every tile either carries a target beside it or a place to click through to.

  • Composed live, not cached
  • Degraded sources named
  • Portfolio → park → machine
  • Efficiency league table
05

Planned and reactive maintenance in one register

"PPM and Reactive Maintenance — monitor maintenance activities, equipment status, issues and interventions through the platform."

Eighteen frequency templates written once and materialised into jobs week after week, drawn as a 52-week planner where the weeks behind today carry what actually happened. Planned, reactive and occupier-raised work share one register, because a technician's day is one day. The SLA clock is set from the contract at the moment a job is created and never edited afterwards, and a job cannot be closed without a root cause — which is the field the reliability report is built from.

  • 52-week planner
  • Statutory basis per template
  • MTTR & MTBF by machine
  • SLA from the lease
  • Root cause required

The service architecture underneath is already proven in production on other UrSpayce deployments — the same tenancy model, the same service factory, the same discipline about a composed view naming what it could not reach. Everything above that line is modelled for commercial real estate, and for a REIT specifically: assets, leases, WALE, occupancy on operating stock, and recovery from an occupier's own sub-meters.

How the integration actually works

Nothing dials into a plant room.

An agent sits inside each park network, polls the head end on its own interval and pushes outward over TLS. There is no inbound path from the cloud to a controller, writes are disabled on every connector until somebody deliberately enables them, and a point that stops reporting is marked stale rather than quietly holding its last value.

Honeywell EBI JCI Metasys Siemens Desigo CC Schneider EcoStruxure Tridium Niagara N4 BACnet/IP Modbus TCP OPC UA MQTT / Sparkplug B LonWorks KNX SNMP
The machineWhat is readWhat is computedWhat good looks like
ChillerStatus, trip, kW, TR, CHW supply and return, flow, setpoint, run hoursSpecific power in kW/TR, coil delta-T, load against capacityWithin 5% of the machine's own nameplate
Cooling tower & pumpsStatus, VFD speed, basin temperature, motor power, discharge pressureMotor load against rating; whole-plant efficiency with auxiliaries countedA variable-speed pump not pinned at full
Air handling unitFan status, supply and return air, VFD speed, filter ΔP, return-air CO₂Delta-T across the coil, filter loading, ventilation adequacy5.5 °C or better across the coil; ΔP under 250 Pa
DG setOn-load status, output kW, run hours, day-tank levelLoad factor against nameplate at 0.8 pfAbove 50%. Long runs under 30% wet-stack the engine
Transformer & APFCLoad, line current, secondary voltage, winding temperature, power factorPower factor against the discom threshold; winding headroom0.98 or better. Below 0.95 a penalty is accruing
STP & WTPPlant status, treated flow, tank levels, blower powerPlant utilisation against KLD capacity; contribution to the water balanceTreated output covering flushing and tower make-up

Swipe the table sideways →

Every row above is a working calculation in the platform today, not a specification. The demonstration environment carries 7,400 mapped points across nineteen head ends and seven protocols, and the console shows which of them are live, which are stale, and which link has stopped answering.

What it is built on

Twelve services, one hostname, one token.

MongoDB and Node throughout, with every service owning its own database and speaking HTTP. Nothing reads another service's collections. A slow service costs one tile rather than the whole dashboard — and says so by name.

Portfolio

Assets, buildings, leasable units, leases, WALE and the expiry horizon.

Asset register

Every machine, its AMC cover, its spares and its health — the register everything else points at.

IBMS

Connectors, the point map, telemetry ingest, alarms and the efficiency engine.

Utilities

Meters, tariffs, energy, water, carbon and occupier recovery.

Parking

Zones, bays, passes against lease entitlement, ANPR sessions and turn time.

Maintenance

PPM templates, the 52-week planner, work orders, the SLA clock and occupier requests.

Front of house

Visitor pre-registration, gate passes, material movement and work permits.

Integrations

Forty connectors in the catalogue, sync history per run, outbound webhooks.

Notifications

Alert rules with an escalation ladder that climbs past whoever did not answer.

Analytics

Owns no data. Composes the rest with the caller's own token and names what fell short.

Identity

Accounts, roles and park scoping. A Manyata ops head cannot read TechVillage — the API refuses.

Gateway

One TLS surface, one rate limiter, one place to verify a token. Every service re-verifies for itself.

Integrations are the point, not an afterthought

Embassy's estate already runs on Yardi, SAP, Entra ID, Darwinbox, Lenel, Milestone, FASTag, BESCOM and a dozen head ends. Forty connectors sit in the catalogue with what moves and which way named for each, so a scoping conversation is a checklist rather than a promise. Anything not on it is a REST endpoint and a webhook away.

Three doors, one operation

An operations console for Embassy, a portal for occupiers and a field app for technicians — reading the same records, scoped so nobody sees anything they should not. An occupier's portal shows their own space, their own consumption and their own service levels, and cannot be made to show another's.

Three ways in

Each sees only what that person is entitled to.

Sign in with any demonstration account listed on each door; the password is the same throughout. The scoping is enforced by the API, not hidden by the interface — a park-scoped account that asks for another park's equipment is refused.

Demonstration password: Embassy@2026. Start as [email protected] for the portfolio, then [email protected] to watch the same platform narrow to one asset.