Landlord MCP (AI integrations)
Optional after core setup steps 1–15 — requires a live management JWT (Management session authentication) and refreshed tokens after Getting Started — Lockout catch-up after password recovery. Channel map: Automation & AI. Concept pairing: Concepts — Setup sequence after go-live.
Skim What you can do with it and How it connects, then the Tool overview table. In-app contrast: Relation to in-app AI Assistant. Non-linear operator habits (Lockout catch-up, Pending manual receipt approval, Reject/revert mistaken receipts, Portfolio segmentation by tenant category, Notification row-click navigation, Payment alert to receivables triage, Confirmation alert triage, Finance debt receivables triage, Finance Income status drill-down, Cash flow forecast drill-down) have matching Related subsections below. Full pairing matrix: Landlord MCP section cross-reference · Concepts — Concept cross-reference.
VIVIN ships a Landlord Model Context Protocol (MCP) server (apps/landlord-mcp-server in the monorepo) that lets compatible AI clients call typed tools against your workspace using the same authentication model as the management app. It is aimed at operators and integrations that need programmatic access to bookings, listings, properties, and related account data—without building a full custom client.
Contrast booking-scoped tools in Tenant MCP; HTTP auth and contracts are in the API Reference; the management AI Assistant and channel map are in Automation & AI. Topic-to-tool pairing: Landlord MCP section cross-reference. Full pairing matrix: Concepts — Concept cross-reference.
This page is a high-level operator guide. Exact request and response shapes follow the Core API (see API Reference); enable Core Swagger on your API host when you need field-level detail (ENABLE_CORE_API_SWAGGER in Core API environment—see repository AGENTS.md).
For booking- and tenant-context tools (listings calendar, portal links, chatbot rules, maintenance, and related Core-backed operations), use the Tenant MCP server (apps/tenant-mcp-server) — see Tenant MCP. The landlord server is account-scoped and targets property-manager workflows.
What you can do with it
Portfolio reads pair with Portfolio KPI review (get-booking-summary, get-vacant-units-next-month), Dashboard KPI cards, and Handling a Late Payment — Step 1 when tools surface overdue balances. Full pairing matrix: Landlord MCP section cross-reference.
Typical use cases:
- Answer portfolio questions from an AI assistant (occupancy, move-ins, vacancy next month, booking summaries).
- Look up or adjust listings, properties, and bookings when your token has the right permissions.
- Use the extended tool set for tenants, maintenance, bills, payments, owners, invoices, and pricing where your role allows the underlying HTTP routes.
Every tool is a thin wrapper around the Core API: 403 or validation errors from the API surface in the MCP response like any other client.
How it connects
Session bootstrap pairs with Management session authentication, Resetting a Management User Password — Troubleshooting (refresh Bearer JWT + Mcp-Session-Id), and Automation & AI — External AI clients. Full pairing matrix: Landlord MCP section cross-reference.
| Topic | Detail |
|---|---|
| Protocol | Model Context Protocol over HTTP (streamable transport). |
| Base URL | Configured per deployment; locally often http://localhost:8001 (default PORT in server env). |
| MCP path | Streamable HTTP traffic is served at /mcp on that host (for example http://localhost:8001/mcp). MCP clients and proxies should target this path, not the bare origin alone. |
| Core API | API_BASE_URL must point at your VIVIN Core API (required). |
| Auth | Bearer token (JWT) for the management user; clients create a session over HTTP and reuse Mcp-Session-Id on later requests (same pattern as the tenant MCP server). |
| API keys | Workspace administrators generate keys under Account Settings → AI / MCP (/settings/mcp) for external clients; paste the key as the Bearer token in the MCP client config snippet on that tab. |
| OAuth | Hosted OAuth 2.1 on the Core API host for connector clients (Claude.ai, ChatGPT) — PKCE authorization code + refresh token; see Connector OAuth. |
Optional MCP_MAX_SESSIONS (default 300 concurrent sessions) and MCP_SESSION_TTL_MS (default 900000 ms — 15 minutes of idle time before a session is treated as expired) cap load and lifetime; see apps/landlord-mcp-server/src/env.validation.ts. API_BASE_URL is required.
Connector OAuth (Claude, ChatGPT)
Some MCP connectors (for example Claude.ai and ChatGPT) authenticate landlords through Vivin's OAuth 2.1 Authorization Server on the Core API host — not through manually pasted API keys. The landlord MCP server remains the resource server; it already accepts the minted management JWT unchanged.
| Topic | Detail |
|---|---|
| Discovery | GET /.well-known/oauth-authorization-server (and /.well-known/openid-configuration) on your API host — returns authorization_endpoint, token_endpoint, and registration_endpoint. |
| Dynamic registration | POST /oauth/register — connectors register redirect URIs at runtime. Only trusted callback origins are accepted (Anthropic https://claude.ai/api/mcp/auth_callback, ChatGPT https://chatgpt.com/connector_platform_oauth_redirect and https://chatgpt.com/connector/oauth/…, plus loopback http://localhost / http://127.0.0.1 for native clients per RFC 8252). |
| Authorize | GET /oauth/authorize — PKCE is mandatory (code_challenge_method=S256). If the landlord already has a Vivin session cookie, the consent page shows their email and the tool domains they will grant; otherwise they sign in on the consent form. Deny returns access_denied. |
| Token | POST /oauth/token — authorization_code (with code_verifier) or refresh_token grant. Access tokens are the same management JWT shape as login; tokenSource is stamped mcp for audit. Refresh tokens live 60 days and rotate on each use. |
| Scope | Issued scope is the intersection of Tool permissions and the consenting user's role — one OAuth scope string per allowed tool domain (bookings, listings, properties, tenants, maintenance, payments, bills, owners, analytics). |
| Zero-tool block | Authorization is denied when the landlord has no MCP tools enabled — enable at least one domain on Account Settings → AI / MCP before connecting a connector. |
| Revocation | Disabling a user's AI access or stripping every tool domain on refresh causes access_denied on token refresh — the connector must send the landlord through OAuth again. |
API keys remain the right path for IDE configs (Cursor, Claude Desktop) and custom scripts that paste a Bearer token into the Connection snippet. OAuth is for hosted connector platforms that run the authorization-code flow on your behalf. Endpoint reference: MCP OAuth.

Request path
flowchart LR
Client[External AI client]
MCP[Landlord MCP server /mcp]
Core[VIVIN Core API]
Client -->|"Bearer JWT, then Mcp-Session-Id"| MCP
MCP -->|"REST via API_BASE_URL"| Core
From MCP tools to HTTP
Swagger and webhook routes pair with API Reference hub, Webhooks & Notifications, and Integrations & Distribution (inbound channel POSTs are HTTP — not MCP tools). Full pairing matrix: Landlord MCP section cross-reference.
Each tool maps to one or more Core API routes. When you need field-level request and response bodies (for example to shape a payload on a write tool), use Integration Swagger on your API host—Try it out shows paths, parameters, and schemas the same way integrators debug listing and booking traffic. See the API Reference index for how to open it and authorize.

Inbound partner webhooks (channels → Vivin)
MCP tools call the Core API on your behalf; marketplace channels can also POST lifecycle events into Vivin at integration-scoped webhook routes (Housing Anywhere, Uniplaces). Those paths are HTTP integration surfaces — inspect them in Integration Swagger on your API host, not in the MCP tool catalogue.
| Integration | Inbound route (pattern) |
|---|---|
| Housing Anywhere | POST /housinganywhere-integration/{landlordKey}/webhook |
| Uniplaces | POST /uniplaces-integration/{landlordKey}/webhook |


Full event names, auth headers, and payload fields: Webhooks & Notifications.
Request flow (at a glance)
flowchart LR
subgraph clientSide[Your environment]
C[MCP client\nIDE, script, or bridge]
end
subgraph vivinSide[VIVIN services]
L[Landlord MCP server\nHTTP streamable /mcp]
A[Core API\nsame tenancy rules as management]
end
C -->|Initial Bearer JWT\nlater Mcp-Session-Id| L
L -->|API_BASE_URL\ntyped tools map to HTTP routes| A
Each tool call is a normal Core API request under the hood: the JWT must belong to a management user with the same module permissions they would need in the browser.
Tool overview
Write tools mirror management UI permissions — pair create-booking with Processing a New Booking, list-payments / get-payment with Handling a Late Payment — Step 4, and list-tickets with Operations module. Contrast booking-scoped reads in Tenant MCP. Full pairing matrix: Landlord MCP section cross-reference.
registerLandlordTools in apps/landlord-mcp-server/src/server.ts registers tools in two layers:
- Core landlord tools (14) — portfolio intelligence, calendar, properties, listings, and bookings.
- Extended account tools (36) —
registerLandlordCoreApiToolsinlandlord-core-api-tools.ts; each write tool sends a JSONpayloadobject that must match the Core API body for that route (use Swagger on the API host when Core Swagger is enabled). Together these layers register 50 MCP tool identifiers for a typical build (verify inserver.ts+landlord-core-api-tools.tsif you fork or gate tools).
Read-only and intelligence
| Tool | Purpose |
|---|---|
get-booking-summary | Booking counts and short active/upcoming lists for the authenticated account. |
get-upcoming-move-ins | Upcoming move-ins with property and listing names (prefer those fields to identify the unit). |
get-vacant-units-next-month | Next-month vacancy / occupancy snapshot. |
get-listing-calendar | Calendar for a tenant’s unit (needs tenant email or phone identifiers, optional bookingId). |
Bookings, properties, and listings
| Tool | Purpose |
|---|---|
create-booking | Create a booking (POST /bookings; body matches Core CreateBookingWithInlineTenantDto). |
get-booking | Fetch one booking by ID. |
upload-booking-contract | Upload an unsigned contract PDF (base64); Core may clear any previous signed contract for that booking—treat as sensitive. |
create-property / get-property / list-properties / update-property | Property CRUD and paginated list. list-properties pages through GET /properties/portfolio (limit/offset; default limit 50, max 100). When the response includes nextOffset, call again with offset=nextOffset until it is null. The legacy bulk GET /properties list was removed — always page. |
create-listing / get-listing / update-listing / list-listings | Listing (unit) create and update under a property or by listing ID. list-listings is read-only and returns the thin account-wide projection from GET /listings/options (id, internal name, tags, property) — not the partner partial GET /listings calendar feed in Integration Swagger. |
Extended account tools (REST-aligned)
Registered tool identifiers (MCP kebab-case names):
| Area | Tools |
|---|---|
| Tenants | list-tenants, get-tenant, create-tenant, update-tenant, get-tenant-bookings |
| Maintenance | create-ticket, list-tickets, get-ticket, update-ticket, add-ticket-comment, close-ticket |
| Bills | create-bill, list-bills, get-bill |
| Bookings | list-bookings, update-booking, cancel-booking, extend-booking |
| Listings & rent | list-listings (GET /listings/options), set-listing-pricing-month, get-listing-pricing-table |
| Payments & invoices | list-payments, get-payment, create-manual-payment-in, generate-invoice |
| Owners | list-owners, create-owner, get-owner, update-owner |
| Analytics (portfolio metrics) | get-revenue-summary, get-finance-overview, get-debt-summary, get-cost-summary, get-maintenance-closure-rate — gated by the Analytics tool domain; revenue/overview figures are Finance-page data (#3183), not legacy /kpi/* analytics |
Finance-sourced portfolio metrics (#3183)
Assistant and MCP revenue answers must match Finance → Overview and Income — not Analytics ADR/RevPAR charts. Enable the Analytics domain on Account Settings → AI / MCP (requires analytics.module or finance.module on the role). Full pairing matrix: Landlord MCP section cross-reference.
Landlord AI surfaces (AI Chat, WhatsApp Genius, external MCP clients) answer “how much did we make / collect / invoice / are we owed?” from the Finance domain so numbers match the management Finance page:
| Tool | What it returns | Use when… |
|---|---|---|
get-finance-overview | One-call Finance → Overview snapshot for a month window (default: current month): income expected (paid + scheduled + in debt), income status split, cash collected (system + manual), invoiced / pending invoicing, debt (total, uncovered, aging, top debtors), overdue deposits, pending payouts, collection rate, cash-flow-by-month | Any “how much did I collect / invoice / am I owed?” question — prefer this over stitching several tools |
get-revenue-summary | Monthly income expected trend from GET /finance/revenue-summary (paid + scheduled + still in debt for rent, admin fee, cleaning fee, and others), plus previous-period and same-months-last-year comparison (default last 6 months, max 12) | Pure monthly income trend / period comparison — not cash collected and not occupancy/ADR |
get-debt-summary / get-cost-summary / get-maintenance-closure-rate | Portfolio debt, cost, and maintenance closure reads under the same Analytics tool domain | Narrow follow-ups after Overview triage |
Expected vs collected: incomeExpected / get-revenue-summary totals are not cash in the bank. For “how much did we actually receive?”, use cashCollected (and the system/manual split) from get-finance-overview. For vacancy and occupancy, use get-vacant-units-next-month — do not treat revenue tools as ADR/RevPAR substitutes (those stay on Analytics charts in the UI).
Permissions: Tools live in the MCP Analytics domain (Off / Read-only on AI / MCP → Tool permissions). Core API also requires finance.module (and analytics.module where applicable) so operators without Finance access cannot pull ledger figures through the assistant.
Verify answers: Reconcile assistant output on Finance → Overview (Income chart, Debt Aging, KPI cards) during Portfolio KPI review — Step 7. See FAQ — Why don’t Genius revenue numbers match Analytics?.
Tools such as cancel-booking and upload-booking-contract can change money, contracts, or availability. Restrict tokens, test on non-production workspaces first, and rely on Core API permissions so only intended roles can invoke write tools.
Permissions and safety
JWT scope and role gates pair with Users and roles, Resetting a Management User Password (token refresh after rotation), and scope contrast in Tenant MCP. Full pairing matrix: Landlord MCP section cross-reference.
- All data access is scoped to the authenticated account the same way as the management frontend; there is no cross-tenant escape hatch in the tool design.
- Write tools require the same module and permission flags as the Core API (for example bookings.create, listings.edit, bookings.edit_items).
- Prefer read-only tools (booking summary, vacancy snapshot, move-ins, calendar) for analytics and reporting rather than ad-hoc database access.
Relation to in-app AI Assistant
In-app AI Assistant uses the same tool catalogue in-process — pair with AI Chat module, Deep Links — AI Assistant, surface choice in Automation & AI — Choosing surfaces, and internal cost polling on AI usage API (landlord_chat on GET /ai-usage/summary). Full pairing matrix: Landlord MCP section cross-reference.
Tools > AI Assistant (/ai-chat) is another consumer of the same Landlord MCP tool definitions the HTTP server exposes — portfolio reads and permitted writes run inside Core API with the signed-in management user’s JWT, not through a separate Mcp-Session-Id client. Differences for operators:
| In-app AI Chat | Landlord MCP (HTTP) | |
|---|---|---|
| UI | Conversation history, Examples, inline rename/archive | Your MCP-compatible client (IDE, custom bot) |
| Auth | Management session cookie / bearer from the browser | Bearer JWT + Mcp-Session-Id on follow-up requests |
| Audience | Vivin internal accounts only in the current product | Any role with a valid management JWT and tool permissions |
See AI Chat module, Automation & AI, and AI usage API when you audit landlord_chat token cost during Portfolio KPI review — Step 7.
Landlord MCP section cross-reference
Use this table when one Landlord MCP topic naturally leads into operator UI, HTTP contracts, or a module tab — each row links to the docs you should read before or after wiring an external MCP client.
| Landlord MCP topic | Pair with these docs |
| --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| What you can do with it | Portfolio KPI review, Portfolio KPI review — Step 1 (get-booking-summary before wide month ranges), Portfolio KPI review — Step 3 (list-bookings, get-vacant-units-next-month), Portfolio KPI review — Step 7, Dashboard module, Analytics module, Notifications — Payment overdue alerts, Handling a Late Payment — Step 1 |
| How it connects | Management session authentication, API Reference hub, Automation & AI — External AI clients |
| From MCP tools to HTTP | API Reference — Webhooks & notifications, Integrations & Distribution, Full listing feeds |
| Tool overview — read-only and intelligence | Onboarding a New Property — Step 7 (get-vacant-units-next-month, get-booking-summary), Bookings module, Booking Lifecycle, Sales — Multicalendar, Manual block hygiene (get-vacant-units-next-month, get-listing-calendar during Step 5 reconciliation), Managing a Check-in — Step 1 (get-upcoming-move-ins), Portfolio KPI review — Step 2 (get-booking-summary), Portfolio KPI review — Step 7 (get-vacant-units-next-month, get-upcoming-move-ins, get-listing-calendar), Cancelling a Booking — Step 5 (get-listing-calendar, get-vacant-units-next-month), Notification triage — Step 1 (get-upcoming-move-ins), Notification triage — Step 2 (get-booking-summary), Notification triage — Step 5 (get-booking-summary) |
| Tool overview — bookings, properties, listings | Onboarding a New Property — Step 1 (list-owners, create-owner via extended tools), Onboarding a New Property — Step 2 (create-property, get-property, list-properties), Onboarding a New Property — Step 3 (create-listing, get-listing), Onboarding a New Property — Step 5 (list-listings, get-listing with unavailabilities, get-listing-calendar, list-properties, get-property), Onboarding a New Property — Step 6 (get-property utility IDs), Onboarding a New Property — Step 7 (list-properties, list-listings read-only pass), Processing a New Booking — Step 1 (list-bookings, get-booking; list-listings, get-listing with unavailabilities, get-listing-calendar, get-property for overlap checks), Processing a New Booking — Step 2 (create-booking), Processing a New Booking — Step 3 (get-booking, get-listing-pricing-table), Processing a New Booking — Step 4 (upload-booking-contract), Processing a New Booking — Step 5 (create-manual-payment-in), Entering Monthly Utility Bills — Step 4 (get-booking — overage spot-check), Settings > Tenant categories (default for integration-created tenants; create-booking does not set category), FAQ — Assign tenant category for direct booking, Listings module, Glossary — Tenant category |
| Tool overview — extended account tools | Onboarding a New Property (list-owners, create-owner Step 1; get-listing-pricing-table, set-listing-pricing-month Step 3; list-bills, create-bill Step 6 contrast), Finance module, Operations module, Tenants module, Tenants — Tenant category filter, Settings > Tenant categories, Settings > Owners, Notifications — Payment overdue alerts, Handling a Late Payment — Step 1, Handling a Late Payment — Step 4 / Step 4b (create-manual-payment-in pending until operator approval), Handling a Late Payment — Step 6 (get-booking-summary, list-bookings, list-payments, get-payment, get-booking, list-tickets, get-ticket; cancel-booking write tool — confirm refund type in UI), Using in-app support (Vivin product tickets when JWT scope or tool coverage fails), Resetting a Management User Password — Step 3 / Troubleshooting (refresh Bearer JWT and Mcp-Session-Id after management password rotation), Processing a New Booking — Step 5b (list-payments, get-payment; approval remains operator UI), Entering Monthly Utility Bills — Step 1 (list-bills — prior-period baseline) / Step 2 / Step 3 / Step 4 (get-booking when external clients spot-check Payment plan overage lines; contrast Tenant MCP get-payment-info) / Step 4b (list-payments, get-payment; approval remains operator UI) / Step 5 (create-bill, list-bills, get-bill; prefer UI Upload PDF for AI extraction), Managing a Check-in — Step 2 (list-tickets, create-ticket, get-ticket, update-ticket, close-ticket, add-ticket-comment; Cost allocation remains operator UI) / Step 3 (get-booking, list-payments, get-payment) / Step 3b (list-payments, get-payment; approval remains operator UI), Managing a Check-out — Step 1 / Step 2 (list-bookings, get-booking, get-booking-summary, create-ticket, list-tickets, get-ticket) / Step 5 (get-booking, list-payments, get-payment; pending until Step 6b; Mark refunded and dispute freeze remain operator UI) / Step 6b (list-payments, get-payment; approval remains operator UI), Cancelling a Booking — Step 2 / Step 2a (list-payments, get-payment, get-booking, create-manual-payment-in) / Step 4 (cancel-booking write tool; confirm refund type in UI) / Step 6 (list-tickets, get-ticket, close-ticket), Portfolio KPI review — Step 4 (get-listing-pricing-table, set-listing-pricing-month), Portfolio KPI review — Step 5 (list-tickets, get-ticket), Portfolio KPI review — Step 7 (list-payments, get-payment), Notification triage — Step 1 (list-tickets when ticket-category pings dominate the bell list), Notification triage — Step 3 (list-bookings, get-booking, list-tenants, get-tenant, get-tenant-bookings, list-payments, get-payment when search narrows the slice; Unread / Read pills remain operator UI only), Notification triage — Step 4 (get-booking, list-payments, get-payment, create-manual-payment-in), Notification triage — Step 5 (list-bookings; read-state changes remain operator UI only), Glossary — Tenant category |
| Finance-sourced portfolio metrics | Finance → Overview, Finance → Income, AI Chat — How answers are produced, Automation & AI — WhatsApp Genius, AI / MCP — Analytics domain, Portfolio KPI review — Step 7, FAQ — Genius revenue vs Analytics |
| Permissions and safety | Users and roles, Resetting a Management User Password (refresh Bearer JWT after management password rotation), Tenant MCP (scope contrast) |
| Relation to in-app AI Assistant | AI Chat module, Management Frontend Deep Links — AI Assistant, Automation & AI — Choosing surfaces, AI usage API (landlord_chat ledger) |
| Lockout catch-up after password recovery | Sign-in restored; concept validation backlog accumulated | Common Workflows — Lockout catch-up, Getting Started — Lockout catch-up, Resetting a Management User Password — Step 3 |
| Pending manual receipt approval | Recorded bank transfers still pending until Approve payments | Common Workflows — Pending manual receipt approval, Finance — Pending manual payments, FAQ — Manual receipt still pending |
| Reject/revert mistaken receipts | Duplicate or wrong-booking receipts after Approve | Common Workflows — Reject/revert mistaken receipts, Payment Allocation — Correcting mistaken receipts, Glossary — Credit note (payment reject/revert) |
| Portfolio segmentation by tenant category | Review one tenant segment across modules | Common Workflows — Portfolio segmentation, Settings > Tenant categories, Finance — Tenant category filter, Tenants — Tenant category filter |
| Notification row-click navigation | Portfolio MCP reads after /notifications row-click | Concepts — Notification row-click navigation, Common Workflows — Notification row-click navigation, Notifications module — Notification row-click navigation |
| Payment alert to receivables triage | list-bookings debt context vs alert triage | Concepts — Payment alert to receivables triage, Common Workflows — Payment alert to receivables triage, Handling a Late Payment — Step 1 |
| Confirmation alert triage | New booking MCP tools vs confirmation alerts | Concepts — Confirmation alert triage, Common Workflows — Confirmation alert triage, Processing a New Booking — Step 5b |
Related
Related below links this concept to modules, workflows, settings, and escalation paths. Pair Documentation map & escalation with Concepts hub — Documentation map & escalation; pair Portfolio reads & month-end reconciliation with Portfolio KPI review. Topic-to-section pairing in sections above: Landlord MCP section cross-reference. Full hub matrix: Concept cross-reference.
Documentation map & escalation
Documentation-map bullets pair with Introduction — Section cross-reference and FAQ — Section cross-reference. Hub parity: Concepts — Documentation map & escalation. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
- Introduction — Platform overview and how documentation sections connect
- Getting Started — Recommended setup sequence before you wire external MCP clients
- Concepts — Underlying models behind bookings, payments, and integrations that MCP tools call
- Modules — Operator workspaces each tool family mirrors in the management UI
- Common Workflows — Procedures that apply MCP concepts during onboarding, collections, and turnover
- Account Settings — Workspace-wide permissions, integrations, and templates gating write tools
- API Reference — HTTP routes, DTOs, Swagger, and management session bootstrap
- Glossary — Term definitions used across MCP and module docs
- FAQ & Troubleshooting — Quick answers when MCP responses disagree with live product behaviour
- Get Help & Support — Escalate when MCP automation needs Vivin credential or scope changes
- Using in-app support — Vivin product tickets when external client sessions fail, JWT scope errors block portfolio tools, or new tool coverage is needed — contrast operator self-serve escalation in Handling a Late Payment — Step 6 (section cross-reference; Deeper workflow reads; hub)
Navigation & bookmarks
Bookmark routes pair with Management Frontend Deep Links and Concepts hub — Navigation & bookmarks. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
- Management Frontend Deep Links — Bookmarkable routes MCP tools may open after portfolio queries (hub)
- Deep Links — Account Settings —
/settings/*tabs paired with integration and owner CRUD tools - Create New menu — In-app shortcuts that mirror
create-booking,create-ticket, andcreate-manual-payment-intools - FAQ — Permission denied toast — Red You do not have permission to perform this action. toast when RBAC blocks a save; fix in Users → Role Permissions
- Settings > Interface language — Operator UI locale before you share deep links with multilingual staff
Scope contrast & automation surfaces
Scope contrast & automation surfaces bullets pair with the matching topic rows in Landlord MCP section cross-reference above. Full pairing matrix: Concept cross-reference.
- Tenant MCP — Booking- and tenant-context tools for external assistants (hub); topic table: Tenant MCP section cross-reference
- Automation & AI — Channel map, in-app AI Assistant, and tenant chatbot versus HTTP
/mcpclients (hub) - AI Chat module — Vivin-internal AI Assistant using the same Landlord MCP tool catalogue in-process (hub)
- Tenant Portal — Portal link copy tasks portfolio tools may surface alongside booking reads
- FAQ — Tenant contract signing blocked — No PDF yet, mandatory Your Details gates, category locks, or Lease purpose; portal signing vs paper upload on Contract Info
Portfolio reads & month-end reconciliation
Portfolio reads & month-end reconciliation bullets pair with the matching topic rows in Landlord MCP section cross-reference above. Full pairing matrix: Concept cross-reference.
- Dashboard module — Post-login Today, Total debt, Vacant Units, and forecast KPI snapshot (hub)
- Analytics module — Month-range portfolio KPI charts with rankings and heatmaps (hub)
- Portfolio KPI review — Month-end walkthrough to verify assistant or MCP answers against live KPIs; tool pairing: Step 1 (
get-booking-summary), Step 3 (list-bookings,get-vacant-units-next-month), Step 4 (get-listing-pricing-table), Step 5 (list-tickets,get-ticket,create-ticket,update-ticket,add-ticket-comment; Cost allocation remains operator UI), Step 6 (Tenant MCP:get-tenant-info,get-payment-info,list-bookings-by-email), Step 7 (get-vacant-units-next-month,list-payments) (section cross-reference; Deeper workflow reads; hub) - Audit — Discounts tab — Portfolio-wide discount export when tools surface contract-value anomalies
- Handling a Late Payment — Step 1 — Collections when portfolio tools surface overdue balances or Total Debt KPIs; upstream path from Notifications — Payment overdue alerts (section cross-reference; Deeper workflow reads; hub)
- Handling a Late Payment — Step 4 / Step 4b —
create-manual-payment-inrecords bank transfers that still need operator Approve payments (section cross-reference; Deeper workflow reads; hub) - Handling a Late Payment — Step 6 —
get-booking-summarybefore segment-wide In Debt triage;list-bookings,list-tenants,get-tenant,get-tenant-bookings,list-payments,get-payment, andget-bookingwhen arrears cluster on one tenant category;list-tickets/get-ticket/add-ticket-commentwhen maintenance disputes block collections;cancel-bookingwrite tool — operators still confirm refund type in UI (Cancelling a Booking — Step 4) (section cross-reference; Deeper workflow reads; hub) - Managing a Check-in — Step 1 / Step 2 / Step 3 / Step 3b —
get-upcoming-move-ins,list-tickets,create-ticket,get-ticket,update-ticket,close-ticket, andadd-ticket-commentduring arrival-week planning and turnover prep (Cost allocation remains operator UI);get-booking,list-payments, andget-paymentfor move-in payment triage (approval remains operator UI) (section cross-reference; Deeper workflow reads; hub) - Entering Monthly Utility Bills —
list-billsfor prior-period baseline (Step 1);create-bill,list-bills, andget-billfor monthly bill entry and gap reconciliation (Step 2–3, 5);get-propertyfor Bills Included ceilings (Step 3) and Connections utility account IDs when chasing Missing gaps (Step 5; Cost map and Days Missing Data chart remain operator UI);get-booking/list-bookingswhen external clients spot-check overage lines (Step 4);list-payments/get-paymentwhile overage receipts stay pending (Step 4b); prefer UI Upload PDF for AI extraction (section cross-reference; Deeper workflow reads; hub) - Managing a Check-out — Step 1 / Step 2 / Step 3 —
list-bookings,get-booking,get-booking-summary,create-ticket,list-tickets,get-ticket,update-ticket, andadd-ticket-commentduring departure planning, turnover prep, and inspection sign-off (Cost allocation remains operator UI) (section cross-reference; Deeper workflow reads; hub) - Managing a Check-out — Step 4 —
get-booking,list-payments, andget-paymentto verify damage charge rows after operator Add Charge (no MCP write for extra charges);list-tickets,get-ticket,update-ticket, andadd-ticket-commentfor contractor damage documentation (Cost allocation remains operator UI) (section cross-reference; Deeper workflow reads; hub) - Managing a Check-out — Step 5 —
get-booking,list-payments, andget-paymentfor deposit queue triage (Mark refunded and dispute freeze remain operator UI; lifecycle pill states in Glossary — Deposit lifecycle status) (section cross-reference; Deeper workflow reads; hub) - Managing a Check-out — Step 6 / Step 6b —
get-booking-summary,list-bookings,list-tenants,get-tenant, andget-tenant-bookingsfor portfolio In Debt triage before Ready To Refund;get-booking,list-payments, andget-paymentfor departure-week receipts (Reject selected, Issue credit notes, and approval remain operator UI) (section cross-reference; Deeper workflow reads; hub) - Manual block hygiene — Portfolio-wide
get-vacant-units-next-month,get-booking-summary,list-listings, andget-listing-calendarwhen Step 5 reconciles vacancy after Audit clears stale holds (section cross-reference; Deeper workflow reads; hub) - Notification triage — Clear Payments category alerts external automation may reference; payment overdue → Handling a Late Payment — Step 1;
get-upcoming-move-insandlist-ticketsduring Dashboard bell quick scan (Step 1);get-booking-summarybefore opening/notifications(Step 2);list-bookings,get-booking,list-tenants,get-tenant,get-tenant-bookings,list-payments, andget-paymentwhen search narrows the slice (Step 3);get-booking,list-payments,get-payment, andcreate-manual-payment-inwhen external clients triage Step 4 without opening/notifications;get-booking-summary,list-bookings,get-booking,get-upcoming-move-ins,list-tickets,get-ticket,update-ticket,close-ticket, andadd-ticket-commentwhen several unread rows still need follow-up before Mark all as read (Step 5; read-state changes remain operator UI) (section cross-reference; Deeper workflow reads; hub) - Cancelling a Booking —
list-payments,get-payment, andget-bookingduring pre-cancel settlement (Step 2);create-manual-payment-infor bank transfers that still need approval (Step 2a);cancel-bookingwrite tool (operators still confirm refund type in UI — Step 4);get-listing(unavailabilities) andlist-listingswhen Sales still shows blocked nights (Step 5);get-listing-calendarandget-vacant-units-next-monthfor portfolio availability checks (Step 5);list-tickets,get-ticket,update-ticket,add-ticket-comment, andclose-ticketwhen closing prep work (Step 6; Cost allocation remains operator UI) (section cross-reference; Deeper workflow reads; hub)
Bookings, inventory & channel context
Bookings, inventory & channel context bullets pair with the matching topic rows in Landlord MCP section cross-reference above. Full pairing matrix: Concept cross-reference.
- Bookings module — Reservation detail when portfolio tools return booking IDs (hub)
- Booking Lifecycle — Computed Upcoming → Ongoing → Ended / Canceled status model (hub)
- Processing a New Booking —
list-bookings/get-booking(Step 1);list-listings,get-listing(unavailabilities),get-listing-calendar, andget-propertyfor unit-code resolution and Timeline overlap checks (Step 1);create-bookingfollow-through (Step 2),get-booking/get-listing-pricing-tableduring payment-schedule review (Step 3),upload-booking-contract(Step 4),create-manual-payment-in(Step 5),list-payments/get-paymentwhile confirmation receipts stay pending (Step 5b; approval remains operator UI); assign tenant category on Tenant Info before contract mail (channel imports may use default for integrations) (section cross-reference; Deeper workflow reads; hub) - Settings > Tenant categories — Default for integration-created tenants before high-volume
create-booking/ channel onboarding - Bookings — Other filters · Finance — Tenant category filter · Tenants — Tenant category filter — Mirror segment assignment after MCP writes
- Listings module — Property wizard, Channels tab, and unit management (hub)
- Integrations & Distribution — HTTP marketplace feeds and webhooks documented separately from MCP tools (hub)
- Settings > Integrations — Channel credentials tools may reference during onboarding
Finance, operations & messaging writes
Finance, operations & messaging writes bullets pair with the matching topic rows in Landlord MCP section cross-reference above. Full pairing matrix: Concept cross-reference.
- Finance module — Transactions, Deposits, and Contract Values when external clients query ledger state (hub)
- Payment Allocation — Two-layer receipts, invoiced floor, and credit note reject/revert warnings (hub)
- Finance > Deposits — Portfolio deposit tools that mirror Finance → Deposits in the management UI
- Operations module — Ticket and cash-flow writes gated by
operations.module(hub) - Inbox module — Portfolio WhatsApp triage when portfolio tools surface message escalations (hub)
- Notifications module — In-app alert categories external automation may reference before row-click navigation (hub)
- Notifications — Payment overdue alerts — Operator Payments category rows when portfolio tools surface unpaid schedules
- Settings > Preferences — In-app notifications — Account-wide alert masters before MCP automation references
/notificationsrows
Deeper workflow reads
Workflow reads pair with Common Workflows hub subsection index and Portfolio reads & month-end reconciliation above. Each workflow sub-guide reciprocates with [Deeper workflow reads](../concepts/landlord-mcp.md#deeper-workflow-reads) anchors on Landlord MCP bullets — hub parity: Concepts hub — Deeper workflow reads. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
- Portfolio KPI review — Verify assistant or MCP answers against live KPIs with portfolio-wide read tools (section cross-reference; Deeper workflow reads; hub)
- Processing a New Booking —
list-bookings,get-booking, andcreate-manual-payment-induring import and confirmation (section cross-reference; Deeper workflow reads; hub) - Handling a Late Payment —
list-payments,get-payment, andcreate-manual-payment-induring collections (section cross-reference; Deeper workflow reads; hub) - Entering Monthly Utility Bills —
list-bills,create-bill, andget-propertyfor monthly supplier billing (section cross-reference; Deeper workflow reads; hub) - Managing a Check-in —
get-upcoming-move-ins,list-tickets, andcreate-ticketduring arrival-week planning (section cross-reference; Deeper workflow reads; hub) - Managing a Check-out & Deposit Refund —
get-booking-summaryandlist-paymentsfor departure-week settlement (section cross-reference; Deeper workflow reads; hub) - Notification triage —
get-booking,list-payments, andcreate-manual-payment-inwhen external clients triage payment alerts (section cross-reference; Deeper workflow reads; hub) - Resetting a Management User Password — Refresh Bearer JWT after management password rotation (section cross-reference; Deeper workflow reads; hub)
Deeper concept reads
Concept reads pair with Concepts hub subsection index and Concept cross-reference. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
- Tenant MCP — Booking-scoped tools versus account-wide portfolio reads and writes (section cross-reference; hub)
- Automation & AI — Channel map, in-app AI Assistant, and external MCP client surfaces (section cross-reference; hub)
- Integrations & Distribution — Marketplace calendar sync and booking imports that portfolio tools reconcile (section cross-reference; hub)
- Payment Allocation — Two-layer receipts and credit note reject/revert warnings on portfolio payment tools (section cross-reference; hub)
Deeper API reads
API reads pair with API Reference hub subsection index and API guide cross-reference. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
- Management session authentication — Portfolio JWT bootstrap and refresh after password rotation (section cross-reference; hub)
- Authentication — Bearer authorization on every Core API route portfolio tools call (section cross-reference; hub)
- Full listing feeds — Account
landlordKeycatalogue reads portfolio listing tools mirror (section cross-reference; hub) - Creating Bookings —
create-bookingwrite tool follows the same enqueue pipeline asPOST /bookings(section cross-reference; hub) - Listings & Availability — Partial
GET /listingsreads forexternalIdverification before writes (section cross-reference; hub) - Webhooks & Notifications — Inbound marketplace callbacks portfolio automation may reference (section cross-reference; hub)
Lockout catch-up after password recovery
JWT refresh after password recovery pairs with How it connects and Resetting a Management User Password — Step 3. Hub parity: Common Workflows — Lockout catch-up after password recovery. Full pairing matrix: landlord-mcp-section-cross-reference · Concept cross-reference.
- Common Workflows — Lockout catch-up after password recovery — Hub matrix when MCP clients could not authenticate during lockout
- Getting Started — Lockout catch-up after password recovery — Canonical operational backlog mesh
- How it connects — Re-issue Bearer JWT (and
Mcp-Session-Idif needed) after Step 3 password rotation - Notification triage —
get-booking-summary/list-bookingscatch-up before Mark all as read
Pending manual receipt approval
Payment tools read pending Layer 2 state until operators Approve — pair with Payment Allocation. Hub parity: Common Workflows — Pending manual receipt approval. Full pairing matrix: landlord-mcp-section-cross-reference · Concept cross-reference.
- Common Workflows — Pending manual receipt approval — Hub matrix when
list-payments/get-paymentshow unapproved receipts - Extended account tools (REST-aligned) —
create-manual-payment-increates receipts that may stay pending - Finance — Pending manual payments — Operator UI for Approve payments
- Payment Allocation — Layer 2 receipts — Two-layer model behind MCP payment reads
- FAQ — Manual receipt still pending — Explain lag to external integrators
Reject/revert mistaken receipts
MCP cannot replace operator Reject / Revert — pair with Payment Allocation — Correcting mistaken receipts. Hub parity: Common Workflows — Reject/revert mistaken receipts. Full pairing matrix: landlord-mcp-section-cross-reference · Concept cross-reference.
- Common Workflows — Reject/revert mistaken receipts — Hub matrix when automation created duplicate receipts via
create-manual-payment-in - Payment Allocation — Correcting mistaken receipts — Operators finish on Finance Transactions
- Finance — Row actions on in-payment rows — Bulk Reject selected
- Glossary — Credit note (payment reject/revert) — Accounting follow-up on invoiced MCP-recorded receipts
- AI Chat module — Internal assistant using the same tools with operator UI fallback
Portfolio segmentation by tenant category
Portfolio reads should respect tenant-category filters on operator UI — pair with Bookings — Other filters. Hub parity: Common Workflows — Portfolio segmentation by tenant category. Full pairing matrix: landlord-mcp-section-cross-reference · Concept cross-reference.
- Common Workflows — Portfolio segmentation by tenant category — Hub matrix when MCP triage should mirror one segment
- Settings > Tenant categories — Segment definitions and integration defaults
- Bookings — Other filters — Narrow
list-bookingsfollow-up in operator UI - Finance — Tenant category filter — Ledger segmentation for receivables automation
- Tenants — Tenant category filter — Profile directory cross-check
Notification row-click navigation
External list-notifications / portfolio tools complement but do not replace /notifications row-click — operators still finish Notification triage — Step 4 in the UI. Hub parity: Concepts — Notification row-click navigation. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
- Concepts — Notification row-click navigation — Hub matrix (
notifications-module-row-click-target.png,notifications-row-navigation-flow.mp4) - Common Workflows — Notification row-click navigation — Operator procedure hub
- Notifications module — Notification row-click navigation — Canonical
/notificationsinbox pairing - FAQ — Notification row-click navigation hub — Symptom table
Payment alert to receivables triage
MCP debt answers should follow single-booking payment overdue row-click triage — open booking Payment Plan before list-bookings portfolio sweeps. Hub parity: Concepts — Payment alert to receivables triage. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
- Concepts — Payment alert to receivables triage — Hub matrix (
notifications-row-navigate-to-booking-detail.png,notifications-row-navigation-flow.mp4) - Common Workflows — Payment alert to receivables triage — Operator procedure hub
- Handling a Late Payment — Step 1 — Collections follow-through after row-click
- FAQ — Payment alert to receivables triage hub — Symptom table
Confirmation alert triage
Upcoming confirmation alerts on new imports still need UI receipt approval — MCP get-booking does not replace Processing a New Booking — Step 5b. Hub parity: Concepts — Confirmation alert triage. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
- Concepts — Confirmation alert triage — Hub matrix (
notifications-row-navigate-to-booking-detail.png,bookings-detail-transactions-approve-payment-modal.png) - Common Workflows — Confirmation alert triage — Operator procedure hub
- Processing a New Booking — Step 5b / Step 6 — Canonical confirmation gates
- FAQ — Confirmation alert triage hub — Symptom table
Finance debt receivables triage
Landlord MCP portfolio tools surface receivables summaries — verify on Finance → Overview Debt Aging before trusting tool output for month-end sign-off. Hub parity: Concepts — Finance debt receivables triage. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
- Concepts — Finance debt receivables triage — Hub matrix (
finance-overview-income-chart-debt-aging.png,finance-overview-debt-aging-walkthrough-flow.mp4) - Common Workflows — Finance debt receivables triage — Operator procedure hub
- Finance module — Finance debt receivables triage — Debt Aging canonical surface
- FAQ — Finance debt receivables triage hub — Symptom table
Finance Income status drill-down
MCP finance reads return booking debt context — Income chart segment clicks still require Finance → Overview for month-scoped payment-line modals. Hub parity: Concepts — Finance Income status drill-down. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
- Concepts — Finance Income status drill-down — Hub matrix (
finance-overview-income-status-in-debt-modal.png,finance-overview-income-drill-down-flow.mp4) - Common Workflows — Finance Income status drill-down — Operator procedure hub
- Finance module — Income status drill-down — Canonical Finance → Overview surface
- FAQ — Finance Income status drill-down hub — Symptom table
Cash flow forecast drill-down
Month-end MCP reconciliation pairs Cash flow forecast bar-click modals with tool collections output — distinct from Income status segments. Hub parity: Concepts — Cash flow forecast drill-down. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
- Concepts — Cash flow forecast drill-down — Hub matrix (
finance-overview-cash-flow-all-payments-modal.png,finance-overview-cash-flow-day-view.png,finance-overview-cash-flow-drill-down-flow.mp4) - Common Workflows — Cash flow forecast drill-down — Operator procedure hub
- Finance module — Cash flow forecast drill-down — Canonical Finance → Overview surface
- FAQ — Cash flow forecast drill-down hub — Symptom table
Key glossary terms
Glossary rows pair with Glossary cluster cross-reference and concept pages that cite the same terms. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
-
Tenant category —
create-bookingfollow-through, integration defaults, and portfolio filters portfolio tools may query -
Notification row navigation — In-app alerts portfolio tools may reference when triaging payment or message notifications
-
FAQ — Notification row-click navigation — On
/notifications, row click marks unread then openslink,bookingId,tenantId,listingId, orpropertyId(first match); Dashboard bell General rows stay in-panel unlesslinkis set -
FAQ — Phone shows Operations only — Mobile phone user agent locks operators with Operations access to
/operations; iPads and narrow desktop browsers keep the full module list -
Credit note (payment reject/revert) — Ledger corrections when automation surfaces duplicate or invoiced receipts
-
Deposit dispute — Deposit retention state on booking Deposit and Finance → Deposits tools
-
Glossary — End-of-Booking cost split — Charge Time → End of Booking splits daily overage across every occupied unit; still-staying roommates stay in the denominator (#2111)
-
Glossary — Change history — Operator-initiated edits on Listings setup and Bookings Changelog; create-time defaults excluded (#2093)
-
FAQ — Booking Changelog scope — Operator-initiated edits only; create-time defaults excluded (#2093)
-
Glossary — Archived booking ledger visibility — Delete Booking hides manual/provider_platform rows on Finance → Transactions; vIBAN and credit card stay visible (#1897)
-
Bookings — Provider platform payment — Non-rejected provider platform in-payment blocks Delete Booking until Reject or assign (#2076)
-
FAQ — Delete Booking on integration reservation — Clear pending provider platform in-payment with Reject or assign before soft-archive (#2076)
-
Listings — Property edit sidebar pills — Setup / Full integration / Photos pills on property and unit edit sidebars; replaced the old Go to details shortcut (#2082)
-
Glossary — Finance tenant category cache refresh — Recategorizing a tenant on Tenants → Tenant Info force-refreshes Finance caches so Contract Values, Overview, and Deposits filters match within seconds (#2088)
-
FAQ — Finance tenant category filter parity — Finance Other filters drawer lists segments on cached bookings only; mirror Bookings / Tenants when a segment is missing
-
Glossary — SIMAR water contract ID — SIMAR (Loures e Odivelas) water bills use Cód. Local in Connections — not Nº de Contador; leading zeros stripped (#2110)
-
FAQ — SIMAR water bill property match — Cód. Local in Connections — not Nº de Contador; strip leading zeros (#2110)
-
Glossary — Per-booking maintenance ticket opt-out — Add booking checkboxes skip automatic CI/CO tickets for one reservation only; property rule unchanged (#1140)
-
FAQ — Cancel Booking vs Delete Booking — Cancel for real stays with settlement; Delete soft-archives mistaken/test rows (#1897 / #2076)
-
Glossary — Archived property — Archive retires a building to Listings → Archived without deleting bookings; distinct from Delete Booking (reservation soft-archive) — Listings — Archived properties
-
FAQ — Archive a property — Edit property sidebar Archive / Unarchive on Listings; building-level — not Delete Booking or Cancel booking
-
FAQ — Portfolio retirement decisions — Archive property (building) vs Cancel booking vs Delete Booking (reservation soft-archive) — three-way decision table
-
Deposit lifecycle status — Payment-driven
depositStatuspill vocabulary external clients read viaget-booking -
Finance — Deposit status filter — Other filters → Deposit status multi-select on Bookings and Finance (#2090)
-
Finance — Deposit lifecycle status cards — Deposit lifecycle status row on Finance → Deposits; click Partial paid for collection shortfalls (#2091)
-
FAQ — Partly collected security deposit — Paid above zero but below Amount on booking Deposit; Partial paid card on Finance → Deposits (#2090 / #2091)
-
Operations — Tickets toolbar search — Paste the full sequential ticket ID (for example
S259,T27) in toolbar Search (#2074) -
FAQ — Find a ticket by its ID — Paste the full sequential ticket ID (for example
S259,T27) in Operations → Tickets toolbar Search (#2074) -
FAQ — Skip automatic check-in/out tickets for one booking — Turn off Use unit contract rents and other contract details on Add booking to reveal CI/CO ticket checkboxes (#1140)
-
FAQ — Same-day turnovers — Check-out + check-in on one unit same day: Operations → Check-in & Check-out, Timeline / Multicalendar, turnover tickets
-
FAQ — Manual payments after Delete Booking — Delete Booking hides manual/provider_platform rows on Finance → Transactions; vIBAN and credit card stay visible (#1897)
-
Glossary — Directory list load failures — First-fetch directory failures show Retry / Try again; distinct from filter-empty states and booking-sidebar tab errors
-
Glossary — Vacant Unit Preference — Include manual blocks counts operator holds as free on Dashboard / Sales vacancy surfaces (#1427)
-
FAQ — Communication or Tickets load failure — Tab-scoped Refresh (Communication) or Retry (Tickets); other booking sidebar tabs stay usable
-
Operations — Property-level ticket search — Property-name matches share the top relevance tier with unit hits; building-scoped rows float first under an active Property filter (#2089)
-
Invoiced floor (rent) — Rent edits blocked below exported invoice totals when portfolio tools suggest mid-stay relief
-
FAQ — Bulk Hostkit invoicing slow — Vivin paces Hostkit API calls and retries HTTP 429 during bulk Issue allocation / Invoice selected; refresh Transactions before re-issuing
-
FAQ — Bulk Hostkit invoicing hub — Symptom table + per-guide mesh
-
Draft ticket (display status) — Far-future Operations prep jobs
create-ticketmay open -
Ticket — linked cash flows — Operations cost allocation contractor ledger rows
-
FAQ — AI token usage — Poll GET /ai-usage / GET /ai-usage/summary with management JWT;
landlord_chat+utility_bill_extraction; no management UI screen yet -
FAQ — Automatic check-in email — Trigger matrix, 15-day cutoff, paper upload vs portal signing, Nuki-only toggle, Send / Resend on Contract Info
-
FAQ — WhatsApp and email per booking — Bookings → Communication tab when tenant chatbot is enabled; Inbox for portfolio-wide triage
-
FAQ — Deposit missing on Finance Deposits — Default ~3 months date range; clear or widen before triaging older move-outs or dispute row actions
-
FAQ — Pending manual in-payment on /notifications — Alert persists until Approve payments clears Finance or booking Transactions
-
FAQ — Uncovered Debt KPI — Finance Total Debt minus deposit offsets; pair with Debt Aging and In debt drill-down
-
FAQ — Dashboard Total Debt subtitle — Post-login Total Debt card headline vs >15 days subtitle; ongoing bookings only
-
FAQ — Analytics (KPI workspace) — Portfolio KPIs vs Sales/Listings/Dashboard; load-failure Try again
-
FAQ — Lower rent below invoiced — Change monthly rent clamps and Contract Values → Edit amount blocks net below exported invoice totals; use credit notes in accounting when you truly need a reduction
-
Glossary — Fixed invoice date — Account-wide Invoice date before bulk Issue allocation / Invoice selected; amber banner on Finance → Transactions until you turn Use today as invoice date back on
-
FAQ — Month-end invoicing (fixed date) hub — Symptom table + toggle reset after batch
-
FAQ — Reject or revert an incoming payment — Reject pending rows or Revert confirmed ones; Finance → Transactions uses Reject selected bulk-only; modals warn about credit notes when Finance already invoiced
-
FAQ — Finance Income status drill-down hub — Symptom table for segment vs Debt Aging
-
FAQ — Finance Income status drill-down — Overview Income chart (Paid / Scheduled / In debt); click a segment for month-scoped payment-line modal; Debt Aging for booking-level receivables
-
FAQ — Cash flow forecast drill-down hub — Symptom table for collections vs Income / Dashboard
-
FAQ — Cash flow forecast drill-down — Month / Day bar-click habit
-
FAQ — Bookings that owe money — Top debtors and overdue buckets on Finance → Overview; Total Debt KPI is not a table
-
FAQ — Fixed rent on variable unit — Variable listing + equal rent every contract month → booking stores fixed headline Monthly rent; payment plan unchanged
Module documentation hubs
Module hubs pair with Modules — Module cross-reference. Full pairing matrix: Landlord MCP section cross-reference · Concept cross-reference.
- Tenants module — Tenant master data tools join to booking-scoped reads from the same JWT session (hub)
- Utilities module — Bills Included ceiling model, Connections, and AI bill upload (hub)
- Sales module — Portfolio availability, monthly rent editing, and channel manager connections (hub)
- Properties workspace — Legacy
/propertiesURL redirects into Listings (hub) - Booking engine details — Rich marketplace payload editor via the Full integration pill (hub)
- Audit module — Portfolio-wide Manual Blocks and Discounts contract-value review (hub)
- API Reference hub — Partner HTTP contracts, Swagger onboarding, and partial vs full feeds (hub)