Data Binding & Token Mapping
Typed variable registry for lease_agreement_v1 · binding 1.0.0: every token maps to one allowlisted canonical source path with format, locale, sensitivity, required status, snapshot semantics and override policy (§34.1–34.2).
CON-06
Allowlisted source domains (Table 55)
| Namespace | Owner | Permitted content |
|---|---|---|
organization.* | Foundation/Configuration | Entity legal name, registration, address, tax details, branch, letterhead, signatory context |
party.customer.* | Foundation/CRM | Customer/counterparty legal name, verified identifier, address, approved contact fields |
property.* | Property | Project, building, unit reference, structured address, area, type, governed listing facts |
deal.* | Deals | Transaction type, offer version, agreed terms, dates, amount, milestones |
finance.* | Finance | Payment schedule, deposits, invoice references, currency, tax treatment where required |
employee.* | HR/Foundation | Employee identity, job title, employment terms, approved assignment |
authority.* | Foundation/Configuration | Resolved signatory, approval chain, authority policy version, delegation evidence |
compliance.* | Compliance | Permitted status/hold outcome only — confidential case details never inserted unless explicitly authorized |
Override policy legend & binding facts
- Forbidden
- Value can never be manually changed (e.g. unit reference, agreed amount, resolved signatory). Attempts are denied and audited.
- Reason + approval
- Override permitted with documented reason and independent approval; visibly marked, snapshotted, never written back to master data.
- Manual allowed
- Allowlisted free-entry token (e.g. special conditions); requires reason, shown as MANUAL in preview.
- Binding version
1.0.0· Approved 28 Feb 2026- Draft in progress
1.1.0-draft· Validation failed (1 blocking)- Template
- Residential Lease Agreement 1.1.0
- Tokens
- 31 (24 required, 5 optional, 2 manual-allowed)
- Snapshot semantics
- All values snapshotted at generation; source IDs + versions persisted; release locks snapshot
- Staleness rule
- Recheck source versions on submission — change after preview raises
STALE_SOURCE_CONFLICT - Golden document
- Approved golden lease (Amina Noor · PR-A-1104) — required before activation
Token catalog — lease_agreement_v1 · binding 1.0.0
| Token | Canonical source path | Type | Locale / format | Sensitivity | Required | Override policy | Sample (golden doc) |
|---|---|---|---|---|---|---|---|
company.legal_name | organization.legal_entity.legal_name | string | en-AE / as registered | Normal | Required | Forbidden | Al Manara Properties LLC |
company.tax_registration_number | organization.legal_entity.tax_registration | string | — | Sensitive — masked by role | Required | Forbidden | TRN 100234567800003 |
company.registered_address | organization.legal_entity.address.formatted | string | locale-aware | Normal | Required | Forbidden | Level 14, Marina Gate Tower, Dubai |
customer.legal_name | party.customer.legal_name | string | en-AE | Normal | Required | Reason + approval correction belongs in master data | Amina Noor |
customer.identifier | party.customer.primary_identifier.masked_or_full | string | masked by default | Sensitive — full value permission-controlled | Required | Forbidden | 784-19●●-●●●●●●●-● |
customer.address | party.customer.primary_address.formatted | string | locale-aware | Normal | Required for lease class | Reason + approval wording only, no write-back | Apt 902, Al Wasl Rd, Dubai |
customer.phone | party.customer.primary_phone | phone | formatted by locale/policy | Sensitive — contact | Optional | Forbidden | +971 5● ●●● 4821 |
property.unit_reference | property.unit.reference | string | — | Normal | Required | Forbidden | PR-A-1104 |
property.address | property.unit.address.formatted | string | locale-aware | Normal | Required | Forbidden | Unit 1104, Building A, Prototype Residences, Marina District |
property.area_sqm | property.unit.area_sqm | decimal | #,##0.0 "sqm" — unit explicit |
Normal | Required | Forbidden | 84.6 sqm |
deal.agreed_amount | deal.agreed_amount | money | AED #,##0.00 |
Normal | Required | Forbidden | AED 96,000.00 |
deal.start_date / deal.end_date | deal.lease.start_date · deal.lease.end_date | date | dd MMMM yyyy |
Normal | Required | Reason + approval | 01 August 2026 → 31 July 2027 |
payment.total | finance.payment_schedule.total | money | AED #,##0.00 |
Normal | Required — must reconcile to deal total | Forbidden | AED 96,000.00 |
payment.installments | finance.payment_schedule.lines | table | repeating rows — no free-form formula | Normal | Required | Forbidden | 4 cheques × AED 24,000.00 |
signatory.name / signatory.title | authority.resolved_signatory.name · .title | string | effective assignment | Normal | Required | Forbidden | Rashid Al Farsi — Sales Manager |
special_conditions | manual token — no source path | string | en-AE + ar-AE | Normal | Optional | Manual allowed — reason required | “Move-in subject to snagging sign-off.” |
deal.brokerage_fee Blocked | crm.lead.notes.fee_estimate | money | — | Normal | Optional | — | BINDING_SOURCE_NOT_ALLOWLISTED |
1–17 of 31 tokens (grouped rows expanded)
Binding definition (§34.5 excerpt)
Read-only — approved 1.0.0{
"template_key": "lease_agreement_v1",
"version": "1.0.0",
"locale": "en-AE",
"bindings": [
{ "token": "company.legal_name",
"source": "organization.legal_entity.legal_name",
"type": "string", "required": true, "override": "forbidden" },
{ "token": "customer.legal_name",
"source": "party.customer.legal_name",
"type": "string", "required": true, "override": "approval_required" },
{ "token": "customer.identifier",
"source": "party.customer.primary_identifier.masked",
"type": "string", "required": true, "override": "forbidden" },
{ "token": "property.unit_reference",
"source": "property.unit.reference",
"type": "string", "required": true, "override": "forbidden" },
{ "token": "deal.start_date",
"source": "deal.lease.start_date",
"type": "date", "format": "dd MMMM yyyy",
"required": true, "override": "approval_required" },
{ "token": "deal.rent",
"source": "deal.payment_schedule.total",
"type": "money", "format": "AED #,##0.00",
"required": true, "override": "forbidden" },
{ "token": "signatory.name",
"source": "authority.resolved_signatory.display_name",
"type": "string", "required": true, "override": "forbidden" }
]
}
Mapping change request
Change mapping —
customer.addressOnly allowlisted paths within party.customer.* are selectable.
Reason is required for high-risk mapping changes.
Approvers: Mariam Al Suwaidi (Legal) → Vikram Nair (Config Admin). Golden-document re-validation runs before activation — see version lifecycle.
Static render mockup — no live data. Source: ERP Modern Development Specification v2.0 · Covers: CON-06 (§34.1, §34.2, §34.5).