Prototype Demo Tour — §40.2 Demonstration Script
Guided storyboard of the specification's 12-step prototype demonstration: what to do, what the system must show and the expected result at each step — with direct links into every mockup screen involved.
Every step is deterministic against the seed profile: identifiers below (lead, reservation, offer, deal, contract, invoice, hold) are the exact records the fixtures produce, so a live run can be checked line-by-line against this storyboard. Exception steps 3 and 7 are intentional failures — they prove the conflict and validation controls, not defects.
| Domain | Required seed content | State | Inspect in mockup |
|---|---|---|---|
| Organization | 1 company, 2 legal/branch scopes, departments, cost centers, signatories, authority thresholds | Loaded | Org structure |
| Users | Executive, config admin/approver, sales manager, 2 agents, property admin, legal, accountant, finance manager, KYC maker/checker, MLRO, auditor | Loaded | Identity & RBAC |
| Parties | Individual, corporate with UBO, landlord/developer, vendor, external broker, employee | Loaded | Party master |
| Property | 1 community, 1 project, 2 buildings, 6+ units with available / reserved / contracted examples | Loaded | Unit inventory |
| CRM | New, assigned, qualified, lost and converted leads with activities and consent states | Loaded | Lead inbox |
| Deals | One lease and one sale-style prototype deal; approved and blocked variants | Loaded | Deal workspace |
| Contracts | EN and Arabic-ready lease templates, typed bindings, approved clause, golden expected document | Loaded | Template registry |
| Finance | Chart of accounts, fiscal period, tax examples, invoice, partial receipt, journal, bank/PDC fixtures | Loaded | General ledger |
| Compliance | KYC profiles, clear screening result, potential match, risk bands, active/released hold | Loaded | KYC workspace |
| Configuration | Active company/branch rules, one scheduled change, one rejected draft, provider mock profiles | 1 rejected draft (by design) | Control center |
| Integration | Mock e-sign, screening, bank and portal adapters with success, timeout and invalid-webhook fixtures | Timeout fixture armed | Provider health |
Actor — Omar Haddad (Agent A), Entra OIDC sign-in with MFA step-up, scope Dubai HQ, 17 Jul 2026 09:00.
Do — Capture the website lead for Amina Noor: mobile 05● ●●● 4102, email a.noor●●@gmail.com, source Website / campaign "Marina Summer 2026", interest 2BR lease in Prototype Residences, marketing consent ticked on the form.
System must show — Phone normalized to E.164 (+9715●●●●4102), dedupe verdict No match · best score 0.21 < 0.75, source attribution persisted, consent record CNS-2026-1188 with UTC timestamp.
Open screen → Sign-in & Session Context · Open screen → Lead Intake
Actor — Omar Haddad, in the lead workspace for LD-2026-00917.
Do — Record an outbound call activity (4 min, outcome "Interested — 2BR, budget AED 140,000/yr, move-in 01 Sep 2026"), qualify the lead, then run matching restricted to Prototype Residences.
System must show — Stage moves New → Qualified with activity on the timeline; matching returns available unit PR-A-1204 (2BR, 1,214 sq ft, AED 138,000/yr) ranked first with match rationale (budget fit 0.94, area fit 0.91).
Open screen → Lead Workspace · Open screen → Matching & Recommendations
Actors — Two parallel sessions: Omar Haddad (Agent A) and Layla Hassan (Agent B), both targeting unit PR-A-1204 at 10:32.
Do — Submit both reservations within the same second (Agent A at 10:32:14, Agent B at 10:32:15) with a 48h hold and AED 5,000.00 reservation deposit.
System must show — Session 1 succeeds → RSV-2026-0455, unit state Available → Reserved. Session 2 receives typed error UNIT_NOT_AVAILABLE with correlation ID req_01J2QK8Z and no partial write — never a double booking.
Actor — Omar Haddad; approver resolved by configuration, not chosen by the agent.
Do — Schedule a viewing of PR-A-1204 for 18 Jul 2026 11:00, mark it completed with outcome notes, then build offer OFF-2026-0312: rent AED 138,000.00/yr, 2 cheques, 5% security deposit — and submit it.
System must show — Calendar event lifecycle Scheduled → Completed; offer routed through the configured independent approval route to Rashid Al Farsi (Sales Manager) with an explicit SoD note that creator and approver differ.
Open screen → Viewings Calendar · Open screen → Offer Builder
Actor — Rashid Al Farsi approves; Omar Haddad opens the resulting deal.
Do — Approve OFF-2026-0312 and create lease deal DL-2026-0208 for Amina Noor on PR-A-1204.
System must show — Active compliance prerequisites on the deal: KYC Verified, screening Clear, risk band Low — each stamped with the exact policy/configuration versions used (Compliance policy v2.4 · config 2026-07-01.3, Real-estate rules v3.1).
Actor — Mariam Al Suwaidi (Legal) from the deal's Contracts tab.
Do — Generate contract CT-2026-0642 from approved template "Residential Lease EN/AR v7".
System must show — Automatic population of customer (Amina Noor), Entity Company (Al Manara Properties LLC), unit PR-A-1204, term 01 Sep 2026 – 31 Aug 2027, rent AED 138,000.00 with a 2-cheque payment schedule, and the resolved signatory (Rashid Al Farsi per authority matrix). The source-lineage panel lists every populated field with its source record and version.
Actor — Mariam Al Suwaidi, deliberately breaking a prerequisite.
Do — Remove the required verified identifier (Emirates ID 784-19●●-●●●●●●●-●) from Amina Noor's party record, then attempt to release CT-2026-0642 v1. Afterwards restore the identifier from the authoritative source and regenerate.
System must show — Release attempt blocked with typed validation CONTRACT_PREREQ_MISSING naming the exact missing identifier — no silent fallback. After restore, regeneration produces v2; v1 remains in history, superseded.
Actor — Omar Haddad requests; Mariam Al Suwaidi (Legal) approves.
Do — Override the permitted payment-schedule field from 2 to 4 cheques, entering reason "Negotiated 4-cheque split — tenant cash-flow request" and submitting for approval; regenerate as v3.
System must show — Override applies to the document only: the party master and deal terms are byte-for-byte unchanged, and the document diff (v2 → v3) remains permanently visible with old/new values, reason and approver identity.
Actors — Mariam Al Suwaidi releases; "Amina Noor" completes signing on the mock e-sign portal.
Do — Release approved CT-2026-0642 v3, dispatch the e-sign envelope through the mock provider, and simulate signer completion on the external portal.
System must show — Envelope lifecycle Sent → Viewed → Signed; evidence record with immutable document hash sha256:9f4c…e2a1 and evidence-bundle hash sha256:7b1d…c904, signer IP/timestamp trail, and a sealed Immutable state — any further change requires a new version.
Open screen → e-Signature Evidence · Open screen → Signing Portal
Actor — Daniel Chen (Accountant), Dubai HQ books, FY2026 period open.
Do — Issue invoice INV-2026-1044 to Amina Noor: first rent instalment AED 69,000.00 (exempt) + admin fee AED 2,000.00 + VAT 5% AED 100.00 = AED 71,100.00. Record partial bank receipt RCT-2026-0871 of AED 40,000.00 and allocate it to the invoice.
System must show — Remaining balance AED 31,100.00 on the invoice; automatically posted, balanced journal entries (DR Bank 40,000.00 / CR Accounts Receivable 40,000.00) with drill-down from receipt to journal lines.
Open screen → Invoice Workspace · Open screen → Receipts & Allocation
Actors — Noura Saeed (KYC Checker) raises the hold; Ahmed Al Blooshi (MLRO) resolves it.
Do — Create compliance hold HLD-2026-0102 (screening potential match on payer name) against DL-2026-0208, attempt to close the deal, then resolve the hold as MLRO with disposition "False positive — different DOB and nationality".
System must show — Closing/release hard-blocked with a consequence banner while the hold is active; after MLRO resolution the deal is re-evaluated against all prerequisites and only then returns to Ready to close — resolution never auto-completes the deal.
Open screen → AML Case Management · Open screen → Deal Workspace
Actors — Executive viewer for the dashboard; Grace Okafor (Auditor) for the audit trace.
Do — Open the executive dashboard and reconcile pipeline, revenue and cash tiles against the ledger totals produced by steps 1–11; then trace correlation ID req_01J2QK8Z end-to-end in the audit explorer.
System must show — Certified tiles matching GL balances to the fils (AED 40,000.00 cash received, AED 31,100.00 open AR); the complete chain API request → audit events → outbox messages → webhook delivery for the traced correlation ID, with actor, scope and policy versions on every event.
Open screen → Executive Dashboard · Open screen → Audit Explorer
| Module | Screens | Steps touching |
|---|---|---|
| Property & Listings | 5 | 2, 3, 4, 5, 11 |
| Contracts & Documents | 3 | 6, 7, 8, 9 |
| Home & Work Queue | 2 | 1, 12 |
| CRM & Leads | 2 | 1, 2 |
| Finance & Accounting | 2 | 10 |
| Compliance & AML | 1 | 11 |
| External Portals | 1 | 9 |
| Governance & Security | 1 | 12 |
- Seed snapshot
- seed-2026.07.16-r3 · reset between runs
- Sessions needed
- 2 browsers (Agent A + Agent B) for step 3
- Mock providers
- e-sign, screening, bank — success profile armed; timeout profile only for the integrations demo
- Roles exercised
- Agent ×2, Sales Manager, Legal, Accountant, KYC Checker, MLRO, Auditor, Executive
- Records produced
- LD-2026-00917 · RSV-2026-0455 · OFF-2026-0312 · DL-2026-0208 · CT-2026-0642 v1–v3 · INV-2026-1044 · RCT-2026-0871 · HLD-2026-0102
- Correlation ID to trace
req_01J2QK8Z
If any step diverges from its expected-result badge, stop the run, capture the correlation reference from the error & degraded state page and file it against the acceptance area below.
| Area | Acceptance statement | Owner | Sign-off |
|---|---|---|---|
| Architecture | Modular boundaries and public contracts comply with Sections 29–30. | Architecture Owner | Signed · 15 Jul 2026 |
| Data | Schema, constraints, migrations, seed and reconciliation comply with Section 31. | Data Owner | Signed · 15 Jul 2026 |
| API / events | OpenAPI, errors, idempotency, outbox and consumers comply with Sections 32–33. | Integration Owner | Signed · 16 Jul 2026 |
| Contracts | Auto-population, lineage, override, golden documents and immutability comply with Section 34. | Legal/Records + Data Owners | Signed · 16 Jul 2026 |
| UX | Release-critical screens, Arabic/RTL readiness and accessibility comply with Section 35. | Product/Content/Accessibility Owner | Signed with condition — AR glossary v1.1 due 24 Jul |
| Security | Identity, authorization, audit, scans and negative tests comply with Section 36. | Security Owner | Signed · 16 Jul 2026 |
| Delivery | Bootstrap, CI/CD, environments and immutable artifact comply with Section 37. | Release Manager | Signed · 17 Jul 2026 |
| Operations | Telemetry, runbooks, backup and restore proof comply with Section 38. | Operations Owner | Pending — restore-proof rerun 19 Jul 2026 |
| Quality | Automated and business acceptance evidence complies with Section 39. | QA + Business Owners | In progress — UAT wave 2 closes 21 Jul 2026 |
Static render mockup — no live data. Source: ERP Modern Development Specification v2.0 · Covers: §40.1 (Table 71 seed profile), §40.2 (12-step demonstration script), §40.3 (Table 72 acceptance record), UX-01…UX-32.