Tenants
Open Tenants as setup step 15 after Bookings (step 14) and Listings (step 13) — complete Getting Started — Recommended Setup Sequence steps 1–12 first. Requires Tenants module permission (tenants.module). After go-live, pair With Debt triage with Finance and Handling a Late Payment. Workflow pairing: Modules — Setup sequence after go-live.
Open Access Path and Interface overview for toolbar filters, then use Core Workflows — especially With Debt triage paired with Finance. Segment with tenant category filter like Bookings and Finance. Guide subsection map: Tenants guide subsection index (directory, profile, and segment sections + Related subsections). Non-linear operator habits (Lockout catch-up, Pending manual receipt approval, 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, Reject/revert mistaken receipts, Partly collected security deposit, Wrong tenant on a booking, Cancel Booking vs Delete Booking, Portfolio segmentation by tenant category) have matching Related subsections below. Full pairing matrix: Tenants section cross-reference · Modules — Module cross-reference.
The Tenants module gives your team a tenant-first workspace for day-to-day follow-up. Instead of starting from a booking, you can search and segment your full tenant base, open a tenant profile, and review bookings, payment plans, and transaction history from one place.
Jump to reservations in Bookings; triage With Debt in Finance Contract Values. During month-end With Debt triage alongside Portfolio KPI review — Step 7, poll AI usage API (landlord_chat) when teams leaned on AI Chat for debtor lookups — there is no in-app ledger screen yet. Section-to-doc pairing: Tenants section cross-reference. Hub tab matrix: Modules — Module cross-reference.
Access Path
- Sidebar path: Portfolio > Tenants
- Route:
/tenants - Direct link: platform.vivin.app/tenants
In the current product navigation, the Tenants sidebar entry is grouped with Listings and Bookings in the Portfolio section. See Deep Links for all management frontend routes.
Opening a tenant by URL
Append the tenant UUID to open the profile sidebar directly, for example /tenants/<tenantId>. If the id does not exist or is outside your account scope, the app shows Tenant not found., clears the bad segment, and returns you to /tenants — see Deep Links — Broken entity deep links.
What You Can Do in the Tenants Module
The module opens on a list/grid of tenant records with fast filtering and search:
- Search by tenant name, email, phone, fiscal ID (NIF / VAT), or identification ID — the directory haystack matches any of these fields server-side (accent-insensitive substring match). A query that spans first and last name (for example
Tim Trompa) matches the concatenated full name, not only each column separately. - Segment by status: All, Active, Inactive, With Debt, No Bookings
- Sort in table view via column headers (Name, Phone, Total, Balance, Status)
- Export the current directory slice as Tenants CSV or Bookings CSV (same filters, search, sort, and status segment as the on-screen list)
Directory loading (infinite scroll)
The tenant directory is server-paged in both grid and table views. The first request loads a batch of rows; as you scroll near the bottom of the page, the app loads the next batch automatically (skeleton placeholders appear while fetching). When every tenant matching your current search, status segment, and sort is loaded, an End of list line appears. Changing any of those controls resets the list and starts from the first batch again — exports always reflect the full filtered result set, not only the rows currently on screen.
Load failures — When the first directory request fails, the page shows a red inline alert card — Failed to load tenants. Please try again. — with optional server detail and Retry instead of an empty grid or table. A successful fetch with no matching tenants is the normal empty state. See Glossary — Directory list load failures.
While the next batch loads, compact skeleton cards (grid) or table skeleton rows (table view) appear at the bottom of the directory:


Selecting a tenant opens a detail sidebar with dedicated tabs:
- Tenant Info — personal details, billing details, bank details, and Category (when tenant categories exist)
- Bookings — all bookings linked to that tenant
- Payments — payment plan context from the tenant's bookings
- Transactions — received payments and allocation history
Core Workflows
With Debt triage pairs with Finance module and Handling a Late Payment — create profiles via Create New menu — Tenant. Full pairing matrix: Tenants section cross-reference.
1) Prioritize Collections and Follow-up
Use the With Debt filter to quickly identify tenants whose net balance is negative (they still owe money across linked bookings). Open each tenant to validate booking context, then coordinate with the Finance module for payment reconciliation.
2) Review Tenant Activity Across Multiple Bookings
Use a single tenant profile to review active and historical bookings without opening each reservation from the bookings table.
3) Maintain Tenant Master Data
Open Tenant Info to update personal/contact details, assign a tenant category (portal and field rules), and maintain billing information used by downstream finance workflows. Saving a new Category back-syncs booking.tenantCategoryId on linked reservations and force-refreshes Finance caches (#2088) — Contract Values, Overview, and Deposits Tenant category filters typically reflect the segment within seconds; see Glossary — Finance tenant category cache refresh.
Use + Create New → Tenant when you need a tenant record before a booking exists (for example a direct enquiry). The modal collects required identity fields and an optional tenant category:

On Tenant Info, click the pencil icon on Personal Information to enter edit mode — category, contact fields, and email-change rules appear inline:

See also Create New menu — People.
4) Investigate Payment Status with Context
Use Payments and Transactions tabs to understand what is scheduled versus what has been paid, then jump into Bookings for contract-level actions when needed.
Permissions and Access
Tenant visibility and editability depend on role permissions:
- Accessing the Tenants module (sidebar entry +
/tenantsroute) requires Tenants module permission (tenants.module). - Creating or updating tenant records requires
tenants.createpermission (in addition totenants.module). - The Bookings tab depends on Bookings module permission (
bookings.module). - The Payments tab depends on Bookings module permission (
bookings.module). - The Transactions tab depends on Finance module permission (
finance.module).
Review and adjust role access in Settings > Users.
Interface overview
Tenant category filter pairs with Bookings — Other filters tenant category and Finance — Tenant category filter — bookmark searches with Deep Links — Tenants ?q=. Full pairing matrix: Tenants section cross-reference.
The Tenants screen combines a toolbar (search, tenant category filter, status filters, sort, view toggle between grid and table, export) with a tenant directory. Status pills (All, Active, Inactive, With Debt, No Bookings) show live counts from the server; pick a segment before you sort or export so the file matches the slice you reviewed.

Tenant category filter
When your account has at least one tenant category configured, the toolbar includes an All categories dropdown (desktop). Pick one or more segments to narrow the directory to tenants assigned that category on Tenant Info, or choose No category for profiles with no segment. The menu stays open while you add selections (same compact pattern as Bookings — Select categories). Search, status pills, sort, grid vs table, and Export all respect the filter server-side — downloads reflect the full filtered population, not only rows already loaded by infinite scroll.

Tenant category filter capture refreshed 2026-06-27 23:04 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL VIVIN_DOCS_TENANT_CATEGORY_SEARCH="Teste Jorge" npx tsx tools/capture-bookings-tenants-tenant-category-filter-screenshots.ts).
Status pills, Add tenant modal, and Tenant Info edit mode captures refreshed 2026-06-16 11:06 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-tenants-screenshots.ts).
Use Search when you want a tight view of one tenant or a small set of matches — especially helpful in busy directories where the default sort can surface mixed or internal test labels at the top of the list. Paste a fiscal ID or ID number when collections or onboarding paperwork references the tax id instead of the tenant’s display name.

Fiscal ID search capture refreshed 2026-06-12 00:05 UTC (npx tsx tools/capture-tenants-fiscal-id-search-screenshot.ts). The same haystack also matches identification ID — see Glossary — Directory search ranking.
Bookmarkable search (?q=)
The toolbar Search field syncs to the URL query parameter q. Share or bookmark a filtered directory view, for example platform.vivin.app/tenants?q=smith.
- On load, back, or forward navigation, the input hydrates from
?q=so bookmarked or shared links land on the same filtered list. - As you type, the URL updates after a short debounce (~250ms) with
replaceso history does not stack one entry per keystroke. - Clearing the search removes
qfrom the URL. - Status pills, sort, and grid vs table stay in component state only — they are not encoded in the URL today.
- The directory API request debounces separately (~1s) so typing stays responsive while the server catches up.



Grid card anatomy (dense directory view)
In grid view, each tenant card is a self-contained summary — useful for collections and multi-booking follow-up without opening the full profile first.
| Region | What it shows |
|---|---|
| Header (clickable) | Avatar, name, Active / Inactive pill, email, phone, nationality flag — opens the tenant detail sidebar (/tenants/<id>). |
| Balance strip | Roll-up Balance (net financial position across linked bookings). Shown only when balance ≠ 0 — red when the tenant owes money, teal when credit remains. |
| Booking groups | Reservations grouped by status — Ongoing, Upcoming, Ended, Cancelled, Refunded — with up to two rows per group before collapse. |
| Per-booking rent / balance | Each preview row shows rent on the right; when a booking has negative financial balance, a red amount appears under rent (same rules as Bookings). |
| Show all bookings / Show less | Expands the card when a tenant has more bookings than the preview limit. |
| Booking row click | Opens the booking sidebar in place (contract-level context) without navigating away from the directory. |
When a tenant has more bookings in a status group than the preview limit (two rows per group), the card stays collapsed until you click Show all bookings. Show all bookings reveals every row in that card; Show less returns to the preview limit so dense directories stay scannable.
Click any booking row (not the tenant header) to open the booking sidebar while staying on /tenants — useful when you are triaging debt on the card and need contract or payment context without losing your filter.

Use table view when you need column sort and dense scanning; use grid when debt and booking mix matter at a glance. Cross-module triage: Handling a Late Payment (With Debt + expand), Glossary — Tenants table expand, Deep Links — Tenants.
Table view (expandable booking rows)
In table view, each tenant occupies one summary row. Sort by Name, Phone, Total, Balance (net roll-up), or Status using the column headers. Wider breakpoints also show Nationality, a compact Bookings breakdown (coloured chips such as on / up / en / ca for ongoing, upcoming, ended, and cancelled counts), and Category.
| Action | Result |
|---|---|
| Click the row (chevron area) | Expand or collapse an inline sub-table of that tenant’s linked bookings. |
| Click the tenant name | Open the tenant detail sidebar (/tenants/<id>) without leaving the directory. |
| Click a booking sub-row | Open the booking sidebar in place (same pattern as grid cards). |
When expanded, a header row labels the sub-table columns:
| Column (English UI) | What it shows |
|---|---|
| Unit | Listing internal name for the reservation. |
| Rent | Contract rent for that booking. |
| Created | Booking creation date (when the viewport is wide enough). |
| Status | Booking status badge (Ongoing, Upcoming, etc.). |
| Period | Contract / move-in window for the stay. |
| Balance | Current booking balance from the same rules as Bookings — red when the tenant owes money, teal when credit remains, em dash when settled. |
| Src | Sales platform icon (channel source). |
| CT | Contract signed indicator (check vs dash icon with tooltip). |
Tenants with no linked bookings show an italic No bookings line when you expand the row.

Table expand capture refreshed 2026-06-20 19:08 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-tenants-table-expanded-screenshots.ts — search Köster, expand first clean row with bookings).
Export (Tenants CSV / Bookings CSV)
Use Export on the toolbar when you need a spreadsheet of the same slice you are reviewing (status pills, Search, sort, and grid vs table view all apply server-side).
Open Export, then choose:
| Option | File |
|---|---|
| Tenants CSV | One row per tenant in the current result set (directory fields). |
| Bookings CSV | Booking rows linked to tenants in that same filtered directory view. |
Downloads use dated filenames from the API. If the filtered list is empty, the export action does not produce a file.
When the export API returns an error (for example HTTP 400/500), Vivin shows a toast (Export failed.) instead of leaving the menu closed with no file — narrow filters or retry after connectivity improves. See Glossary — Export and download failures. The Bookings list uses an inline alert under the toolbar for the same class of failure.

Tenant detail sidebar
Click a tenant card header, a table row name, or use Edit flows from the directory to open the detail sidebar on the right. (In table view, clicking the row body expands bookings inline — use the name link for the profile sidebar.) The URL updates to /tenants/<tenant-id> so you can bookmark or share a profile (subject to the same Tenants module permission). The sidebar header shows the tenant name and status; close it with the X control or by navigating back to /tenants.
| Tab | What you see |
|---|---|
| Tenant Info | Personal Information, Billing Information, and Bank Details in one scrollable view (grid layout aligned with the booking sidebar). Each section has its own pencil edit control when your role includes tenants.create. |
| Bookings | All reservations linked to this tenant (requires Bookings module). |
| Payments | Payment-plan context aggregated from those bookings (requires Bookings module). |
| Transactions | Received payments and allocation history (requires Finance module). |


Payments aggregates scheduled charges from every booking linked to the tenant (status pills, totals, and per-booking breakdowns when data exists):

Transactions lists received payments and allocation history pulled from those bookings (filters for in/out payment types when transactions exist). Manual receipts may still show as pending until someone with Approve payments confirms them on Finance → Transactions or the booking Transactions tab — the tenant-level roll-up can look settled while Pending rows still exist on the ledger (the Overview Manual Payments KPI includes approved manual receipts too). Reject payment, bulk Reject selected, and Revert payment modals warn about credit notes when Finance may already have invoiced the charge — see Payment Allocation — Correcting mistaken receipts. See Finance — Pending manual payments.

From Bookings or Transactions, use in-sidebar links to jump into the Bookings module when you need contract-level actions (including per-row Approve payment when a receipt is still pending).
Tenants guide subsection index
This index pairs Tenants directory, profile, and segment sections with Related subsections — use it when With Debt rows disagree with Finance ledgers or Bookings reservation context. Full pairing matrix: Tenants section cross-reference.
Tenants section cross-reference
Use this table when one Tenants section or control naturally leads into another module, workflow, or concept — each row links to the docs you should read before or after acting in that section.
Related
Related below links this module to settings, concepts, workflows, and escalation paths. Pair Documentation map & escalation with Modules hub — Documentation map & escalation; pair Upstream & downstream workflows with Common Workflows — Workflow cross-reference. Topic-to-section pairing in sections above: Tenants guide subsection index · Tenants section cross-reference. Full hub matrix: Module cross-reference · Modules hub subsection index.
Documentation map & escalation
Documentation-map bullets pair with Introduction — Section cross-reference and FAQ — Section cross-reference. Hub parity: Modules hub — Documentation map & escalation. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Modules hub — Hub pairing matrix across operator workspaces
- Management Frontend Deep Links — Bookmark
/tenants/:tenantIdprofile sidebars - Getting Started — Interface and navigation overview
- Glossary — Term definitions used across tenant and booking workflows
Upstream & downstream workflows
Workflow bullets pair with Common Workflows — Workflow cross-reference. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Processing a New Booking (section cross-reference; Deeper workflow reads; hub) — Booking creation and tenant onboarding flow
- Handling a Late Payment (section cross-reference; Deeper workflow reads; hub) — Collections workflow (With Debt segment); upstream path from Notifications — Payment overdue alerts
- Managing a Check-in (section cross-reference; Deeper workflow reads; hub) — Fiscal-ID lookup when a walk-in arrives without a prior profile
- Managing a Check-out & Deposit Refund (section cross-reference; Deeper workflow reads; hub) — Tenant IBAN and balance context before Mark refunded on departure week
- Cancelling a Booking (section cross-reference; Deeper workflow reads; hub) — Void reservations and reconcile tenant debt segments
- Notification triage (workflow) (section cross-reference; Deeper workflow reads; hub) — Jump from
/notificationsinto tenant or booking profiles; payment overdue rows usually open the booking sidebar first
Deeper workflow reads
Workflow reads pair with Common Workflows hub subsection index and Workflow cross-reference. Each workflow sub-guide reciprocates with [Deeper workflow reads](../modules/tenants/index.md#deeper-workflow-reads) anchors on Module documentation hubs bullets — hub parity: Modules hub — Deeper workflow reads. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Processing a New Booking — Fiscal-ID lookup, profile creation, and Category on Tenant Info during Step 2 (section cross-reference; Deeper API reads; hub)
- Handling a Late Payment — With Debt segment triage and table expand for linked bookings (section cross-reference; Deeper API reads; hub)
- Managing a Check-in — Fiscal-ID lookup when a walk-in arrives without a prior profile (section cross-reference; Deeper API reads; hub)
- Managing a Check-out & Deposit Refund — Tenant IBAN and balance context before Mark refunded on departure week (section cross-reference; Deeper API reads; hub)
- Cancelling a Booking — Void reservations and reconcile With Debt segments after cancel (section cross-reference; Deeper API reads; hub)
- Notification triage — Row-click into tenant profile sidebars when alerts carry
tenantId(section cross-reference; Deeper API reads; hub) - Portfolio KPI review — Tenant category filter toolbar during Step 6 weak-metric segmentation (section cross-reference; Deeper API reads; hub)
- Onboarding a New Property — Tenant directory and profile sidebars after setup steps 13–15 (section cross-reference; Deeper API reads; hub)
Settings that shape Tenants
Settings bullets pair with Account Settings — Tab cross-reference. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Settings > Tenant categories — Portal rules and Category on Tenant Info
- Settings > Users — Role and permission matrix
- Settings > Preferences — In-app notifications — Account-wide payment alert masters before collections from With Debt segments
- Settings > Emails — Segment Communications / Email toggles on Tenant categories before profile outreach
Deeper concept reads
Concept reads pair with Concepts hub subsection index and Concept cross-reference. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Tenant Portal — What tenants can edit in the portal vs operator-only profile fields (section cross-reference; 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
- Payment Allocation — Correcting mistaken receipts — Approve, reject, and revert reference (section cross-reference; hub)
- Services Marketplace — Ancillary tenant revenue visible on tenant Payments tabs (section cross-reference; hub)
- Integrations & Distribution — Tenants created automatically when marketplace bookings import through connected channels (section cross-reference; hub)
- Tenant MCP — External automation that reads the same tenant profile fields operators edit here (section cross-reference; hub)
- Landlord MCP — Account-scoped tools (
list-tenants, profile updates) from external clients on the same JWT session (section cross-reference; hub) - Booking Lifecycle — Computed Upcoming → Ongoing → Ended / Canceled status model, list filters, and Timeline (section cross-reference; hub)
Operator modules (pairing surfaces)
Module hub bullets pair with Modules — Module cross-reference. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Bookings — Reservation lifecycle and tenant-linked booking actions
- Finance — Payment operations and reconciliation
- Finance — Pending manual payments — Approve manual receipts before With Debt / Transactions look current
- Audit — Discounts tab — Portfolio-wide discounted contract values when a tenant spans multiple bookings
- Inbox module — Portfolio-wide WhatsApp triage when collections need message context
- Analytics (KPI workspace) — Portfolio trends when tenant debt segments need month-range context
Navigation & bookmarks
Bookmark routes pair with Management Frontend Deep Links and Create New menu. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Create New — Tenant — Sidebar quick-create without navigating to Tenants first
Lockout catch-up after password recovery
Operational backlog after sign-in recovery pairs with Resetting a Management User Password — Step 3. Hub parity: Common Workflows — Lockout catch-up after password recovery. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Lockout catch-up after password recovery — Hub matrix when sign-in was restored mid-setup before step 15 tenant profiles are complete
- Getting Started — Lockout catch-up after password recovery — Canonical operational backlog mesh
- Notification triage — Clear tenant-linked payment alerts before Mark all as read
- Processing a New Booking — Step 6 — Tenant Info Category and portal gates delayed by lockout
- Pending manual receipt approval — With Debt counts may lag until Finance clears Pending receipts
Pending manual receipt approval
Receipt approval pairs with Finance — Pending manual payments and Bookings — Transactions tab. Hub parity: Common Workflows — Pending manual receipt approval. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
-
Common Workflows — Pending manual receipt approval — Hub matrix when With Debt segmentation still shows unpaid lines until Approve payments clears recorded transfers
-
Finance — Pending manual payments — Amber Pending chip on portfolio Finance → Transactions
-
Core Workflows — With Debt directory filter paired with Finance Contract Values after pending receipts are approved
-
Bookings — Transactions tab — Per-row Approve payment on linked booking receipts
-
FAQ — Manual receipt still pending — Why tenant debt visibility may lag until approval
-
FAQ — Pending manual receipt approval hub — Symptom table for Approve payments / amber Pending
Reject/revert mistaken receipts
Receipt cleanup pairs with Finance — Row actions on in-payment rows and Bookings — Row actions on in-payment rows. Hub parity: Common Workflows — Reject/revert mistaken receipts. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
-
Common Workflows — Reject/revert mistaken receipts — Hub matrix when mistaken receipts on a tenant's bookings need Reject / Revert after Approve
-
Tenant detail sidebar — Transactions — Read-only receipt history before acting on Finance row actions
-
Finance — Row actions on in-payment rows — Portfolio reject/revert on Finance → Transactions
-
Payment Allocation — Correcting mistaken receipts — Two-layer model and credit note follow-up
-
Handling a Late Payment — Step 1 — Re-triage With Debt after reject/revert changes outstanding balance
-
FAQ — Reject/revert mistaken receipts hub — Symptom table for Reject / Revert / Issue credit notes
Check-out ledger cleanup before refund
Duplicate-transfer cleanup pairs with Reject/revert mistaken receipts and Managing a Check-out. Hub parity: Common Workflows — Check-out ledger cleanup before refund. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
-
Common Workflows — Check-out ledger cleanup before refund — Hub matrix when With Debt segmentation shows phantom balance from duplicate transfer on linked bookings
-
Reject/revert mistaken receipts — Reject / Revert duplicate before Ready To Refund
-
Managing a Check-out — Step 6 — Canonical departure-week duplicate cleanup before refund
-
Common Workflows — Check-out collections before refund — Real arrears contrast (tenant did not pay)
-
Bookings — Transactions tab — Revert duplicate before tenant outreach
-
Handling a Late Payment — Step 1 — Collections only when arrears are real
-
FAQ — Check-out ledger cleanup before refund hub — Symptom table for phantom In Debt / Ready To Refund blocked when tenant paid once
Utility overage collections
With Debt tenant segmentation includes utility overage In Debt after bill posting — open booking Payment Plan before outreach. Hub parity: Common Workflows — Utility overage collections. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
-
Common Workflows — Utility overage collections — Hub matrix when With Debt rows include utility overage lines after bill posting
-
1) Prioritize Collections and Follow-up — Tenant directory triage before Step 3
-
Finance — Contract Values tab — Portfolio In Debt filter for overage lines
-
Entering Monthly Utility Bills — Step 4 — Confirm overage posted before collections
-
Handling a Late Payment — Steps 1–4 — Collections mesh
-
FAQ — Utility overage collections hub — Symptom table for unpaid utility overage on Payment Plan after bill posting
Cancellation collections before void
Pre-cancel arrears pair with Cancelling a Booking and Handling a Late Payment. Hub parity: Common Workflows — Cancellation collections before void. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
-
Common Workflows — Cancellation collections before void — Hub matrix when With Debt segmentation shows pre-cancel arrears on linked bookings before void
-
Cancelling a Booking — Step 2 — Settle tenant-linked booking before void
-
Handling a Late Payment — Step 1 — Collections after With Debt triage
-
Bookings — Payment Plan tab — Unpaid lines blocking Cancel booking
-
Reject/revert mistaken receipts — Duplicate settlement before void outreach
-
Common Workflows — Check-out collections before refund — Departure-week contrast
-
FAQ — Cancellation collections before void hub — Symptom table for In Debt blocking Cancel booking until Payment Plan settles
Check-out collections before refund
Departure-week arrears on With Debt tenants pair with Managing a Check-out and Handling a Late Payment. Hub parity: Common Workflows — Check-out collections before refund. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
-
Common Workflows — Check-out collections before refund — Hub matrix when With Debt segmentation shows departure-week rent arrears blocking refund
-
Managing a Check-out — Step 6 — Settlement on tenant-linked bookings
-
Handling a Late Payment — Step 1 — Collections after With Debt triage
-
Bookings — Payment Plan tab — Unpaid schedule on tenant bookings
-
Bookings — Deposit tab — Ready To Refund after settlement
-
Common Workflows — Check-out ledger cleanup before refund — Phantom With Debt from duplicate transfer
-
Common Workflows — Cancellation collections before void — Pre-cancel void contrast
-
FAQ — Check-out collections before refund hub — Symptom table for rent/fee In Debt blocking Ready To Refund before deposit release
Handling a Late Payment collections
With Debt tenant segmentation pairs with Handling a Late Payment after confirming per-booking Payment Plan — not portfolio rank alone. Hub parity: Common Workflows — Handling a Late Payment collections hub. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Handling a Late Payment collections hub — Hub matrix when With Debt segmentation needs collections Steps 1–6 (
finance-overview-income-chart-debt-aging.png,bookings-detail-payment-plan-tab-schedule.png) - Managing a Check-out — Step 6 — Settlement on tenant-linked bookings
- Handling a Late Payment — Step 1 — Collections after With Debt triage
- Bookings — Payment Plan tab — Unpaid schedule on tenant bookings
- Finance debt receivables triage — Top debtors cross-check vs With Debt filter
- Pending manual receipt approval — Pending on tenant settlement transfers
- Common Workflows — Check-out collections before refund — Departure-week arrears on tenant bookings
- FAQ — Handling a Late Payment collections hub — Symptom table for triage surface → collections step pairing
Check-out vs cancellation
Tenant directory rows stay linked after both Ended and Canceled exits — route lifecycle questions to Managing a Check-out vs Cancelling a Booking before deposit or collections outreach. Hub parity: Common Workflows — Check-out vs cancellation. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Check-out vs cancellation — Hub matrix: tenant profile vs booking lifecycle exit (
tenants-directory-grid.png,bookings-list-canceled-tab.png) - Interface overview — Open linked booking from directory before Cancel booking vs check-out routing
- Core Workflows — Prioritize Collections — With Debt arrears may block either exit path's settlement
- Bookings — Check-out vs cancellation — Ended / Canceled on tenant's reservations
- Managing a Check-out — Completed stay tenant closure
- Cancelling a Booking — Policy void tenant closure
- FAQ — Check-out vs cancellation — Symptom table for lifecycle exit routing
Deposit missing on Finance Deposits
Tenant directory rows stay linked after deposit collection — open the booking Deposit tab, then clear Finance → Deposits toolbar date range when portfolio triage cannot find the stay. Hub parity: Common Workflows — Deposit missing on Finance Deposits. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Deposit missing on Finance Deposits — Hub matrix (
tenants-directory-grid.png,finance-deposits-date-range-clear-flow.mp4) - Interface overview — Open linked booking Deposit tab before Finance portfolio triage
- Bookings — Deposit tab — Per-booking Initial Deposit vs Finance row
- Finance — Deposit missing on Finance Deposits — Toolbar Clear date range selection
- Managing a Check-out — Deposit missing on Finance Deposits — Step 5 refund triage after clearing range
- FAQ — Deposit missing on Finance Deposits — Symptom table for toolbar date range triage
Cancel Booking vs Delete Booking
The tenant directory shows master profiles — Delete Booking soft-archives a reservation and hides Manual Transactions on Finance → Transactions (#1897); it does not remove the tenant profile. Wrong profile on valid stay → Change tenant on Contract Info. Hub parity: Common Workflows — Cancel Booking vs Delete Booking. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Cancel Booking vs Delete Booking — Hub matrix (
bookings-cancel-booking-modal-refund-types.png,finance-transactions-type-summary-cards.png) - Glossary — Cancel Booking vs Delete Booking hub — Surface table + per-guide/module mesh reciprocal hub
- Bookings — Delete Booking (soft archive) — Reservation-level soft-archive
- Wrong tenant on a booking — Change tenant — not profile overwrite or Delete
- Handling a Late Payment — Cancel Booking vs Delete Booking — Collections escalation Cancel vs Delete (Step 6)
- Finance — Archived bookings on the ledger — Ledger buckets after soft-archive (#1897)
- FAQ — Cancel Booking vs Delete Booking — Decision table
Wrong tenant on a booking
The tenant directory shows master profiles — when a booking points at the wrong existing tenant, fix the reservation with Change tenant on Contract Info, not by overwriting another tenant's NIF or email in the profile sidebar. Hub parity: Common Workflows — Wrong tenant on a booking. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Wrong tenant on a booking — Hub matrix (
bookings-detail-change-tenant-control.png,bookings-detail-change-tenant-flow.mp4) - Bookings — Change tenant — Reassign booking without editing master record in place
- Processing a New Booking — Wrong tenant on a booking — Post-import profile check on Step 6
- Managing a Check-in — Wrong tenant on a booking — Pre-move-in check on Step 5
- Notification triage — Wrong tenant on a booking — Alert row-click into booking Contract Info
- FAQ — Wrong tenant on a booking — Picker mistake vs profile edit
Notification row-click navigation
/notifications row-click with tenantId opens the tenant detail sidebar on this module — review linked Bookings and Transactions tabs before bulk Mark all as read. Most payment overdue alerts carry bookingId and land on Bookings instead; use With Debt here when you need tenant-first collections without a fresh alert. Hub parity: Common Workflows — Notification row-click navigation. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Notification row-click navigation — Hub matrix (
notifications-module-row-click-target.png,notifications-row-navigation-flow.mp4) - Notifications module — Notification row-click navigation — Canonical inbox pairing
- Bookings — Notification row-click navigation — Booking sidebar when alert carries
bookingId - Inbox — Notification row-click navigation — Bell Inbox
linkdeep-link vs General row-click - Operations — Notification row-click navigation — Turnover-week alerts that row-click into Bookings first
- Listings — Notification row-click navigation — Property or unit sidebar when alert carries
listingIdorpropertyId - Utilities — Notification row-click navigation — Overage payment overdue alerts after bill cycle
- Sales — Notification row-click navigation — Channel-import alerts before Multicalendar review
- Analytics — Notification row-click navigation — Month-range KPI charts after row-click opens booking context
- AI Chat — Notification row-click navigation — Verify assistant-cited alerts by row-click before operational follow-up
- Audit — Notification row-click navigation — Discounts / Manual Blocks month-end review after row-click
- Legacy
/propertiesURLs — Notification row-click navigation — Legacy bookmarks that land in Listings during alert triage - Booking engine details — Notification row-click navigation — Engine-sourced alerts before Full integration payload edits
- Dashboard — Notification row-click navigation — Bell General vs full
/notificationsrow-click - Opening a tenant by URL —
/tenants/<tenantId>deep link after row-click - Tenant detail sidebar — Profile tabs after
tenantIdrow-click - Notification triage — Step 4 — Row-click before Step 5
- Payment alert to receivables triage — Ongoing/Ended payment overdue row-click (usually Bookings)
- Confirmation alert triage — Upcoming Booking created / Payment received row-click
- Core Workflows — Prioritize collections — With Debt segment without a fresh alert
- Interface overview — Table view — Expand booking sub-rows from tenant profile context
- Wrong tenant on a booking — Verify Tenant card after row-click lands on booking Contract Info
- Handling a Late Payment — Notification row-click navigation — payment overdue on Step 1 after alert row-click
- Notification triage — Notification row-click navigation — Canonical Steps 4 / 5 path
- FAQ — Notification row-click navigation — Target field order (
link,bookingId,tenantId,listingId,propertyId)

Payment alert to receivables triage
Ongoing/Ended payment overdue alerts on /notifications usually row-click into Bookings — cross-check the tenant's net balance on With Debt and Transactions here before you trust portfolio Debt Aging or Dashboard Total Debt. Hub parity: Common Workflows — Payment alert to receivables triage. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Payment alert to receivables triage — Hub matrix (
notifications-row-navigate-to-booking-detail.png,notifications-row-navigation-flow.mp4,finance-overview-debt-aging-walkthrough-flow.mp4) - Notifications module — Payment alert to receivables triage — Payments category row-click entry
- Bookings — Payment alert to receivables triage — Payment Plan / Transactions on opened booking
- Finance — Payment alert to receivables triage — Overview → Debt Aging after single-booking triage
- Inbox — Payment alert to receivables triage — payment overdue on General before WhatsApp chase
- Operations — Payment alert to receivables triage — Unpaid move-in lines before key handover on Check-in & Check-out
- Listings — Payment alert to receivables triage — Property Payments Active portal charges on listing bookings
- Utilities — Payment alert to receivables triage — Utility overage lines behind overdue alerts
- Sales — Payment alert to receivables triage — Channel-import schedules behind overdue alerts
- Analytics — Payment alert to receivables triage — Revenue trend may lag until receivables clear
- AI Chat — Payment alert to receivables triage — Validate assistant debt answers after receivables triage
- Audit — Payment alert to receivables triage — Discounts review when receivables lag behind goodwill lines
- Legacy
/propertiesURLs — Payment alert to receivables triage — Collections on bookings tied to redirected properties - Booking engine details — Payment alert to receivables triage — Engine-sourced schedules behind overdue alerts
- Finance — Finance debt receivables triage — Portfolio Top debtors when alert batch needs rank
- Notification row-click navigation — Row-click on
/notificationsbefore portfolio KPI read - Core Workflows — Prioritize collections — With Debt filter paired with Finance Contract Values
- Tenant detail sidebar — Transactions — Receipt history on opened profile
- Pending manual receipt approval — Amber Pending before With Debt sign-off
- Confirmation alert triage — Contrast Upcoming vs Ongoing/Ended alerts
- Handling a Late Payment — Payment alert to receivables triage — payment overdue on Step 1 after alert row-click
- Portfolio KPI review — Payment alert to receivables triage — Month-end alert batch on Step 7
- Notification triage — Payment alert to receivables triage — Payments row-click on Step 4
- FAQ — Payment alert to receivables triage — Alert-type contrast table
- FAQ — Payment alert to receivables triage hub — With Debt cross-check on tenant profile symptom table
Finance debt receivables triage
Cross-check With Debt segmentation and tenant Transactions after alert triage — portfolio Top debtors may rank bookings differently than profile net balance. Hub parity: Common Workflows — Finance debt receivables triage. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Finance debt receivables triage — Hub matrix (
finance-overview-income-chart-debt-aging.png,finance-overview-debt-aging-walkthrough-flow.mp4) - Payment alert to receivables triage — Single-booking alert triage before portfolio surfaces
- Finance — Finance debt receivables triage — Debt Aging Top debtors canonical surface
- Pending manual receipt approval — Clear amber Pending before Top debtors sign-off
- Dashboard — Finance debt receivables triage — Total Debt headline vs Finance drill-down
- Bookings — Finance debt receivables triage — Payment Plan on opened booking
- Handling a Late Payment — Finance debt receivables triage — Debt Aging on Step 1 before outreach
- Portfolio KPI review — Finance debt receivables triage — Month-end Top debtors on Step 7
- FAQ — Finance debt receivables triage hub — Symptom table for four-surface triage
- Core Workflows — With Debt — Directory filter during collections
- Interface overview — Table view — Expandable booking rows for balance roll-up
Finance Income status drill-down
With Debt on tenant profiles cross-checks single-tenant balance — use Debt Aging Top debtors when you need portfolio rank beyond Income → In debt modal. Hub parity: Common Workflows — Finance Income status drill-down. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Finance Income status drill-down — Hub matrix (
finance-overview-income-status-in-debt-modal.png,finance-overview-income-drill-down-flow.mp4) - Finance debt receivables triage — Debt Aging Top debtors when payment-line modal is not enough
- Finance — Income status drill-down — Stacked Income chart canonical surface
- FAQ — Finance Income status drill-down hub — Symptom table for segment vs Debt Aging
- FAQ — Finance Income status drill-down — Paid / Scheduled / In debt segment-click habit
- Portfolio KPI review — Finance Income status drill-down — Month-end Income reconciliation on Step 7
- Tenants — Finance debt receivables triage — With Debt cross-check vs Top debtors
- Core Workflows — Prioritize collections — With Debt filter before portfolio segment read
Cash flow forecast drill-down
With Debt on tenant profiles shows single-tenant balance — Cash flow forecast lists portfolio-wide confirmed collections for a month. Hub parity: Common Workflows — Cash flow forecast drill-down. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — 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) - Finance Income status drill-down — Paid / Scheduled / In debt segments — not collections history
- Finance — Income chart and cash flow forecast — Canonical Cash flow forecast chart surface
- 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
- Portfolio KPI review — Cash flow forecast drill-down — Month-end collections reconciliation on Step 7
- Tenants — Finance debt receivables triage — With Debt cross-check vs Top debtors
- Core Workflows — Prioritize collections — With Debt filter before portfolio collections read
Confirmation alert triage
Upcoming Booking created / Payment received rows on /notifications usually row-click into Bookings — verify Tenant Info Category and master data on this module when confirmation-week alerts cluster on one segment. Finish Processing a New Booking — Step 5b / Step 6 before bulk-clear on post-login bell backlog. Hub parity: Common Workflows — Confirmation alert triage. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Confirmation alert triage — Hub matrix (
notifications-row-navigate-to-booking-detail.png,notifications-row-navigation-flow.mp4) - Notifications module — Confirmation alert triage — Canonical inbox pairing
- Bookings — Confirmation alert triage — Transactions / Contract Info on Upcoming imports
- Inbox — Confirmation alert triage — WhatsApp thread after Payment received row-click
- Dashboard — Confirmation alert triage — Post-login Upcoming alert backlog on bell
- Operations — Confirmation alert triage — Turnover prep after confirmation receipts approved
- Listings — Confirmation alert triage — Channel import bookings on go-live properties
- Utilities — Confirmation alert triage — First bill cycle after go-live alerts
- Sales — Confirmation alert triage — Channel-import Upcoming alerts before Channels linking
- Analytics — Confirmation alert triage — Upcoming alerts during month-end KPI review
- AI Chat — Confirmation alert triage — Assistant-cited confirmation backlog before bulk mark-read
- Audit — Confirmation alert triage — Month-end Discounts review after confirmation receipts approved
- Legacy
/propertiesURLs — Confirmation alert triage — First alerts after legacy redirects land in Listings - Booking engine details — Confirmation alert triage — White-label Upcoming alerts before payload sync
- Notification row-click navigation — Row-click on
/notificationsbefore mark-read - Payment alert to receivables triage — Contrast Upcoming vs Ongoing/Ended payment overdue
- Wrong tenant on a booking — Change tenant when row-click exposes wrong profile on Contract Info
- Tenant category filter — All categories toolbar before account-wide template changes
- Core Workflows — Maintain tenant master data — Tenant Info pencil after confirmation alerts
- Processing a New Booking — Step 5b / Step 6 — Canonical confirmation gates
- Finance — Confirmation alert triage — Transactions amber Pending before Overview KPI refresh
- Notification triage — Confirmation alert triage — Steps 4 / 5 path
- Portfolio KPI review — Confirmation alert triage — Month-end alert cleanup on Step 7
- FAQ — Confirmation alert triage — Alert-type table and bulk mark-read guard
- FAQ — Confirmation alert triage hub — Tenant Info / Category on confirmation-week clusters symptom table
New inventory to first booking handoff
Tenant Info Category on first go-live reservations must match Onboarding a New Property — Step 4 before Processing a New Booking — Step 2 or channel import portal gates on Step 6. Hub parity: Common Workflows — New inventory to first booking handoff. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Tenant category filter — Segment first reservations on go-live inventory
- Bookings — New inventory to first booking handoff — Tenant Info on first Upcoming stay
- Listings — New inventory to first booking handoff — Property-level Tenant category defaults
- Onboarding a New Property — Step 4 — Upstream category on property wizard
- Processing a New Booking — Step 2 — Manual first booking Category
- Common Workflows — New inventory to first booking handoff — Hub matrix (
bookings-add-booking-modal.png,workflows-onboarding-property-wizard.mp4) - Glossary — Tenant category — Portal module gates on first stay
- Property setup to first arrival handoff — Downstream arrival-week re-verify
- FAQ — New inventory to first booking handoff — Symptom table for property wizard → first reservation
Property setup to first arrival handoff
Tenant Info Category on first go-live reservations must match Onboarding a New Property — Step 4 before Managing a Check-in — Step 1 re-verifies portal gates. Hub parity: Common Workflows — Property setup to first arrival handoff. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Tenant category filter — Segment first arrivals on go-live inventory
- Bookings — Property setup to first arrival handoff — Tenant Info on first Upcoming stay
- Listings — Property setup to first arrival handoff — Property-level Tenant category defaults
- Onboarding a New Property — Step 4 — Upstream category on property wizard
- Managing a Check-in — Step 1 — Re-verify Category before keys
- Common Workflows — Property setup to first arrival handoff — Hub matrix (
listings-property-edit-access-lockers-tab.png,workflows-operations-check-in-out-planning-view.png) - Glossary — Tenant category — Portal module gates on first stay
- FAQ — Property setup to first arrival handoff — Symptom table for go-live → first arrival week
Confirmation to check-in handoff
Tenant Info Category and portal rules on Upcoming reservations must be correct before Managing a Check-in — Step 1. Hub parity: Common Workflows — Confirmation to check-in handoff. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Tenant detail sidebar — Category and portal gates before arrival week
- Confirmation alert triage — Tenant Info / Category on confirmation-week clusters
- Bookings — Confirmation to check-in handoff — Contract Info portal gates on Upcoming imports
- Managing a Check-in — Step 1 — Downstream arrival-week entry
- Common Workflows — Confirmation to check-in handoff — Hub matrix (
bookings-detail-contract-method-of-payments.png,workflows-operations-check-in-out-planning-view.png,booking-lifecycle-status-tabs-flow.mp4) - Processing a New Booking — Step 6 — Upstream portal sanity before handoff
- Pending manual receipt approval — Step 5b confirmation receipts before handoff
- FAQ — Confirmation to check-in handoff — Symptom table for Upcoming → arrival week
Check-in to check-out handoff
Ongoing tenant profiles entering departure week pair with Managing a Check-out — Step 1 on linked bookings — distinct from Confirmation to check-in handoff on Upcoming reservations. Hub parity: Common Workflows — Check-in to check-out handoff. Full pairing matrix: tenants-section-cross-reference · Module cross-reference.
- Tenant detail sidebar — Active Ongoing bookings entering departure week
- Interface overview — With Debt status pill before departure-week refund planning
- Bookings — Check-in to check-out handoff — Reservation-level handoff after keys handed over
- Operations — Check-in to check-out handoff — Check-outs planning surface
- Managing a Check-in — Step 4 — Upstream keys handed over
- Managing a Check-out — Step 1 — Downstream departure-week entry
- Common Workflows — Check-in to check-out handoff — Hub matrix (
operations-check-in-out-check-outs-next-7-days.png,bookings-timeline-view.png) - FAQ — Check-in to check-out handoff — Symptom table for Ongoing → departure week
Check-out final utilities handoff
Departing tenant profiles with utility overage In Debt on linked bookings pair with Entering Monthly Utility Bills — Step 4 before Managing a Check-out — Step 6. Hub parity: Common Workflows — Check-out final utilities handoff. Distinct from Check-out collections before refund (rent/fee arrears). Full pairing matrix: tenants-section-cross-reference · Module cross-reference.
- Interface overview — With Debt status pill from utility overage on departure week
- Tenant detail sidebar — Active booking utility overage before move-out
- Bookings — Check-out final utilities handoff — Reservation-level Payment Plan / Deposit path
- Utilities — Check-out final utilities handoff — Canonical bill posting upstream
- Entering Monthly Utility Bills — Step 4 — Upstream overage posting verification
- Managing a Check-out — Step 6 — Settlement before deposit release
- Common Workflows — Check-out final utilities handoff — Hub matrix (
utilities-allocations-review-flow.mp4,bookings-detail-payment-plan-tab-schedule.png) - FAQ — Check-out final utilities handoff — Symptom table for final utility overage blocking refund
Same-day turnover coordination
Outgoing and incoming tenant profiles on the same unit the same calendar day pair with hub Common Workflows — Same-day turnover coordination — check With Debt on the departing stay before incoming key handover. Distinct from Check-out collections before refund (rent/fee arrears only). Full pairing matrix: tenants-section-cross-reference · Module cross-reference.
- Common Workflows — Same-day turnover coordination — Hub matrix (
operations-add-ticket-modal.png,bookings-timeline-day-week-month-and-sidebar.mp4) - Interface overview — With Debt on outgoing stay blocks incoming handover timing
- Tenant detail sidebar — Active bookings on shared unit same day
- Bookings — Same-day turnover coordination — Reservation-level Timeline overlap
- Operations — Same-day turnover coordination — Check-ins / Check-outs week lists
- Managing a Check-out — Same-day turnover coordination — Turnover ticket due date on Step 2
- Managing a Check-in — Same-day turnover coordination — Check-ins overlap on Step 1 before Step 4
- FAQ — Same-day turnovers — Four-step operator habit
- Glossary — Same-day turnover — Shared-unit vocabulary
WhatsApp per-booking messaging
Tenant profile threads opened from Inbox row-click pair with Bookings → Communication when the operator needs reservation-level Payment Plan context. Hub parity: Glossary — WhatsApp per-booking messaging hub · Common Workflows — WhatsApp per-booking messaging. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — WhatsApp per-booking messaging — Hub matrix (
bookings-detail-communication-tab-whatsapp-thread.png,inbox-module-overview.png,inbox-module-triage-flow.mp4) - Glossary — WhatsApp per-booking messaging hub — Surface table + per-guide/module mesh reciprocal hub
- Dashboard — WhatsApp per-booking messaging — Bell Inbox sub-tab vs General on post-login scan
- Notifications — WhatsApp per-booking messaging — Canonical
/notificationsmessage alert rows - Bookings — WhatsApp per-booking messaging — Communication tab composer with Payment Plan context
- Inbox — WhatsApp per-booking messaging — Cross-booking triage and bell Inbox sub-tab
- Finance — WhatsApp per-booking messaging — Collections outreach with Transactions visible
- Operations — WhatsApp per-booking messaging — Maintenance ticket threads on Communication
- Listings — WhatsApp per-booking messaging — Go-live property tenant threads after channel import
- Utilities — WhatsApp per-booking messaging — Utility overage bill questions on Communication
- Sales — WhatsApp per-booking messaging — Channel-import message backlog during Multicalendar review
- Analytics — WhatsApp per-booking messaging — Month-end message backlog during KPI review
- AI Chat — WhatsApp per-booking messaging — Assistant-cited threads before operational follow-up
- Audit — WhatsApp per-booking messaging — Month-end communication review after Discounts audit
- Legacy
/propertiesURLs — WhatsApp per-booking messaging — Legacy bookmarks during message triage - Booking engine details — WhatsApp per-booking messaging — Engine-sourced tenant threads before payload sync
- Tenant detail sidebar — Profile context after Inbox tenant name click
- Notification row-click navigation — Alert row-click when
tenantIdis set - Common Workflows — Notification row-click navigation —
New WhatsApp message from …on/notificationsvs bell Inbox - Notification triage — WhatsApp per-booking messaging — Message pings on bell Inbox /
/notifications - Handling a Late Payment — WhatsApp per-booking messaging — Collections outreach on Step 3
- Managing a Check-in — WhatsApp per-booking messaging — Arrival-week threads before Step 4
- Managing a Check-out — WhatsApp per-booking messaging — Departure settlement on Step 6
- Processing a New Booking — WhatsApp per-booking messaging — Confirmation follow-up on Step 6
- Cancelling a Booking — WhatsApp per-booking messaging — Void outreach before Step 4
- Entering Monthly Utility Bills — WhatsApp per-booking messaging — Overage bill questions on Step 4
- Portfolio KPI review — WhatsApp per-booking messaging — Month-end message backlog on Step 7
- Manual block hygiene — WhatsApp per-booking messaging — Blocked-date questions on Step 3
- Onboarding a New Property — WhatsApp per-booking messaging — First tenant threads on Step 7 go-live
- Using in-app support — WhatsApp per-booking messaging — Self-serve Inbox / Communication before filing
- Resetting a Management User Password — WhatsApp per-booking messaging — Lockout-delayed bell Inbox after Step 3
- FAQ — WhatsApp per-booking messaging hub — Tenant Info thread jump without booking Payment Plan symptom table
Bot reasoning (audit)
Tenant profile after Inbox name click on bot thread. Hub parity: Glossary — Bot reasoning (audit) hub · Common Workflows — Bot reasoning (audit). Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Bot reasoning (audit) — Hub matrix (
bookings-detail-communication-tab-bot-reasoning-expanded.png) - Glossary — Bot reasoning (audit) hub — Surface table + per-guide/module mesh reciprocal hub
- Bookings — Bot reasoning (audit) — Canonical Communication Reasoning control
- ChatBot settings — Read-only audit vs editable persona / IF/THEN
ChatBot settings
Account Settings → ChatBot pairs with Communication thread review — tenant profile after inbox name click on bot thread. Hub parity: Glossary — ChatBot settings hub · Common Workflows — ChatBot settings. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — ChatBot settings — Hub matrix (
settings-chatbot-tab-overview.png,settings-chatbot-status-bot-connected.png,settings-chatbot-save-rule-flow.mp4) - Glossary — ChatBot settings hub — Surface table + per-guide/module mesh reciprocal hub
- ChatBot settings — Persona, IF/THEN rules, Status Bot pairing
- Glossary — Bot reasoning (audit) hub — Thread audit after rule changes
Rent reduction after invoicing
Tenant profile Linked bookings may need Change monthly rent on months already invoiced — open the reservation sidebar before goodwill repricing. Pair Bulk Hostkit invoicing when external relief surfaces Not issued credit note rows. Hub parity: Common Workflows — Rent reduction after invoicing. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Rent reduction after invoicing — Hub matrix (
bookings-detail-change-monthly-rent-modal.png,bookings-rent-reduction-invoiced-floor-flow.mp4) - Bookings — Changing contract dates and rent — Contract Info repricing entry point
- Bookings — Contract Values tab — Per-line Edit amount under the same floor
- Finance — Invoiced floor and rent edits — Why edits start on the booking, not Finance → Transactions
- Tenant detail sidebar — Bookings tab jump to Contract Info repricing
- Processing a New Booking — Rent reduction after invoicing — Confirmation month already invoiced on Step 3
- Handling a Late Payment — Rent reduction after invoicing — Collections goodwill after Step 4
- Portfolio KPI review — Rent reduction after invoicing — Month-end repricing sign-off on Step 7
- Cancelling a Booking — Rent reduction after invoicing — Settlement repricing during Step 2b
- Managing a Check-in — Rent reduction after invoicing — Pre-move-in goodwill
- Managing a Check-out — Rent reduction after invoicing — Departure-week goodwill adjustments
- Notification triage — Rent reduction after invoicing — Row-click to invoiced booking on Step 4
- Entering Monthly Utility Bills — Rent reduction after invoicing — Month-end bill cycle on Step 5
- Manual block hygiene — Rent reduction after invoicing — Hold cleanup on Step 5
- Using in-app support — Rent reduction after invoicing — Self-serve before filing tickets
- Resetting a Management User Password — Rent reduction after invoicing — Lockout-delayed repricing after Step 3
- FAQ — Rent reduction after invoicing hub — Tenant profile linked booking repricing blocked by invoiced floor symptom table
Month-end invoicing (fixed date)
Tenant profile Linked bookings may carry month-end Pending receipts — save fixed Invoice date before Finance → Transactions bulk Issue allocation after clearing confirmation meshes on opened reservations. Hub parity: Common Workflows — Month-end invoicing (fixed date). Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Month-end invoicing (fixed date) — Hub matrix (
settings-invoicing-invoice-date-toggle.png,finance-transactions-fixed-invoice-date-banner.png,finance-transactions-bulk-toolbar-fixed-invoice-date-banner.png) - Invoicing — Default invoice date — Account-wide toggle + Save
- Common Workflows — Bulk Hostkit invoicing — Issue allocation after fixed date is saved
- Tenant detail sidebar — Bookings tab jump before month-end export
- Finance — Month-end invoicing with a fixed date — Bulk Issue allocation after fixed date is saved
- Processing a New Booking — Month-end invoicing (fixed date) — First-month bulk export after confirmation (Step 6b)
- Handling a Late Payment — Month-end invoicing (fixed date) — Collections batch during Step 6b
- Portfolio KPI review — Month-end invoicing (fixed date) — Step 7 sign-off mesh
- Notification triage — Month-end invoicing (fixed date) — Alert cleanup before bulk Issue allocation (Step 5)
- Entering Monthly Utility Bills — Month-end invoicing (fixed date) — Finish Missing data + overage Pending (Steps 4b–5)
- Manual block hygiene — Month-end invoicing (fixed date) — Clear stale holds before Issue allocation (Step 5)
- Using in-app support — Month-end invoicing (fixed date) — Self-serve before filing wrong-date tickets
- Resetting a Management User Password — Month-end invoicing (fixed date) — Lockout-delayed month-end export after Step 3
- FAQ — Month-end invoicing (fixed date) hub — Tenant profile linked booking month-end Pending mesh before bulk export symptom table
Bulk Hostkit invoicing
Tenant profile Linked bookings may carry month-end Pending receipts — clear before Finance → Transactions bulk Issue allocation. Hub parity: Common Workflows — Bulk Hostkit invoicing. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Bulk Hostkit invoicing — Hub matrix (
finance-transactions-bulk-selection-bar.png,settings-invoicing-hostkit-series.png) - Common Workflows — Month-end invoicing (fixed date) — Fixed Invoice date before bulk Issue allocation
- Settings > Invoicing — Hostkit invoice series — Required FR code before Issue allocation
- Finance — Invoice automation — Bulk Issue allocation / Invoice selected toolbar
- Finance — Issuing credit notes (integrated invoicing) — Issue credit notes (N) after invoiced Reject / Revert
- Tenant detail sidebar — Month-end Pending mesh on opened profiles
- Finance — Bulk Hostkit invoicing — Transactions toolbar reference
- Processing a New Booking — Bulk Hostkit invoicing — First-month Issue allocation after confirmation (Step 6b)
- Handling a Late Payment — Bulk Hostkit invoicing — Collections month-end mesh (Step 6b)
- Portfolio KPI review — Bulk Hostkit invoicing — Step 7 month-end sign-off
- Managing a Check-in — Bulk Hostkit invoicing — Move-in Pending mesh (Step 6b)
- Managing a Check-out — Bulk Hostkit invoicing — Departure-week mesh (Step 6b)
- Onboarding a New Property — Bulk Hostkit invoicing — First month-end on new inventory
- Cancelling a Booking — Bulk Hostkit invoicing — Settlement bulk export (Step 6b)
- Notification triage — Bulk Hostkit invoicing — Alert cleanup before bulk export (Step 5)
- Entering Monthly Utility Bills — Bulk Hostkit invoicing — Finish Missing data + overage Pending (Steps 4b–5)
- Manual block hygiene — Bulk Hostkit invoicing — Clear stale holds before Issue allocation (Step 5)
- Using in-app support — Bulk Hostkit invoicing — Self-serve Hostkit pacing before filing tickets
- Resetting a Management User Password — Bulk Hostkit invoicing — Lockout-delayed month-end export after Step 3
- FAQ — Bulk Hostkit invoicing slow — Hostkit HTTP 429 pacing and refresh-before-reissue habit
- FAQ — Bulk Hostkit invoicing hub — Tenant profile linked booking month-end Pending mesh before bulk Issue allocation symptom table
Directory list load failures
The tenant directory first-fetch failure shows Failed to load tenants. Please try again. + Retry — distinct from With Debt / No Bookings filters that genuinely match zero profiles. Pair Directory loading (infinite scroll) with Handling a Late Payment — Step 1 when receivables triage needs the directory. Hub parity: Common Workflows — Directory list load failures. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Directory list load failures — Hub matrix (
notifications-module-load-failure.png) - Directory loading (infinite scroll) — First-fetch Retry on grid and table views
- Handling a Late Payment — Directory list load failures — Receivables directory Retry on collections triage (Step 1)
- Notification triage — Directory list load failures — /notifications Try again before tenant row-click (Step 2)
- Resetting a Management User Password — Directory list load failures — Directory Retry after lockout catch-up (Step 3)
- FAQ — Directory list load failures — Whole-module vs empty filter state
- FAQ — Directory list load failures hub — Tenant directory Retry vs No Bookings empty state symptom table
- Glossary — Directory list load failures hub — Surface table + per-guide/module mesh reciprocal hub
Occupancy KPI to block hygiene handoff
With Debt tenant counts that diverge from Analytics → Occupancy for the same range may reflect stale manual holds on otherwise vacant units — pair hub Common Workflows — Occupancy KPI to block hygiene handoff before blaming tenant segment rules. Hub parity: Common Workflows — Occupancy KPI to block hygiene handoff. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Occupancy KPI to block hygiene handoff — Hub matrix (
tenants-list-with-debt-filter.png,analytics-kpi-occupancy-tab.png,audit-manual-blocks-filter-scroll.mp4) - Tenant category filter — Segment dip vs hold-suppressed vacancy contrast
- Finance — Occupancy KPI to block hygiene handoff — Receivables KPIs after holds clear
- Dashboard — Vacant Units — Live vacancy widget vs Analytics
- Portfolio segmentation by tenant category — When segment — not holds — explains the dip
- FAQ — Occupancy KPI to block hygiene handoff hub — Symptom table for vacancy vs debt triage
- Managing a Check-in — Occupancy KPI to block hygiene handoff — Timeline overlap from stale holds on Step 1
- Managing a Check-out — Occupancy KPI to block hygiene handoff — Calendar bars persist after Step 7
- Cancelling a Booking — Occupancy KPI to block hygiene handoff — Availability not restored on Step 5
- Entering Monthly Utility Bills — Occupancy KPI to block hygiene handoff — Dashboard vs Analytics vacancy mismatch on Step 5
- Notification triage — Occupancy KPI to block hygiene handoff — Vacant Units vs Analytics on Step 1
- Resetting a Management User Password — Occupancy KPI to block hygiene handoff — Lockout-delayed KPI review after Step 3
- Using in-app support — Occupancy KPI to block hygiene handoff — Calendar edit blocked after block hygiene
- Handling a Late Payment — Occupancy KPI to block hygiene handoff — Vacant Units vs Multicalendar holds on Step 1
Partly collected security deposit
Deposit shortfalls pair with Finance — Deposits status summary cards and Bookings — Deposit tab. Hub parity: Common Workflows — Partly collected security deposit. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Partly collected security deposit — Hub matrix when Paid on the deposit is above zero but below Amount
- Finance — Deposit lifecycle status cards — Partial paid card for portfolio triage (#2091)
- Finance — Deposit status filter — Other filters → Deposit status → Partial paid on Bookings and Finance (#2090)
- 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)
- FAQ — Communication or Tickets load failure — Tab-scoped Refresh (Communication) or Retry (Tickets); other booking sidebar tabs stay usable
- 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)
- Bookings — Deposit tab — Partially paid badge and remaining helper on a single reservation
- FAQ — Partly collected security deposit — Distinct from Partial Paid rent on Payment Plan
- Glossary — Deposit lifecycle status —
depositStatuspill vocabulary (Partial Paid vs rent Partial Paid) - Finance — Deposit lifecycle status cards — Deposit lifecycle status row on Finance → Deposits; click Partial paid for collection shortfalls (#2091)
- Finance — Deposit lifecycle status cards — Deposit lifecycle status row (#2091)
- Manual block hygiene — Partly collected security deposit — Partial paid card when debt KPIs stay high after holds cleared (Step 5)
- Resetting a Management User Password — Partly collected security deposit — Lockout-delayed deposit triage after Step 3
- Using in-app support — Partly collected security deposit — File Finance module tickets when partial filter or badge behaviour is wrong
Portfolio segmentation by tenant category
Segment filters pair with Settings > Tenant categories and Portfolio KPI review — Step 6. Hub parity: Common Workflows — Portfolio segmentation by tenant category. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Common Workflows — Portfolio segmentation by tenant category — Hub matrix when segment filters must align across reservations, receivables, and tenant profiles
- Tenant category filter — All categories toolbar dropdown on the Tenants directory
- Bookings — Other filters — Tenant category on reservation list Other filters
- Finance — Tenant category filter — Ledger segmentation for In Debt triage on one cohort
- Settings > Tenant categories — Define segments, portal gates, and integration defaults
- Portfolio KPI review — Step 6 — Optional month-end segment pass on weak tenant-debt metrics
- Onboarding a New Property — Portfolio segmentation by tenant category — Define segments before channel imports
- Processing a New Booking — Portfolio segmentation by tenant category — Assign Category before contract mail (Step 2)
- Managing a Check-in — Portfolio segmentation by tenant category — Re-verify portal gates on arrival week
- Notification triage — Portfolio segmentation by tenant category — Alert clusters on one segment
- Handling a Late Payment — Portfolio segmentation by tenant category — Segment-scoped collections
- Portfolio KPI review — Portfolio segmentation by tenant category — Month-end segment pass (Step 6)
- Managing a Check-out — Portfolio segmentation by tenant category — Departure-week In Debt clusters (Step 6)
- Cancelling a Booking — Portfolio segmentation by tenant category — Settlement backlog on one segment (Step 2)
Key glossary terms
Glossary rows pair with Glossary cluster cross-reference. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
-
Deposit dispute — Contested deposit retention when a tenant has multiple bookings or an active dispute flag
-
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)
-
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)
-
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 — Partial Paid vs rent Partial Paid on tenant-linked bookings
-
Finance — Deposit status filter — Other filters → Deposit status multi-select on Bookings and Finance (#2090)
-
Finance — Deposit status filter — Other filters → Deposit status multi-select (#2090)
-
Credit note (payment reject/revert) — Accounting follow-up when clearing mistaken receipts from tenant Transactions
-
Invoiced floor (rent) — Rent relief on invoiced months during collections (outside Vivin via credit notes)
-
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
-
Directory search ranking — Fiscal ID / identification ID search (no unit-first re-rank)
-
Tenants table expand — Inline booking sub-table in table view (
tenants-table-expand-flow.mp4) -
Notification row navigation — Row-click targets from
/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 -
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
-
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 — Overview Income chart (Paid / Scheduled / In debt); click a segment for month-scoped payment-line modal; Debt Aging for booking-level receivables
-
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
API & companion guides
API bullets pair with API Reference hub. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- API Reference — Creating Bookings — Partner imports that create thin tenant profiles before you enrich Tenant Info here
- API Reference — Management session — Operator JWT routes when scripts enrich imported tenant profiles before Tenant Info saves
- AI usage API — Internal LLM token ledger (
GET /ai-usage/summary;landlord_chat) when month-end With Debt triage pairs with Portfolio KPI review — Step 7
Module documentation hubs
Module hub bullets pair with Modules — Module cross-reference. Full pairing matrix: Tenants section cross-reference · Module cross-reference.
- Tenants module — Tenant directory, profile sidebars, With Debt segmentation, and table expand for linked bookings (this page)
- Utilities module — Bills Included ceiling model, Connections, AI bill upload, and tenant overage charges on payment plans (hub)
- Operations module — Maintenance tickets, cash flows, check-in/out coordination, Draft ticket queues, and linked cash flows (hub)
- Dashboard module — Post-login Today, Total debt, Vacant Units, and forecast KPI snapshot with bell notification triage (hub)
- Analytics module — Month-range portfolio KPI charts (Overview, Revenue, Occupancy, ADR, RevPAR, Maintenance) with rankings and heatmaps (hub)
- Listings module — Property wizard, Channels tab, Archived inventory, and unit management (hub)
- Properties workspace — Legacy
/propertiesURL redirects into Listings (hub) - Booking engine details — Rich marketplace payload editor via the Full integration pill (hub)
- Finance module — Portfolio ledgers (Overview, Income, Contract Values, Transactions, Payouts, Deposits) with payment approval and deposit settlement (hub)
- Sales module — Portfolio availability, monthly rent editing, and channel manager connections (hub)
- Inbox module — Portfolio-wide WhatsApp workspace with Dashboard bell Inbox sub-tab deep links (hub)
- Notifications module — Full
/notificationshistory with search, filters, and row-click navigation (hub) - AI Chat module — Vivin-internal AI Assistant using Landlord MCP tools for portfolio Q&A (hub)
- Audit module — Portfolio-wide Manual Blocks and Discounts contract-value review (hub)
- Account Settings — Workspace-wide financial policies, templates, integrations, and operational defaults (hub)
- API Reference hub — Partner HTTP contracts, Swagger onboarding, and partial vs full feeds (hub)