This page is for Muljat Group Commercial team members.
Enter the password to continue.
Per Troy (6/12), the one Pattern capability to replicate: drop a lease in, OCR it, auto-create an abstract, and file it to a database that tracks when the lease expires — with the key dates and money terms a broker actually chases. The CRM's Lease Abstracts module already does the upload-and-distill and the renewal radar; this pins down the exact pipeline and the must-have fields.
The must-have fields, made precise — exactly what Troy listed, specified so Robert can map them to columns/alerts:
| Field | Capture exactly |
|---|---|
| Lease expiration | The expiration date — drives the expiration database / Renewal Radar (sortable, filterable 30/60/90/120/180/12mo) |
| Options — how many | Number of renewal options and each option's term (e.g., "two (2) options of five (5) years each") |
| Options — notice window ★ | The single most valuable field. The notification period (e.g., "no less than 9 months prior to expiration") AND the computed calendar deadline — then alert before it lapses. Missing this date forfeits an option or triggers an unwanted auto-renew. |
| Rent increases | Base rent for every year of the term; escalation method (% annual / fixed $ / CPI / stepped); and the specific effective date of each step (not all escalations hit on the anniversary) |
| Expense treatment | Lease type (NNN / gross / modified gross); pro-rata share; CAM/opex treatment; caps (cumulative vs. non-cumulative); base year (if gross); notable exclusions |
I opened a real property (1326 N Garden St) and walked the data. Good news: far more is already built than expected — most of the property-space model is done. Here's the precise audit against Troy's five fields:
| Capability | Status in the CRM today |
|---|---|
| Property → Spaces model | ✅ Built — a real Spaces table (10 suites: SF, rent/SF, status, tenant, lease-exp), with Add/Edit/Delete. Single-vs-multi handled. This is the model the spec calls for — already here. |
| Rent roll + expiration | ✅ Built — per-unit rent roll with annual rent, $/SF, expiration dates (2027-03-14, etc.), occupancy %, WALT, Export CSV |
| ① Lease expiration | ✅ Captured at the space/rent-roll level — but see the disconnect below |
| ⑤ Expense treatment (NNN) | ✅ Structure exists — an NNN tab: NNN $/SF/yr + which utilities are included in NNN vs separately metered (water/sewer/garbage/electric/janitorial/HVAC). Unset on this property, but the fields are there |
| ② Options — how many | 🔴 Not captured — no renewal-option count field surfaced on the space/lease |
| ③ Option — notice deadline | 🔴 Not captured — the highest-value field; needs to be a computed, alertable date |
| ④ Rent escalation schedule | 🔴 Not captured — only the current rent/SF + annual show; no year-by-year step schedule |
The one real problem to fix — the disconnect: the AI Lease Abstracts ledger shows "no end date" for all 161 abstracts, yet the property rent roll has real expiration dates. So the AI abstraction output is not flowing into the space/lease records (the abstracts and the rent-roll are separate, and the abstracts look unpopulated/demo). Wiring the abstract → the Space record is the core of Troy's ask — that's where "upload a lease and have it populate the database that shows expiration" actually happens.
PatternAI (trustpattern.ai) is a horizontal "AI assistant for work" — "Talk to Pattern" chat, a Meetings recorder ("Invite Pattern Now"), My Documents, Calendar, and Automations — with commercial-real-estate bolt-ons: a "Lease Abstraction" automation, an AIR CRE section, and a flat "Tenant Database" (447 records, ~$78,757/mo total rent — your real Whatcom tenants). So it is more CRE-aware than a pure chatbot, but lease abstraction is one automation bolted onto a general assistant, not a purpose-built engine.
Why it underperforms for what Troy wants — seen directly in the Tenant Database:
The takeaway: Pattern proves the demand (you already have 447 tenant records abstracted) but tops out at a flat spreadsheet-with-a-chatbot. The Muljat CRM beats it by doing the three things Pattern can't — a relational property → space → lease model, source-cited + verified fields, and stacking + floor plans. Benchmark the abstraction engine against Prophia / Crexi Vault / Zuva-LeaseLens; benchmark the data model against the spec below.
Every feature in Landmark's PatternAI, reviewed firsthand June 12 — so Robert can see exactly what to equal or exceed. The good news: the Muljat CRM already matches or beats most of it; the real opening is the relational property-space-lease model Pattern lacks.
| Pattern feature | What it does | Muljat CRM status / what to build |
|---|---|---|
| Talk to Pattern | Conversational AI over all your docs + data; model selector (General / Pattern Flash); attach files; saved chat history | ✅ Beaten — the Grok/Claude assistant is data-connected with a model toggle |
| My Documents | 923 lease docs auto-filed into folders by property address; upload, search, share, move; runs automations on docs; a "PatternAI Generated" folder | 🟡 Partial — has Dropbox folder linking; add native per-property document organization with auto-classification |
| Tenant Database (DB View) | Flat table, 447 records: Tenant · Contact · Property · Unit · SF · Monthly Rent · Lease End; search/summary (total rent), filter, export | ✅ Beaten by design — Lease Abstracts + Properties; build the relational property→space→lease model (Pattern is flat) |
| Automations | Reusable AI workflows (Lease Abstraction, Meeting Recap) you run on documents; create your own | ✅ Matched — Action Plans are workflow automations; the lease-abstract flow is the doc equivalent |
| Meetings notetaker | "Invite Pattern Now" — AI joins/records meetings and generates recaps; Completed-meeting archive | ⏸ Gap (likely out of scope) — Otter/Lily already cover this; decide if the CRM needs it |
| AIR CRE | AIR Commercial Real Estate standard-forms document section (industry-standard lease/contract templates) | 🟡 Adjacent — you have the LOI Builder; consider a CRE standard-forms / template library |
| Calendar | Calendar view + scheduling integration | ✅ Matched — the CRM Calendar (Month/Week/Day/Agenda, color-coded) |
| Users / Settings | Multi-user team admin, roles, configuration | ✅ Matched — Team + Settings (Company/Regional/Notifications/Security/Branding) |
| Export / Download | Documents and the tenant database are exportable | ✅ Matched — CSV exports across modules |
The Muljat CRM already equals or beats Pattern on the assistant, automations, calendar, admin, and export. The two places to invest: (1) native per-property document organization with AI auto-classification (Pattern's 923-doc property-foldered store is genuinely good), and (2) the relational property → space → lease model with stacking + floor plans (the spec above) — which Pattern structurally cannot do. Build those two and the CRM doesn't just match Pattern, it makes it redundant.
The CRM already has "upload PDF → Opus distills terms." Here's the pattern that separates a tool that "works well" from one that doesn't — used by every trusted incumbent.
| Step | What happens |
|---|---|
| 1 · Drop the PDF | Upload a lease (or amendment) on a Property or Space record. Near-instant — Crexi Vault does ~2 min/doc; LeaseLens/Lextract minutes. |
| 2 · AI extracts | Opus pulls the standard field set (below). Every field stores a source-page / clause citation. This is the single most important design rule — it's how Prophia hits 99% and how a human verifies in seconds. |
| 3 · Human validates | Reviewer sees each field next to its source citation and flips a "verified" toggle. Never treat distilled terms as authoritative until verified. (No serious tool ships raw AI output.) |
| 4 · Auto-files | The verified abstract attaches to the Space record (or the single space of a one-space property) and updates the property's rollups + stacking plan automatically. |
| 5 · Reconciles amendments | Dropping an amendment updates the affected fields and keeps the chain — the engine reconciles the current effective terms, not just the original lease. |
The consensus schema across Prophia, Occupier, and Lextract — group it this way so it maps cleanly to the data model.
| Group | Fields |
|---|---|
| Parties / premises | Tenant legal name + entity type, landlord, guarantor, premises description, suite #, rentable SF, building/property |
| Critical dates | Execution, commencement, rent commencement, expiration, possession |
| Financial | Base rent per step, every year; payment frequency; escalations (with the specific effective date of each step); security deposit (amount, form, burn-down); free rent; TI allowance |
| Opex / CAM | Lease type (NNN/gross/MG), pro-rata share, CAM estimate, annual cap (cumulative vs. non-cumulative), exclusions, mgmt-fee cap, audit-rights window, taxes, insurance |
| Options & rights | Renewal (term, notice deadline, pricing mechanism), termination rights, ROFO/ROFR, expansion/contraction, exclusive use, holdover |
| Clauses | Use, assignment/subletting, default & remedies, SNDA/estoppel, co-tenancy (retail), insurance requirements |
| Amendment chain | Every amendment / assignment / SNDA that modifies original terms — reconciled, not just stored |