MobX Object
The shared vocabulary behind every MobX feature, and the top-level properties they all carry.
MobX Schema is the contract between the public bodies that own street furniture, the integrators who build on top of it, and the people who use those streets every day. It gives municipalities a pragmatic way to describe citizen-first assets — benches, shelters, toilets, charging points — in one vocabulary that open data portals, mobility planners, and local communities all read the same way.
Technically it is a JSON Schema (2020-12) over
GeoJSON: every MobX object is a GeoJSON Feature, with the
properties member constrained to the definitions below. The theme / type / version
triple and the sources convention follow established open map-data practice, so they should
look familiar if you have worked with other large public map datasets.
Philosophy
Citizen-first semantics. Every field starts from a civic scenario: can a parent find a changing table, can someone in a wheelchair reach a drinking fountain, can a visitor cross a plaza safely at night. Real questions from residents are what get translated into properties — not whatever a vendor's export format happened to contain.
Transparency by design. Provenance is part of the record, not an afterthought. Any individual
property can be attributed through sources, which references the exact property using
JSON Pointer notation and names the dataset it came
from. A consumer can always ask who said this about a single value rather than trusting the
feature wholesale.
Evolving with reality. Streets change faster than schema releases, so the model is built to
move. Every feature carries a version, and unknown top-level properties are rejected unless they
are prefixed with ext_ — publishers can carry extra data without silently forking the vocabulary
or breaking consumers that do not know about it.
Why MobX Schema
- Canonical classes and properties prevent divergence across districts, keeping asset registries interoperable and comparable instead of drifting into per-city dialects.
- Validation ships with the schema. The same YAML generates the Zod validators in
packages/schema-ts-sdkthat the API uses to check requests, and CI fails when the generated code drifts from the schema — so what these docs describe and what the service accepts cannot diverge. - It is open and versioned end to end. The schema, the generated SDKs, and this documentation are all built from one source, which lowers the barrier for municipalities without deep technical capacity.
When to use MobX Schema
Reach for it when you need to inventory citizen-first infrastructure with rigour: cataloguing benches, mapping shelters, documenting charging points, or tracking amenities across jurisdictions. It earns its keep when several teams have to agree on definitions, when residents expect accountability for what the data claims, and when the alternative is reconciling bespoke spreadsheets.
Top-level properties
Properties
5 fields · 3 required
Top-level GeoJSON properties shared by canonical MobX objects.