Skip to content
OpenCOOS

The Standard

Shared definitions

Reusable types referenced by every entity. They keep identifiers, dates, money and addresses consistent across the whole standard.

Machine-readable source: common.schema.json. See also data model conventions.

Identifier

string

An opaque, stable identifier assigned by the system that holds the record. Identifiers are unique within a data set and carry no meaning of their own.

pattern: ^[A-Za-z0-9._:-]+$ · min length 1 · max length 128

Date

string

A calendar date in ISO 8601 extended format (YYYY-MM-DD).

format: date

DateTime

string

A date and time in RFC 3339 format, including a UTC offset (for example 2026-03-14T19:00:00-07:00).

format: date-time

Money

object

A monetary amount. The amount is a decimal string to avoid floating-point rounding errors.

FieldTypeDescription
amountrequiredstringDecimal amount with up to two fractional digits. Negative values are permitted where the field description allows them.pattern: ^-?[0-9]+(\.[0-9]{1,2})?$
currencyrequiredenumISO 4217 currency code. Only CAD is currently defined.

Address

object

A Canadian civic or mailing address.

FieldTypeDescription
unitDesignatoroptionalstringUnit, suite or apartment designator, if any (for example "1203").max length 32
streetAddressrequiredstringCivic number and street name.min length 1 · max length 200
localityrequiredstringMunicipality or community.min length 1 · max length 100
regionrequiredstringProvince or territory code. Strata records are expected to use BC, but mailing addresses may be elsewhere.pattern: ^[A-Z]{2}$
postalCoderequiredstringCanadian postal code in the form A1A 1A1.pattern: ^[A-Z][0-9][A-Z] ?[0-9][A-Z][0-9]$
countryrequiredstringISO 3166-1 alpha-2 country code.pattern: ^[A-Z]{2}$

StrataPlanNumber

string

The strata plan number as registered with the Land Title Office: an alphabetic prefix followed by digits (for example EPS1234, LMS567, VIS890, VR12). Normalise to upper case without spaces.

pattern: ^[A-Z]{2,4}[0-9]{1,6}$

ParcelIdentifier

string

BC Parcel Identifier (PID) in the form 123-456-789.

pattern: ^[0-9]{3}-[0-9]{3}-[0-9]{3}$

Extensions

object

Implementation-specific data that is not part of the standard. Keys must be reverse-domain namespaces owned by the implementer (for example "ca.example.app"), so extensions from different vendors never collide.