Tenant MCP (AI integrations)
Optional after setup steps 10–11 (Tenant categories, Emails) and Tenant Portal — booking-scoped tools need a live reservation from step 14 Bookings. Chatbot rules: ChatBot. Concept pairing: Concepts — Setup sequence after go-live.
Skim What you can do with it and How it connects, then the Tool overview table. Safety boundaries: Permissions and safety. 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: Tenant MCP section cross-reference · Concepts — Concept cross-reference.
VIVIN ships a Tenant Model Context Protocol (MCP) server (apps/tenant-mcp-server in the monorepo) that lets compatible AI clients call typed tools against tenant booking context using the same Core API backing as the management platform. It is aimed at tenant-facing automation — chatbots, assistants, and integrations that answer questions or take actions for a specific booking (identified by tenant email, phone, and/or booking ID), not for whole-portfolio administration.
Contrast account-wide tools in Landlord MCP; portal links and booking context mirror Tenant Portal (including portal access by tenant category); channel routing and chatbot rules sit in Automation & AI. Landlord-side LLM cost for in-app AI Chat and utility extraction is on AI usage API — tenant MCP tool calls are not metered on that ledger. Topic-to-tool pairing: Tenant 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 portfolio-wide tools (properties, listings, bookings, vacancy and calendar-style reads), use the Landlord MCP server (apps/landlord-mcp-server). The tenant server is booking- and tenant-context scoped and targets automation that already knows which tenant or booking the conversation is about.
What you can do with it
Booking-scoped automation pairs with Tenant Portal, Inbox WhatsApp threads, and Automation & AI — AI Tenant Support Chatbot. Contrast account-wide reads in Landlord MCP. Full pairing matrix: Tenant MCP section cross-reference.
Typical use cases:
- Power a tenant support assistant that reads booking dates, payment status, contract snippets, portal links, and maintenance history.
- Load landlord-configured chatbot rules and persona (IF/THEN guidance and tone from Management → Account settings → ChatBot) so external AI replies stay on-brand and policy-aligned.
- List bookings for an email or phone when a tenant may have more than one active reservation, then narrow follow-up tool calls to the chosen
bookingId. - Create maintenance tickets (with optional attachments from public URLs) or notify the landlord through the same flows the product uses — by booking ID when known, or by phone (and optional email) when the tenant is not yet matched to a reservation.
Every tool resolves to Core API routes: 403 or validation errors from the API surface in the MCP response like any other client.
Full pairing matrix: Tenant MCP section cross-reference.
How it connects
Session bootstrap pairs with Management session authentication, Resetting a Management User Password (refresh Bearer JWT + Mcp-Session-Id), and Automation & AI — External AI clients. Full pairing matrix: Tenant MCP section cross-reference.
| Topic | Detail |
|---|---|
| Protocol | Model Context Protocol over HTTP (streamable transport). |
| Base URL | Configured per deployment; locally often http://localhost:8000 (default PORT in server env). |
| MCP path | Streamable HTTP traffic is served at /mcp on that host (for example http://localhost:8000/mcp). Point MCP clients at this URL path. |
| Core API | API_BASE_URL must point at your VIVIN Core API (required). |
| Auth | Bearer token (JWT) for session creation; sessions reuse Mcp-Session-Id like other MCP HTTP servers in the repo. |
Environment validation lives in apps/tenant-mcp-server/src/env.validation.ts (PORT, API_BASE_URL, optional DISCORD_LOGGER_WEBHOOK). Session behaviour matches the landlord server: Mcp-Session-Id on follow-up requests after an authenticated session is created.
Full pairing matrix: Tenant MCP section cross-reference.
Request path
flowchart LR
subgraph clientSide[Your environment]
C[MCP client\nchatbot or tenant bridge]
end
subgraph vivinSide[VIVIN services]
T[Tenant MCP server\nHTTP streamable /mcp]
A[Core API\nbooking- and tenant-scoped routes]
end
C -->|Bearer JWT + session headers| T
T -->|API_BASE_URL\ntools resolve tenant/booking context| A
Identifiers such as email, phone, or bookingId in tool arguments tell the server which reservation the automation is acting on; portfolio-wide admin tasks stay on Landlord MCP.
From MCP tools to HTTP
Swagger and inbound webhooks pair with API Reference hub, Webhooks & Notifications, and Integrations & Distribution (channel POSTs are HTTP — not MCP tools). Full pairing matrix: Tenant MCP section cross-reference.
Tenant tools resolve to Core API routes behind booking and tenant context. For OpenAPI shapes and status codes, use Integration Swagger on your API host (see API Reference); enable Core Swagger when you need routes that are not exposed on the integration surface.

Inbound partner webhooks (channels → Vivin)
Tenant MCP answers booking-scoped questions for external assistants; marketplace partners still deliver paid/cancelled events through inbound Core API webhooks (for example Housing Anywhere and Uniplaces). Wire those callbacks using Integration Swagger on your API host — see Webhooks & Notifications.


Full pairing matrix: Tenant MCP section cross-reference.
Tool overview
Write tools mirror tenant-facing flows — pair create-maintenance-ticket with Operations > Tickets, get-payment-info with Handling a Late Payment — Step 3, and get-chatbot-rules with Settings > Chatbot. Full pairing matrix: Tenant MCP section cross-reference.
Tools are registered in apps/tenant-mcp-server/src/server.ts. Names below are the MCP tool identifiers (kebab-case). A typical build exposes 18 tools from that file; if you fork or gate tools, re-count in source rather than relying on this number alone.
Booking and contract data
| Tool | Purpose |
|---|---|
list-bookings-by-email | List active bookings for a tenant by email or phone (use first when multiple bookings are possible). |
request-booking-data | Aggregate booking payload for a tenant (email/phone/booking context per tool schema). |
request-contract-data | Contract-oriented data for a tenant. |
get-booking-status | Status and requirement-style information for the booking. |
get-dates-and-schedule | Check-in/out and schedule-related fields. |
get-listing-calendar | Calendar for the tenant’s unit (identifiers per tool schema). |
Property, payments, and portal
| Tool | Purpose |
|---|---|
get-property-and-location | Property and location details for the booking context. |
get-payment-info | Payment schedule and related information. |
get-security-deposit-info | Deposit terms and amounts where exposed. |
get-tenant-info | Tenant profile and billing-related fields. |
get-portal-links | Tenant portal URLs for the booking. |
Chatbot configuration (read-only)
| Tool | Purpose |
|---|---|
get-chatbot-rules | Landlord IF / THEN virtual assistant rules (same source as Management → Account settings → ChatBot). Returns plain text for use in prompts. |
get-chatbot-persona | Persona text (tone, role, boundaries); empty when unset. |
Call these early when the assistant must follow account-specific policies or voice alongside booking facts.
Maintenance and escalation
| Tool | Purpose |
|---|---|
get-maintenance-tickets | Tickets associated with the tenant/booking. |
create-maintenance-ticket | Open a ticket (title, description, category; optional priority, responsible property manager, attachment URLs downloaded server-side). |
list-property-managers | Discover assignable property manager IDs (for responsibleId on create). |
notify-landlord | Send a notification to the landlord for a known bookingId (write; treat as operator-visible). |
notifylandlord-number | Notify the landlord when the tenant is identified by phone (required) and optional email, but no booking ID is available yet — for example before list-bookings-by-email resolves a reservation. Prefer notify-landlord whenever you already have a valid booking ID. |
notify-landlord, notifylandlord-number, and create-maintenance-ticket change operational state or notify your team. Use least-privilege tokens, test on non-production workspaces first, and ensure only intended automations can invoke them.
Full pairing matrix: Tenant MCP section cross-reference.
Permissions and safety
JWT scope and portal gates pair with Users and roles, Settings > Tenant categories (portal module toggles get-portal-links may surface), and scope contrast in Landlord MCP. Full pairing matrix: Tenant MCP section cross-reference.
- Access is bounded by the authenticated token and Core API rules — the same permission model that protects tenant-facing integrations.
- Prefer listing bookings first when identity is ambiguous (
list-bookings-by-email), so follow-up calls use the correctbookingId. - Attachment URLs on
create-maintenance-ticketmust be publicly downloadablehttp/httpslinks the server can fetch; limits apply (see tool description in code).
Full pairing matrix: Tenant MCP section cross-reference.
Tenant MCP section cross-reference
Use this table when one Tenant MCP topic naturally leads into portal UX, chatbot configuration, or a module tab — each row links to the docs you should read before or after wiring a booking-scoped external client.
| Tenant MCP topic | Pair with these docs |
| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| What you can do with it | Tenant Portal, Automation & AI — AI Tenant Support Chatbot, Inbox module |
| How it connects | Management session authentication, Landlord MCP (scope contrast; refresh Bearer JWT after management password rotation — Resetting a Management User Password — Step 3), Automation & AI — External AI clients, Resetting a Management User Password (management email/password contrast — tenant MCP Bearer JWT does not replace platform sign-in; get-portal-links / get-payment-info remain available while operators reset management credentials; notify-landlord does not fix operator JWT scope — Troubleshooting) |
| From MCP tools to HTTP | API Reference hub, Webhooks & notifications |
| Booking and contract data tools | Bookings module, Booking Lifecycle, Processing a New Booking — Step 1 (list-bookings-by-email), Processing a New Booking — Step 6 (get-booking-status), Onboarding a New Property — Step 5 (list-bookings-by-email after first channel import), Managing a Check-in — Step 1 (get-dates-and-schedule), Managing a Check-in — Step 5 (get-booking-status), Managing a Check-out — Step 1 (get-dates-and-schedule, list-bookings-by-email), Managing a Check-out — Step 7 (get-booking-status), Cancelling a Booking — Step 1 (request-contract-data, get-dates-and-schedule), Cancelling a Booking — Step 4 (get-booking-status), Cancelling a Booking — Step 5 (get-listing-calendar), Manual block hygiene (get-listing-calendar when tenants ask about blocked dates; Step 3 / Steps 4–5 list-bookings-by-email, request-booking-data, notify-landlord; contrast Landlord MCP portfolio reads in Step 5) |
| Property, payments, and portal tools | Tenant Portal — Payments and documents, Tenant Portal — Utilities tab, Tenant Portal — Portal access by tenant category, Payment Allocation, Finance — Transactions, Finance — Issuing credit notes, Settings > Tenant categories, Notifications — Payment overdue alerts, Notification triage — Step 4 (get-payment-info, get-tenant-info, list-bookings-by-email when Inbox threads preceded payment alerts), Notification triage — Step 5 (get-payment-info before bulk Mark all as read), Processing a New Booking — Step 3 (get-payment-info for tenant-facing confirmation balances), Processing a New Booking — Step 5b (get-payment-info while receipts stay pending), Handling a Late Payment — Step 1, Managing a Check-in — Step 3 (get-payment-info), Managing a Check-in — Step 3b (get-payment-info while receipts stay pending), Managing a Check-in — Step 4 (get-portal-links, get-dates-and-schedule), Managing a Check-out — Step 1 / Step 5 (get-security-deposit-info), Managing a Check-out — Step 4 / Step 6 (get-payment-info), Managing a Check-out — Step 6b (get-payment-info while receipts stay pending), Cancelling a Booking — Step 1 (get-payment-info; contrast with operator Cancel booking in Step 4), Cancelling a Booking — Step 2 / Step 3, Entering Monthly Utility Bills — Step 4 (get-payment-info, notify-landlord), Entering Monthly Utility Bills — Step 4b (get-payment-info while overage receipts stay pending), Portfolio KPI review — Step 6 (get-tenant-info, get-payment-info; list-bookings-by-email when segment review started from a tenant message), Portfolio KPI review — Step 7, Glossary — Tenant category |
| Chatbot configuration (read-only) | Settings > Chatbot, Bookings — Communication tab, Settings > Emails, Settings > Tenant categories (Communications / Email toggle per segment), Onboarding a New Property — Step 4 / Step 7 (chatbot and segment setup before first reservation), Glossary — Tenant category |
| Maintenance and escalation | Operations > Tickets, Managing a Check-in — Step 2 (get-maintenance-tickets, create-maintenance-ticket), Managing a Check-in — Step 3 (notify-landlord), Managing a Check-out — Step 2 / Step 3 (get-maintenance-tickets, create-maintenance-ticket), Managing a Check-out — Step 4 / Step 6 (notify-landlord), Cancelling a Booking — Step 3 / Step 4 (notify-landlord), Cancelling a Booking — Step 6 (get-maintenance-tickets), Handling a Late Payment — Step 6 (notify-landlord tenant-facing alert — contrast with operator segment filters and Landlord MCP portfolio reads), Notification triage — Step 4 / Step 5 (notify-landlord before Mark all as read on tenant-channel escalations), Manual block hygiene (notify-landlord when external assistants escalate unclear calendar holds — does not clear operator manual rows; Step 3 during Audit scan), Using in-app support (Vivin product tickets when MCP needs credential or scope changes — contrast create-maintenance-ticket / notify-landlord) |
| Permissions and safety | Users and roles, Landlord MCP — Permissions, Settings > Tenant categories (portal module gates get-portal-links may surface), Glossary — Tenant category |
| 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 | Booking-scoped MCP after alert row-click | Concepts — Notification row-click navigation, Common Workflows — Notification row-click navigation, Notifications module — Notification row-click navigation |
| Payment alert to receivables triage | get-payment-info vs receivables triage | Concepts — Payment alert to receivables triage, Common Workflows — Payment alert to receivables triage, Handling a Late Payment — Step 1 |
| Confirmation alert triage | Upcoming booking MCP context | 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 Scope contrast & automation surfaces with Landlord MCP. Topic-to-section pairing in sections above: Tenant 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: Tenant MCP section cross-reference · Concept cross-reference.
- Introduction — Platform overview and how documentation sections connect
- Getting Started — Recommended setup sequence before you wire tenant-scoped MCP clients
- Concepts — Underlying models behind portal self-service, payments, and maintenance escalations
- Modules — Operator workspaces tenant tools mirror in the management UI
- Common Workflows — Procedures that apply tenant MCP concepts during check-in, collections, and turnover
- Account Settings — Workspace-wide ChatBot persona, portal toggles, and service catalogue defaults
- API Reference — HTTP routes underlying tenant tools and management session bootstrap
- Glossary — Term definitions used across MCP and portal docs
- FAQ & Troubleshooting — Quick answers when tenant MCP responses disagree with live product behaviour
- Get Help & Support — Escalate when tenant automation needs Vivin credential or scope changes
- Using in-app support — Vivin product tickets when
create-maintenance-ticket/notify-landlordare not the right escalation path, or when booking-scoped JWT scope and credential changes need Vivin support — contrast Landlord MCP account-scoped tool failures (section cross-reference; Deeper workflow reads; hub)
For deployment, package scripts, and implementation detail, see apps/tenant-mcp-server in the VIVIN-CORE repository. The package README can be out of date (for example it has historically listed WhatsApp helpers); registered tools in server.ts are the source of truth for what a given build exposes—today that is booking, portal, chatbot, and maintenance tools only.
Navigation & bookmarks
Bookmark routes pair with Management Frontend Deep Links and Concepts hub — Navigation & bookmarks. Full pairing matrix: Tenant MCP section cross-reference · Concept cross-reference.
- Management Frontend Deep Links — Bookmarkable routes automation may open after tool calls return booking or inbox context (hub)
- Deep Links — Inbox —
/inbox?contact=when bell notifications route to WhatsApp threads - Deep Links — Account Settings —
/settings/chatbotand/settings/tenantCategoriespaired with chatbot and portal tools - Settings > Interface language — Operator UI locale before you share portal links with multilingual tenants
Scope contrast & automation surfaces
Scope contrast & automation surfaces bullets pair with the matching topic rows in Tenant MCP section cross-reference above. Full pairing matrix: Concept cross-reference.
- Landlord MCP — Account-scoped portfolio tools (separate server); topic table: Landlord MCP section cross-reference
- Resetting a Management User Password — Management email/password recovery contrast (tenant MCP Bearer JWT does not replace platform sign-in);
get-portal-linksandget-payment-inforemain tenant-scoped while operators reset management credentials;notify-landlorddoes not restore operator JWT scope after password rotation (section cross-reference; Deeper workflow reads; hub) - Automation & AI — Channel map, in-app AI Assistant, and tenant chatbot versus HTTP
/mcpclients (hub) - AI Chat module — In-management assistant on the same booking context as tenant MCP (hub)
- Integrations & Distribution — Booking-scoped Tenant MCP tools complement but do not replace marketplace import APIs (hub)
Tenant portal, chatbot & messaging
Tenant portal, chatbot & messaging bullets pair with the matching topic rows in Tenant MCP section cross-reference above. Full pairing matrix: Concept cross-reference.
- Tenant Portal — What tenants see in the web portal (MCP complements this; it does not replace portal UX) (hub)
- 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
- Settings > Chatbot — IF/THEN rules and persona loaded by
get-chatbot-rules/get-chatbot-persona(hub) - Bookings — Communication tab — Same WhatsApp thread the MCP reads and writes
- Inbox module — Portfolio-wide WhatsApp triage on the same UAZAPI threads MCP reads and writes (hub)
- Settings > Emails — Chatbot IF/THEN rules and Communication Rules tenant MCP tools may reference during automation
- Settings > Preferences — Tenant Portal — Portal toggles tenant MCP tools may reference during automation
- Settings > Tenant categories — Portal segment rules tenant tools may reference during automation
Bookings, payments & lifecycle workflows
Bookings, payments & lifecycle workflows bullets pair with the matching topic rows in Tenant MCP section cross-reference above. Full pairing matrix: Concept cross-reference.
- Bookings module — Reservation context tools need after channel enquiries convert to live bookings (hub)
- Booking Lifecycle — Computed Upcoming → Ongoing → Ended / Canceled status model (hub)
- Bookings — Payment Plan tab — Charge rows payment tools read during collections or portal queries
- Payment Allocation — Two-layer receipts, invoiced floor, and credit note reject/revert warnings (hub)
- Processing a New Booking —
list-bookings-by-emailduring import checks (Step 1);get-payment-infoduring payment-schedule review (Step 3) and while confirmation receipts stay pending (Step 5b);get-portal-links/get-booking-statusafter confirmation (Step 6) (section cross-reference; Deeper workflow reads; hub) - Onboarding a New Property — Tenant categories, chatbot persona, and portal gates before external assistants inherit booking context;
list-bookings-by-emailafter first channel import (Step 5);get-portal-linksafter first reservation (Step 7) (section cross-reference; Deeper workflow reads; hub) - Entering Monthly Utility Bills —
get-payment-info(parity with Tenant Portal — Utilities consumption and overage rows) andnotify-landlordwhen utility overage lines post (Step 4);get-payment-infowhile overage receipts stay pending (Step 4b) (section cross-reference; Deeper workflow reads; hub) - Managing a Check-in —
get-dates-and-scheduleandlist-bookings-by-emailduring arrival planning (Step 1);get-maintenance-tickets/create-maintenance-ticketfor turnover prep (Step 2);get-payment-infoandnotify-landlordfor move-in balances (Step 3);get-payment-infowhile move-in receipts stay pending (Step 3b);get-portal-linksbefore key handover (Step 4);get-booking-statusafter move-in (Step 5) (section cross-reference; Deeper workflow reads; hub) - Handling a Late Payment — Step 1 — Collections when payment tools surface unpaid schedules; upstream path from Notifications — Payment overdue alerts (section cross-reference; Deeper workflow reads; hub)
- Handling a Late Payment — Step 6 —
notify-landlordwhen tenants escalate arrears through chatbot channels — contrast with operator segment filters and Landlord MCP portfolio reads; file Using in-app support for Vivin product defects (section cross-reference; Deeper workflow reads; hub) - Managing a Check-out —
get-dates-and-scheduleandlist-bookings-by-emailduring departure planning (Step 1);get-security-deposit-infofor deposit-term questions (Step 1, Step 5);get-maintenance-tickets/create-maintenance-ticketfor turnover prep and inspection-day issues (Steps 2–3);get-payment-infoandnotify-landlordfor damage charges and departure-week balances (Steps 4, 6, 6b);get-booking-statusandget-property-and-locationafter move-out (Step 7) (section cross-reference; Deeper workflow reads; hub) - Cancelling a Booking —
request-contract-data/get-dates-and-scheduleduring Step 1 policy review;get-payment-infobefore settlement (Step 2);get-security-deposit-infoandnotify-landlordduring deposit retention (Step 3);get-booking-statusafter cancel (Step 4);get-listing-calendarwhen tenants ask whether freed nights are bookable (Step 5);get-maintenance-ticketsfor open prep or damage jobs (Step 6) (section cross-reference; Deeper workflow reads; hub) - Manual block hygiene —
get-listing-calendar,list-bookings-by-email, andrequest-booking-datawhen tenants ask about blocked dates during the Audit scan (Step 3);get-listing-calendarandnotify-landlordwhen external assistants surface stale holds (Steps 4–5) (section cross-reference; Deeper workflow reads; hub)
Operations, services & notifications
Operations, services & notifications bullets pair with the matching topic rows in Tenant MCP section cross-reference above. Full pairing matrix: Concept cross-reference.
- Operations module — Maintenance tools and escalations from tenant-context automation (hub)
- Operations > Tickets —
create-maintenance-ticketandget-maintenance-ticketsdestination - Services Marketplace — Portal catalogue context when maintenance or fulfilment tools escalate service requests (hub)
- Settings > Services — Portal catalogue items maintenance tools may list or reference during fulfilment
- Notification triage — In-app alerts tenant automation may reference when triaging payment or message notifications; payment overdue → Handling a Late Payment — Step 1;
get-payment-info,list-bookings-by-email, andnotify-landlordin Step 4 / Step 5 when Inbox threads preceded operator alerts (section cross-reference; Deeper workflow reads; hub) - Notifications module — Full
/notificationshistory with row-click navigation (hub) - Notifications — Payment overdue alerts — Operator Payments category rows when tenant payment tools surface unpaid schedules
- Settings > Preferences — In-app notifications — Alert masters before tenant MCP triage references
/notifications
Deeper workflow reads
Workflow reads pair with Common Workflows hub subsection index and Bookings, payments & lifecycle workflows above. Each workflow sub-guide reciprocates with [Deeper workflow reads](../concepts/tenant-mcp.md#deeper-workflow-reads) anchors on Tenant MCP bullets — hub parity: Concepts hub — Deeper workflow reads. Full pairing matrix: Tenant MCP section cross-reference · Concept cross-reference.
- Processing a New Booking —
list-bookings-by-email,get-payment-info, andget-portal-linksduring import and confirmation (section cross-reference; Deeper workflow reads; hub) - Onboarding a New Property — Tenant categories, chatbot persona, and portal gates before external assistants inherit booking context (section cross-reference; Deeper workflow reads; hub)
- Managing a Check-in —
get-dates-and-schedule,get-portal-links, andcreate-maintenance-ticketduring arrival week (section cross-reference; Deeper workflow reads; hub) - Managing a Check-out & Deposit Refund —
get-security-deposit-info,get-payment-info, andget-booking-statusduring departure (section cross-reference; Deeper workflow reads; hub) - Handling a Late Payment —
get-payment-infoandnotify-landlordwhen tenants escalate arrears through chatbot channels (section cross-reference; Deeper workflow reads; hub) - Cancelling a Booking —
get-payment-info,get-security-deposit-info, andget-listing-calendarduring void and availability restore (section cross-reference; Deeper workflow reads; hub) - Entering Monthly Utility Bills —
get-payment-infoandnotify-landlordwhen utility overage lines post (section cross-reference; Deeper workflow reads; hub) - Notification triage —
get-payment-infoandlist-bookings-by-emailwhen Inbox threads preceded operator alerts (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: Tenant MCP section cross-reference · Concept cross-reference.
- Landlord MCP — Account-wide portfolio tools versus booking-scoped tenant tools (section cross-reference; hub)
- Tenant Portal — Web portal self-service that tenant MCP complements but does not replace (section cross-reference; hub)
- Automation & AI — Channel map, chatbot rules, and external MCP client surfaces (section cross-reference; hub)
- Payment Allocation —
get-payment-infoand portal pay-in context for Layer 1 vs Layer 2 (section cross-reference; hub)
Deeper API reads
API reads pair with API Reference hub subsection index and API guide cross-reference. Full pairing matrix: Tenant MCP section cross-reference · Concept cross-reference.
- Management session authentication — Bootstrap Bearer JWT and
Mcp-Session-Idfor tenant-scoped tools (section cross-reference; hub) - Authentication — Bearer token and
landlordKeyscoping on integration HTTP behind MCP tools (section cross-reference; hub) - Webhooks & Notifications — Inbound channel POSTs tenant assistants may triage alongside MCP reads (section cross-reference; hub)
- Creating Bookings — Underlying
POST /bookingspipeline when automation must confirm a booking exists before tool calls (section cross-reference; hub)
Lockout catch-up after password recovery
Booking-scoped sessions after operator lockout pair with Landlord MCP — How it connects on the operator side. Hub parity: Common Workflows — Lockout catch-up after password recovery. Full pairing matrix: tenant-mcp-section-cross-reference · Concept cross-reference.
- Common Workflows — Lockout catch-up after password recovery — Hub matrix when tenant assistants could not escalate during operator lockout
- Getting Started — Lockout catch-up after password recovery — Canonical operational backlog mesh
- Maintenance and escalation —
notify-landlordbacklog after sign-in recovery - Inbox module — Operator WhatsApp triage for tenant MCP escalations
Pending manual receipt approval
get-payment-info reflects Layer 2 pending state until operators Approve — pair with Payment Allocation. Hub parity: Common Workflows — Pending manual receipt approval. Full pairing matrix: tenant-mcp-section-cross-reference · Concept cross-reference.
- Common Workflows — Pending manual receipt approval — Hub matrix when tenant assistants cite balances before Approve payments
- Property, payments, and portal tools —
get-payment-infoand portal link tools - Tenant Portal — Make payment (Paywall) — Tenant-initiated receipts that stay pending on operator ledgers
- Payment Allocation — Layer 2 receipts — Two-layer timing behind MCP reads
- FAQ — Manual receipt still pending — Set expectations for tenant-facing bots
Reject/revert mistaken receipts
Tenant MCP cannot Reject / Revert — operators finish on Finance. Hub parity: Common Workflows — Reject/revert mistaken receipts. Full pairing matrix: tenant-mcp-section-cross-reference · Concept cross-reference.
- Common Workflows — Reject/revert mistaken receipts — Hub matrix when tenant assistants surface duplicate portal receipts
- Payment Allocation — Correcting mistaken receipts — Operator cleanup path
- Bookings — Row actions on in-payment rows — Per-booking reject/revert
- Maintenance and escalation —
notify-landlordwhen disputes need human review - Glossary — Credit note (payment reject/revert) — Accounting follow-up on invoiced charges
Portfolio segmentation by tenant category
Portal and chatbot rules differ by tenant category — pair with Tenant Portal — Portal access by tenant category. Hub parity: Common Workflows — Portfolio segmentation by tenant category. Full pairing matrix: tenant-mcp-section-cross-reference · Concept cross-reference.
- Common Workflows — Portfolio segmentation by tenant category — Hub matrix when MCP answers must respect segment portal gates
- Chatbot configuration (read-only) —
get-chatbot-rules/get-chatbot-personaper booking context - Settings > Tenant categories — Segment module rules behind MCP reads
- Tenant Portal — Booking-scoped self-service surface MCP tools mirror
- Bookings — Other filters — Operator UI segment filter when validating MCP output
Notification row-click navigation
Booking-scoped MCP clients read the same reservation an alert row-click opens — finish /notifications triage before external send-message follow-ups. Hub parity: Concepts — Notification row-click navigation. Full pairing matrix: Tenant 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
get-payment-info answers do not clear payment overdue — row-click alerts into booking Transactions before MCP payment summaries. Hub parity: Concepts — Payment alert to receivables triage. Full pairing matrix: Tenant 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 stays may surface both portal MCP tools and Booking created alerts — approve confirmation receipts before automated tenant messaging. Hub parity: Concepts — Confirmation alert triage. Full pairing matrix: Tenant 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
get-payment-info and portal-link tools surface booking balances — portfolio Top debtors triage stays on Finance → Overview after tenant MCP sessions. Hub parity: Concepts — Finance debt receivables triage. Full pairing matrix: Tenant 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
Booking-scoped MCP payment context does not replace Income segment-click modals — operators reconcile month-scoped lines on Finance → Overview. Hub parity: Concepts — Finance Income status drill-down. Full pairing matrix: Tenant 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
Tenant portal receipt uploads appear on Cash flow forecast after operator Approve — MCP tools do not list month-level collections history. Hub parity: Concepts — Cash flow forecast drill-down. Full pairing matrix: Tenant 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: Tenant MCP section cross-reference · Concept cross-reference.
-
Tenant category — Portal modules, Communications / Email per segment, and portfolio filters on Bookings, Finance, and Tenants when tenant MCP tools return booking context
-
Deposit dispute — Deposit retention tools and booking Deposit tab state during check-out automation
-
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
-
FAQ — Assign tenant category for direct booking — Add booking has no category field; assign on Tenants → Tenant Info or + Create New → Tenant before contract mail
-
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 —
depositStatuspill vocabularyget-security-deposit-infomirrors for tenant-facing deposit terms -
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)
-
Draft ticket (display status) — Maintenance tickets auto-created around check-in/out that still show Draft until due date
-
Credit note (payment reject/revert) — Reject/revert follow-up when tenant-context automation surfaces already-invoiced receipts
-
Invoiced floor (rent) — Rent edits blocked below exported invoice totals when tenant MCP 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
-
Notification row navigation — Row-click targets after tenant MCP triage surfaces payment alerts
-
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 -
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 — Permission denied toast — Red You do not have permission to perform this action. toast when RBAC blocks a save; fix in Users → Role Permissions
-
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: Tenant MCP section cross-reference · Concept cross-reference.
- Finance module — Ledger rows tenant payment tools may reference after portal receipts (hub)
- Audit — Discounts tab — Portfolio discount context tenant automation may surface during mid-stay relief queries
- Dashboard module — Post-login KPI snapshot with bell notification triage (hub)
- Analytics module — Month-range portfolio KPI charts (hub)
- Listings module — Property wizard, Channels tab, and unit management (hub)
- Tenants module — Tenant directory and profile sidebars (hub)
- Utilities module — Bills Included ceiling model and tenant overage charges (hub)
- Account Settings — Workspace-wide financial policies, templates, and operational defaults (hub)
- API Reference hub — Partner HTTP contracts and partial vs full feeds (hub)