# OOPIS: a standard for identifying and positioning building elements

One durable identifier for every door, extinguisher and hydrant. A label with a QR code and NFC says what it is and exactly where it is.

## At a glance

- Type: Kol.ski's own product
- For whom: Housing communities, property managers, developers, service companies
- Scope: Specification, data formats, reference implementation, mapping methodology
- Status: Version 1.0 ready, the pilot in the first building is ahead

## Challenge

A building has hundreds of technical elements, and each carries a different number in a different document: at the developer, the property manager, the service company, in the inspection report and in a resident's ticket.

> The extinguisher by the lift on the third floor.

That is enough for a human and not enough for a system. A postal address does not exist while the building is under construction, and replacing a device loses the history of the place where it hung.

## Solution

Every element gets a fixed-length identifier of 36 characters and a label with a QR code and an optional NFC tag. The code can be read without a database, and the developer, the manager and the service technician talk about the same element with the same code.

### Where the building stands

A place anchor based on Plus Code, not on an address. It works on a construction site too.

### Which part and level

The code points to the part of the building and the storey where the element is.

### What the element is

The type comes from an open, versioned registry: a door, a hydrant, an electrical cabinet, a valve, a parking space.

### Where the label hangs

The label's position in the building's local coordinate system, measured during mapping, not guessed.

## Result

| Number | Meaning |
| --- | --- |
| 36 | characters in the identifier, in the layout known from UUIDs |
| 5 | parts of the standard in version 1.0 |
| 26 | numbered design decisions with a rationale |
| 0 | central registries needed to operate |

### What is ready

- A normative specification with a formal grammar, a checksum and a validation procedure.
- A reference implementation: a library, a CLI and an HTTP JSON API on one logic layer.
- A generator of QR codes and print-ready labels.
- A mapping methodology: LiDAR scanning with a phone, aligning the scan to the model, label placement rules.
- A sample building package with a corridor fragment.

### Ahead

- A pilot in the first building: an inventory of one staircase, printing and mounting labels.
- The decision on publishing the standard and its licence.
- A map and 3D model viewer for property managers, integrations with ticketing and inspection systems.

OOPIS does not replace BIM or CMMS systems: it provides the identifier and the position those systems can refer to.

## What it consists of

The specification is normative, and the data formats and the implementation must conform to it. A divergence is a defect, not an interpretation.

| Part | What it contains | Technology |
| --- | --- | --- |
| Specification | Identifier grammar, checksum, coordinate system, type registry, point lifecycle, test vectors | Markdown, ABNF, JSON |
| Data formats | Building manifest, element records, QR and NFC payloads, building package, resolver API | JSON Schema, SQL, OpenAPI, NDEF |
| Reference implementation | A library, a CLI and an HTTP JSON API, a label generator, tests driven by the specification's vectors | Python, segno, SVG, PDF |
| Methodology and deployment plans | Scanning procedure, scan-to-model alignment, a pipeline from 2D plans to a 3D model, PoC and MVP plans | iPhone with LiDAR, ICP, glTF 2.0 |

## Lessons

- An identifier should be readable without a database. A code a human reads off a label and a system parses on its own is worth more than a random UUID behind a nice interface.
- A Plus Code anchor instead of an address. A building under construction has no address, and an address can change by an administrative decision.
- Test vectors are the contract between the specification and the code. An error in the checksum description surfaced only during implementation.
- A standard starts with a specific building. OOPIS grew out of the needs of one housing community, not out of a committee.

## A building to label?

Inventories, scanning, labels and integrations for housing communities, property managers and companies. Write to us if you want to be the first building in the pilot.

[Discuss your project](mailto:hi@kol.ski) · [Book 30 minutes](https://calendar.app.google/CJxZPq3FqabCDMS59) · [Projects](https://kol.ski/en/projects)
