04 / Blueprint

Three audiences.
One operational truth.

A generic rental-marketplace systems exercise: tenant experience, landlord experience and the operating system the company uses to keep both true.

Independent design exercise. Not a description of any employer’s internal systems.

Three audiences. One booking ID. Assist never moves money.

The model ↓The third productWhere it breaks

01 / Three audiences. Shared state.

Three audiences. Shared state.

Three audiences, one marketplace truth Tenant, landlord and staff use different interfaces over the same platform objects, with role-appropriate access. Connections represent shared state, not identical permissions. Tenant Find a place. Know what is next. Landlord Manage supply and demand. Staff Resolve work with authority. Shared platform objects Person · Listing · Conversation · Application · Booking Payment Hold · Payout · Ticket · Risk Case Three audiences, one marketplace truth Tenant, landlord and staff use different interfaces over the same platform objects, with role-appropriate access. Connections represent shared state, not identical permissions. Tenant Find a place. Know what is next. Landlord Manage supply and demand. Staff Resolve work with authority. Shared platform objects Person · Listing · Conversation · Application · Booking Payment Hold · Payout · Ticket · Risk Case
Tenant, landlord and staff never need the same interface. They do need the same truth.

Tenant view

Search → listing → conversation → application → identity/payment → booking → move-in → help/protection.

Reduce uncertainty without making the tenant understand the company’s internal tools.

Landlord view

Onboarding → listing → availability → demand → application decision → booking → payout → portfolio health.

Supply needs speed without sacrificing identity, booking integrity or money controls.

Staff view

Tenant + landlord + booking + money + risk + ticket. Add a named owner, SLA, last customer-visible response and audit trail.

The internal operating surface is a third product, not the public product with admin flags.

02 / One object. One owner.

One object. One owner.

One object. One owner. One system of record. Everything else is a view or a satellite.

In this design, ownership means responsibility for meaning, allowed changes and correction—not unrestricted access.

Objects of record · one possible owner mapping
Object Meaning Typical owner
Person Tenant or landlord identity Trust / Identity
Account Managed landlord organisation Account Management
Listing Property and availability Supply / AM
Conversation Marketplace communication Marketplace
Application Intent to rent Booking Operations
Booking Accepted stay Booking Operations
Payment Hold Funds secured before release Finance
Payout Settlement to landlord Finance
Ticket Exception outside the happy path Customer Care
Risk Case Identity / integrity / fraud review Trust & Safety
Campaign Acquisition / lifecycle experiment Marketing
Event Record of a committed change Producing domain owner

03 / A booking is a sequence of commitments.

A booking is a sequence of commitments.

A simplified marketplace journey A tenant applies and a landlord reviews. The platform checks identity, availability and payment evidence before an authorized booking transition. Stay exceptions route to staff; finance controls release. Timing and policy are deliberately unspecified. Tenant Apply against a Listing ID. Landlord Review that Application ID. Platform checks Identity and availability checks; payment-provider result recorded. Booking authority Allowed transition → atomic update → event. Same Booking ID returned to both audiences. Run the stay Move-in / help / exception review Finance authority Release when conditions are met. A simplified marketplace journey A tenant applies and a landlord reviews. The platform checks identity, availability and payment evidence before an authorized booking transition. Stay exceptions route to staff; finance controls release. Timing and policy are deliberately unspecified. Tenant Apply against a Listing ID. Landlord Review that Application ID. Platform checks Identity and availability checks; payment-provider result recorded. Booking authority Allowed transition → atomic update → event. Same Booking ID returned to both audiences. Run the stay Move-in / help / exception review Finance authority Release when conditions are met.
Illustrative sequence. Exact checks and release conditions need product, legal and provider evidence.

A timeout is not proof of payment failure. Provider callbacks need verification, deduplication and reconciliation. An exception keeps its booking reference; it does not create another booking.

04 / Attach the organisation to the same truth.

Attach the organisation to the same truth.

Teams and systems of record Teams have distinct work surfaces. Integrations share identifiers, events and bounded views; they do not duplicate booking authority. Acquire + retain Marketing · Sales · AM CRM / Campaign views Operate + protect Booking Ops · Care · Trust Staff OS / Ticket / Risk Reconcile + learn Finance · Leadership Money state / BI Bounded integrations Identifiers + events + permissioned views Platform / Internal Ops maintains contracts across tools. Teams and systems of record Teams have distinct work surfaces. Integrations share identifiers, events and bounded views; they do not duplicate booking authority. Acquire + retain Marketing · Sales · AM CRM / Campaign views Operate + protect Booking Ops · Care · Trust Staff OS / Ticket / Risk Reconcile + learn Finance · Leadership Money state / BI Bounded integrations Identifiers + events + permissioned views Platform / Internal Ops maintains contracts across tools.
The tool is a work surface. Ownership belongs to an object and an accountable team.

CRM owns pipeline. Admin owns platform state. Tickets own exceptions. Internal chat owns coordination. Email owns delivery. None of them gets to invent a second Booking.

“Admin” here means a permissioned interface to the platform—not a separate database or an unrestricted write path. Knowledge, analytics, identity/SSO and telemetry are shared capabilities.

Organisational responsibilities · illustrative boundaries
Team Marketplace job Primary view
C-level / Leadership Capacity, economics, marketplace health, risk BI / aggregates
Marketing Acquisition, attribution, lifecycle Campaign + Person events
Sales / Supply Acquisition New landlords and supply CRM lead / Account
Account Management Live landlord portfolio Account + Listing
Booking Operations Applications, state and exceptions Staff OS
Customer Care Help, move-in and post-booking issues Ticket + Booking
Trust & Safety KYC/KYB, fraud, listing integrity Risk + Person / Listing
Finance Operations Holds, payouts, reconciliation Money state
Platform / Internal Ops Workflows, contracts, internal UX, assist Staff OS

05 / Channels are arrival points, not records.

Channels are arrival points, not records.

The channel gate Inbound interactions resolve to a person and relevant platform object. Sensitive actions require identity and authority checks. Chatbots retrieve knowledge or create tickets, not bookings or money mutations. Customer channels Phone · Email · Web/app chat In-platform conversation Other channels Chatbot · Internal chat Hypothetical: WhatsApp / partner Identify / attach / route Resolve Person and Booking / Listing where available. Check identity, consent and scope; route to a named owner. Record the interaction Conversation / Ticket / Account Knowledge answer with a source. The channel gate Inbound interactions resolve to a person and relevant platform object. Sensitive actions require identity and authority checks. Chatbots retrieve knowledge or create tickets, not bookings or money mutations. Customer channels Phone · Email · Web/app chat In-platform conversation Other channels Chatbot · Internal chat Hypothetical: WhatsApp / partner Identify / attach / route Resolve Person and Booking / Listing where available. Check identity, consent and scope; route to a named owner. Record the interaction Conversation / Ticket / Account Knowledge answer with a source.
Channels are how work arrives. They are not where operational truth lives.

Prefer the in-platform thread for tenant–landlord booking context. Overflow phone, email or hypothetical WhatsApp interactions must attach to Person / Booking. Before a booking exists, use Person / Listing / Application instead.

Phone interactions need identity confirmation before sensitive action. A chatbot can retrieve and cite knowledge or create a ticket; it cannot confirm a booking or release money. Internal chat coordinates work and links to the recorded decision.

06 / Staff need a product too.

Staff need a product too.

Staff OS three-pane model Three staff views join tenant, landlord and money/risk context through shared identifiers. Permissions still limit what each staff role may see and do. Tenant pane Identity / KYC state Search / application context Conversations / bookings Holds / receipts / tickets Last customer-visible reply Landlord pane Account / KYB status Listings / listing quality Reply SLA / application queue Bookings / payouts AM owner / risk flags Money + risk pane Hold / payout / refund Reconciliation state Risk case / evidence / reason Audit history Allowed action Staff OS three-pane model Three staff views join tenant, landlord and money/risk context through shared identifiers. Permissions still limit what each staff role may see and do. Tenant pane Identity / KYC state Search / application context Conversations / bookings Holds / receipts / tickets Last customer-visible reply Landlord pane Account / KYB status Listings / listing quality Reply SLA / application queue Bookings / payouts AM owner / risk flags Money + risk pane Hold / payout / refund Reconciliation state Risk case / evidence / reason Audit history Allowed action
Staff see more context, not a different truth.

A staff user should not need six tools open to answer one customer correctly.

Show the current state, its source, freshness and permitted next action together. Sensitive documents and elevated controls appear only to the appropriate role.

07 / Separate capability from authority.

Separate capability from authority.

Capability and security boundaries A capability map, not a deployment topology. Edge and identity protect application access. Platform services authorize mutations. Stores have distinct data classes. External integrations receive bounded data. Key management, secrets and observability support all layers. Edge + identity DNS · CDN · WAF / rate limits SSO / MFA · role boundaries Applications Tenant app · Landlord app Staff OS Platform authority API · Workflow workers Scoped and checked writes Data capabilities Transactional DB / documents Search index / event stream External boundaries Payment / verification provider CRM / ticket / mail integration Cross-cutting controls Key management · Secrets vault · Audit events Logs / traces / metrics; analytics warehouse consumes governed events. Capability and security boundaries A capability map, not a deployment topology. Edge and identity protect application access. Platform services authorize mutations. Stores have distinct data classes. External integrations receive bounded data. Key management, secrets and observability support all layers. Edge + identity DNS · CDN · WAF / rate limits SSO / MFA · role boundaries Applications Tenant app · Landlord app Staff OS Platform authority API · Workflow workers Scoped and checked writes Data capabilities Transactional DB / documents Search index / event stream External boundaries Payment / verification provider CRM / ticket / mail integration Cross-cutting controls Key management · Secrets vault · Audit events Logs / traces / metrics; analytics warehouse consumes governed events.
Capability map only. Boxes do not specify a deployment layout or a provider.

Edge + identity

DDoS and bot defence; abuse limits. Separate tenant, landlord and staff roles. Staff SSO and MFA; no shared admin account.

Authorization

Least privilege and explicit scopes. Elevated actions require stronger authority. Assist/classification has no direct payment-write permission.

Data classes

Separate public listings, PII, identity documents, payment tokens / financial state and staff-only notes. Access and retention follow purpose.

Money boundary

A bounded service checks an authorized instruction before payout or refund. The model cannot grant that authority.

Audit

Every material action records actor, before/after state, reason and timestamp. Preserve evidence of retries and correction.

Vendor boundary

CRM, tickets, mail and chatbot receive identifiers, events and bounded views—not independent transactional truth.

08 / Same objects. Different questions.

Same objects. Different questions.

Event-derived telemetry and executive views Governed definitions derive from platform events, with versioning, freshness and reconciliation. Teams consume different views of the same measures. Dashboards do not independently redefine booking. Platform events Committed state + stable IDs Event version + time + producer Governed metrics layer Definitions · lineage · freshness · reconciliation Warehouse / BI with permissioned aggregates Commercial view Marketing · Sales · AM Operating view Ops · Care · Trust · Finance Executive view Capacity · health · economics Event-derived telemetry and executive views Governed definitions derive from platform events, with versioning, freshness and reconciliation. Teams consume different views of the same measures. Dashboards do not independently redefine booking. Platform events Committed state + stable IDs Event version + time + producer Governed metrics layer Definitions · lineage · freshness · reconciliation Warehouse / BI with permissioned aggregates Commercial view Marketing · Sales · AM Operating view Ops · Care · Trust · Finance Executive view Capacity · health · economics
Different questions should not manufacture different bookings.

Marketing, Operations, Finance and leadership consume a governed metrics layer. Define what “confirmed” means, how late or corrected events are handled, and which owner can change that definition.

Example measures · design choices, not historical results
Audience Questions made measurable
Leadership Confirmed bookings; time-to-book; availability; conversion; tickets per booking; loss; hold-to-payout cycle; acquisition cost per booking; retention; unit economics / take-rate
Marketing Source → application → confirmed booking; CAC by market; lifecycle drop-off; campaign quality; retention / reactivation
Sales Leads → qualified leads → first listing → activation → first booking; sales-to-live-supply conversion
Account Management Account / listing health; reply time; acceptance; payout issues; listing decay; retention risk
Booking Ops / Care Queue age; ownership; first reply; resolution; tickets per booking; repeat contact; exceptions
Finance Unmatched transactions; failed payouts; refunds; reconciliation exceptions; hold-to-payout latency
Trust Review queue age / SLA; fraud; false positives; conversion impact; money at risk

09 / Where marketplaces drift.

Where marketplaces drift.

Smell

Channel becomes the database

Failure. A promise lives only in a private message. Hidden state; no reliable audit.

Design response. Attach the interaction to Account / Booking.

Smell

CRM becomes the booking engine

Failure. CRM says confirmed; platform says pending. Two truths.

Design response. CRM owns pipeline; platform owns Booking.

Smell

Ticket has no Booking ID

Failure. “Tenant unhappy” triggers repeat investigation and wrong-refund risk.

Design response. Attach Person, Booking, Listing and permitted money context.

Smell

Chat contains approvals

Failure. A refund approval exists only in chat. Finance cannot rely on it.

Design response. Chat coordinates; Staff OS records the authorized decision.

Smell

Knowledge has competing owners

Failure. Help centre, internal document and bot disagree.

Design response. One canonical article, owner and review date.

Smell

AI mutates irreversible state

Failure. A bot releases money or passes identity review. Accountability disappears.

Design response. Assist prepares; bounded authority commits.

Smell

Growth optimises the wrong event

Failure. Signups rise; confirmed bookings do not.

Design response. Use platform-state outcomes, with conversion and risk together.

Smell

Executive dashboards disagree

Failure. Sales, Marketing and Finance define booking differently.

Design response. Governed definitions derived from platform events.

10 / What I would improve first.

What I would improve first.

Design bets to test against observed work, not a prescribed implementation. Start with one exception path and find where an operator loses the current answer.

One Booking ID everywhere

Mail, tickets, CRM, chatbot and analytics resolve to the same object.

Staff OS as a product

Make ownership, evidence and allowed actions visible together.

Channel gate

Identify → attach → enrich → route.

Exception-first ticketing

Create a ticket when work leaves the normal state machine.

Canonical knowledge

One answer, one owner, one review date.

Event-derived telemetry

Report product outcomes, not channel guesses.

Assist without delegated authority

Summarise, classify, retrieve, draft, suggest routing and flag anomalies.

Risk against conversion

Measure prevented loss and added friction together.

Observe → propose → preview / check → owner decision → commit → receipt.

No approval means no change. AI does not independently release payouts, materially refund, pass KYC, ban users or finalise booking-state mutations. Validate permissions, idempotency and state preconditions at the write boundary.

Assist can make the operator faster. It does not make accountability disappear.

Pavilion → The Desk

Keep the truth reviewable.

How persistent agents operate inside this system → Agents

One record per object. Explicit authority. Useful exceptions. Measures with meaning. These are the design principles I would carry into discovery—and test against the people doing the work.

Discuss the work →