# description
An openOM payload is an ADVERTISEMENT - the broker's opinion of value, agreed to by the seller before publication; it records who asserted it, unaltered, and as of when, and never claims the opinion is true (verified = provenance, not truth). JSON Schema (2020-12) for the openOM 0.1 offering-memorandum payload. Human-readable mirror is spec Part II §E; on conflict the spec wins. Forward-compatible: unknown OPTIONAL members are permitted ([OM-VER-003]). The unprefixed top-level key space is RESERVED for the standard; non-standard/vendor fields belong under the `ext` object (#115) so they cannot collide with future core terms.

# properties.currency.description
ISO 4217; default USD when absent ([OM-DD-002]).

# properties.assertedBy.properties.website.description
OPTIONAL (#118). The asserting party's website - the identity anchor §10 layer-3 origin verification binds to. Reserved for the registry-era license↔domain↔key cross-check.

# properties.assertedBy.properties.licenseJurisdiction.description
OPTIONAL (#118). ISO 3166-1/-2 code (e.g. US, US-CA) disambiguating the license number's authority space for worldwide use.

# properties.assertedBy.properties.licenseAuthority.description
OPTIONAL (#118). Name of the issuing licensing authority.

# properties.property.comment
Multi-tenant/portfolio (#114): 0.1 describes a single property + single `lease`. A future version adds an OPTIONAL `leases[]` (and/or portfolio container) ADDITIVELY - `lease` is never removed/retyped - so the migration stays a minor, not a breaking ns/0.2.

# properties.property.properties.propertyType.description
OPTIONAL (#114). Extensible discriminator: retail | office | industrial | multifamily | land | mixed-use | hospitality | self-storage | other. Open string in 0.1; 0.2 may formalize the enum.

# properties.property.properties.units.description
OPTIONAL. Total rentable units (multifamily / mixed-use).

# properties.property.properties.occupancy.description
OPTIONAL. Occupancy as a decimal fraction (0.95 = 95%), matching the capRate fraction convention.

# properties.deal.properties.pricePerUnit.description
OPTIONAL. Asking price per unit (multifamily analog of pricePerSF).

# properties.deal.comment
capRate is a decimal fraction (0.0625 = 6.25%), not a percentage ([OM-CANON-007]).

# properties.deal.then.description
noiType + noiAsOfDate REQUIRED whenever noi is present ([OM-DD] / OMV-E002).

# properties.lease.properties.termMonths.description
Stated total lease term in months; cross-checked against expiration - commencement (OMW-W031).

# properties.lease.properties.remainingTermMonths.description
Stated remaining term in months as of assertedDate; cross-checked against expiration - as_of (OMW-W030).

# properties.meta.properties.signature.description
Reserved (#117, §11.1 layer-4). Either null/absent OR the {alg,keyId,value} envelope. 0.1 consumers MUST IGNORE a populated value (no trust weight); it is excluded from the integrity preimage ([OM-CANON-003]) so it stays additive. A value that is neither null nor the reserved shape is OMV-E003.

# properties.ext.description
OPTIONAL (#115). The ONLY place non-standard/vendor fields belong - namespaced by vendor (e.g. `"ext": { "acme": { ... } }`) so they never collide with future core terms. 0.1 tools preserve it and MUST NOT interpret it.

# $defs.rentPeriod.properties.source.description
Per-field provenance ([OM-DD-004]). In 0.1 `source` is carried ONLY here on rentPeriod objects; scalar-field and options[] provenance is deferred to a future provenance-side-map minor (#44). Absent → assume `asserted`.