Skip to main content

FAQ & Troubleshooting

Finding your way in this guide

Start with Navigation & shortcuts for shell behaviour, permissions, and directory UX; use Bookings and Payments & Finance for reservation and ledger troubleshooting. First-time administrators configuring a workspace should pair answers here with Getting Started — Recommended Setup Sequence (steps 1–12 tab map: Account Settings — Recommended setup order, then steps 13–15 in Listings, Bookings, and Tenants). Payment overdue alerts: Handling a Late Payment — Step 1 after a /notifications row-click. Tenant-facing issues: Tenant Portal & Mobile App paired with Settings & tenant communications. Term definitions: Glossary deep-dive index Habit-specific shortcuts live under Related below.

First-time workspace setup

Complete Getting Started — Recommended Setup Sequence (steps 1–12 on Account Settings tabs per Recommended setup order, then steps 13–15 in Listings, Bookings, and Tenants) and Onboarding a New Property — Step 7 go-live verification before you rely on FAQ answers for setup blockers. When behaviour does not match expectations during setup, start with Navigation & shortcuts (step 3 permissions), Settings & tenant communications (steps 10–12), and Help & Vivin support (when to file tickets). When sign-in was restored mid-setup, see Getting Started — Lockout catch-up after password recovery. Workflow pairing after go-live: Setup sequence after go-live.

Pair with other FAQ sections

Directory and permission answers here pair with Notifications & alerts (bell vs /notifications) and Settings & tenant communications (email and Communication Rules). Why does my browser tab say VIVIN | Inbox? covers the Tools → Inbox tab title. During first-time setup, confirm Getting Started — Recommended Setup Sequence step 3 (Users) before greyed-out + Create New rows block onboarding. Mobile-only shell: Navigation & shortcuts (mobile) (FAQ — Phone shows Operations only.

Why are some rows in + Create New greyed out? Each action checks your role’s create permissions for that record type (tenants, bookings, tickets, and so on). Disabled rows include a no permission tooltip on hover. Ask an account administrator to adjust Users and roles. See the full action list in Create New Menu.

Why do I see “You do not have permission to perform this action”?​

Vivin blocked the API call because your role lacks the granular permission for that action (save, delete, approve, and similar mutations). The toast is the localized replacement for the backend Forbidden resource denial when no more specific business message applies. Some controls are hidden or greyed out up front (+ Create New, Finance tabs without Approve payments); others stay visible until you click Save or a row action. An administrator can fix this in Users and roles → Role Permissions. After they change your role, refresh or navigate to a new page — you do not need to sign out. See Blocked actions in the app.

The + Create New slide-out keeps every shortcut in one grid; which rows are clickable depends on those permissions (and, for Tools, whether you are on a Vivin internal sign-in — see the next question).

Create New slide-out — category grid; actions you cannot use stay disabled with a no-permission hint on hover

Why don’t I see a “Tools” block inside + Create New? The Tools category (currently Upload Utility Bills) is shown only when you are signed in with an email address ending in @vivin.app (Vivin internal operators). Customer accounts see the other five categories only. Internal users who still lack the underlying permission for utility bill upload will see Tools but with that action disabled.

Why don’t I see “AI Assistant” under Tools in the sidebar? The AI Assistant screen (/ai-chat) is available to roles granted the AI / MCP row in Role permissions — on by default for Admin and Super Admin, switched on per role by an administrator. The app hides the nav entry for other roles, and opening the URL directly shows the standard permission state (this is a role permission, not the + Create New > Tools email check above). See the AI Chat module and bookmarkable route in Deep Links — AI Assistant.

Why don’t I see “Analytics” under Business in the sidebar? The Analytics entry (/analytics, portfolio KPI charts) is shown only when your role includes the Analytics module permission (analytics.module). Administrators can grant it in Users and roles. Opening /analytics directly without permission shows the standard access-denied state. For what each tab shows, see the Analytics module; tab-level URLs and behaviour are listed under Deep Links — Analytics (KPI Dashboard).

Why don’t I see “Audit” under Tools (or why is Audit empty / blocked)? Audit (/audit) reviews manual availability blocks across your portfolio. The sidebar entry uses the same Listings module permission as the Listings workspace — if you cannot open Listings, you cannot open Audit either. The workspace does not replace the unit Calendar in Listings; it helps you spot blocks that may be stale or mis-described. When Analytics Occupancy dips without a rate change, pair Portfolio KPI review — Step 3 with hub Common Workflows — Occupancy KPI to block hygiene handoff before you edit Settings → Tenant categories account-wide. Use Created by (multi-select; the menu stays open while you add a second teammate) after staff turnover, clickable column headers for server-side sort (for example Unit or End), and Export for the full filtered set — see Audit — Toolbar and filters and Manual block hygiene. See Audit module and Deep Links — Audit.

Audit — Manual Blocks tab with portfolio-wide table, filters, and management shell

Why does my browser tab say VIVIN | Inbox?​

When you open Tools → Inbox (/inbox), the browser tab reads VIVIN | Inbox. A Dashboard bell Inbox row that opens /inbox?contact=… keeps that same title — it does not show the tenant’s name.

Opening the bell Inbox slide-over on Dashboard, Bookings, or another module does not change the tab until you follow a link to /inbox.

ScreenBrowser tab
Tools → InboxVIVIN | Inbox
Tools → AI AssistantVIVIN | AI Assistant
Help & SupportVIVIN | Support
Sign-inVIVIN

Browser tab — VIVIN | Inbox on Tools → Inbox

Walkthrough: open Tools → Inbox and read VIVIN | Inbox in the browser tab.

See Inbox — Browser tab title (inbox-browser-tab-vivin-inbox.png, inbox-browser-tab-vivin-inbox-flow.mp4).

Does picking a second Created by teammate close the Manual Blocks menu?​

No. Open Created by on Tools → Audit → Manual Blocks, tick the first teammate, then tick a second teammate. The menu stays open with checks on both. The table shows holds created by any of the people you picked. Ticking names here only filters the list — it does not change who created a block. Date range is a calendar, not this menu. Tickets Assignee and Check-in & Check-out Responsible are different controls. Dismiss the menu when the chips under the toolbar look right. See Audit — Created by stays open.

A shared link opens the wrong Finance tab, or the URL says /finance/foo while I see Overview — is that normal? Tabbed modules (Finance, Operations, Sales, Utilities, Account Settings, Analytics) rewrite unknown :tab segments to a safe default (usually the module Overview) so the address bar matches what is on screen. Legacy aliases (for example /sales/calendar → /sales/pricing) still work where documented. If a link includes a tenant, property, unit, or transaction id that does not exist, you get a short not found message and return to the parent list (unit sidebar bookmarks toast Unit not found.; full-page /listings/:id shows Listing not found with Back to listings). See Deep Links — Broken entity deep links and Why do I see Unit not found on a Listings link?.

Unit deep-link answers pair with Deep Links — Broken entity deep links, Listings — Property and unit deep links, Listings — Full-page unit detail, and Booking engine details — Legacy URLs.

Bookmarks that open a unit sidebar (/listings/unit/:listingId, /listings/units/:listingId, or /listings/property/:propertyId/unit/:listingId) load the unit from the server. When that id is missing, mistyped, soft-deleted, or outside your account, Vivin shows a Unit not found. toast and replaces the URL with /listings — you are not left on an empty editor. Property bookmarks use the same pattern with Property not found.

Link shapeMissing-id feedback
/listings/unit/… / /listings/units/… / …/unit/…Unit not found. toast → /listings
/listings/property/:propertyId/… (missing property)Property not found. toast → /listings
/listings/:listingId (full-page detail)In-page Listing not found + Back to listings
Legacy /booking-engine-details/listing/:listingIdRedirects to /listings when the unit cannot be resolved

Open the unit again from the Portfolio table (or ask a teammate for a fresh link) after confirming the unit still exists and is not archived with its parent property. Soft-deleted units opened from an already-loaded portfolio row can show an unavailable panel inside the sidebar instead of the toast — that only applies when the catalogue row was already on screen.

Can I connect Vivin to an external AI assistant (for example ChatGPT or Claude with MCP)? Yes, for automation against the same Core API the management app uses. Landlord MCP exposes account-scoped portfolio tools (bookings, listings, maintenance, and more, depending on your role). Tenant MCP targets booking- and tenant-scoped flows (portal links, chatbot rules, maintenance for a reservation). Both require a valid management-user token and respect the same permissions as HTTP clients. Administrators tune tool permissions on Account Settings → AI / MCP (/settings/mcp); API keys suit IDE and custom clients, while Claude.ai and ChatGPT connectors use OAuth on the Core API host — see Landlord MCP — Connector OAuth. Protocol details: Landlord MCP and Tenant MCP; HTTP contracts: API Reference.

How do Claude or ChatGPT connectors sign in to Landlord MCP?​

Hosted MCP connectors (Claude.ai, ChatGPT) run Vivin's OAuth 2.1 authorization-code flow on the Core API host — you sign in on a Vivin consent page that lists the tool domains you are granting. PKCE is required. The connector receives a management JWT (same shape as browser login) plus a refresh token (60-day lifetime, rotates on use). This path does not use the API keys card on AI / MCP — keys remain for IDE configs (Cursor, Claude Desktop) and custom scripts. Enable at least one tool domain on Account Settings → AI / MCP before authorizing; zero enabled domains returns access_denied. Revoke by turning AI access off for the user or disabling every domain — the next refresh fails and the connector asks you to sign in again. Operator narrative: Landlord MCP — Connector OAuth. HTTP endpoints: MCP OAuth.

Where do I configure Landlord MCP API keys and tool permissions?​

Ask AI Chat “Where do I open AI / MCP to create Landlord MCP API keys and manage tool permissions?” — then open Account Settings → System → AI / MCP at /settings/mcp (ai-chat-product-context-ai-mcp-reply.png, ai-chat-product-context-ai-mcp-flow.mp4). The assistant typically says Settings → AI (it may omit System); follow Settings → System → AI / MCP. The English tab label is AI / MCP. Admin and Super Admin edit Connection, API keys, account Tool permissions, Per-user permissions, and review the Permission audit trail and Genius activity logs. The tab opens for every role granted the AI / MCP row in Role permissions (the same switch as Tools → AI Assistant, /ai-chat; on by default for Admin and Super Admin); other roles with the row see a read-only My permissions card plus the connection card. See Users and roles — Role permissions. External MCP clients: get-vivin-context-platform (or get-vivin-context-ai).

AI Assistant — where to open AI / MCP to create Landlord MCP API keys and manage tool permissions

Walkthrough: ask where to open AI / MCP to create Landlord MCP API keys and manage tool permissions, then open Settings → System → AI / MCP.

Where do I configure catalogues that Tenant MCP assistants read?​

Ask AI Chat “Where do I configure Services, Ticket priority, and ChatBot persona or special rules that booking-scoped Tenant MCP assistants read (not Account Settings AI / MCP Landlord API keys, and not Tools → AI Assistant)? Name the Settings tabs — product navigation only, no account data.” — then open Services under Tenant Portal, Ticket priority as a ChatBot subtab, and ChatBot (ai-chat-product-context-tenant-mcp-reply.png, ai-chat-product-context-tenant-mcp-flow.mp4). The assistant may still say older paths such as Property → Services or a standalone Ticket Priority tab; use Tenant Portal → Services and System → ChatBot (Ticket priority subtab). These are the same catalogues Tenant MCP tools such as list-available-services, get-ticket-priority-rules, get-chatbot-persona, and get-chatbot-rules load — not AI / MCP Landlord connection URL / API keys. Concept hub: Tenant MCP. External MCP clients: get-vivin-context-ai (or get-vivin-context-platform / get-vivin-context-operations).

AI Assistant — where to configure Services, Ticket priority, and ChatBot catalogues Tenant MCP assistants read

Walkthrough: ask where to configure Services, Ticket priority, and ChatBot catalogues for Tenant MCP, then open Settings → System → ChatBot (reply may say Sistema → assistente virtual).
Pair with other FAQ sections

Phone-only Operations shell answers pair with Operations (bottom tab bar, field workflows), Getting Started — Mobile phones (operations-only shell), Operations — Mobile and narrow layouts (redirect vs 768px bottom tabs), Deep Links — Operations (bookmark /operations/* on phones), **Glossary — Operations-only phone shell.

Why does my phone only show Operations?​

On an actual mobile phone (user-agent detection — not merely a narrow browser window), anyone whose role includes the Operations module gets an operations-focused shell: other module URLs redirect to /operations, and the mobile menu shows Operations only. That is intentional for field coordination (tickets, check-in/out, cash flows). iPads, tablets, and desktop browsers resized narrow keep the full module list — only phone-class devices are locked. Use a tablet or desktop browser when you need Listings, Bookings, Finance, and the rest of the portfolio tools from a phone. Support ticket links under /settings/support still open on phones. Roles without Operations access are not redirected. Inside Operations on any viewport below 768px, a bottom tab bar still appears for tab switching — that part is width-based, separate from the phone-only redirect. The Dashboard notifications bell is hidden on narrow viewports — use /notifications directly on phones. See Getting Started — Mobile phones (operations-only shell), Operations — Mobile and narrow layouts, Glossary — Operations-only phone shell, and Deep Links — Operations.

Operations — Tickets tab on a narrow viewport with the mobile bottom tab bar

For a short clip of the /bookings → /operations redirect and bottom tab bar, see the video on Getting Started — Narrow viewports or Operations — Mobile and narrow layouts.

Notifications & alerts​

Pair with other FAQ sections

Payment and overdue alert behaviour pairs with Payments & Finance and Bookings (row-click navigation into booking sidebars — FAQ — Notification row-click navigation, Notification row-click navigation hub (symptom table for /notifications row-click vs Dashboard bell — notifications-row-navigation-flow.mp4), Glossary — Notification row navigation.

Where do I open the full notification history (search and read filters)? Open the Notifications module at /notifications — for example platform.vivin.app/notifications. The Dashboard header bell (desktop only) shows a compact recent list with General and Inbox sub-tabs when the global inbox release is active — Inbox rows deep-link to /inbox or booking Communication; the bell still has no search or All / Unread / Read pills. Bookmark /notifications when you triage the full mixed history regularly. See Notification triage.

Notifications module — full history at /notifications with All filter, search, and totals line

Why is the Dashboard notifications bell missing on my phone? The bell slide-over is tied to the Dashboard header and is hidden on narrow viewports in the current layout. Use /notifications directly for the same events with search, filters, and infinite history on mobile.

Why are General notifications empty for my owner-linked login?​

Pair with other FAQ subsections

When your management email matches an Owners record, Vivin limits General rows on the Dashboard bell and on /notifications to alerts that resolve to your buildings (via property, listing, or booking — tenant-only as a fallback). Rows with no portfolio id stay hidden. Full-account teammates can still see payment or ticket alerts on other landlords’ properties. Confirm Listings shows only your buildings, then compare with a full-account login if you expected account-wide history. Preferences and personal opt-outs still apply on top of this filter. owner-scope-notifications-bell-general.png, owner-scope-notifications-page.png, owner-scope-notifications-flow.mp4.

Why does clicking a notification on /notifications open a booking or tenant?​

SurfaceRow click behaviourBest for
/notificationsOpens link, then bookingId, tenantId, listingId, or propertyId (first match)Payment alerts, ticket pings, search + All / Unread / Read filters
Dashboard bell — GeneralOpens in-panel Notification detail unless link is setQuick desktop scan — not full triage
Dashboard bell — InboxFollows link to /inbox or booking CommunicationWhatsApp / inbox message pings
MobileBell hidden — use /notifications directlySame row-click navigation as desktop full page
Symptom after row-clickLikely causeFix
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pending manual in-payment alert persistsReceipt still pending on ledgerTransactions → Approve payment — Pending manual receipt approval
Total Debt unchangedTransfer not approved yetAmber Pending chip on Finance → Transactions
Landed on booking but debt unclearPayment overdue vs pending alertPayment Plan or Finance debt receivables triage
Bell row did not navigateGeneral tab in-panel detailUse /notifications for row-click triage

On the full Notifications page, a row click marks unread items in the background, then navigates when the event carries a target: backend link, then bookingId, tenantId, listingId, or propertyId (first match). Payment and overdue alerts usually open the related booking sidebar so you can review Payment Plan or Contract Values — see Handling a Late Payment — Step 1, Notifications — Payment overdue alerts, Notification triage — Step 4, and during month-end Portfolio KPI review — Dashboard Total Debt subtitle. The Dashboard bell does not jump to Bookings from most General rows (it opens Notification detail in the panel unless the row has a deep link). Inbox sub-tab rows with link still jump to /inbox or booking Communication from the bell. On phones, bookmark /notifications when the bell is hidden — see Getting Started — Notification access. See Glossary — Notification row navigation, Deep Links — Notifications, and Deep Links — Broken entity deep links when a target id no longer exists.

Notifications module — inbox row ready to open the related booking

Bookings — detail opened after clicking a payment notification row on /notifications

Walkthrough: click a payment alert on /notifications, land on the related booking, then return to clear unread.

Why do some lists load more rows when I scroll (skeletons, “End of list”) instead of a Load more button? Large directories — Listings (Portfolio and Archived), Bookings (list view), Bookings Timeline (unit rows on the Gantt chart), Audit (Manual Blocks), Tenants, Notifications, Sales (Pricing and Channels grids), Finance (Contract Values, Transactions, Payouts, Deposits), Operations (Tickets and Cash Flows), Utilities (Connections, Timeline rows, and Allocations), and in-app Support (Help & Support drawer and /settings/support inbox) — are server-paged. The app loads an initial batch, then fetches the next batch when you scroll near the bottom. Skeleton placeholders (or a small spinner under the ticket list in the Support drawer) appear while the request runs. When every row for your current search and filters is loaded, many full-page screens show Showing X of Y and an End of list line (the Bookings list, Dashboard notifications bell slide-over, and Help & Support drawer load in chunks but omit End of list). Changing filters or search clears the list and starts from the first batch again. On Bookings, Finance → Transactions, and Operations (Tickets and Cash Flows), Export still downloads the full filtered result set even if you have not scrolled through every chunk — see Exporting the list, Finance — Large tables, Operations — Tickets list loading, and Operations — Cash Flows list loading. Finance → Contract Values, Payouts, and Deposits, plus Utilities → Connections, export only loaded rows until you scroll through the list — see Finance — Large tables and Utilities — Connections. Finance ledger tabs omit the End of list footer. See Glossary — Infinite scroll (directory loading) and Glossary — End of list.

Notifications module — scrollable list loading the next page with skeleton placeholder rows

Help & Support drawer — scrolled ticket list (scroll near the bottom to load the next batch; spinner while fetching)

Why does the same search term sort differently on Bookings, Operations, and Listings? Large directories use server-side search, but only some modules re-rank matches. Bookings and Operations (Tickets, Check-in & Check-out, and Cash Flows) put unit / room hits at the top when you paste an internal name. Listings keeps properties in A–Z order after filtering. Tenants keeps your chosen sort column. See Glossary — Directory search ranking.

When should I use Tenants grid vs table view? Use grid when debt badges and multi-status booking previews matter at a glance (Show all bookings on dense cards — tenants-grid-card-collapsed-bookings.png, tenants-grid-card-expanded-bookings.png, tenants-grid-expand-flow.mp4). Use table when you need column sort and an inline booking roll-up: click the row chevron to expand Unit, Rent, and Balance sub-rows, then open a sub-row for the booking sidebar or the tenant name for the profile sidebar. Pair table + With Debt during collections — see Tenants — Table view and Glossary — Tenants table expandand).

Tenants — grid card collapsed with Show all bookings under Upcoming / Cancelled previews

Walkthrough: expand a dense Tenants grid card with Show all bookings, then Show less.

Tenants — table view with one row expanded showing Unit / Rent / Balance booking sub-table

Does picking a second tenant category close the Tenants menu?​

No. Open All categories on Tenants, tick the first segment, then tick a second segment. The menu stays open with checks on both. Tick a named segment (for example Corporate), then No category, when you want assigned profiles and unassigned profiles in one view. Dismiss the menu when the chips under the toolbar look right. Bookings → Tenant categories is a different control (placeholder Tenant categories; empty-case No tenant category) — it stays open while you add a second segment the same way. Emails → Communication Rules → Tenant categories is a different audience picker (named segments only, Select tenant categories… placeholder). Booking categories filters booking tags, not tenant segments. See Tenants — All categories stays open and Emails — Tenant categories stays open.

Why do a tenant’s bookings appear in a different unit order each time I open Tenants? They should not. Vivin sorts every “bookings for this tenant” list server-side: check-in, then check-out, then unit internal name with natural numeric compare (Room 2 before Room 10), then booking id. That order applies to table expand sub-rows, grid card previews, the sidebar Bookings tab, and the Bookings CSV sheet. If units for the same stay dates still look scrambled, refresh the page; if they remain wrong after deploy, report it — older heap order reshuffled whenever balance writers rewrote the row. See Tenants — How linked bookings are ordered.

Tenants — table expand with linked bookings ordered by check-in then unit

Walkthrough: expand a multi-booking tenant and open the sidebar Bookings tab — both surfaces share the same chronological / unit order.

Where do I see Payment Plan / Contract Values / Transactions for a tenant with several bookings? Open the tenant profile sidebar — Payment Plan, Contract Values, and Transactions merge every linked stay into one view, with a Booking column on each row. Labels prefer the unit internal name operators already use elsewhere; stay dates (and only then a short id) appear when the same unit would otherwise be ambiguous. Use the header All bookings filter to narrow to one stay; pick a specific booking before + Charge, + Transaction, or Apply Discount. See Tenants — Consolidated finance tabs.

Tenants — Payment Plan tab with unit Booking labels and All bookings filter

Walkthrough: open a multi-booking tenant and review consolidated Payment Plan, Contract Values, and Transactions with unit Booking labels.

Why do totals look smaller when I choose Unread? The totals line describes the active filter and search together. Unread intentionally limits the list (and the count shown there) to items you have not marked read yet — switch back to All to see counts for the full matching set under your current search text. Mark all as read still clears unread items account-wide when enabled; see the Notifications module.

Why does Bookings → Other filters → Select owners show “No options found” when I have owners in Settings? The Bookings list loads its filter vocabulary from the account-wide portfolio filter catalog. On the default Unit Name sort, the first portfolio response sometimes returns an empty meta.filterOptions.owners array even though Settings → Owners lists owners — the dedicated GET /bookings/portfolio/filter-options endpoint still has the full list. Workaround: click the Created column header once, or choose Creation Date from Sort By, reopen Other filters, then pick owners. You can switch back to Unit Name afterward; the owner filter stays applied. See Bookings — Property & Listing filters.

Bookings list — Other filters Select owners showing No options found on default Unit Name sort

Why does the Bookings list open sorted by Unit Name?​

Unit Name ascending is the intentional default so neighbouring units (for example R3, R4, R7, R22) stay together with natural numeric sort — R3 before R22, not alphabetic R22 before R3. Click the Unit Name header to reverse, or choose another column from Sort By. The same default applies after reload. See Bookings — Sort By (bookings-list-unit-name-sort-default.png).

Bookings list — Ongoing, property AA-11-5D, Unit Name ascending with natural order R3 → R22 → R39

Why do rooms stay in unit order when I reverse Contract Period?​

When several stays share the same start date, reversing Contract Period (or Move-In & Out) does not reverse the rooms. Vivin keeps Unit Name order — always 1 → 4 / A → Z — so a house that moves in together stays readable. Example: Casa Beatriz - Porto, search BP-Quarto, Start ↑ and Start ↓ both show BP-Quarto 1 → 2 → 3 → 4. See Bookings — Sort By (bookings-list-contract-period-sort-unit-name-tiebreak.png, bookings-list-contract-period-sort-unit-name-tiebreak-reversed.png, bookings-list-contract-period-sort-unit-name-tiebreak-flow.mp4).

Bookings list — Casa Beatriz, Contract Period Start descending, rooms still Quarto 1 → 4

How do I filter Bookings or Sales by how many units a property has?​

Number of rooms means how many units (listings) are registered under the property — not bedrooms inside one unit. On Bookings → Filters → Advanced, set Min / Max to keep only bookings in buildings that fall in that unit-count range; a removable toolbar pill shows the range (for example 3 – 20). On Sales → Multicalendar / Pricing, the same filter is a house-icon pill that opens a Min / Max popover. Invalid min greater than max shows Min rooms must be less than or equal to max. Clear the pill or use Clear all to return to the full portfolio. See Glossary — Number of rooms (filter).

Bookings list — Other filters Advanced with Number of rooms Min 3 and Max 20 filled

Sales Multicalendar — Number of rooms popover with Min 3 and Max 20

Sales Pricing — Number of rooms popover with Min 3 and Max 20

How do I find guests who are currently in house?​

On Bookings → All bookings, open Filters and set Currently in house to In house. The list keeps stays where your team has recorded arrival and has not recorded departure (canceled stays are left out). The control appears only when the account check-in / check-out process and Record arrival and departure are both on. This is not the same as the Ongoing status card — Ongoing follows stay dates; In house follows the arrival stamp. A removable Currently in house chip and the Filters badge follow the choice. Bookmark with /bookings?inhouse=1. See Bookings — Currently in house and Glossary — Currently in house (bookings-list-other-filters-currently-in-house-all.png, bookings-list-other-filters-currently-in-house-selected.png, bookings-list-currently-in-house-chip.png, bookings-list-currently-in-house-filter-flow.mp4).

Bookings list — Other filters, Currently in house In house selected

Bookings list — Filters badge and Currently in house chip

Walkthrough: open Filters, set Currently in house to In house, then read the chip and Filters badge.

How do I search bookings by words in Internal Notes?​

On Bookings → All bookings, open Filters and set Comments to With. Type in Search in comments… — every word must appear in the booking’s Internal Notes (case- and accent-insensitive). This does not match tenant names, emails, or unit labels; use the toolbar Search when you want those fields too. A Comments: With · … chip and the Filters badge follow the choice. Bookmark with /bookings?comments=with&commentsQ=…. See Bookings — Search in comments (bookings-other-filters-comments-with-search.png, bookings-other-filters-comments-search-filled.png, bookings-list-comments-search-chip.png, bookings-comments-search-flow.mp4).

Bookings list — Other filters Comments With with Search in comments field

Walkthrough: Filters → Comments → With, type in Search in comments…, then read the chip and Filters badge.

How do I find bookings that still need a signed contract?​

On Bookings → All bookings, open Filters and set Contract status to Not Signed. The table keeps stays whose Contract column is still the grey document (hover Contract not signed). Switch to Signed to keep only teal checks (hover Signed on with the date). Stays whose tenant category has Tenant Portal Access or the Contract portal module turned off are not under Not Signed: there is nothing to sign in Vivin, so the Contract column shows a grey dash (hover Not applicable) and N/A lists them. Contract not signed communication rules leave them out as well — see Settings → Emails — Contract Signed condition. Status-card counts follow the same slice. After you upload a signed PDF on Contract Info, the list icon updates on the rows you already loaded (scroll stays put) unless Contract status is still Signed, Not Signed or N/A — then that filtered list reloads so the row can leave or join. See Bookings — Contract column and Contract mark stays on the list (bookings-list-contract-column-mixed.png, bookings-list-contract-mark-keeps-scroll.png, tenants-table-ct-signed-check.png, bookings-list-contract-status-filter-flow.mp4).

Bookings list — Other filters, Contract status Not Signed selected

Bookings list — Other filters, Contract status N/A selected for stays with nothing to sign

Bookings list — Contract column hover Contract not signed

Walkthrough: open Filters, set Contract status to Signed, then Not Signed, then N/A.

Where do I set or change lease purpose on a booking? Enable and maintain the allowed values under Settings → Categories → Lease purpose. When the field is on, operators choose a value on + Create New → Booking and on the booking sidebar Contract Info → Booking information (edit mode). Tenants may be required to pick on the portal Your Details step when Make Lease Purpose mandatory is enabled. Marketplace POST /bookings cannot send a label — imported stays show No lease purpose until you or the tenant select a chip — FAQ — Marketplace booking lease purpose. See Bookings — Lease purpose, Tenant Portal — Lease Purpose, and Glossary — Lease purpose (booking).

Booking detail — Contract Info with Lease purpose read-only under Booking categories

I enabled payment notifications on Preferences but I still don’t get emails when a tenant pays.​

Receive payment notifications under Account Settings → Preferences → Notifications & Emails is account-wide permission for the workspace to send those operator alerts. Each user must also turn on Payment notification emails under Account → Personal Settings → Your email preferences (/settings/personal). If either layer is off, you will not receive email or in-app payment-received rows. Administrators can confirm the account toggle; you control only your personal opt-in on Personal Settings. See Glossary — Payment notification (operator), Glossary — Payment notification (operator) hub, and FAQ — Payment notification (operator) hub.

I see payment emails but no matching row on /notifications (or the Dashboard bell).​

Check Preferences → In-app notifications → Payments (account master) and Personal Settings → Your in-app notifications → Payments (your opt-out). Payment in-app rows also require you to stay opted in on Payment notification emails under Your email preferences. See Notifications — In-app notification preferences, Glossary — Payment notification (operator) hub, and FAQ — Payment notification (operator) hub.

Why do I still see “Pending manual in-payment” on /notifications after I recorded a receipt?​

That in-app row means the receipt is still pending until someone with Approve payments confirms it on Finance → Transactions or the booking Transactions tab — the alert is expected until approval clears the queue. Distinct from Payment received rows (tenant transfer already confirmed) and Payment overdue balance alerts — see Glossary — Payment notification (operator).

Alert typeTypical summaryNext step
Pending manual in-paymentOperator-recorded receipt still pendingRow-click → booking Transactions → Approve payment
Payment receivedTenant transfer recorded (may still need approval if manual)Same triage when status is pending — FAQ — Manual receipt still pending
Payment overdueBalance past due — collectionsHandling a Late Payment — Step 1

Row-click from /notifications opens the related booking so you can approve from Transactions — see FAQ — Notification row-click navigation, Notification triage — Step 4, Bookings > Transactions — Row actions, then Step 5 when balances look correct. Until approval, Dashboard Total Debt and Finance In debt lines may lag — FAQ — Dashboard Total Debt subtitle. Full ledger habit: Glossary — Pending manual in-payment (Finance), FAQ — Manual receipt still pending, Payment Allocation — Pending manual approval (month-end habit), Common Workflows — Pending manual receipt approval, Portfolio KPI review — Step 7, and Notifications — Pending manual in-payments.

Notifications — row-click from payment alert opens booking detail for Transactions approval

How do I mute WhatsApp or inbox pings without turning off the Chatbot? Turn off Inbox messages under Personal Settings → Your in-app notifications for your user, or ask an administrator to disable the account master under Preferences → In-app notifications. You can still open Tools → Inbox and booking Communication when your role allows — only the bell / /notifications pings are suppressed.

Settings & tenant communications​

Pair with other FAQ sections

Lifecycle and Communication Rules answers pair with Tenant Portal & Mobile App (contract signing, check-in mail), Why didn't the automatic check-in email send? (trigger matrix, paper upload vs portal signing), Why did a tenant get several Due Date emails for one booking? (one send per unpaid payment line), Why did my Send now rule turn Inactive after I sent it? (fire-once blast), Does Cancel booking send the Auto-cancellation Communication Rule? (Auto-cancel unpaid move-in only), Does picking a second smart lock close the Communication Rule menu? (Select smart locks… stay-open), Does picking a second booking tag close the Communication Rule menu? (All tags stay-open), Does picking a second tenant category close the Communication Rule menu? (Select tenant categories… stay-open), and Integrations & Distribution (iCal URLs). During workspace setup, map answers to Getting Started — Recommended Setup Sequence steps 10–12 (Tenant categories.

Why didn't I get an email when a tenant ordered a service?​

Service subscription emails is a per-service picker, not a single switch. Open Personal Settings → Your email preferences (/settings/personal) and select the catalogue chips you want. Teammates who selected a different service get mail for theirs only. Approving a request does not send another manager email — the person who approved already knows. Tenant cancellations of pending requests stay in-app under Service requests. If no services appear on the card, add offerings under Settings → Services first. Guide: Interface Language — Service subscription emails.

How do I jump to a setting without browsing every tab?​

On any Account Settings page, type in Search settings at the top of the settings sidebar. Matching labels highlight in teal, with a tab · card line underneath. Click a result (or use the arrow keys and Enter) to open that tab and highlight the control. Results only include tabs and cards your role can open. Guide: Account Settings — Search settings (settings-search-idle.png, settings-search-results-guarantor.png, settings-search-flow.mp4).

Account Settings — Search settings results for guarantor, with Guarantor under Global Settings · Booking Defaults

Walkthrough: type guarantor in Search settings, pick the result, and land on Booking Defaults.

How do I set up VIVIN Invoicing?​

  1. Add VIVIN Invoicing under Integrations — no external API key is required. It can run beside NetSuite with catch-all + filtered peers (dual stack); Hostkit / Invoice-xpress stay exclusive.
  2. Click Configure on the VIVIN Invoicing card and fill Issuer details, Document numbering, and Tax rates. When you have two or more VIVIN peers, pick the peer in VIVIN connection first — issuer, numbering, and Word templates are per connection; tax rates stay shared.
  3. Upload Word templates for Invoice, Proforma, and Credit note, then use Preview and View available variables before go-live.
  4. On Invoicing → Tax Codes, pick Tax VAT names that exactly match the tax rate names from step 2 — the dropdown lists the same catalogue (view mode shows names such as IVA23; edit mode may show VAT 23%).
  5. If you use Others Items labels for extra charges or Services, open Others Categories Taxes on the same Tax Codes card and set Tax VAT per category.

VIVIN Invoicing issuer setup opens from Integrations when that connection is active (legacy /settings/vivinInvoicing bookmarks redirect there). Guide: VIVIN Invoicing (settings-integrations-vivin-invoicing-card.png, settings-vivin-invoicing-overview.png, settings-vivin-invoicing-setup-flow.mp4); where-to in AI Chat: ask “Where do I open VIVIN Invoicing under Account Settings to configure issuer details…?” (ai-chat-product-context-vivin-invoicing-reply.png, ai-chat-product-context-vivin-invoicing-flow.mp4); Tax Codes pairing: Tax Codes (settings-invoicing-tax-codes-vivin-dropdown.png, settings-invoicing-tax-codes-vivin-flow.mp4); per-category Others VAT: Others Categories Taxes (settings-invoicing-others-categories-taxes-modal.png, settings-invoicing-others-categories-taxes-flow.mp4).

Where do I get the iCal URL to subscribe an external site to Vivin availability? Each unit exposes an outbound feed at {Core API host}/ical-integration/listings/{listingId}/iCal.ics (same host your management app uses for API calls). On Sales > Channels, click Copy iCal in the trailing actions column for one unit, use the Airbnb / Booking.com wizard when linking short-stay calendars, or export CSV / Excel and read the VIVIN iCal column for many units at once — see Sales — Channel Manager export and Integrations — iCal. The feed honours Short-term iCal Max Date and your availability rules. DTEND is the exclusive free-again morning (one day after Audit End) — iCal feeds — DTEND exclusive end. Technical details (response headers, retrofeed for Airbnb/Booking.com, troubleshooting) are in API Reference — iCal feeds.

Where do I see which automated emails are queued or already sent? Open Account Settings → Emails and go to the Communication Rules sub-tab at /settings/communications. Click the toolbar calendar icon for All schedules, or use View sent/scheduled messages on one rule to scope the list to that rule only. The Communication schedule modal shows recipient, subject, status, and scheduled/sent times; use search to narrow the list or Export for CSV/Excel. Click a row to open that booking in the sidebar without leaving Settings. See Glossary — Communication schedule and Communication schedule (calendar).

How do I find a Communication Rule when I have dozens of them? On Communication Rules, type in Search rules… — Vivin matches name, subject, and message wording (markup tags are ignored). Status chips (Enabled / Disabled / Now) keep showing account-wide counts for the current search, and the table loads more rows as you scroll (End of list when every match is loaded). No rules match your search means the query found nothing — use Clear search, which is different from an account that has no rules yet. Opening Edit shows brief loading placeholders while Vivin fetches that rule’s full body and audience filters — Emails — Edit loads the full rule. Guide: Emails — Browse, search, and load more (settings-emails-communication-rules-search-results.png, settings-emails-communication-rules-search-empty.png, settings-emails-communication-rules-search-scroll-flow.mp4, settings-emails-communication-rule-edit-loading.png, settings-emails-communication-rule-edit-loading-flow.mp4).

Does picking a second smart lock close the Communication Rule menu?​

No. On New Rule or Edit, set Specific Nuki locks to Include only, open Select smart locks…, tick the first lock, then tick a second lock. The menu stays open with checks on both. Include only matches stays whose Nuki access points include any of those devices. Ticking locks here only scopes the audience — it does not send mail or save the rule. The No filter / Include only / Exclude dropdown is a different control. Nuki access type and Require Nuki tenant ID are different controls. Dismiss the menu when the chips under the picker look right, then Cancel unless you intend to keep the audience. See Emails — Select smart locks stays open.

Does picking a second booking tag close the Communication Rule menu?​

No. On New Rule or Edit, set Booking tags to Include only, open All tags, tick the first tag, then tick a second tag. The menu stays open with checks on both. Tick Corporate, then Renewal, when you want stays with either label in one audience. Include only matches stays that carry any of those tags. Ticking tags here only scopes the audience — it does not send mail or save the rule. There is no No booking category row here. Bookings → Booking categories is a different toolbar control. Tenant categories on the same Audience card is a different catalog. The No filter / Include only / Exclude dropdown is a different control. Dismiss the menu when the chips under the picker look right, then Cancel unless you intend to keep the audience. See Emails — Booking tags stays open.

Does picking a second tenant category close the Communication Rule menu?​

No. On New Rule or Edit, set Tenant categories to Include only, open Select tenant categories…, tick the first named segment, then tick a second named segment. The menu stays open with checks on both. Tick Corporate, then another named segment from Settings → Tenant categories, when you want stays in either segment in one audience. Include only matches stays whose tenant profile carries any of those segments. Ticking segments here only scopes the audience — it does not send mail or save the rule. There is no No tenant category or No category row here. Tenants → All categories and Bookings → Tenant categories (stays open on the reservation list) are different list filters. The No filter / Include only / Exclude dropdown is a different control. Dismiss the menu when the chips under the picker look right, then Cancel unless you intend to keep the audience. See Emails — Tenant categories stays open.

Does Cancel booking send the Auto-cancellation Communication Rule?​

No. Auto-cancellation emails the tenant only after Auto-cancel unpaid move-in voids the stay for unpaid move-in charges. Cancel booking on Contract Info does not send that rule. The email goes out the same day at Send at Hour (default 10:00). Put teammates on CC / BCC if they should see a copy — there is no separate team alert. Guide: Emails — Auto-cancellation.

Why did a tenant get several Due Date emails for one booking?​

That is expected. A Due Date Communication Rule schedules one reminder per unpaid payment line, not one message per booking. Two unpaid months (or rent plus an unpaid fee) produce two rows on Communication schedule — each uses that line’s due date plus the rule’s offset and Send at Hour. Fully paid lines drop out; two unpaid lines on the same due date share one send. For a single “you are in debt” nudge, use the Financial Balance event instead. Guide: Emails — Due Date — one reminder per unpaid payment (settings-emails-communication-rule-trigger-card-due-date.png).

Account Settings — Communication Rule drawer Trigger card with Due Date event, Before 1 day, Send at Hour 09:00, and balance filters

How do I send a Communication Rule without the company contact block?​

On New Rule or Edit, keep HTML Off so Hide contact info appears beside Template name. Turn it On to omit the trailing Contact information block (company name, email, and phone from General Information). The setting is read when the email sends, so queued messages follow the saved choice. HTML and SMS rules hide the toggle — add a reply path in the HTML body if tenants still need one. Guide: Emails — Hide contact info (settings-emails-communication-rule-hide-contact-info-off.png, settings-emails-communication-rule-hide-contact-info-on.png, settings-emails-communication-rule-hide-contact-info-html-hides-toggle.png, settings-emails-communication-rule-hide-contact-info-flow.mp4).

Account Settings — Communication Rule drawer with Hide contact info On

Why don’t I see the Now tab or Send now on a communication rule?​

Immediate-send rules and the Now filter require the communication.send_now permission on the user’s role. Without it, the Now tab is disabled with an explanation and ad hoc blast actions are hidden. Grant it only to roles that should manually fire tenant messages; configure it in Users and roles. See Send now permission.

Why did my Send now rule turn Inactive after I sent it?​

Pair with other FAQ subsections

That is expected. Send now is a one-time blast, not a standing reminder. After you confirm Send now to N recipients, Vivin queues the messages and the rule returns to Inactive on the Now chip. The emails you just queued still go out. Enabled / Disabled never list Send now rules.

What you noticeWhyWhat to do
Row shows Inactive after the success toastFire-once — do not blast again tomorrowOpen Communication schedule to see queued or sent rows
Tenants did not get a second copy the next dayStanding check-in / due-date rules repeat; Send now does notPlay on the Inactive rule, review the preview, confirm again
Rule is still on Now, not DisabledNow lists every immediate-send ruleStay on Now to find it
Need a copy in your mailboxPersonal BCC is separateScheduled tenant communication: send immediately on Personal Settings

Test still sends only to you and does not change Active / Inactive. Guide: Emails — Send now is fire-once (settings-emails-communication-rules-now-filter-tab.png, settings-emails-send-now-confirm-modal.png, settings-emails-send-now-confirm-flow.mp4).

Account Settings — Communication Rules with Now filter showing immediate-send rules

Why don’t scheduled emails appear after I enable Communications / Email on a tenant category?​

While Communications / Email is off for a segment, Vivin skips creating Communication schedule rows for new bookings in that category (there is nothing to “uncancel”). Rows that already existed cancel as Cancelled — Tenant categor….

When you turn the toggle back on and Save, Vivin runs a background rebuild for that category’s bookings across active email Communication Rules. Open Communication schedule (toolbar calendar) after a short wait — eligible Scheduled rows should appear without waiting for the daily ~00:06 UTC recalculation and without re-saving an unchanged rule.

| Symptom | Likely cause | What to do | | -------------------------------------------- | ------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Still no rows after enable | Rebuild still running, or send window already past | Wait a minute and refresh the schedule modal; for past check-in/out windows use Send now / manual lifecycle actions | | Only Cancelled — Tenant categor… rows | Toggle was off after rows existed | Expected for pre-existing rows; new eligible sends appear as Scheduled after rebuild | | Moved a tenant into an email-on category | Rebuild is on the category off → on path only today | Wait for daily recalculation, or save a Communication Rule carefully (do not change trigger/offset/hour if you only meant to force catch-up) | settings-tenant-categories-communications-email-toggle.png, settings-tenant-categories-communications-email-flow.mp4, settings-emails-communication-schedule-cancelled-tenant-category.png, settings-emails-communication-schedule-cancelled-tenant-category-flow.mp4. |

Account Settings — Tenant category editor with Communications / Email off

Account Settings — Communication schedule Cancelled rows with Tenant categor… reason

Can I use Variables on a property’s Email Customization?​

Yes. On Listings → property edit → Email Customization, each Onboarding / Check-in / Check-out body has the same Variables control as account Booking lifecycle emails. Open the catalogue, copy tokens such as {TenantName} or {CheckInDate} into the rich-text body, and Vivin substitutes them when that property’s append block is sent. Unknown names stay verbatim so typos are visible in the delivered message. Rules-only tokens (for example {notification_title}) are not listed here. See Listings — Email Customization variables, Emails — Dynamic variables, and Glossary — Email body variables (listings-property-edit-email-customization-variables-hint.png, listings-property-edit-email-variables-modal.png, listings-property-email-variables-flow.mp4).

Listings — property Email Customization Check-in editor with  Variables

Listings — Email body variables modal from property Email Customization

Analytics (KPI workspace)​

Why don’t portfolio KPIs in Analytics match what I see in Sales or on a listing calendar? Analytics rolls up the portfolio for the from–to month range on the tab you are viewing (use the toolbar picker or its 6M, 12M, and YTD quick presets), with optional property, unit, and (where offered) owner roll-ups on rankings and heatmaps. Sales and Listings focus on per-listing availability, rent edits, and channel rows over the windows you work in there. Metric definitions, filters, and time lenses differ by design, so headline revenue or occupancy values are not expected to match row-for-row. Use Analytics for multi-month trends and comparisons; use Sales when you are pricing or closing availability gaps. See How Analytics differs from Sales.

How is Analytics different from the Dashboard? The Dashboard is the post-login snapshot: KPI cards, Occupancy Forecast and Cash Flow Forecast (with 1M / 3M / 6M / 12M horizon controls), and Vacant Units as of today. Illustrated chart behaviour: Glossary — Occupancy Forecast (Dashboard), Cash Flow Forecast (Dashboard), and Vacant Units (Dashboard). Analytics is the dedicated /analytics workspace: the same shell, but tabbed KPI views (Overview, Revenue, Occupancy, ADR, RevPAR, Maintenance) driven by a configurable month range, plus ranking tables and heatmaps on the metric tabs. ADR on the Analytics tabs (revenue divided by occupied nights in range) is not the same label as ADR (€) on the Dashboard occupancy chart (average monthly rent among units counted occupied that day) — see the Analytics module and Glossary — RevPAR.

Why does the heatmap say “and N more” while Ranking only shows about 20 rows? On metric tabs, Monthly Trend always covers the full portfolio in scope. Ranking shows the top 20 of that portfolio-wide ranked list; the Heatmap loads a longer ranked page and ends with and N more when more properties or units exist beyond that page. Changing By Property / By Unit / By Owner re-ranks the whole scope — it does not rank only the rows already on screen. See Analytics — Ranking and heatmap paging (analytics-kpi-revenue-ranking-top20.png, analytics-kpi-revenue-heatmap-and-more.png, analytics-kpi-ranking-heatmap-paging-flow.mp4).

Why does Ranking show grey placeholder bars while Monthly Trend already has data? Vivin loads portfolio totals (Monthly Trend) and the ranked breakdown (Ranking + Heatmap) as separate requests. Skeleton bars mean the breakdown is still in flight — not that every property ranks at zero. Changing roll-up (By Unit, and so on) briefly shows the skeleton again while Monthly Trend stays put. See Analytics — Ranking and heatmap loading (analytics-kpi-revenue-ranking-skeleton.png, analytics-kpi-ranking-skeleton-flow.mp4).

Charts stay empty after the spinner — what should I do? After the refresh spinner finishes, if Monthly Trend is still empty, use Retry before changing filters or treating the portfolio as zero. If Monthly Trend is filled but Ranking never leaves the skeleton (or shows a short retry message on that card), use Retry on the Ranking card or reload the tab. For a same-day snapshot while Analytics catches up, use the Dashboard. See Analytics — Layout and controls and Ranking and heatmap loading.

Analytics — Overview tab with KPI bar charts and month-range picker in the management shell

Bookings​

Pair with other FAQ sections

Reservation lifecycle answers pair with Payments & Finance (payment schedule, invoiced floor), What does Leave outstanding on this line mean? (Edit amount when New net is above Paid), Rent reduction after invoicing hub (symptom table when Change monthly rent clamps exported months — bookings-detail-change-monthly-rent-modal.png, bookings-rent-reduction-invoiced-floor-flow.mp4), Lower rent below invoiced (Change monthly rent clamps and Edit amount blocks), Return of value on invoiced/draft allocation (protected parents disabled in Manage return of value), Why does Transactions show a negative Return of Value row? (booking Transactions lists one negative row per return), When should I use Card (recorded manually)? (desk / POS from booking + Transaction), Fixed rent on variable unit.

How do I leave an internal note for my team on a booking? Open the booking (for example from Bookings → List or /bookings/list/:bookingId) and select the Internal Notes tab. The thread is not visible to tenants. Type your update in the composer; use @ plus a colleague’s handle (pick from the autocomplete list) to email them when you save. Messages are grouped by day in a chat-style layout. Hover your bubble for a pencil (correct the text in place) or the trash icon (delete after confirming). See Bookings > Internal Notes tab and How do I correct an internal note without deleting it?.

How do I correct an internal note without deleting it?​

Hover a bubble labelled You on Internal Notes and click the pencil. The bubble becomes a textarea. Enter or Save writes the new text; Esc or Cancel leaves the original. After you save, the bubble shows italic edited next to the original time.

You can edit only your notes. Teammate bubbles have no pencil — use trash when the thread should not keep that message and your role allows delete.

If you add a new @mention in the edit, that teammate gets an email. People already mentioned on the original note are not emailed again.

See Bookings — Edit your own notes in place and Glossary — Edit internal notes.

Communication or Tickets won't open inside a booking — what should I do?​

Related answers

Tab-scoped refresh pairs with Booking sidebar tab refresh hub, Bookings — Sidebar tab refresh, and FAQ — Directory list refresh when the whole module list needs a refresh.

Each tab in the booking detail sidebar loads on its own. When Communication or Tickets needs a refresh, you can still use Contract Info, Payment Plan, Deposit, and other tabs.

TabWhat to do
CommunicationUse Refresh in the booking sidebar header
TicketsUse Retry on the banner inside the tab

If the tab still looks incomplete after that control, close the booking and open it again from the list. Whole-module list refresh is covered under Directory list refresh.

Wrong tenant on a booking​

The booking is linked to the wrong tenant — can I point it at someone else already in Vivin? Yes, when your role includes bookings.edit_items and the booking is still Upcoming, with check-in in the future, no signed contract on file, and no paid + invoiced allocations blocking the change. On Contract Info, use the swap icon (Change tenant) in the Tenant card, pick another existing tenant, and confirm Reassign booking. Past payments and issued invoices stay on the original tenant for audit; the payment plan is not rebuilt automatically.

SymptomLikely wrong controlFix
Wrong person, dates and unit are correctDelete BookingChange tenant — reservation stays live
Entire row is duplicate importChange tenantDelete Booking — Cancel Booking vs Delete Booking
Real stay voided under policyChange tenant or DeleteCancel booking — refund dialog

See Bookings > Change tenant.

Where is the Gantt-style bookings chart (Day / Week / Month)? On Bookings, switch the view toggle to Timeline (or open /bookings/timeline). Each row is a unit; coloured bars are stays. The chart loads listings in pages — scroll the chart body vertically to load more unit rows. Use Day, Week, or Month above the date axis, clear Only bookings when you need manual or channel blocks on the same rows, and click a bar to open Booking detail in the sidebar. To download CSV/Excel, switch to All bookings (Timeline keeps the same property chips). See Bookings > Timeline view and the walkthrough video on that page.

Bookings — Timeline view (Day scale) with unit rows, booking bars, and Day / Week / Month controls

Timeline went blank after I searched — is that a load problem? No. When toolbar Search matches nothing, Timeline clears the listing column and shows No bookings found while the date header stays. All bookings shows the same No bookings found in the table. Click Clear all or the search chip to restore units. Retry on the chart is only when Timeline could not load. Sales → Multicalendar clears its listing axis the same way (No results found). See Bookings — Search with no matches (bookings-timeline-search-empty.png, bookings-timeline-search-empty-flow.mp4).

I saved the booking sidebar — do I need to refresh the list? No. After you save, the All bookings row and Timeline bar for that reservation update in place. If the edit changes status (for example Upcoming to Ongoing), the status-card counts refresh so they stay aligned. See Bookings — Timeline refresh.

Do I need to reload Timeline after Create Booking?​

No. You do not reload either way. When Only bookings is off (the default), vacant rooms stay on the chart and the stay bar appears on a unit already in view. When Only bookings is on — or Search / a booking filter is hiding vacant rooms — Timeline also adds the unit row in place, then draws the stay bar. The month you scrolled to stays put. Delete Booking and Cancel booking update the chart the same way (a unit whose last stay in the window you removed leaves the list when Only bookings is on). Retry is only when Timeline could not load, not after a successful create. See Bookings — Stay bars update after create or delete and Unit list updates after create or delete (bookings-timeline-vacant-unit-rows.png, bookings-timeline-view.png).

Bookings Timeline — vacant unit rows with Only bookings off

Does picking a second building on Timeline close the property menu?​

No. Open Select properties, type to filter the name list (for example Casa), and tick the first house. The table or Gantt redraws; the menu stays open with your filter so you can tick a second house. Dismiss it when the chips under the toolbar look right.

On All bookings, tick Casa Beatriz - Porto then Casa Eduardo I. On Timeline, tick Casa Beatriz - Porto then Casa Dias. See Bookings — Select properties stays open (bookings-list-select-properties-stays-open.png, bookings-list-select-properties-two-buildings.png, bookings-list-select-properties-stays-open-flow.mp4, bookings-timeline-select-properties-stays-open.png, bookings-timeline-select-properties-two-buildings.png, bookings-timeline-select-properties-stays-open-flow.mp4).

Bookings list — Select properties still open after ticking Casa Beatriz - Porto and Casa Eduardo I

Walkthrough: on Bookings → All bookings, type Casa in Select properties, tick Casa Beatriz - Porto, then tick Casa Eduardo I without closing the menu.

Bookings Timeline — Select properties still open after ticking Casa Beatriz - Porto and Casa Dias

Walkthrough: on Bookings → Timeline, type Casa in Select properties, tick Casa Beatriz - Porto, then tick Casa Dias without closing the menu.

Does picking a second booking category close the menu?​

No. Open Booking categories on Bookings → All bookings or Timeline, tick the first tag, then tick a second tag. The menu stays open with checks on both. Tick Student, then No booking category, when you want tagged stays and untagged stays in one view. Dismiss the menu when the chips under the toolbar look right. Tenant categories on Bookings stays open the same way (tenant segments; empty-case No tenant category). All categories on Tenants is a different control. Finance → Other filters → Booking → Select categories uses No category for the empty case. Emails → Communication Rules → Booking tags is a different audience picker (named tags only, All tags placeholder). See Bookings — Booking categories stays open and Tenants — All categories stays open.

How do I show every category except one?​

Open Booking categories (or Tenant categories) on Bookings → List or Timeline. Click Select all at the top of the menu — every visible row ticks, including No booking category or No tenant category. Then untick the one tag or segment you want to hide. The count reads N of M. Click Clear all to start over.

If you typed in the menu search first, Select all only ticks matching rows. Earlier ticks stay selected.

On Finance, open Other filters and use Select all on Booking → Select categories or Tenant → Tenant category. Tenants → All categories does not include Select all — tick rows one by one there (the menu stays open). See Bookings — Select all on category filters.

Does picking a second tenant category close the Bookings menu?​

No. Open Tenant categories on Bookings → All bookings or Timeline, tick the first segment, then tick a second segment. The menu stays open with checks on both. Tick a named segment (for example Corporate), then No tenant category, when you want assigned stays and unassigned stays in one view. Dismiss the menu when the chips under the toolbar look right. Tenants → All categories is a different control (placeholder All categories; empty-case No category). Emails → Communication Rules → Tenant categories is a different audience picker (named segments only, Select tenant categories… placeholder). Booking categories filters booking tags, not tenant segments. See Bookings — Tenant categories stays open and Tenants — All categories stays open.

Why can't I see a platform in my booking filters? Only platforms that are enabled in Settings > Integrations appear as filter options in the Bookings module. Enable the platform there first, then link each unit to its external listing ID. Channel-manager stays appear as Airbnb or Booking.com, not as a separate channel-manager chip — Why do channel-manager bookings show Airbnb or Booking.com?.

Why does Delete Booking fail on an integration reservation?​

Pair with other FAQ subsections

Integration Delete guard pairs with FAQ — Cancel Booking vs Delete Booking (when Delete is appropriate vs Cancel booking), FAQ — Portfolio retirement decisions, Glossary — Provider platform Delete Booking guard hub, Glossary — Provider platform Delete Booking guard, Bookings — Provider platform payment (bookings-detail-provider-platform-payment-field.png, bookings-provider-platform-reject-delete-flow.mp4).

When the booking still has a provider platform in-payment (partner-collected first payment recorded in Vivin), Delete Booking on Contract Info → Check-in & Check-out is blocked until that row is cleared. Open Transactions on the booking or Finance → Transactions, then Reject the provider-platform payment when it is still pending, or assign it to another reservation in the same account when no allocation is invoiced. Delete payment on the ledger stays disabled for provider-platform rails — rejection is the supported path. After the in-payment is rejected (or moved), retry Delete Booking. Use FAQ — Cancel Booking vs Delete Booking when you need full ledger history for a real voided stay instead of soft-archive. See Bookings — Delete Booking (soft archive) and Bookings — Provider platform payment.

Why does Delete Booking fail with a VIVIN credit card or Virtual IBAN message?​

When the booking still has a non-rejected credit card or Virtual IBAN in-payment row (Vivin system rails), Delete Booking is blocked until that payment is cleared. The error toast reads: "The booking cannot be deleted while there is a VIVIN credit card or Virtual IBAN payment still present, please reject or reassign the payment."

Open Transactions on the booking or Finance → Transactions, then Reject the pending system payment, or assign it to another reservation in the same account when invoicing rules allow. Delete payment stays disabled for vIBAN and credit card rails — rejection or reassignment is the supported path. After the in-payment is cleared, retry Delete Booking.

This guard is distinct from the provider platform block — that error mentions provider platform payment instead. A booking can hit one guard or the other depending on which rail still has an open in-payment.

Why doesn't the booking Changelog list every field Vivin stored at creation?​

Pair with other FAQ subsections

Changelog scope pairs with Glossary — Change history, Bookings — Timeline (booking change log), Listings — Change history (property/unit setup — same rule), Tools → Audit (manual blocks and discounts — not booking field edits), and Manual block hygiene (cross-portfolio block triage).

The Changelog under Contract Info → Check-in & Check-out shows operator-initiated edits and workflow milestones — not every default or normalized value Vivin writes when the reservation is first created. Vivin intentionally omits untouched defaults and normalized fields so the timeline does not look like dozens of phantom edits on day one. The same rule applies to Change history on Listings property/unit setup.

SurfaceWhereWhat it logs
Booking ChangelogContract Info → Check-in & Check-outMilestone dates + booking field edits (rent, dates, status)
Listings Change historyProperty/unit setup sidebarsBuilding and unit field edits (contract timing, rent grid, access)
Tools → Audit/auditCross-portfolio manual blocks and discounted contract values

When more than four booking events exist, use View all (N) and Search changes… in the modal to filter by field name, author, or date text. For cross-portfolio manual block triage, open Tools → Audit — Audit does not replace the in-sidebar Changelog or Change history blocks.

Booking detail — Contract Info, Changelog under Check-in & Check-out with milestone dates and logged field changes

Booking detail — Contract Info, Changelog View all modal with search and full event list

See Bookings — Timeline (booking change log), Listings — Change history (listings-property-edit-change-history.png), Glossary — Change history, and Manual block hygiene (Audit vs sidebar audit trails).

Why does a booking show fixed monthly rent when the unit is variable?​

Pair with other FAQ subsections

When every contract month between the booking's Start date and End date shares the same configured rent on a variable unit, Vivin stores the reservation as fixed rent at booking level — scheduled payment amounts are unchanged; only the headline Monthly rent and the fixed/variable flag reflect the constant value. If any month is missing from the unit's seasonal grid or amounts differ, the booking stays variable with per-month rows. The listing remains variable for future stays — only this reservation collapses to one headline. After Add booking, open Contract Info to confirm whether Change monthly rent opens with fixed selected. Legacy bookings were backfilled when their stored per-month values already matched. Rent decreases on invoiced months still follow FAQ — Lower rent below invoiced. See Bookings > Fixed rent on a variable unit, Processing a New Booking — Step 3, and Glossary — Fixed Rent.

Booking detail — Contract Info with a single Monthly rent headline on a variable listing (booking stored as fixed rent)

Why does a Booking Engine short stay keep the quoted rent?​

For Vivin Booking Engine reservations with a Daily contract day type, a stay shorter than one month, and a positive Provider platform payment amount from the engine, Vivin puts that quoted stay total on the payment plan instead of recalculating rent from the unit’s monthly rate × nights. Stays that cross a month boundary still sum to the same quoted total (split by billable days). If you change contract dates or Monthly rent, Vivin drops that preservation and regenerates with normal daily proration. Other platforms and longer Booking Engine stays keep the usual rent rules. See Bookings — Changing contract dates and rent and Provider platform payment.

How do I list bookings with debt or filter by channel? Use Sort by → Debt for a debt-ordered list, or open Other filters on the Bookings toolbar: set Balance to Debt or Overpayment, use Source platform for channel-specific lists, and combine with contract, deposit, and date filters. See Bookings — Other filters.

Where do I assign a tenant category for a new direct booking?​

Add booking does not include a category field — assign tenant category on the tenant profile. First confirm Preferences → Enable tenant categories is On so the Categories → Tenants card and category pickers appear. Use + Create New → Tenant (optional Category in the modal) before you create the reservation, or open Tenants → Tenant Info → Personal Information (pencil) after the booking exists. Do this before contract or onboarding mail in Processing a New Booking — Step 4 so portal modules and Communication Rules audience match the segment. Re-verify Category during Managing a Check-in — Step 1 before access codes go out. Channel imports may inherit the default for integration-created tenants; marketplace POST /bookings does not send a category — FAQ — Marketplace booking tenant category. Direct bookings do not auto-assign. See Glossary — Tenant category, Onboarding a New Property — Step 4, and Processing a New Booking — Step 2.

Why is the Tenant categories tab missing from Account Settings?​

Pair with other FAQ subsections

Open Account Settings → System → Global Settings and confirm Enable tenant categories is On, then Save. When the switch is Off, Vivin hides the Categories → Tenants card (and related portfolio category filters and pickers) — bookmarked /settings/tenantCategories still opens Categories, without the Tenants card. Turning the switch Off does not clear categories already assigned to tenants; those segments keep enforcing portal and email rules until you change them on Tenant Info after you re-enable the feature.

Why is Surveys missing from the Tools sidebar?​

Open Account Settings → System → Global Settings and find the Satisfaction surveys card. Click the pencil, turn Enable satisfaction surveys On, then Save. The switch is off by default. Until it is On, Vivin hides Tools → Surveys, and /surveys shows Satisfaction surveys are turned off (an admin can turn them on in Global Settings). After you enable it, open Tools → Surveys for Overview, Responses, and the Surveys builder. Turning the switch Off again hides the sidebar entry; existing survey definitions and answers stay until you re-enable. Guide: Preferences — Satisfaction surveys (settings-preferences-satisfaction-surveys-card-on.png, settings-preferences-satisfaction-surveys-edit.png, surveys-sidebar-tools-entry.png, surveys-hub-overview-after-enable.png, settings-preferences-satisfaction-surveys-enable-flow.mp4).

Account Settings — Preferences, Satisfaction surveys card with Enable satisfaction surveys On

Tools sidebar — Surveys under TOOLS after Enable satisfaction surveys is On

Walkthrough: enable Satisfaction surveys on Global Settings, then open Tools → Surveys Overview.

Why did my booking not generate a payment schedule? The payment schedule is generated based on the property's contract settings (payment frequency, confirmation payments, check-in payments) configured during property creation Step 4. If these settings are incomplete or missing, the schedule may not generate correctly. Verify the property's Payments tab settings.

Can I edit a booking's payment schedule after creation? The payment schedule is fixed at booking creation. You can add extra charges using the Add Charge button (see Adding Extra Charges), but you cannot remove or modify the originally generated charges.

What happens if I create a booking that overlaps with an existing one? Vivin prevents overlapping bookings on the same unit. On a single unit, the date calendar greys occupied nights and blocks create. When you use Book several units at once, that calendar stays clear — after Create N bookings, Vivin names each clashing room (with the occupied window) and creates none of the set until you Remove these units from the selection or change dates. See Bookings — Date calendar stays clear. Marketplace imports also reject occupied nights; they honour listing JSON for Capacity, stay months, and available-from — FAQ — Marketplace booking exceeded Capacity.

Why did a marketplace booking exceed Capacity or stay bounds?​

+ Create New → Booking enforces unit Capacity, Minimum / Maximum Stay Period, and listing available from. A stay imported with marketplace POST /bookings honours those listing JSON fields on the partner side. Vivin still rejects occupied nights.

If an imported stay looks over-capacity or longer than Maximum Stay, compare listing JSON capacity, minStayPeriod, maxStayPeriod, and availableFrom with the headcount and dates the channel sent. Guide: Creating Bookings — Honour listing (api-swagger-listing-dto-capacity-stay-bounds.png, api-swagger-create-booking-integration-occupants.png). If the monthly rent on the imported stay does not match a price the channel displayed, listing JSON is the source — FAQ — Marketplace booking rent.

Integration OpenAPI — ListingDto availableFrom, minStayPeriod, maxStayPeriod, and capacity

How do I create a rent-free booking?​

On + Create New → Booking, turn off Use unit contract rents and other contract details, keep Is the monthly rent fixed? on Yes, and leave Fixed rent (€) blank (or type 0). Vivin reads a blank field as €0; when you leave the field it shows 0. Use this for staff stays, promotions, or contracts whose charges live only in fees. Negative amounts are rejected. The same blank-as-zero read applies when you create a unit (Monthly Rent Value). On an existing reservation, Change monthly rent on Contract Info also accepts €0. See Bookings — Empty fixed rent reads as €0 (bookings-add-booking-empty-fixed-rent.png, bookings-add-booking-empty-fixed-rent-settles-zero.png, bookings-add-booking-empty-fixed-rent-flow.mp4).

Why are the days after checkout grey on Add Booking?​

Those extra nights are your preparation days (Preferences — Mid-term Prep / Short-term Prep), not the previous guest still occupying the unit.

On + Create New → Booking for one unit, tick Ignore unit preparation days to start in that buffer. Occupied nights stay blocked. Manual, owner, maintenance, and channel holds stay blocked. Allow check-in date in the past is a different control (listing available-from month). Same-day check-out + check-in does not need this checkbox — see How do I handle same-day turnovers?.

After you create the stay, Vivin shortens the previous booking’s unit block to end at checkout. Tick the box only when your team can turn the unit around in that shorter window. Marketplace POST /bookings cannot send this skip — imported stays honour listing unavailabilities including those extra nights — FAQ — Marketplace booking Ignore unit preparation days. See Bookings — Ignore unit preparation days and Glossary — Ignore unit preparation days.

How do I book several units at once for the same tenant?​

On + Create New → Booking, pick a tenant whose tenant category has Multiple concurrent bookings enabled, pick the House, then turn on Book several units at once. Select the rooms (at most 30 in one run) and confirm Create N bookings. Vivin creates a separate reservation per unit with the same tenant, dates, and details. The date calendar stays clear (no grey nights) — clashes are named per room after Create. Onboarding email and contract are not sent from this set — send them later from each booking if needed. Distinct from + Create New → Unavailability, which holds rooms without creating stays. See Bookings — Book several units at once and Date calendar stays clear (bookings-add-booking-multi-unit-toggle.png, bookings-add-booking-multi-unit-selected.png, bookings-add-booking-multi-unit-flow.mp4).

Why doesn’t the Add Booking calendar grey occupied days for several units?​

When Book several units at once is on, the Check-in & Check-out calendar does not grey occupied days or show occupancy dots. Shading every room in the set at once would block a day without saying which room is busy.

Click Create N bookings. Vivin checks every selected room first. If a room cannot take those dates, it creates none of the set and lists each clash with the occupied window (for example occupied 1 Nov → 1 Dec). The heading reads N selected units cannot be booked. Nothing was created. Use Remove these units from the selection, or change dates and create the remaining rooms.

Occupancy greying and same-day-turnover adjacency stay on the single-unit calendar. Extra nights after checkout on that calendar are preparation days — see Why are the days after checkout grey on Add Booking?. For occupancy on one room, turn the toggle off, or use Bookings → Timeline / Sales → Multicalendar. See Bookings — Date calendar stays clear.

What happens to the payment schedule when I cancel a booking? It depends on the refund type. Full refund: all payment items are removed. No refund: only unpaid future items are removed; already-paid items are retained. Partial refund: requires manual adjustment — the system does not automatically calculate partial amounts. The dialog shows Paid, Deposit, and Refund so you can judge the return against the booking — What do Paid, Deposit, and Refund mean on Cancel booking?. When the tenant contests deposit retention during cancellation, use deposit disputes before you Mark refunded. See Cancelling a Booking.

What do Paid, Deposit, and Refund mean on Cancel booking?​

Open Portfolio → Bookings, the booking Contract Info tab, and Cancel booking. On step 1, below Full refund, No refund, and Partial refund, three cells show the money on this reservation today:

LabelMeaning
PaidTotal already paid on the booking
DepositDeposit already collected
RefundAmount this cancel choice would return

Full refund sets Refund to the cancel-path return (often Paid minus deposit kept for the deposit flow — read the effects list). No refund sets Refund to € 0. Partial refund starts Refund at € 0 until you set return amounts on the payment lines in the cancel flow.

The effects list always starts with Cancel this booking and free the unit, then explains the money outcome. Use Cancel (or the dialog X) if you were only checking the figures — Next continues the multi-step flow; the booking is not canceled until you finish.

Bookings — Cancel booking step 1 with Full refund and Paid / Deposit / Refund cells

Walkthrough: switch Full refund / No refund / Partial refund, read the three cells, leave with Cancel.

See Cancelling a Booking — Paid, Deposit, and Refund and Glossary — Cancel booking Paid / Deposit / Refund.

What happens after Next on Cancel booking?​

After Next on step 1, Cancel booking continues through three more screens. Nothing is saved until Confirm Cancellation on the last step — use Close to leave without cancelling.

StepEnglish titleWhat you see
2 of 4Settle the deposit before cancellingHow this method treats each deposit line
3 of 4Payment lines this cancellation acts onSchedule preview (write-downs, overpayment, credit notes)
4 of 4Confirm the cancellationMethod recap and effects; red Confirm Cancellation applies everything in one go

On Partial refund, step 2 may be skipped when the deposit needs no decision. See Cancelling a Booking — Cancel booking wizard steps 2–4.

Bookings — Cancel booking step 2 Settle the deposit

Bookings — Cancel booking step 4 Confirm the cancellation

Walkthrough: Next through deposit, payment lines, and confirm — leave with Close.

How do I handle an early departure? Update the booking Move out date to the actual departure date from Contract Info (pencil on Booking information → Move out → Change move-out date). Leave Update Payment Plan enabled so Vivin recalculates the schedule and removes future unpaid charges beyond the new date. For contract-boundary-only edits, use End date → Change contract end date — see Early Departures. Be careful with room changes to avoid double billing. When already-invoiced months fall outside the shortened span, amber contract-date change warnings appear on Payment Plan / Contract Values — see Why do amber warnings appear after I change contract dates?.

What about charges that have already been invoiced? Charges that have been invoiced through the accounting integration (e.g., Invoice-xpress) cannot be automatically removed from the payment schedule. Create a credit note on Contract Values (then issue from Finance → Transactions) or register the document manually in your accounting system. For rent specifically, Vivin enforces an invoiced floor on Change monthly rent and Contract Values → Edit amount — you cannot save a lower net on a month that Finance already exported. Shortening dates with Update Payment Plan leaves those invoiced lines on the ledger with amber warnings — contract-date change warnings.

Why do amber warnings appear after I change contract dates?​

Pair with other FAQ subsections

Contract-date stranded-line warnings pair with Bookings — Changing contract dates and rent, Bookings — Early Departures, FAQ — Lower rent below invoiced (invoiced floor on rent edits — distinct from date-span warnings), and Glossary — Contract-date change warning.

After you shorten the contract span (move-in anticipation, earlier move-out, or related date edits) with Update Payment Plan enabled, Vivin regenerates unpaid schedule lines but cannot rewrite already-invoiced charge amounts. Any invoiced month that now falls outside the updated contract range stays on the ledger and may no longer match the new dates.

On Payment Plan and Contract Values, those stranded lines show an amber warning icon. Hover for: The dates were changed, but already-invoiced amounts cannot be modified, so this line may be inconsistent. The warning is informational — it does not block other row actions. Reconcile with Finance (credit notes, manual adjustments, or support) before you treat the schedule as authoritative. Distinct from the invoiced floor that clamps or blocks lowering rent on an exported month.

Booking detail — Payment Plan with amber contract-date change warnings on stranded due-date rows

Payment Plan — hover tooltip on amber warning: already-invoiced amounts cannot be modified after a date change

Booking detail — Contract Values with amber contract-date change warnings on stranded rent lines

Walkthrough: stranded invoiced lines after a contract-date change — amber icons on Payment Plan (hover tooltip) and Contract Values.

Why can't I lower rent below what was already invoiced?​

Pair with other FAQ subsections

Invoiced-floor blocks pair with Invoiced floor (rent) hub (surface table + per-guide mesh), Rent reduction after invoicing hub (workflow symptom table), Common Workflows — Rent reduction after invoicing, Common Workflows — Bulk Hostkit invoicing (Issue credit notes after external rent relief), Glossary — Invoiced floor (rent).

SymptomSurfaceFix
Month saves at invoiced amount, not your lower entryContract Info → Change monthly rentBlue Already invoiced months banner — clamped months keep exported totals
Edit amount lists Issue a credit noteContract Values → Edit amountLowering a fully invoiced line creates the credit note from Save — then Not issued credit note → Issue credit notes (N) on Finance (Edit amount)
Save disabled on a partly invoiced lineContract Values → Edit amountMixed invoiced + not-invoiced cash cannot share one instrument — handle the slices separately
Need goodwill below exported rent after the credit noteFinance → TransactionsNot issued credit note → Issue credit notes (N) / Issue credit note to provider
Hostkit Not issued credit note after rent reliefCredit note registered in Vivin ledgerIssue credit notes (N) — same pacing as Bulk Hostkit invoicing

When Finance has already invoiced rent for a calendar month, Change monthly rent still clamps exported months to the invoiced total (blue Already invoiced months banner — other months still save at your entered amount). On Contract Values → Edit amount, lowering a fully invoiced line issues a credit note for the difference (Paid / Invoiced / New net update as you type). Save stays blocked only when the line is partly invoiced. After Save, issue the document from Finance → Transactions (Not issued credit note → Issue credit notes (N) / Issue credit note to provider). Pair with FAQ — Fixed rent on variable unit when repricing after equal-month inference. See Bookings — Edit amount, Changing contract dates and rent, Finance — Invoiced floor and rent edits, and Common Workflows — Rent reduction after invoicing.

Booking detail — Change monthly rent modal with Already invoiced months info banner clamping exported rent

Booking Contract Values — Edit Rent on a fully invoiced line; effects include Issue a credit note

Walkthrough: Contract Values → Edit amount on a paid, not-invoiced rent line — switch Keep as credit and Return to tenant, then Cancel. On a fully invoiced line, the effects list Issue a credit note instead.
Walkthrough: Contract Info → Change monthly rent still clamps months Finance already invoiced (blue Already invoiced months banner).

What does Leave outstanding on this line mean?​

Pair with other FAQ subsections

Open the booking Contract Values tab and the pencil Edit amount. Type a new amount. The three tiles — Paid, Invoiced, and New net — update as you type.

When New net is higher than Paid, This action will have the following effects: includes Leave €X outstanding on this line. X is New net minus Paid. You do not subtract the tiles yourself. That line is the remainder the booking will keep after Save, not a cash movement.

When New net equals Paid, only Set this line to … appears. Lowering a paid line below Paid uses Keep as credit, Return to tenant, or a credit note instead — Edit amount.

Use Cancel if you were only checking the figure.

Booking Contract Values — Edit Rent with New net above Paid; effects include Leave outstanding on this line

Walkthrough: type a higher amount in Edit amount, read Leave €X outstanding on this line, then Cancel without saving.

See Bookings — Leave outstanding on Edit amount and Glossary — Leave outstanding (Edit amount).

Why can't I return of value on an invoiced or draft allocation?​

SymptomCauseFix
Row action disabled; tooltip All cash on this line is on an invoice. Use a credit note instead.Every cash allocation is already invoiced or manualUse Credit note on the same row — Vivin does not open an empty return-of-value dialog
Select shows No allocation available (modal still open)A draft (or similar protected-only mix) remains, so the modal opens to explain, but nothing is selectableIssue the draft on the provider, then Credit note
Row caption Invoiced… — use a credit note (disabled)Parent already on a provider documentCredit note → Not issued credit note → Issue credit notes (N)
Row caption Draft invoice — issue… then use a credit noteDraft document exists and will promote to invoicedIssue the draft on the provider, then Credit note — do not use return of value
Caption Not invoiced — available to returnPending / not-invoiced cashEnter amount (see Available: €…) and Apply when policy allows

Return of value hands money back without a fiscal document, so it only applies to cash that never reached Invoice-xpress / Hostkit / NetSuite. Fully invoiced lines keep the row action disabled; mixed and draft lines still open the modal so protected parents appear as disabled rows (with those captions) instead of a €0 limit. Permission: bookings.add_return_of_value (Admin / Finance by default). After Apply, the booking Transactions tab lists a negative Return of Value row — Why does Transactions show a negative Return of Value row?. bookings-detail-contract-values-manage-return-of-value-protected.png, bookings-detail-contract-values-manage-return-of-value-draft-caption.png, bookings-detail-contract-values-manage-return-of-value-available.png, bookings-detail-contract-values-return-of-value-flow.mp4, bookings-detail-contract-values-return-of-value-draft-caption-flow.mp4.

Booking Contract Values — Manage return of value with invoiced allocations disabled

Booking Contract Values — Manage return of value select open with Draft invoice caption and Invoiced caption both disabled

Booking Contract Values — Manage return of value with a not-invoiced allocation available

Walkthrough: protected (invoiced) vs available (pending) allocation states in Manage return of value.
Walkthrough: expand the allocation select to read the disabled Draft invoice caption beside an invoiced sibling.

What happens when I reject or revert an incoming payment?​

Pick the correction that matches receipt status — a duplicate still pending needs Reject; a duplicate already approved needs Revert:

| Symptom | Likely cause | Fix | | -------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | Duplicate never approved | Still pending on ledger | Reject payment / Reject selected — Pending manual receipt approval | | Duplicate after month-end Approve | Wrong booking or amount confirmed | Revert payment on booking Transactions or Finance row menu | | Delete payment greyed out | vIBAN / provider platform or invoiced allocation | Revert or clear Not issued credit note queue | | Red / blue modal on confirm | Charge already invoiced | Issue credit notes (N) — Finance — Issuing credit notes | | Not issued credit note batch stays Pending | Hostkit rate limit on bulk push | Same pacing as Bulk Hostkit invoicing — FAQ — Bulk Hostkit invoicing slow | | Rent cut blocked below exported month | Invoiced floor — distinct from receipt cleanup | Rent reduction after invoicing |

ActionRow statusBest surfaceEffect
Reject payment / Reject selectedpending / processingBookings → Transactions (per-row) or Finance → Transactions (bulk Reject selected only)Removes the in-payment from the booking and ledger
Revert paymentconfirmed or rejectedBookings → Transactions (per-row) or Finance → Transactions row menuRolls allocations and booking balances back
Delete paymentEligible manual rows onlyFinance → TransactionsRemoves the row entirely — disabled for vIBAN / provider platform or when any allocation is invoiced, manual, or draft
Issue credit notesAfter Reject / Revert on an invoiced chargeFinance → Transactions — Not issued credit note filter pillPushes reversal documents to Hostkit / Invoice-xpress or Set manual

Both Reject and Revert show accounting follow-up copy in the confirmation modal — Reject warns that you may need a credit note and invoice updates (red banner); Revert reminds you to update the invoice or issue a credit note when Finance already recorded the charge (blue info banner). On Finance → Transactions, Reject is bulk-only — tick pending rows and use Reject selected (there is no per-row reject icon on the ledger); booking Transactions still exposes per-row Reject payment and Revert payment.

When Hostkit or Invoice-xpress already invoiced the charge, Vivin creates credit-note reversal allocations after you confirm Reject or Revert. Triage those from Finance → Transactions: use the invoice filter pills beside Export — Not issued credit note lists rows whose reversals still need a provider push or manual registration; tick eligible rows and Issue credit notes (N) on the bulk bar, or open transaction detail and use Issue credit note to provider / Set manual on each reversal allocation. Issued credit note confirms the document left Vivin or was registered externally. This queue is the in-product follow-up the red and blue modals reference — not a separate spreadsheet. Pair with Finance — Issuing credit notes (integrated invoicing) and Glossary — Credit note (payment reject/revert).

When a duplicate or wrong booking receipt blocks month-end KPIs, use the same habit as Processing a New Booking — Step 5b, Managing a Check-in — Step 3b, Handling a Late Payment — Step 4b, Entering Monthly Utility Bills — Step 4b, Cancelling a Booking — Step 2a, Managing a Check-out — Step 6 (duplicate final payment), Notification triage — Step 4, and Portfolio KPI review — Step 7. See Payment Allocation — Correcting mistaken receipts, Bookings > Transactions row actions, Finance > Row actions, and Finance > Delete payment on the ledger.

Booking detail Transactions — Reject payment confirmation with red credit-note warning banner

Booking detail Transactions — Revert payment confirmation with blue invoice follow-up info banner

Finance Transactions — bulk selection bar with Approve selected and Reject selected

Walkthrough: booking Transactions — open Approve, Reject, and Revert confirmation modals (demo cancels each without saving).

Why is my manual receipt still pending after I recorded it?​

Pair with other FAQ subsections

Manual in-payments stay pending until a user with Approve payments confirms them. The Manual Payments KPI on Overview totals every manual in-payment in the selected month (pending and approved) — a non-zero value does not by itself mean the approval queue still has rows. Clicking the card opens the month drill-down of all manual rails; isolate pending rows with the amber Pending chip on Finance → Transactions.

SurfaceBest forApproval action
Finance → TransactionsPortfolio-wide Pending queue, bulk Approve selected / Reject selectedAmber Pending chip on All card → row icons or bulk bar
Bookings → TransactionsOne reservation with Payment Plan / Contract Values contextPer-row Approve payment (same modal as Finance)
/notifications or bellAlert-driven entry when a receipt still awaits approvalRow-click → booking Transactions → Approve (Step 4)

Triage from Finance → Transactions: click the amber Pending chip on the All type-summary card, then Approve payment (per row) or Approve selected / Reject selected (bulk bar). Ledger Reject is bulk-only — booking Transactions still exposes per-row reject. If the receipt is real but the € is wrong, correct the pending transfer amount before Approve. For mistaken duplicates, see FAQ — Reject or revert an incoming payment and Common Workflows — Reject/revert mistaken receipts. Until approval, Total Debt and In debt lines may not reflect the receipt — including the Dashboard Total Debt card for ongoing stays (headline and >15 days subtitle — FAQ — Dashboard Total Debt subtitle). When a Payment received or Pending manual in-payment alert brought you here, start from Notification triage — Step 4 before you clear unread in Step 5 — see also FAQ — Pending manual in-payment on /notifications. See Glossary — Pending manual in-payment (Finance), Payment Allocation — Pending manual approval (month-end habit), Processing a New Booking — Step 5b, Handling a Late Payment — Step 4b, Managing a Check-in — Step 3b, Entering Monthly Utility Bills — Step 4b, Cancelling a Booking — Step 2a, Portfolio KPI review — Step 7, and Finance — Pending manual payments.

Finance Transactions — All card with amber Pending chip active and filtered ledger rows

Booking detail Transactions — Approve payment confirmation modal

Walkthrough: amber Pending chip on Finance → Transactions → Approve payment (cancel before saving).

Payments & Finance​

Pair with other FAQ sections

Ledger, deposits, When should I use Card (recorded manually)? (desk / POS vs Tenant Portal Credit Card), What does Leave outstanding on this line mean? (Contract Values → Edit amount when New net is above Paid), Why does the same tenant appear under both Paid and Scheduled on Income? (partly collected Income split), How do I turn invoicing on? (Integrations connection, no separate billing switch), credit note (modal banners: Credit note warning hub), and payment overdue answers pair with Bookings (Contract Values, Transactions tabs), Why does Transactions show a negative Return of Value row? (booking Transactions, not this Finance ledger), Hostkit hub, Does opening a booking from Total Debt close the list? (Overview drill-down sidebar), Can I filter Total Debt by category without closing the list? (Booking category / Tenant category inside the list), Where do I see which Total Debt filters are on? (white picker bar + grey chip bar), Does Ready To Refund leave the booking on Fully paid? (Bookings Deposit status filter), Does Mark refunded on the booking leave the row on Finance Deposits?, and Does picking a second property close the Rent adjustment menu? (Select properties / Select categories stay-open on Rent adjustment Step 2).

How do I correct a pending transfer amount?​

If you typed the wrong € on a manual in-payment that is still pending, use the row pencil Edit amount. Fix the figure, then Approve. Do not Approve the wrong amount, and do not Reject unless the receipt itself should not exist (duplicate or wrong booking).

SurfaceHow you edit
Bookings → TransactionsPencil opens Edit Payment Amount — Update the amount received for this transaction. Save or Cancel.
Tenants sidebar TransactionsSame pencil; modal title Edit amount.
Finance → TransactionsPencil, then type in the Amount cell. Enter or click away to save; Escape to cancel.

You need Approve payments. The pencil stays off for vIBAN and Credit card (VIVIN) rails, and after Approve — then use Revert payment. A pending Card (recorded manually) receipt can be edited. The new amount cannot sit below what Finance has already invoiced on that receipt. Contract Values → Edit amount changes a scheduled charge line, not this receipt. A Return of Value row on booking Transactions is not a receipt — its pencil stays off too (Why does Transactions show a negative Return of Value row?).

Finance Transactions — All card with amber Pending chip active and filtered ledger rows

Transactions Tab

When should I use Card (recorded manually)?​

Use the desk/POS card habit (Card (recorded manually) in this guide) when the tenant paid on your card terminal (desk, POS, portable reader) and you are typing the receipt into Vivin. Open the booking → Transactions (or Payment Plan / Contract Values) → + Transaction → set Type to Credit Card → Cancel if you were only checking the list, or Add when the money is real.

That Type choice is not the automated Tenant Portal card rail. Portal card captures land under System Transactions → Credit card (VIVIN) and feed VIVIN card payouts. A desk tap recorded on that rail would look like money VIVIN collected.

SituationType to use on + TransactionWhere it lands
Tenant paid on your terminalCredit CardManual / Manual Card / Card (manual)
Tenant paid in the Tenant Portal with a cardDo not type it — it posts itselfSystem Transactions → Credit card (VIVIN)
Bank transfer you reconcile by handTransferManual
Cash at the deskCashManual

On the booking + Transaction modal, Type is only Cash, Credit Card, and Transfer — Credit card (VIVIN) is not in that list. After save, the booking table may show Manual Card; Finance → Transactions may show Card (manual). Same receipt.

The row stays pending until Approve payments, like any other manual in-payment. While pending, Edit amount can correct the €.

Booking detail — Add Payment modal (Payment Date, Payment Value, Type, Description)

Add Payment — Type open with Cash, Credit Card, and Transfer

Short walkthrough: open Type on Add Payment, read Cash / Credit Card / Transfer, then Cancel without Add.

See Bookings — Card (recorded manually) and Glossary — Card (recorded manually).

How do I turn invoicing on?​

Add an invoicing connection on Account Settings → Integrations (Platform Integrations → + Add). Choose VIVIN Invoicing, Hostkit, Invoice Express, NetSuite, or Sage50c (when Vivin has provisioned it). That connection is what turns invoicing on — there is no separate billing switch.

Then map Tax Codes on Settings → Billing → Invoicing, and issue from Finance → Transactions.

What you wantWhere
Turn invoicing onIntegrations → Add Integration — pick a provider
VAT / Tax CodesSettings → Billing → Invoicing after the connection exists
Issue documentsFinance → Transactions → Issue allocation
Tenant Portal card / vIBANPayments on the account — separate from invoicing

AI Chat / WhatsApp Genius listing billing as an active module means that invoicing connection exists. It does not grant Issue allocation by itself — that still follows your role.

Account Settings — Integrations with VIVIN Invoicing card (Invoice numbering, taxes and Word templates) and Configure

Integrations — Add Integration list with VIVIN Invoicing, Hostkit, Invoice Express, and NetSuite

Walkthrough: open Integrations, read an invoicing card, open Add Integration, then close without adding or deleting a connection.

See Integrations — Billing from the invoicing connection and Glossary — Billing from the invoicing connection.

Why does Transactions show a negative Return of Value row?​

That row is the return of value you already recorded on Contract Values (or that Vivin posted when you Mark refunded paid, not-invoiced deposit cash). It is not a second receipt and not a bank payout from + Transaction.

What you seeMeaning
Type Return of Value, amount -€ …One row per return, so All and Manual match what the tenant actually paid
Returned on Cleaning Fee (or Rent, Deposit, …)The charge the money came off
Date is later than the charge due dateDate is when you recorded the return, not when the line was due
Approve / Reject / Revert / Edit amount stay offThere is no in-payment behind the row — change it from Manage return of value
Missing on Finance → TransactionsThat ledger is receipts. Use booking Transactions, or Finance → Contract Values → Return of Value for the portfolio list

Credit notes stay nested on Contract Values and issue from Finance → Transactions — they do not appear as these negative rows.

How do I raise rent across many bookings at once?​

Open Account Settings → Payments → Rent adjustment → Review and apply. Enter the Increase percentage and Effective month / year, then Preview. Select the bookings to include (filters and search narrow the list), optionally Export CSV/Excel, and Apply only when the totals look right — Apply cannot be undone. On Step 2, Select properties and Select categories stay open while you add a second building or booking tag — see Does picking a second property close the Rent adjustment menu?. The teal tenant name opens booking details on top of the preview — see Does opening a booking from Rent adjustment close the preview?. Dual-pricing, cancelled, and invoicing-in-progress stays stay out of the raise. You need Bulk Rent Increase; without it the card is hidden. For one reservation, use Contract Info → Change monthly rent instead.

Account Settings — Payments tab Rent adjustment card with Review and apply

Rent adjustment — Step 2 Review preview table with current vs new rent

Walkthrough: open Rent adjustment, set a percentage and effective month, preview eligible bookings, then close without applying.

Does picking a second property close the Rent adjustment menu?​

No. On Account Settings → Payments → Rent adjustment, open Review and apply, enter a percentage and month, then Preview. Open Select properties, tick the first building, then tick a second building. The menu stays open with checks on both. Tick Casa Abel II, then Casa Bolívia VIII, when you want those two houses in one preview. The table shows bookings in any of the buildings you picked. Select categories (booking tags) stays open the same way when that control is on the bar — for example tick Extra tenant, then another tag. Dismiss the menu when the chips look right, then Cancel unless you intend to raise rent. Search, Start date / End date, and Show revised in last 12 months are different controls. See Payments — Select properties / Select categories stay open.

Rent adjustment Step 2 — Select properties still open with Casa Abel II and Casa Bolívia VIII checked

Rent adjustment Step 2 — Select categories still open after ticking Extra tenant

Walkthrough: Preview, open Select properties, tick Casa Abel II then Casa Bolívia VIII without closing the menu, dismiss via the percentage recap. Do not Apply.

Does opening a booking from Rent adjustment close the preview?​

No. On Account Settings → Payments → Rent adjustment, open Review and apply, enter a percentage and month, then Preview. Click the teal tenant name (English View booking details). The booking opens on top of the preview. Search, property and category chips, checkboxes, and Show revised in last 12 months stay. Close the sidebar — not the Rent adjustment X — to continue the list.

Clicking the rest of the row checks or unchecks that stay for the raise; it does not open the booking.

See Payments — View booking details stays on the preview. Distinct from Does opening a booking from Total Debt close the list?.

Rent adjustment Step 2 — teal tenant name (View booking details) in the preview table

Rent adjustment — booking sidebar open on top of the Step 2 preview

Walkthrough: Preview, click a teal tenant name, close the sidebar (preview remains). Do not Apply.

When should I use Cancel Booking vs Delete Booking?​

Pair with other FAQ subsections

Cancel vs Delete pairs with Common Workflows — Wrong tenant on a booking (Change tenant when profile link is wrong — not Delete), Common Workflows — Cancel Booking vs Delete Booking, Glossary — Cancel Booking vs Delete Booking hub, Common Workflows — Portfolio retirement decisions (three-way Archive vs Cancel vs Delete — listings-archived-populated-table.png), Cancelling a Booking.

Use Cancel booking when a real reservation ends or is voided under your cancellation policy — you settle balances first (Cancelling a Booking), pick a refund type in the Contract Info dialog, and the stay stays visible in Canceled filters with full Finance → Transactions history. Use Delete Booking (soft-archive) only for mistaken or test rows you want out of default Bookings lists while keeping audit rails — not as a shortcut around cancellation settlement or deposit refunds.

ActionWhen to useList visibilityFinance → Transactions after action
Cancel bookingReal stay voided; policy-driven refundCanceled filter / statusAll payment types stay visible
Delete BookingDuplicate import, training row, mistaken createDrops from default lists (soft-archive)System Transactions (vIBAN, credit card) stay; Manual Transactions hidden; clear provider platform in-payment first

Cancel booking opens the refund-type dialog on Contract Info → Check-in & Check-out — illustrated in Cancelling a Booking — Step 4. After confirmation, filter Bookings → Canceled to audit voided stays (bookings-list-canceled-tab.png). Delete Booking sits beside Cancel booking on the same card but soft-archives without running cancellation policy.

Delete Booking guards: clear any non-rejected provider platform in-payment first — see Why does Delete Booking fail on an integration reservation?. Clear any non-rejected credit card or Virtual IBAN system in-payment before soft-archive — see Why does Delete Booking fail with a VIVIN credit card or Virtual IBAN message?. Distinct from Archive property (building-level). Full three-way scope table: Portfolio retirement decisions. When manual or provider platform rows vanish from Finance → Transactions after soft-archive, see FAQ — Manual payments after Delete Booking (finance-transactions-type-summary-cards.png).

Bookings — Cancel booking dialog with full refund, no refund, and partial refund options

Bookings list — Canceled tab showing voided reservations still searchable in the directory

Finance Transactions — type summary cards showing System vs Manual Transactions buckets affected by soft-archive

Walkthrough: Contract Info → Cancel booking → review refund types (clip closes without confirming — contrast with Delete Booking, which has no refund dialog).

See Bookings — Delete Booking (soft archive), Finance — Archived bookings on the ledger, and Glossary — Archived booking ledger visibility.

Why did manual or provider platform payments disappear from Finance → Transactions after Delete Booking?​

Delete Booking soft-archives the reservation. On Finance → Transactions, Vivin hides manual ledger types tied to archived bookings — transfer, cash, deposit refund, provider platform, and similar operator-recorded rows under Manual Transactions — so test or mistaken stays do not clutter the portfolio ledger. vIBAN and credit card automated captures under System Transactions stay visible for bank/card reconciliation. Canceled bookings that are not archived keep every payment type visible. Ledger rows with no booking link (platform-level movements) are never hidden by this gate.

This is expected behaviour, not a sync bug — use FAQ — Cancel Booking vs Delete Booking when you need full Transactions history for a real voided stay. Month-end: if totals look short after cleaning up training rows, confirm you did not Delete Booking on reservations that still had manual receipts you need in exports — Portfolio KPI review — Step 7.

Finance Transactions — type summary cards showing System Transactions (Virtual Iban, Credit Card) vs Manual Transactions (Transfer, Cash, Deposit Refund, Platform)

Walkthrough: Finance → Transactions manual transfer row → booking Transactions tab → Delete Booking → manual row disappears from the portfolio ledger while System Transactions (Virtual Iban) stay for reconciliation.

See Finance — Archived bookings on the ledger, Glossary — Archived booking ledger visibility hub, Glossary — Archived booking ledger visibility, and Bookings — Delete Booking (soft archive).

What does Finance Overview “Income status” show, and how do I open the debt list?​

Pair with other FAQ subsections

Income status pairs with FAQ — Why does the same tenant appear under both Paid and Scheduled on Income? (partly collected charges split across segments), FAQ — Bookings that owe money (Top debtors / overdue buckets — not the payment-line modal alone), FAQ — Dashboard Total Debt subtitle (ongoing bookings on / vs Finance all-booking KPIs), FAQ — Uncovered Debt KPI, Finance Income status drill-down hub (segment vs Debt Aging symptom table), Glossary — Finance income status.

On Finance > Overview, the stacked Income chart breaks each month into Paid (dark teal), Scheduled (light teal), and In debt (red). Click a bar segment (or a row in its hover tooltip) to open a payment-line modal scoped to that month and status — tenant · unit rows with lifecycle chips, not a ranked debtor list. The modal shows Loading items… while Vivin gathers every matching line on demand (not infinite scroll); Export (CSV / Excel) unlocks after the list finishes — Finance — Income status on-demand loading.

SurfaceScopeOpens
Income → In debt segmentOne calendar month + statusPayment-line modal (finance-overview-income-status-in-debt-modal.png)
Debt Aging panelBooking-level receivablesTop debtors, or overdue bucket → Debt Aging modal (Overdue since) then row → booking sidebar (finance-overview-debt-aging-expanded-bucket.png)
Total Debt KPI (Finance strip)All-booking underpayment headlineClickable debt list + Booking status (finance-overview-debt-booking-status-ended.png)
Uncovered Debt KPIDebt not offset by depositsSame list scoped to uncovered rows + Booking status
Dashboard Total Debt cardOngoing bookings onlyHeadline + >15 days subtitle — not clickable (dashboard-kpi-total-debt-tooltip.png)

For booking-level receivables (who owes, and which charges are late), use the Debt Aging panel on the right: click an overdue bucket to open the band modal (Overdue since + band amount), or pick Top debtors, then click a row to open the booking sidebar. Click Total Debt or Uncovered Debt for the full booking list and use Booking status when you need lifecycle slices (for example only Ended arrears) — Finance — Total Debt / Uncovered Debt drill-down. Pair with FAQ — Bookings that owe money when you need tenant · unit rows instead of payment lines. Collections workflow: Handling a Late Payment — Step 1. Month-end reconciliation: Portfolio KPI review — Step 7. See Finance > Income status drill-down and Debt Aging.

Finance Overview — stacked Income chart with Paid, Scheduled, and In debt segments beside Debt Aging panel

Finance Overview — In debt modal Loading items while payment lines gather on demand

Finance Overview — In debt payment-line drill-down modal for a selected month

Why does the same tenant appear under both Paid and Scheduled on Income?​

That is expected when the charge is only partly collected. Click Paid and Scheduled (or In debt once the remainder is overdue) on the stacked Income chart. Each modal lists the same tenant · unit · type for a different slice:

  • Paid — Amount is the euros already collected.
  • Scheduled — Amount is the euros still expected, not yet due.
  • In debt — Amount is the euros still owed after the due date.

The Paid column on the row still shows the full collected figure. The header total € matches the coloured segment you clicked — it does not add the two slices together in one list. A fully settled charge appears only under Paid.

Cash flow forecast lists collected cash once on the day it arrived; it does not split a charge across Paid and Scheduled.

Finance Overview — Paid modal; Amount is the collected part of a partly collected rent line

Finance Overview — Scheduled modal; same tenant, Amount is the remainder

Walkthrough: open Paid, then Scheduled, on the same partly collected Income line — Amount changes; the Paid column keeps the collected figure. Close without changing receipts.

See Finance — Partial payments across Paid, Scheduled, and In debt and Glossary — Income partial split.

What does Finance Overview “Cash flow forecast” show, and how do I open the All payments modal?​

Pair with other FAQ subsections

Cash flow forecast (Finance Overview) pairs with FAQ — Finance Income status drill-down (Income chart groups by reference month; Cash flow groups by money-move dates), Cash flow forecast drill-down hub (hybrid Past/Expected vs Income symptom table), FAQ — Dashboard Total Debt subtitle (ongoing bookings on / vs Finance KPIs), Glossary — Cash flow forecast (Finance Overview), Glossary — Cash Flow Forecast (Dashboard).

On Finance > Overview, the Cash flow forecast chart (below the stacked Income chart) is hybrid: past bars show cash actually collected (same figures as Transactions, by collection day); today and future bars show uncollected rent still expected, grouped by due date. An early-paid charge appears once on its collection day — not again on the due date — so a fully settled future month correctly reads € 0. Toggle Month vs Day on the chart header. Click a bar to open an All payments drill-down listing exactly the lines that make up that bar (modal total equals the bar).

SurfaceScopeOpens
Cash flow forecast barOne calendar month or dayAll payments modal (finance-overview-cash-flow-all-payments-modal.png)
Income → Paid segmentOne month + status (reference month)Payment-line modal — FAQ — Finance Income status drill-down
Dashboard Cash Flow ForecastSame hybrid Past / Expected series on /Timing chart (dashboard-cash-flow-forecast-chart.png)
Operations → Cash FlowsNon-booking expensesOperator-recorded lines — not Overview cash timing

This is cash timing on Finance (collections behind, expected rent ahead) — the same series as the Dashboard chart (Dashboard > Cash Flow Forecast), and distinct from the stacked Income chart which groups by the month a charge refers to (FAQ — Finance Income status drill-down). Month-end reconciliation: Portfolio KPI review — Step 7.

Finance Overview — Cash flow forecast with Day granularity selected (Past / Expected legend)

Finance Overview — All payments drill-down from a Cash flow forecast month bar (lines match the bar total)

Short walkthrough: toggle Day on Cash flow forecast, click a bar, review the All payments drill-down (total matches the bar), then close.

How do I triage a payment overdue alert before opening Finance Debt Aging?​

Pair with other FAQ subsections

Payment overdue alerts on /notifications pair with Payment alert to receivables triage hub (symptom table + per-guide mesh), FAQ — Notification row-click navigation (row-click opens the related booking), FAQ — Confirmation alert triage (contrast Upcoming vs Ongoing/Ended alerts), FAQ — Pending manual in-payment on /notifications (Approve before Debt Aging), FAQ — Bookings that owe money.

On /notifications, row-click a Payments alert before you bulk Mark all as read — Notification triage — Step 4 opens the booking behind the ping so you confirm balance on Payment Plan or Transactions first. Only after single-booking triage (and clearing amber Pending receipts) open Finance → Overview → Debt Aging for ranked Top debtors — hub: Common Workflows — Finance debt receivables triage.

Alert text on /notificationsStep 4 row-click targetBefore Debt Aging
Payment overduePayment Plan on opened bookingConfirm arrears — then Handling a Late Payment — Step 1 or Top debtors
Pending manual in-paymentTransactions → ApproveNot Debt Aging until queue clears — Pending manual receipt approval
Payment received from tenant …Transactions — confirm ledgerApprove if still pending — then Step 5

Contrast Upcoming confirmation-week alerts (Booking created, Payment received on imports) with Ongoing/Ended payment overdue — FAQ — Confirmation alert triage and hub: Common Workflows — Confirmation alert triage. When Total Debt stays high after row-click, check amber Pending on Finance → Transactions and duplicate approved transfers (Reject/revert mistaken receipts) before you escalate collections on phantom debt.

Notifications — row-click from payment alert opens booking detail for balance review

Finance Overview — Debt Aging panel with overdue buckets beside the Income chart

Finance Overview — Debt Aging bucket expanded to show tenant · unit rows for an overdue band

Short walkthrough: row-click a payment overdue alert on /notifications, confirm balance on the opened booking, then clear unread in Step 5.
Short walkthrough: when alert triage needs portfolio context, expand a Debt Aging bucket and open a booking from Top debtors.

How do I triage an Upcoming confirmation alert before marking notifications read?​

Pair with other FAQ subsections

Upcoming confirmation-week alerts on /notifications pair with FAQ — Notification row-click navigation (row-click opens the related booking), FAQ — Payment alert to receivables triage (contrast Upcoming vs Ongoing/Ended payment overdue), Confirmation alert triage hub (Booking created / Payment received symptom table), FAQ — Pending manual in-payment on /notifications (Approve before bulk mark-read), Common Workflows — Confirmation alert triage.

On /notifications, row-click each Upcoming Booking created or Payment received alert before you bulk Mark all as read — Notification triage — Step 4 opens the Upcoming booking behind the ping so you finish confirmation gates on Transactions or Contract Info first. Only after Processing a New Booking — Step 5b / Step 6 (and Step 5) clear unread — hub: Common Workflows — Confirmation alert triage.

Alert text on /notificationsStep 4 row-click targetBefore bulk mark-read
Booking created / new reservationContract Info / status tabs on opened bookingStep 6 portal sanity — not Managing a Check-in — Step 1 until ~7 days out
Payment received from tenant …Transactions → ApproveStep 5b when receipt stays pending
Pending manual in-paymentTransactions → ApprovePending manual receipt approval — not Debt Aging
Payment overdue on Upcoming stayPayment Plan on opened bookingHandling a Late Payment — Step 1 — contrast Upcoming vs Ongoing on Payment alert to receivables triage

Contrast Upcoming confirmation-week alerts with Ongoing/Ended payment overdue — route receivables alerts via FAQ — Payment alert to receivables triage before Finance → Overview → Debt Aging. When Payment Plan still shows unpaid after a Payment received alert, the transfer is usually still pending — finish Step 5b before Step 5. Month-end lingering Pending on imports: Step 6b during Portfolio KPI review — Step 7.

Notifications — row-click from payment alert opens booking detail for Transactions approval

Booking detail Transactions — Approve payment confirmation modal

Short walkthrough: row-click a confirmation-week Payment received alert on /notifications, Approve on Transactions, then clear unread in Step 5.

How do I see which bookings owe money right now?​

Pair with other FAQ subsections

Booking-level receivables pair with FAQ — Finance Income status drill-down (In debt segment opens payment-line detail, not booking rows), FAQ — Dashboard Total Debt subtitle (ongoing bookings only on /), FAQ — Uncovered Debt KPI, Glossary — Finance Debt Aging, Finance — Debt Aging panel.

Open Finance > Overview and use the Debt Aging panel: click an overdue bucket to open the band modal (tenant · unit, Overdue since, band amount), or pick a row under Top debtors. Click a bucket-list row to open the booking on top of that list so you can return to the same band (Finance — Booking sidebar stays on the drill-down). Top debtors on the Overview panel is not a modal — that ranked list still opens the booking beside the page.

Each overdue charge is aged by its own due date. A booking with both a recent missed rent and an older arrear can appear in more than one band — each modal shows only that band’s slice, not the booking’s full debt. Bucket counts are distinct bookings per band (not additive across bands); bucket amounts are.

When arrears cluster on one tenant category (corporate, short-stay, or Unassigned), open Other filters → Tenant category on Finance → Overview or Contract Values before you rank Top debtors — mirror the same segment on Bookings and Tenants when the Finance drawer omits it (FAQ — Finance tenant category filter parity, Common Workflows — Portfolio segmentation by tenant category).

Click Total Debt or Uncovered Debt for the full booking list, then use Booking status to isolate Ongoing, Ended, Upcoming, or Cancelled rows — Finance — Total Debt / Uncovered Debt drill-down (finance-overview-debt-booking-status-ended.png). To slice by booking tag or tenant segment without changing Overview KPIs, use Booking category and Tenant category on that same list — FAQ — Can I filter Total Debt by category without closing the list?. For age bands, triage from Debt Aging or the In debt segment on the Income chart (FAQ — Finance Income status drill-down). When Uncovered Debt sits close to Total Debt, prioritize Top debtors rows with thin deposit coverage — FAQ — Uncovered Debt KPI. Collections follow-through: Handling a Late Payment — Step 1. After a payment alert on /notifications, continue from Notification triage — Step 4. See Finance > Debt Aging panel and Glossary — Finance Debt Aging.

Finance Overview — Debt Aging panel with overdue buckets and Top debtors for booking-level receivables triage

Finance Overview — Debt Aging bucket modal with Overdue since and band-scoped amounts

Does opening a booking from Total Debt close the list?​

No. Click a row on Total Debt, Uncovered Debt, a Debt Aging bucket list, Overdue Deposits, System Payments, Manual Payments, or an Income / Cash flow payment list. The booking sidebar opens on top of that list. Search, Booking status, and (on Total Debt / Uncovered Debt / Debt Aging lists) Booking category and Tenant category stay as you left them. Close the sidebar to continue the queue. Top debtors on the Overview panel is a different control — that list is not a modal. See Finance — Booking sidebar stays on the drill-down and FAQ — Bookings that owe money.

Finance Overview — debt list filtered to Ended (Showing N of M + filtered € of card total)

Can I filter Total Debt by category without closing the list?​

Yes. On Total Debt, Uncovered Debt, or a Debt Aging bucket list, use Booking category and Tenant category beside search. They slice the open rows — Overview KPI cards stay as they were. Tick a named tag or segment, then No category / No tenant category if you also want unassigned stays. Each menu stays open while you add another choice. Showing N of M and the filtered € total sit on the grey summary bar beside the card total; chips appear there, and the pickers on the white bar keep their placeholders. Clear all resets search, Booking status, and both category pickers.

This is not Other filters → Tenant category or Booking → Select categories — those rebuild Overview. Overdue Deposits, System Payments, Manual Payments, and Income lists do not have these pickers.

See Finance — Filter the debt list by category, Finance — Filter toolbar stays two bars, and FAQ — Does opening a booking from Total Debt close the list?.

Where do I see which Total Debt filters are on?​

On the grey summary bar, not inside the picker labels. Search tenant or unit…, Booking status, Booking category, and Tenant category stay on the white bar and keep their placeholders after you tick a choice. Chips, Clear all, Showing N of M, and the filtered € total sit on the grey bar below. Click a chip × to drop one filter; Clear all resets every control.

When the list shortens, the table keeps enough height that an open menu stays on its trigger — tick a second Booking status or category without hunting for a floating list.

This two-bar split is only on Total Debt, Uncovered Debt, and Debt Aging bucket lists. See Finance — Filter toolbar stays two bars and FAQ — Can I filter Total Debt by category without closing the list?.

Why does the same booking appear in more than one Debt Aging band?​

Debt Aging ages each overdue charge by its own due date — not by a single “next payment” or booking-level proxy. If one booking still owes last month’s rent (31–60 d) and this month’s rent (0–15 d), that booking is listed in both bands. Opening each band’s modal shows only that band’s amount and Overdue since (the oldest unpaid due date in that b.

Bucket counts count distinct bookings per band, so adding the four counts usually over-counts multi-band bookings. Bucket amounts do add up to portfolio overdue debt.

Finance Overview — same booking in the 0–15 d Debt Aging band with band-scoped amount

Finance Overview — same booking in the +60 d Debt Aging band with a different Overdue since and amount

Walkthrough: open 0–15 d, filter the same tenant, close, then open +60 d — band-scoped amounts and Overdue since differ while the booking row stays the same.

What does Dashboard Total Debt subtitle mean?​

Pair with other FAQ subsections

On the post-login Dashboard, the Total Debt card headline sums tenant underpayment on ongoing bookings only — the same live-stay notion Finance uses for collections triage. The subtitle below it shows how much of that ongoing debt sits on bookings older than 15 days; it is not a second copy of the headline. Hover the card info icon for the in-app definition of ongoing bookings and overdue debt.

The card does not open a booking list — use FAQ — Bookings that owe money (Debt Aging / Top debtors on Finance) when you need tenant · unit rows. For all-booking receivables, Uncovered Debt, and Manual Payments, open Finance > Overview instead (finance-overview-kpi-cards.png). Month-end reconciliation habit: Portfolio KPI review — Dashboard Total Debt subtitle. See Common Workflows — Finance debt receivables triage.

Dashboard — Total Debt KPI card with portfolio debt headline and overdue (>15 days) subtitle

What is Uncovered Debt on Finance Overview?​

Pair with other FAQ subsections

Uncovered Debt is the part of portfolio Total Debt that is not offset by security deposits you still hold. A high Total Debt with a similar Uncovered Debt figure often means collections risk is not cushioned by deposit balances — prioritize those bookings in Debt Aging or Contract Values → In Debt (FAQ — Bookings that owe money, Finance — Debt Aging panel).

The Dashboard Total Debt card covers ongoing bookings only and does not show Uncovered Debt — open Finance → Overview for the seven-card strip (finance-overview-kpi-cards.png). See Glossary — Uncovered Debt, Glossary — Uncovered Debt hub, Common Workflows — Uncovered Debt KPI, Common Workflows — Finance debt receivables triage, Handling a Late Payment — Step 1, FAQ — Dashboard Total Debt subtitle, and Finance > KPI strip.

Finance Overview — seven KPI cards including Total Debt and Uncovered Debt

Finance Overview — In debt legend opened with payment line list and total

Walkthrough: compare Total Debt and Uncovered Debt on the Finance → Overview KPI strip, then expand Debt Aging Top debtors when deposit coverage is thin.

How do I open overdue security deposits from Finance Overview?​

Click Overdue Deposits on the Finance → Overview KPI strip when the count is non-zero. The modal lists deposits past Refund Due Date that are not yet marked refunded — all time, respecting active Other filters, not the month picker. Rows load on demand from the same filtered SQL the card aggregates, so the footer foots to the KPI and a normal Overview visit does not download the overdue list up front.

Looking for…Use
Portfolio overdue refund queueOverdue Deposits KPI → drill-down (finance-overview-overdue-deposits-drilldown-modal.png)
Day-to-day refund / dispute actionsFinance → Deposits Timeline Overdue / lifecycle Ready to refund
One booking’s deposit settlementBooking Deposit tab — Managing a Check-out — Step 5

Finance Overview — Overdue Deposits KPI card

Finance Overview — Overdue Deposits drill-down modal

Walkthrough: click Overdue Deposits, review on-demand overdue rows, search a building code, then close.

See Finance — Overdue Deposits drill-down, Finance — Booking sidebar stays on the drill-down, and Finance — Deposits Tab.

Uncovered Debt KPI​

Pair with other FAQ hub sections

Deposit-coverage questions pair with Finance debt receivables triage hub (Top debtors after KPI strip compare), Pending manual receipt approval hub (Total Debt / Uncovered Debt lag until Approve), Partly collected security deposit hub (booking Deposit shortfall vs portfolio KPI), Payments & Finance, and Portfolio KPI review — Step 7.

SymptomFix
Uncovered Debt ≈ Total DebtThin deposit offsets — prioritize Debt Aging Top debtors (finance-overview-debt-aging-expanded-bucket.png)
Looking for Uncovered Debt on DashboardOpen Finance → Overview seven-card strip — finance-overview-kpi-cards.png
Total Debt unchanged after Add PaymentApprove Pending rows first — Pending manual receipt approval hub
Month-end debt looks low but notifications persistCompare Uncovered Debt on Finance strip — not Dashboard ongoing card — Portfolio KPI review — Step 7
Need ranked debtors after thin-coverage readFinance debt receivables triage hub — Top debtors after KPI compare

Why doesn't Finance → Other filters list every tenant category?​

SymptomLikely causeFix
Segment defined in Settings but missing on FinanceStale browser session or permissionsRefresh the page; confirm the segment still exists under Settings → Tenant categories — Finance loads the full catalog via GET /tenant-categories
Filter results stale on ledger tabs after Tenant InfoTab still showing a pre-save payloadReload Contract Values / Deposits / Income — live month-scoped reads; see Finance tenant category cache refresh
Overview still shows the old segment after recategorizeOverview computed cache (~10 min)Wait up to ~10 minutes or revisit later — Finance tenant category cache refresh
Segment missing on Bookings toolbar but present on FinanceBookings uses portfolio filter catalogMirror on Tenants or check Bookings — Other filters catalog source
Month-end debt skewed to one segmentMixed portfolio in default Finance viewsFinance → Other filters → Tenant category + Finance debt receivables triage — Portfolio KPI review — Step 6
Overview drill-down list looks wider than the filtered KPIsStale Overview cache or filters clearedConfirm Other Filters still shows an active count, wait for Overview refresh (~10 min after recategorize), then reopen the modal — Overview drill-downs honour Tenant category

Finance → Other filters → Tenant category lists every segment defined under Settings → Tenant categories (GET /tenant-categories) — not only segments already present on booking rows. If a segment you created in Settings does not appear, refresh the drawer or confirm the segment was saved. Bookings → Tenant categories lists segments from the account catalog on the toolbar; when Bookings and Finance disagree, check that the segment exists in Settings first. See Finance — Tenant category filter.

After you recategorize a tenant on Tenants → Tenant Info, Vivin updates booking.tenantCategoryId on linked reservations immediately. Contract Values, Income, Transactions, Deposits, and Payouts use the live month-scoped payments path — reload the tab and filter results match right away. Overview can lag up to about ten minutes (computed cache cron / read miss). That updates which rows match the filter; it does not change the drawer vocabulary (already account-wide). See Glossary — Finance tenant category cache refresh.

Bookings list — Tenant categories toolbar menu with segments listed beside Booking categories

Finance Contract Values — Other filters drawer with Tenant category multi-select and one segment active

Finance Overview — Debt Aging drill-down under an active Tenant category filter

Why doesn't WhatsApp Genius recognize my number?​

SymptomLikely causeFix
Genius ignores messages from a staff phoneNumber not linked on UsersOpen Account Settings → Users, Edit the teammate, enter Phone Number in international format, and save — the field is on Edit, not Add Team Member
Linked but wrong permissionsSender maps to a different userConfirm the WhatsApp sender matches the saved Phone Number exactly — Genius resolves the real property manager and their role
Cannot save a phoneNumber already linked to another userEach phone is unique per account while set — clear or change the other user's phone first
Confused with tenant chatbotTwo different WhatsApp flowsGenius = landlord staff assistant; ChatBot = tenant support line — see Automation & AI
Replies look like broken markdown / tablesWhatsApp formatting pathExpected: Genius strips tables/headings for WhatsApp — see Automation & AI — How Genius replies behave
Genius says it cannot change data / cannot access accountHonest tool surfaceCheck AI / MCP → Tool permissions and the user’s role — Genius only advertises tools actually attached this turn
Confirmation asks in the wrong languageLanguage consistencyGenius must confirm in the language of the latest user message; rephrase in that language if a prior English stub appears

How do Genius and AI Chat know which account I am on?​

SymptomLikely causeFix
Assistant cannot name the company / contact emailEmpty or outdated General Information fieldsOpen Account Settings → General Information, set Company Name and Contact Email, save, then ask again
Assistant sounds account-agnostic after a platform outageFail-open account-profile lookupRetry the question; if it persists, confirm you are signed into the expected workspace and that company name is saved
Genius answers for a different landlord than expectedWrong WhatsApp sender ↔ user linkConfirm Phone Number on the correct Users card — FAQ — Genius does not recognize my number
Assistant names modules that the user’s tools cannot callAccount configuration ≠ per-user tool surfaceExpected: payments / operations (account capabilities) and billing (an invoicing connection exists) are account configuration; effective tools still follow AI / MCP and the user’s role
Confused with tenant chatbot naming your brandTwo different assistantsGenius / AI Chat = landlord operators; ChatBot = tenant support — see Automation & AI

AI Assistant — reply naming the active account company and contact email from settings

How do Genius and AI Chat know what VIVIN is?​

SymptomLikely causeFix
Assistant cannot explain modules or where to click in the productBuild without product-context prompt (or client not on Landlord MCP)Confirm you are on AI Chat / WhatsApp Genius / a connected Landlord MCP client — then ask again (“What is VIVIN?” / “Where do I manage invoices and tax rates?” / “Where do I manage scheduled reports?” / “Where do I open Audit to review manual blocks and discounts?” / “Where do I enter utility bills and review allocations?”)
External MCP client invents product featuresClient never called a get-vivin-context-* topic toolAsk the client to load product help first — start with get-vivin-context-overview, then the matching theme tool (for example get-vivin-context-finance for invoicing navigation); they stay available even when all Tool permissions domains are Off
Looking for get_vivin_context / topic tools under Tool permissions chipsExpected — product help is not a gated domainIt will not appear in the Settings chips; Chat/Genius embed the reference automatically; HTTP MCP exposes seven get-vivin-context-* tools outside the gate
Confused with account identity (“which company am I on?”)Two different injectionsProduct context = what VIVIN is; account identity = your company fields on General Information — FAQ — account identity

AI Assistant — reply explaining what VIVIN is and who it is for

Walkthrough: ask AI Assistant what VIVIN is and read the product-context reply.

For a where-to finance question (“Where do I manage invoices and tax rates?”), expect orientation toward Account Settings (configure) and Finance (review). Then open Integrations → Configure for VIVIN issuer numbering and templates (there is no Billing tab for that provider), Invoicing → Tax Codes for line-type VAT, and Finance → Transactions for issued documents. External MCP clients should call get-vivin-context-finance for that slice.

AI Assistant — where to manage invoices and tax rates (Billing settings vs Finance screens)

Walkthrough: ask AI Assistant where to manage invoices and tax rates, then read the Billing vs Finance navigation reply.

For Payments settings (“Where do I open Payments under Account Settings to configure tenant due days, deposit refund deadline, late penalties, and payment priorities?”), open Settings → Billing → Payments (/settings/payments) — due days, deposit refund deadline, late penalties, and Payments priorities. The assistant typically says Settings → Billing (then Payments), or Settings → Billing / Payments. Portfolio ledgers stay on Finance; fee visibility toggles stay on Fees. External MCP clients: get-vivin-context-finance (or get-vivin-context-platform).

AI Assistant — where to open Payments for tenant due days, deposit refund deadline, late penalties, and payment priorities

Walkthrough: ask where to open Payments under Account Settings for due days and payment priorities, then open Settings → Billing → Payments.

For Rent adjustment (“Where do I open the Rent adjustment card under Account Settings Payments (the Billing group Payments tab at /settings/payments — English card label Rent adjustment with Review and apply — not Change monthly rent on a single booking Contract Info, and not Finance Transactions) to raise rent instalments on selected current bookings from a chosen month with Bulk Rent Increase?”), open Settings → Payments → Rent adjustment (/settings/payments) — portfolio percentage raise with Review and apply. The assistant typically says Settings → Payments (then the Billing group Payments tab → Rent adjustment), or Settings → Billing → Payments → Rent adjustment. Single-stay changes stay on Bookings → Contract Info → Change monthly rent; ledgers stay on Finance → Transactions. Name Payments plus the Rent adjustment card and those disambiguators so the reply stays on the bulk-raise card (requires Bulk Rent Increase). External MCP clients: get-vivin-context-finance (or get-vivin-context-platform).

AI Assistant — where to open Rent adjustment for Bulk Rent Increase on selected bookings

Walkthrough: ask where to open Rent adjustment for Bulk Rent Increase, then open Settings → Payments → Rent adjustment.

For Invoicing / Tax Codes (“Where do I open Invoicing under Account Settings to configure Tax Codes and line-type VAT rates?”), open Settings → Billing → Invoicing (/settings/invoicing) — Tax Codes, line-type VAT, and related invoicing fields. The assistant typically says Settings → Billing (invoicing / tax configuration, including Tax Codes). Issuer numbering stays on VIVIN Invoicing; issued documents stay on Finance → Transactions. External MCP clients: get-vivin-context-finance (or get-vivin-context-platform).

AI Assistant — where to open Invoicing for Tax Codes and line-type VAT rates

Walkthrough: ask where to open Invoicing under Account Settings for Tax Codes and line-type VAT rates, then open Settings → Billing → Invoicing.

For VIVIN Invoicing (“Where do I open VIVIN Invoicing under Account Settings to configure issuer details, document numbering, the tax-rate catalogue, and Word templates? Not the shared Invoicing Tax Codes tab, and not Finance Transactions.”), open Settings → System → Integrations and Configure on the VIVIN Invoicing card — issuer details, document numbering, tax-rate catalogue, and Word templates for Invoice, Proforma, and Credit note. Live replies often say Settings → Faturação → Faturação (and may send Word files to Contrato). Follow Integrations → Configure instead. Line-type Tax VAT stays on Invoicing; issued documents stay on Finance → Transactions. External MCP clients: get-vivin-context-finance (or get-vivin-context-platform).

AI Assistant — where to open VIVIN Invoicing for issuer details, document numbering, tax rates, and Word templates

Walkthrough: ask where to open VIVIN Invoicing, then open Settings → System → Integrations and Configure on the VIVIN Invoicing card (the reply may still name Faturação).

For Fees (“Where do I open Fees under Account Settings to configure booking fee toggles for admin cleaning and exit fees and custom invoice labels?”), open Settings → System → Global Settings (/settings/fees redirects) — Fee visibility and Custom fee names cards. The assistant may still say Settings → Faturação and point at a pagamentos / taxas area (sometimes taxa administrativa / taxa de limpeza / taxa de saída); follow Global Settings instead. Due-day / penalty rules stay on Payments; per-property euro amounts stay on Listings. External MCP clients: get-vivin-context-finance (or get-vivin-context-platform).

AI Assistant — where to open Fees for booking fee toggles and custom invoice labels

Walkthrough: ask where to open Fees for admin / cleaning / exit toggles and invoice labels, then open Settings → System → Global Settings (fee cards).

For Utilities settings (“Where do I open Utilities under Account Settings to configure chargeable utility types, Tenant Notification, and Charge Time for tenant overages — not Property Expenses, and not the Tools Utilities module?”), open Settings → System → Global Settings (/settings/utilities redirects) — the Utilities card with chargeable types plus Tenant Notification and Charge Time. The assistant may still say Settings → Property → Utilities (while excluding Property Expenses and the Tools module); follow Global Settings instead. Supplier bill entry stays on Tools → Utilities; booking-fee toggles stay on Fees. Name Global Settings and disambiguate from Property Expenses / the Tools module so the reply stays on overage rules. External MCP clients: get-vivin-context-finance (or get-vivin-context-platform).

AI Assistant — where to open Utilities settings for chargeable types, Tenant Notification, and Charge Time

Walkthrough: ask where to open Utilities for chargeable types, Tenant Notification, and Charge Time, then open Settings → System → Global Settings (Utilities card).

For Genius scheduled reports (“Where do I manage Genius scheduled reports?”), open Account Settings → Genius → Scheduled reports for the digest table. Enable the Scheduled reports domain on AI / MCP → Tool permissions when AI Chat / MCP should create or pause rows. If the assistant answers Settings → AI, use that as a System hint — the table itself is on the Genius tab. External MCP clients: get-vivin-context-ai (or get-vivin-context-platform).

AI Assistant — where to manage Genius scheduled reports

Walkthrough: ask where to manage Genius scheduled reports, then open Account Settings → Genius.

For Operations Planning (“Where do I assign cleaning work on turnover morning on the Operations Planning board?”), open Operations → Planning when Planning (schedule board) is granted; create or edit the maintenance row on Tickets first if it does not exist yet. External MCP clients: get-vivin-context-operations.

AI Assistant — where to assign turnover cleaning on Operations Planning

Walkthrough: ask where to assign turnover cleaning on Operations Planning, then open the Planning tab.

For Audit (“Where do I open Audit to review manual blocks and discounts?”), open Tools → Audit — Manual Blocks for cross-portfolio unavailability holds and Discounts for discounted contract values. Create or edit blocks on a unit Calendar in Listings; apply discounts on booking Contract Values. Month-end habit: Manual block hygiene. External MCP clients: get-vivin-context-properties-listings (or get-vivin-context-overview).

AI Assistant — where to open Audit for manual blocks and discounts

Walkthrough: ask where to open Audit for manual blocks and discounts, then open Tools → Audit.

For Utilities (“Where do I enter utility bills and review allocations to tenants?”), open Tools → Utilities — Bills for supplier invoices, Allocations for booking/tenant splits, Cost map for property × month costs, and Connections for supply contracts. Month-end habit: Entering Monthly Utility Bills. Configure Bills Included on Listings; overages appear on booking Payment Plan. External MCP clients: get-vivin-context-finance.

AI Assistant — where to enter utility bills and review allocations

Walkthrough: ask where to enter utility bills and review allocations, then open Tools → Utilities.

For Analytics (“Where do I open Analytics for portfolio KPI charts like ADR and RevPAR?”), open Business → Analytics — Overview, Revenue, Occupancy, ADR, RevPAR, and Maintenance for the toolbar month range. The assistant may say KPI for this workspace; the sidebar label is Analytics. Cash collected / debt questions still belong on Finance → Overview — see FAQ — Genius revenue vs Analytics. Habit: Portfolio KPI review. External MCP clients: get-vivin-context-finance.

AI Assistant — where to open Analytics for portfolio KPI charts (ADR and RevPAR)

Walkthrough: ask where to open Analytics for portfolio KPI charts, then open Business → Analytics.

For Sales (“Where do I open Sales to edit monthly rents and manage channel connections?”), open Business → Sales — Overview, Multicalendar, Pricing, and Channel Manager. The assistant may say Prices for the monthly rent grid; the tab label is Pricing. Account-level portal credentials stay under Settings → Integrations; use Sales Channel Manager to link units and watch publication status. External MCP clients: get-vivin-context-properties-listings.

AI Assistant — where to open Sales for monthly rents and channel connections

Walkthrough: ask where to open Sales for monthly rents and channel connections, then open Business → Sales.

For Inbox (“Where do I open the Inbox to reply to tenant WhatsApp messages across my portfolio?”), open Tools → Inbox — the global WhatsApp conversation list with reply, search, labels, and pause-bot. The assistant may say left menu without naming Tools. Per-reservation WhatsApp stays on Bookings → Communication; chatbot connection is under Settings → ChatBot. External MCP clients: get-vivin-context-operations.

AI Assistant — where to open Inbox for portfolio WhatsApp triage

Walkthrough: ask where to open Inbox for portfolio WhatsApp messages, then open Tools → Inbox.

For Tenants (“Where do I open Tenants to find a person, see their bookings, and review debt across stays?”), open Portfolio → Tenants — search and segment people, open the profile sidebar for bookings and balances, and triage With Debt. The assistant may say left menu without naming Portfolio. Portfolio-wide debt stays on Finance; reservation-first work stays on Bookings. External MCP clients: get-vivin-context-bookings-tenants.

AI Assistant — where to open Tenants to find a person and review debt across stays

Walkthrough: ask where to open Tenants for people search and per-person debt, then open Portfolio → Tenants.

For Bookings (“Where do I open Bookings to review reservations and the unit timeline?”), open Portfolio → Bookings — List for the filterable reservation table and Timeline for stays (and manual blocks) by unit. The assistant may say left menu without naming Portfolio. Person-first search stays on Tenants; monthly rents and channels stay on Sales. External MCP clients: get-vivin-context-bookings-tenants.

AI Assistant — where to open Bookings for reservations and the unit timeline

Walkthrough: ask where to open Bookings for reservations and the unit timeline, then open Portfolio → Bookings.

For Listings (“Where do I open Listings to manage properties and units in my portfolio?”), open Portfolio → Listings — properties grouped with units, occupancy, side-panel editors, and Archived. The assistant may say left menu without naming Portfolio. Reservation triage stays on Bookings; monthly rents and channel links stay on Sales. External MCP clients: get-vivin-context-properties-listings.

AI Assistant — where to open Listings to manage properties and units

Walkthrough: ask where to open Listings for properties and units, then open Portfolio → Listings.

For Dashboard (“Where do I open the Dashboard to review portfolio KPIs, vacant units, and occupancy forecast?”), open Dashboard — KPI cards, Occupancy Forecast, Cash Flow Forecast, and Vacant Units. The assistant may say main menu / Dashboard, and may point deeper ADR/RevPAR analysis at KPI — the sidebar label for those charts is Analytics. Month-range performance stays on Analytics; receivables detail stays on Finance. External MCP clients: get-vivin-context-properties-listings (Dashboard lives in that slice with Listings / Sales).

AI Assistant — where to open the Dashboard for portfolio KPIs and vacant units

Walkthrough: ask where to open the Dashboard for KPIs, vacant units, and forecasts, then open Dashboard.

For Operations Tickets (“Where do I open Operations Tickets to create and track maintenance work across my properties?”), open Operations → Tickets — create, assign, filter, and close maintenance rows. The assistant may say left menu / Operations, and may use the Portuguese product term Tickets de manutenção; the English tab label is Tickets. Same-day person × time dispatch stays on Planning. External MCP clients: get-vivin-context-operations.

AI Assistant — where to open Operations Tickets for maintenance work

Walkthrough: ask where to open Operations Tickets for maintenance work, then open Operations → Tickets.

For Notifications (“Where do I open Notifications to search and filter my full alert history?”), open the Notifications module at /notifications — search, All / Unread / Read, and row-click into related bookings. The assistant may say left menu; Notifications is not a sidebar item — bookmark the route or use View all notifications from the Dashboard bell. The bell slide-over is compact (no search or read-status pills). Habit: Notification triage. External MCP clients: get-vivin-context-operations.

AI Assistant — where to open Notifications for full alert history

Walkthrough: ask where to open Notifications for search and read filters, then open /notifications.

For Deep Links (“Where do I bookmark Bookings list search with the q query param and open Notifications full history with no sidebar entry?”), use /bookings?q=… and /notifications — see Management Frontend Deep Links. The assistant typically lists those URL patterns and notes that Notifications has no sidebar entry. Distinct from the Dashboard bell slide-over and from Inbox WhatsApp. External MCP clients: get-vivin-context-overview.

AI Assistant — where to bookmark Bookings search and Notifications deep-link routes

Walkthrough: ask for Bookings search and Notifications URL patterns, then open /notifications and /bookings?q=….

For Modules hub / sidebar groups (“Where do I find the Portfolio, Business, and Tools sidebar groups in the management app…?”), scan the left rail — see Modules — Shell and navigation. The assistant typically lists Portfolio (Listings, Bookings, Tenants), Business (Sales, Finance, Analytics, Operations), and Tools (Inbox, Utilities, Audit, AI Assistant). Dashboard sits above those groups; Settings stays at the bottom. External MCP clients: get-vivin-context-overview.

AI Assistant — where to find Portfolio, Business, and Tools sidebar groups

Walkthrough: ask for Portfolio, Business, and Tools sidebar groups, then open Dashboard, Bookings, and Finance.

For Concepts hub / product maps (“Where do I open Bookings list status filters for booking lifecycle, Finance and the booking Payment plan for payment allocation, Create New in the left sidebar…, and the Tenant Portal link from Bookings Contract Info…?”), open the same screens Concepts explains — see Concepts — Product maps. The assistant typically points at Bookings status filters, Finance plus the booking Payment plan, left-sidebar Create New, and Bookings → Contract Info → Method of payments for the Tenant Portal link. Deep guides: Booking Lifecycle, Payment Allocation, Create New Menu, Tenant Portal. External MCP clients: get-vivin-context-overview.

AI Assistant — where to open Bookings, Finance, Create New, and Tenant Portal for Concepts product maps

Walkthrough: ask for Concepts product maps, then open Bookings, Finance, and Create New.

For Common Workflows hub / product maps (“Where do I open Listings for property onboarding, Bookings for processing a new reservation, Operations for check-in and check-out queues, Finance for late payments and deposits, and Notifications for alert triage…?”), open the same modules the workflow checklists use — see Common Workflows — Product maps. The assistant typically points at the left-hand menu for Listings, Bookings, Operations, and Finance, and at Notifications for alert triage (bookmark /notifications or View all from the Dashboard bell). Deep guides: Onboarding a New Property, Processing a New Booking, Managing a Check-in, Handling a Late Payment, Notification triage. External MCP clients: get-vivin-context-overview.

AI Assistant — where to open Listings, Bookings, Operations, Finance, and Notifications for Common Workflows

Walkthrough: ask for Common Workflows product maps, then open Listings, Bookings, Operations, Finance, and Notifications.

For Onboarding a New Property (“Where do I open Owners under Settings Team and Listings under Portfolio to onboard a new property — register the owner, then create the property and units…?”), open Settings → Team → Owners first, then Portfolio → Listings — see Onboarding a New Property (ai-chat-product-context-onboarding-property-reply.png, ai-chat-product-context-onboarding-property-flow.mp4). The assistant typically says Settings → Team → Owners, then Portfolio → Listings. External MCP clients: get-vivin-context-overview (or get-vivin-context-platform / get-vivin-context-properties-listings).

AI Assistant — where to open Owners and Listings to onboard a new property

Walkthrough: ask where to open Owners and Listings for onboarding, then open Settings → Team → Owners and Portfolio → Listings.

For Processing a New Booking (“Where do I open Bookings under Portfolio and Create New Booking to process a new booking — check for channel imports first, then create a direct reservation…?”), open Portfolio → Bookings first, then + Create New → Booking — see Processing a New Booking (ai-chat-product-context-processing-booking-reply.png, ai-chat-product-context-processing-booking-flow.mp4). The assistant typically says open Bookings, check for channel imports, then Create New Booking (in the product UI that is + Create New → Booking). External MCP clients: get-vivin-context-overview (or get-vivin-context-bookings-tenants).

AI Assistant — where to open Bookings and Create New Booking to process a new reservation

Walkthrough: ask where to open Bookings and Create New Booking for a new reservation, then open Portfolio → Bookings and + Create New → Booking.

For Managing a Check-in (“Where do I open Operations under Business and the Check-in & Check-out tab to manage a check-in — review upcoming arrivals with Next 7 days and the Check-ins filter…?”), open Business → Operations → Check-in & Check-out — see Managing a Check-in (ai-chat-product-context-check-in-reply.png, ai-chat-product-context-check-in-flow.mp4). The assistant typically says Business → Operations → Check-in & Check-out, then Next 7 days and the Check-ins filter. External MCP clients: get-vivin-context-overview (or get-vivin-context-operations).

AI Assistant — where to open Operations Check-in & Check-out to manage a check-in

Walkthrough: ask where to open Operations → Check-in & Check-out for arrival week, then open that tab with Next 7 days and the Check-ins filter.

For Managing a Check-out (“Where do I open Operations under Business and the Check-in & Check-out tab to manage a check-out — review upcoming departures with Next 7 days and the Check-outs filter…?”), open Business → Operations → Check-in & Check-out — see Managing a Check-out (ai-chat-product-context-check-out-reply.png, ai-chat-product-context-check-out-flow.mp4). The assistant typically says Business → Operations → Check-in & Check-out, then Next 7 days and the Check-outs filter. External MCP clients: get-vivin-context-overview (or get-vivin-context-operations).

AI Assistant — where to open Operations Check-in & Check-out to manage a check-out

Walkthrough: ask where to open Operations → Check-in & Check-out for departure week, then open that tab with Next 7 days and the Check-outs filter.

For Handling a Late Payment (“Where do I open Finance under Business to handle a late payment — review Debt Aging on Overview and Contract Values with the In Debt filter…?”), open Business → Finance — see Handling a Late Payment (ai-chat-product-context-late-payment-reply.png, ai-chat-product-context-late-payment-flow.mp4). The assistant typically says Business → Finance, then Overview → Debt Aging and Contract Values with the In Debt filter. External MCP clients: get-vivin-context-overview (or get-vivin-context-finance).

AI Assistant — where to open Finance Overview Debt Aging and Contract Values for late payments

Walkthrough: ask where to open Finance for late payments, then open Overview (Debt Aging) and Contract Values.

For Notification triage (“Where do I open the Dashboard bell and the full Notifications inbox at /notifications to triage alerts — use Unread and Mark all as read…?”), open the Dashboard header bell and bookmark /notifications — see Notification triage (ai-chat-product-context-notification-triage-reply.png, ai-chat-product-context-notification-triage-flow.mp4). The assistant typically points at the Dashboard bell and /notifications (it may say left menu — Notifications is not a sidebar item; use the bookmark or View all from the bell). External MCP clients: get-vivin-context-overview (or get-vivin-context-operations).

AI Assistant — where to open the Dashboard bell and /notifications for alert triage

Walkthrough: ask where to open the Dashboard bell and full /notifications inbox for triage, then open the Dashboard bell and the Unread filter on /notifications.

For Cancelling a Booking (“Where do I open Bookings under Portfolio to cancel a booking — open the booking sidebar Contract Info tab and Cancel booking with refund types…?”), open Portfolio → Bookings — see Cancelling a Booking (ai-chat-product-context-cancelling-booking-reply.png, ai-chat-product-context-cancelling-booking-flow.mp4). The assistant typically says Portfolio → Bookings, then Contract Info → Cancel booking, and lists the three refund types. External MCP clients: get-vivin-context-overview (or get-vivin-context-bookings-tenants).

AI Assistant — where to open Bookings Contract Info Cancel booking for a policy void

Walkthrough: ask where to cancel a booking, then open Bookings, Contract Info, and the Cancel booking dialog.

For Entering Monthly Utility Bills (“Where do I open Utilities under Tools to enter monthly utility bills — use the Bills tab and Add Bill with Upload PDF or Manual Entry…?”), open Tools → Utilities → Bills — see Entering Monthly Utility Bills (ai-chat-product-context-monthly-utility-bills-reply.png, ai-chat-product-context-monthly-utility-bills-flow.mp4). The assistant typically says Tools → Utilities → Bills, then Add Bill with Upload PDF or Manual Entry, and points at Allocations when you need to split costs. External MCP clients: get-vivin-context-finance. Distinct from the broader Utilities module map (“where do I enter utility bills and review allocations…?”) and from Account Settings Global Settings → Utilities overage rules.

AI Assistant — where to open Utilities Bills Add Bill for monthly supplier bills

Walkthrough: ask where to enter monthly utility bills, then open Utilities → Bills and the Add Bill dialog.

For Manual block hygiene (“Where do I open Audit under Tools to review manual blocks for Manual block hygiene — use the Manual Blocks tab with Reason and End columns, Created by filter, and unit Calendar edits…?”), open Tools → Audit → Manual Blocks — see Manual block hygiene (ai-chat-product-context-manual-block-hygiene-reply.png, ai-chat-product-context-manual-block-hygiene-flow.mp4). The assistant typically says Tools → Audit → Manual Blocks, then points at Reason / End, Created by, and unit Calendar edits in Listings. External MCP clients: get-vivin-context-properties-listings (or get-vivin-context-overview). Distinct from the broader Audit module map (“where do I open Audit to review manual blocks and discounts…?”).

AI Assistant — where to open Audit Manual Blocks for Manual block hygiene

Walkthrough: ask where to run Manual block hygiene, then open Audit → Manual Blocks and the Created by filter.

For Portfolio KPI review (“Where do I open Analytics under Business for Portfolio KPI review — use the month-range picker with Overview, Revenue, Occupancy, ADR, and RevPAR tabs, then reconcile on Dashboard and Sales…?”), open Business → Analytics — see Portfolio KPI review (ai-chat-product-context-portfolio-kpi-review-reply.png, ai-chat-product-context-portfolio-kpi-review-flow.mp4). The assistant typically says Business → Analytics, then points at the month-range picker, the KPI tabs (Overview, Revenue, Occupancy, ADR, RevPAR, Maintenance), and cross-checks on Dashboard and Sales. External MCP clients: get-vivin-context-finance. Distinct from the broader Analytics module map (“where do I open Analytics for portfolio KPI charts like ADR and RevPAR…?”).

AI Assistant — where to open Analytics for Portfolio KPI review

Walkthrough: ask where to run Portfolio KPI review, then open Business → Analytics, the month-range picker, and the Occupancy tab.

For Resetting a Management User Password (“Where do I reset a management user password for Resetting a Management User Password — use the sign-in Forgot password link and /reset-password request form with Send reset link, or Settings Users Resend password for a teammate…?”), open Forgot password? on the sign-in page or Settings → Users — see Resetting a Management User Password (ai-chat-product-context-password-reset-reply.png, ai-chat-product-context-password-reset-flow.mp4). The assistant typically says Forgot password on the sign-in page (then Reset your password / Send reset link), and Settings → Team/Users with Resend password for a teammate. External MCP clients: get-vivin-context-platform. Distinct from the broader Users tab map (“where do I open Users to invite team members…?”).

AI Assistant — where to reset a management user password

Walkthrough: ask where to reset a management password, then open Settings → Users, the sign-in Forgot password? link, and the /reset-password request form.

For Account Settings (“Where do I open Account Settings to manage users, integrations, and workspace preferences?”), open Account Settings from the sidebar Settings gear — Team (users / owners), System → Integrations, and Account (company, subscription, preferences). The assistant typically says Open Settings in the management app and names those sections. Day-to-day portfolio work stays on Listings, Bookings, and Finance. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Account Settings for users, integrations, and preferences

Walkthrough: ask where to open Account Settings for users, integrations, and preferences, then open sidebar Settings.

For General Information (“Where do I open General Information to edit company name, branding, and account contact details?”), open Settings → System → Global Settings (/settings/general redirects) — company name, contact fields, fiscal ID, and branding on the General Information / Branding cards. The assistant may still say Settings → Conta → Informação geral, Settings → Conta, or Account → General Information; follow Settings → System → Global Settings instead. Plan billing stays on Subscription; booking defaults stay on the other Preferences cards (English tab Global Settings); tenant edit / module / signing gates stay on Portal settings. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open General Information to edit company name, branding, and contact details

Walkthrough: ask where to open General Information to edit company name, branding, and account contact details, then open Settings → System → Global Settings (the assistant may still say Conta → Informação geral or Account → General Information).

For Subscription (“Where do I open Subscription to view plan pricing, payment method, and billing history?”), open Settings → System → Subscription (/settings/subscription) — plan pricing, payment method, and billing history. The assistant may still say Settings → Conta → Subscrição or Settings → Account → Subscription; follow Settings → System → Subscription instead. Company identity stays on General Information (card on Global Settings); booking defaults stay on Preferences (English tab Global Settings); tenant edit / module / signing gates stay on Portal settings. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Subscription to view plan pricing, payment method, and billing history

Walkthrough: ask where to open Subscription to view plan pricing, payment method, and billing history, then open Settings → System → Subscription.

For Preferences / Global Settings (“Where do I open the Global Settings tab under Account Settings System (English tab label Global Settings, also called Preferences — not Personal Settings, not Tenant categories, and not Property Categories) to configure booking defaults, check-in and check-out times, preparation days, vacant unit preference, fees, utilities, and Owner Reports?”), open Settings → System → Global Settings (/settings/preferences) — booking defaults, check-in/out times, preparation days, vacant unit preference, fees, utilities, and Owner Reports. The assistant typically says Settings → System → Global Settings. Older prompts that still name an Account group may get Account → Global Settings — follow System either way. The English tab label is Global Settings; docs title this page Preferences. Per-user locale stays on Personal Settings; tenant edit / module / signing gates stay on Portal settings; portal segments stay on Tenant categories; chip catalogs stay on Categories. Name System and the Global Settings label so the reply stays on this tab. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Global Settings for booking defaults, fees, utilities, and Owner Reports

Walkthrough: ask where to open Global Settings for booking defaults, fees, utilities, and Owner Reports, then open Settings → System → Global Settings.

For Portal settings (“Where do I open Portal settings under Account Settings Tenant Portal to configure tenant edit permissions, portal modules, and mandatory fields before contract signing (English tab label Portal settings — not Global Settings, not Services, and not FAQs)?”), open Settings → Tenant Portal → Portal settings (/settings/tenantPortal) — Tenant can edit, Portal modules, and Mandatory for contract signing. The assistant may still say Settings → Property → Tenant categories. Follow Tenant Portal → Portal settings. Per-segment overrides stay on Tenant categories. Booking defaults stay on Global Settings. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Portal settings for tenant edit permissions, modules, and signing gates

Walkthrough: ask where to open Portal settings, then open Settings → Tenant Portal → Portal settings (even if the reply still names Property → Tenant categories).

For Support (“Where do I open Support to create and track Vivin help tickets with the Vivin team?”), open Account Settings → Support (/settings/support) or the desktop Help & Support FAB — create tickets, search history, and follow conversation threads with the Vivin team. The assistant typically says Settings → Support. Do not use + Create New → New Ticket (that is Operations maintenance work). External MCP clients: get-vivin-context-operations.

AI Assistant — where to open Support for Vivin help tickets

Walkthrough: ask where to open Support for Vivin help tickets, then open Settings → Support or the Help & Support FAB.

For Users (“Where do I open Users to invite team members and manage role permissions?”), open Settings → Team → Users (/settings/users) — invite staff, edit roles, and audit the permission matrix. The assistant typically says Settings → Team (invite members, manage users, edit roles and permissions). The English tab label is Users. Landlord payees stay on Owners; your own name fields stay on My Profile. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Users to invite team members and manage role permissions

Walkthrough: ask where to open Users to invite team members and manage role permissions, then open Settings → Team → Users.

For Owners (“Where do I open Owners to register property owners and set IBAN and fiscal ID before creating properties?”), open Settings → Team → Owners (/settings/owners) — register landlords, banking, and fiscal IDs before the property wizard can list them. The assistant typically says Settings → Team → Owners. Teammate accounts stay on Users. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Owners to register property owners and banking details

Walkthrough: ask where to open Owners to register property owners and set IBAN and fiscal ID, then open Settings → Team → Owners.

For My Profile (“Where do I open My Profile to update my display name?”), open My Profile from the header user menu → My Profile (/profile) — edit first and last name; email stays read-only. Locale, tab order, and personal email toggles live on Personal Settings (/settings/personal). The assistant typically says Top right menu → My Profile. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open My Profile to update display name

Walkthrough: ask where to open My Profile to update your display name, then open the header user menu → My Profile.

For Personal Settings (“Where do I open Personal Settings to change my interface language and email notification toggles?”), open Personal Settings at /settings/personal (ai-chat-product-context-personal-settings-reply.png, ai-chat-product-context-personal-settings-flow.mp4). The assistant typically says Profile → Personal Settings (open My Profile, then use the shortcut). Workspace notification masters stay on Preferences (English tab Global Settings). External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Personal Settings for interface language and email notification toggles

Walkthrough: ask where to open Personal Settings for interface language and email notification toggles, then open Profile → Personal Settings.

For Create New (“Where do I open Create New to add a booking, tenant, or property without leaving my current screen?”), use + Create New in the left sidebar — green + with label on desktop; icon + tooltip when the rail is collapsed. The assistant may say top bar, header, or global Create New in the management app header. On narrow mobile layouts the sidebar control is hidden — use each module’s Add / Create instead. External MCP clients: get-vivin-context-overview.

AI Assistant — where to open Create New for booking, tenant, or property shortcuts

Walkthrough: ask where to open Create New, then use left-sidebar + Create New (even if the reply says header / top bar).

For Services marketplace (“Where do I configure the tenant services marketplace catalogue and approve tenant service requests?”), open Settings → Tenant Portal → Services (/settings/services) — catalogue cards, Requests queue for approval-gated offerings, and active/sort controls. The assistant may still say Settings → Property → Services and may point approvals at a booking services area; follow Tenant Portal → Services (catalogue + Requests) instead. Turn on Allow to see services under Portal settings before tenants browse add-ons. Concept hub: Services Marketplace. External MCP clients: get-vivin-context-operations.

AI Assistant — where to configure tenant services marketplace catalogue and approvals

Walkthrough: ask where to configure the tenant services marketplace, then open Settings → Tenant Portal → Services.

For ChatBot (“Where do I configure the tenant WhatsApp chatbot persona and special rules?”), open Settings → System → ChatBot (/settings/chatbot) — Persona, Special Rules (IF/THEN), FAQ drafts, and Bot Status WhatsApp cards. The assistant may still say Settings → Sistema → assistente virtual / WhatsApp chatbot (or System → Virtual Assistant); follow System → ChatBot. The English tab label is ChatBot. This is the tenant-facing assistant — not operator AI Chat and not Inbox triage. External MCP clients: get-vivin-context-ai.

AI Assistant — where to configure tenant WhatsApp chatbot persona and special rules

Walkthrough: ask where to configure the tenant WhatsApp chatbot, then open Settings → System → ChatBot (even if the reply says Sistema → assistente virtual).

For AI / MCP (“Where do I open AI / MCP to create Landlord MCP API keys and manage tool permissions?”), open Settings → System → AI / MCP (/settings/mcp) — Connection URL, API keys, account / per-user tool permissions, and audit logs. The assistant typically says Settings → AI (it may omit System); follow Settings → System → AI / MCP. The English tab label is AI / MCP. Distinct from tenant ChatBot and from the Genius Scheduled reports table. External MCP clients: get-vivin-context-platform (or get-vivin-context-ai).

AI Assistant — where to open AI / MCP to create Landlord MCP API keys and manage tool permissions

Walkthrough: ask where to open AI / MCP to create Landlord MCP API keys and manage tool permissions, then open Settings → System → AI / MCP.

For Tenant MCP catalogues (“Where do I configure Services, Ticket priority, and ChatBot persona or special rules that booking-scoped Tenant MCP assistants read (not Account Settings AI / MCP Landlord API keys, and not Tools → AI Assistant)? Name the Settings tabs — product navigation only, no account data.”), open Services under Tenant Portal, Ticket priority as a ChatBot subtab, and ChatBot — the same Settings catalogues booking-scoped Tenant MCP tools read. The assistant may still say Settings → Property → Services, Settings → System → Ticket Priority, and Settings → Sistema → assistente virtual (or System → Virtual Assistant; English tab ChatBot; may also mention FAQ); use Tenant Portal → Services and System → ChatBot. Distinct from AI / MCP Landlord keys. Concept hub: Tenant MCP. External MCP clients: get-vivin-context-ai (or get-vivin-context-platform / get-vivin-context-operations).

AI Assistant — where to configure Services, Ticket priority, and ChatBot catalogues Tenant MCP assistants read

Walkthrough: ask where to configure Tenant MCP catalogue settings, then open Settings → System → ChatBot (reply may say Sistema → assistente virtual).

For Integrations (“Where do I open Integrations to connect Airbnb, Booking.com, and other marketplace credentials?”), open Settings → System → Integrations (/settings/integrations) — booking-platform cards, other providers (Nuki, Hostkit, Invoice-xpress, NetSuite), and account-wide Channel Manager rules. The assistant typically says Settings → System → Integrations. Per-unit links stay on Listings → Channels; day-to-day channel status stays on Sales → Channel Manager. Concept hub: Integrations & Distribution. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Integrations for marketplace credentials

Walkthrough: ask where to open Integrations for marketplace credentials, then open Settings → System → Integrations.

For Integration capabilities (“Where do I open the Integration capabilities tab under Account Settings System (the System group next to Integrations — English tab label Integration capabilities at /settings/integrationFieldCapability — not the Integrations credentials tab, and not Listings Channels) to view the read-only partner field matrix for required versus supported marketplace payload fields?”), open Settings → System → Integrations (/settings/integrations) — partner field coverage on connection cards (old /settings/integrationFieldCapability bookmarks open here). The assistant may still say Settings → System → Integration capabilities; follow Integrations instead. Reference guide: Integration capabilities. Per-unit links stay on Listings → Channels. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Integration capabilities for the partner field matrix

Walkthrough: ask where to open Integration capabilities for the partner field matrix, then open Settings → System → Integrations.

For Categories (“Where do I open Categories to manage listing tags, booking tags, and ticket types for my portfolio?”), open Settings → System → Categories (/settings/categories) — chip catalogs for listings, bookings, tickets, suppliers, cashflows, and lease purpose. The assistant may still say Settings → Property → Categories (for example open Settings, then the Property section, then Categories); follow System → Categories. This is not Tenant categories alone (portal segments on the Tenants card). External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Categories for listing tags, booking tags, and ticket types

Walkthrough: ask where to open Categories for listing tags, booking tags, and ticket types, then open Settings → System → Categories.

For Tenant categories (“Where do I open Tenant categories to manage portal segments and the default for integration-created tenants?”), open Settings → System → Categories (Tenants card; /settings/tenantCategories redirects) — portal field/module rules and the default for integration-created tenants. The assistant may still say Settings → Property → Tenant categories (sometimes Categories of tenants); follow System → Categories (Tenants card). This is not only the listing/booking chip catalogs on the same Categories page. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Tenant categories for portal segments and integration defaults

Walkthrough: ask where to open Tenant categories for portal segments and integration defaults, then open Settings → System → Categories (Tenants card).

For Contract (“Where do I open Contract to upload the account default Word template and manage property or unit overrides?”), open Settings → Billing → Contract (/settings/contract) — account default .docx, variable reference, and property/unit override list. The assistant may still say Settings → Faturação → Contrato and/or Settings → Contract Templates; follow Settings → Billing → Contract instead. Property/unit files can also be uploaded from Listings; generating a PDF for one stay stays on Bookings → Contract Info. External MCP clients: get-vivin-context-bookings-tenants.

AI Assistant — where to open Contract for account default Word templates and overrides

Walkthrough: ask where to open Contract for the account default Word template, then open Settings → Billing → Contract (even if the reply says Faturação → Contrato or Contract Templates).

For Emails (“Where do I open Emails to configure Communication Rules and booking lifecycle email templates for tenants?”), open Settings → System → Emails (/settings/communications) — Communication Rules and Booking lifecycle emails. The assistant may still say Settings → System → Communications and/or Faturação/Conta → templates de comunicação/email; follow System → Emails. The English tab label is Emails. Operator notification toggles stay on Personal Settings. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Emails for Communication Rules and lifecycle templates

Walkthrough: ask where to open Emails for Communication Rules and lifecycle templates, then open Settings → System → Emails (even if the reply says Communications or Faturação/Conta).

For FAQs (“Where do I open FAQs under Account Settings to review and publish tenant FAQ entries and run the FAQ Generator (English labels — Tenant Portal FAQs tab, not ChatBot persona)?”), open Settings → Tenant Portal → FAQs (/settings/faqs) — tenant-facing FAQ catalogue, publish toggles, and FAQ Generator. Published rows appear on portal Requests. The assistant may still say Settings → System → Assistant Virtual → Tenant Portal FAQs, System → Virtual Assistant → Tenant Portal FAQs, Settings → System → FAQ, or Sistema → Assistente virtual / FAQ; follow Tenant Portal → FAQs. The English tab label is FAQs. Persona and IF/THEN rules stay on ChatBot under System. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open FAQs to review, publish, and run the FAQ Generator

Walkthrough: ask where to open FAQs to review and publish tenant FAQ entries, then open Settings → Tenant Portal → FAQs.

For Ticket priority (“Where do I open Ticket priority to configure keyword rules and exception overrides for chatbot maintenance ticket triage?”), open Settings → System → ChatBot → Ticket priority (/settings/chatbot, then the Ticket priority subtab; legacy /settings/ticketPriority redirects) — keyword columns, Exception Rules, and Analyze tickets. The assistant typically says Settings → System → Ticket priority (it may omit ChatBot); follow Settings → System → ChatBot → Ticket priority. Localized replies may say Sistema → Prioridade de tickets. The English subtab label is Ticket priority. SLA deadline hours stay on Preferences → Ticket Priorities. External MCP clients: get-vivin-context-platform.

AI Assistant — where to open Ticket priority for keyword rules and exception overrides

Walkthrough: ask where to open Ticket priority for keyword rules and exception overrides, then open Settings → System → ChatBot → Ticket priority.

Why don't Genius or AI Chat revenue numbers match Analytics?​

SymptomLikely causeFix
Assistant “revenue” ≠ Analytics Revenue / ADR / RevPAR chartsDifferent domains by designCompare against Finance → Overview (or Income), not Analytics occupancy pricing charts
“How much did we make?” ≠ bank depositsIncome expected vs cash collectedAsk for cash collected / received — get-finance-overview exposes both; get-revenue-summary is expected operating income, not cash in
Paid + scheduled + in debt ≫ income expectedDifferent coverage (deposits / exit fees)Income expected covers rent, admin fee, cleaning fee, and others only; the status split includes deposits and exit fees — ask the assistant to explain coverage
“Does income expected include short-term / Airbnb?”Portfolio scope (VIVIN-managed vs OTA-only)Income expected covers all stays managed in VIVIN (any duration) and excludes revenue that lives only on external platforms — ask the assistant to state scope
Assistant cannot answer finance questionsAnalytics tool domain Off, or missing finance.moduleEnable Analytics (at least Read-only) on AI / MCP and confirm the user’s role includes Finance
Figures look stale vs the Finance pageFilters / month windowMatch the assistant’s month (or omit months for current) and property/owner scope to the Finance toolbar before re-asking; contest a figure to force a fresh tool call
Challenged number is defended from memoryAssistant did not re-call FinanceSay the figure looks wrong and ask where it came from — Genius / AI Chat should re-check with a fresh Finance tool call
“Running total” while adding every booking one by oneNo honest aggregate pathAsk for a server-computed Finance total instead (cash collected / income expected); open Finance or Bookings for row-level review
“Which property is emptiest / has the most units?”Needs vacancy per-property rollupAsk for today’s (or a dated) vacancy ranking — assistants use propertyBreakdown on the vacancy tool; they may take several tool calls in one reply for windowed asks — Landlord MCP — Large tasks and completeness
“Which day has the most free rooms?”Needs vacancy per-day rollupAsk for a dated window (for example Monday 10 August through Sunday 16 August) — assistants use dailyBreakdown on the vacancy tool (one row per day with free / occupied / blocked counts); prefer that over one call per day. On a Sunday, “this week through Sunday” is only today — Landlord MCP — Occupancy, vacancy, and smart locks (ai-chat-vacancy-daily-breakdown-reply.png, ai-chat-vacancy-daily-breakdown-flow.mp4)
“What was occupancy by listing type in July?” matches the 12-month ranking or AugustUsed trailing-year bestMonth or the current monthAsk for listing-type rates in July only (room, property, bed) — FAQ — Occupancy by listing type for a named month (ai-chat-occupancy-july-listing-type-reply.png, ai-chat-occupancy-july-listing-type-flow.mp4)
“What was occupancy by listing type in June?” matches July, the 12-month ranking, or AugustUsed July listing-type rates, trailing-year bestMonth, or the current monthAsk for listing-type rates in June only (room, property, bed — not July) — FAQ — Occupancy by listing type for June (ai-chat-occupancy-june-listing-type-reply.png, ai-chat-occupancy-june-listing-type-flow.mp4)
“What was occupancy by unit tag in July?” matches listing types or the 12-month rankingUsed listingType groups or trailing-year bestMonthAsk for unit-tag rates in July (neighbourhood tags — not room / property / bed) — FAQ — Occupancy by unit tag for a named month (ai-chat-occupancy-july-unit-tag-reply.png, ai-chat-occupancy-july-unit-tag-flow.mp4)
“What was occupancy by unit tag in June?” matches July, listing types, or the 12-month rankingUsed July tag rates, listingType groups, or trailing-year bestMonthAsk for unit-tag rates in June (neighbourhood tags — not room / property / bed, and not July) — FAQ — Occupancy by unit tag for June (ai-chat-occupancy-june-unit-tag-reply.png, ai-chat-occupancy-june-unit-tag-flow.mp4)
“Which property earns the most / highest income per unit?”Needs Finance Income by propertyAsk for an income ranking — assistants use get-income-by-property (server incomePerUnit); reconcile on Finance → Income — not Analytics ADR/RevPAR — Landlord MCP — Finance-sourced portfolio metrics
“How much will I receive until day X / between two dates?” ≠ income expectedDate-range receipts use cash flow, not the reference-month axisAsk without the word check-ins; assistants should use the Cash flow forecast due-date series — FAQ — Expected receipts between two dates
“How much came in in June?” ≠ the cash-flow chart Past barNet System + Manual vs gross Past barAsk for both bases and which is which — FAQ — How much came in (ai-chat-cash-in-june-net-vs-gross-reply.png, ai-chat-cash-in-june-net-vs-gross-flow.mp4)
“How many unpaid deposits in August?” ≠ all-time tenant debtNeeds the Contract Values Deposit card for that monthAsk for the deposit card split (in debt + still scheduled) — FAQ — Unpaid deposits on Contract Values
“How much unpaid rent in August?” ≠ all-time tenant debtNeeds the Contract Values Rent card for that monthAsk for the rent card split (in debt + still scheduled) — FAQ — Unpaid rent on Contract Values
“How much unpaid admin fee in August?” ≠ all-time tenant debtNeeds the Contract Values Admin fee card for that monthAsk for the admin fee card split (in debt + still scheduled) — FAQ — Unpaid admin fees on Contract Values
“How much unpaid cleaning fee in August?” ≠ all-time tenant debtNeeds the Contract Values Cleaning fee card for that monthAsk for the cleaning fee card split (in debt + still scheduled) — FAQ — Unpaid cleaning fees on Contract Values
“How much unpaid others in August?” ≠ all-time tenant debtNeeds the Contract Values Others card for that monthAsk for the others card split (in debt + still scheduled) — FAQ — Unpaid others on Contract Values
“How much unpaid exit fee in October?” ≠ all-time tenant debtNeeds the Contract Values Exit fee card for that monthAsk for the exit fee card split (in debt + still scheduled) — FAQ — Unpaid exit fees on Contract Values
“How many in-debt rent lines are not yet invoiced?” ≠ the Rent card in-debt chipNeeds the Contract Values list with Not InvoicedAsk for in debt AND not yet invoiced rent lines — FAQ — In-debt rent lines not yet invoiced
“How many in-debt rent lines are already invoiced?” ≠ the Rent card in-debt chipNeeds the Contract Values list with InvoicedAsk for in debt AND already invoiced rent lines — FAQ — In-debt rent lines already invoiced
“How many in-debt admin fee lines are not yet invoiced?” ≠ the Admin fee card unpaid splitNeeds the Contract Values list with Not InvoicedAsk for in debt AND not yet invoiced admin fee lines — FAQ — In-debt admin fee lines not yet invoiced
“How many in-debt admin fee lines are already invoiced?” ≠ the Admin fee card in-debt chipNeeds the Contract Values list with InvoicedAsk for in debt AND already invoiced admin fee lines — FAQ — In-debt admin fee lines already invoiced
“How many rent lines are still scheduled?” ≠ the Rent card unpaid splitNeeds the Contract Values list with the grey scheduled chipAsk for still-scheduled rent lines (count-only) and name the month — FAQ — Still-scheduled rent lines
“How many admin fee lines are still scheduled?” ≠ the Admin fee card unpaid splitNeeds the Contract Values list with the grey scheduled chipAsk for still-scheduled admin fee lines (count-only) and name the month — FAQ — Still-scheduled admin fee lines
“How many admin fee lines are partially paid?” ≠ the Admin fee card unpaid splitNeeds the Contract Values list with the amber partial chipAsk for partially paid admin fee lines (count-only) and name the month — FAQ — Partially-paid admin fee lines
“How many admin fee lines are paid?” ≠ the Admin fee card unpaid splitNeeds the Contract Values list with the green Paid badgeAsk for paid admin fee lines (count-only, fully paid, not partial) and name the month — FAQ — Paid admin fee lines
“How many cleaning fee lines are still scheduled?” ≠ the Cleaning fee card unpaid splitNeeds the Contract Values list with the grey scheduled chipAsk for still-scheduled cleaning fee lines (count-only) and name the month — FAQ — Still-scheduled cleaning fee lines
“How many cleaning fee lines are paid?” ≠ the Cleaning fee card unpaid splitNeeds the Contract Values list with the green Paid badgeAsk for paid cleaning fee lines (count-only, fully paid, not partial) and name the month — FAQ — Paid cleaning fee lines
“How many in-debt cleaning fee lines are not yet invoiced?” ≠ the Cleaning fee card in-debt chipNeeds the Contract Values list with Not InvoicedAsk for in debt AND not yet invoiced cleaning fee lines — FAQ — In-debt cleaning fee lines not yet invoiced
“How many in-debt cleaning fee lines are already invoiced?” ≠ the Cleaning fee card in-debt chipNeeds the Contract Values list with InvoicedAsk for in debt AND already invoiced cleaning fee lines — FAQ — In-debt cleaning fee lines already invoiced
“How many in-debt others lines are not yet invoiced?” ≠ the Others card unpaid splitNeeds the Contract Values list with Not InvoicedAsk for in debt AND not yet invoiced others lines — FAQ — In-debt others lines not yet invoiced
“How many others lines are paid?” ≠ the Others card unpaid splitNeeds the Contract Values list with the green Paid badgeAsk for paid others lines (count-only, fully paid, not partial) and name the month — FAQ — Paid others lines
“How many in-debt deposit lines are not yet invoiced?” ≠ the Deposit card in-debt chipNeeds the Contract Values list with Not InvoicedAsk for in debt AND not yet invoiced deposit lines — FAQ — In-debt deposit lines not yet invoiced
“How many in-debt deposit lines are already invoiced?” ≠ the Deposit card in-debt chipNeeds the Contract Values list with InvoicedAsk for in debt AND already invoiced deposit lines — FAQ — In-debt deposit lines already invoiced
“How many deposit lines are still scheduled?” ≠ the Deposit card unpaid splitNeeds the Contract Values list with the grey scheduled chipAsk for still-scheduled deposit lines (count-only) and name the month — FAQ — Still-scheduled deposit lines
“How many deposit lines are partially paid?” ≠ the Deposit card unpaid splitNeeds the Contract Values list with the amber partial chipAsk for partially paid deposit lines (count-only) and name the month — FAQ — Partially-paid deposit lines
“How many deposit lines are paid?” ≠ the Deposit card unpaid splitNeeds the Contract Values list with the green Paid badgeAsk for paid deposit lines (count-only, fully paid, not partial) and name the month — FAQ — Paid deposit lines
“How many in-debt exit fee lines are already invoiced?” ≠ the Exit fee card unpaid splitNeeds the Contract Values list with InvoicedAsk for in debt AND already invoiced exit fee lines — FAQ — In-debt exit fee lines already invoiced
“How many exit fee lines are partially paid?” ≠ the Exit fee card unpaid splitNeeds the Contract Values list with the amber partial chipAsk for partially paid exit fee lines (count-only) and name a check-out month — FAQ — Partially-paid exit fee lines
“How many exit fee lines are paid?” ≠ the Exit fee card unpaid splitNeeds the Contract Values list with the green Paid badgeAsk for paid exit fee lines (count-only, fully paid, not partial) and name a check-out month — FAQ — Paid exit fee lines
“How many rent lines have a return of value?” ≠ Invoiced / Not InvoicedNeeds the Contract Values Return of Value pillAsk for return of value lines (count-only) — FAQ — Contract Values invoice pills
“How many rent lines have a credit note?” ≠ Return of Value / InvoicedNeeds the Contract Values Credit Notes pillAsk for credit note lines (count-only) and name the month — FAQ — Contract Values invoice pills
“How many rent lines are partially paid?” ≠ the Rent card unpaid splitNeeds the Contract Values list with the amber partial chipAsk for partially paid rent lines (count-only) and name the month — FAQ — Partially-paid rent lines
“How many rent lines are paid?” ≠ the Rent card unpaid splitNeeds the Contract Values list with the green Paid badgeAsk for paid rent lines (count-only, fully paid, not partial) and name the month — FAQ — Paid rent lines
“How many bookings did I receive today / this week?”Needs creation-window counts, not active/upcomingAsk for bookings received with dates — assistants use get-booking-summary (bookingsCreatedInWindow); basis is creation / import time in VIVIN — FAQ — Bookings received
“How many tickets do I have?” lists titles or understates the queueCounted a list-tickets page (default omits Closed / Cancelled)Ask for status counts and say do not list titles — assistants use get-ticket-status-counts — FAQ — Ticket status counts
“How many tickets by priority?” lists titles or quotes Unassigned chipsCounted a list-tickets page, or used the Unassigned card mixAsk for All-card priority counts and say do not list titles — FAQ — Ticket priority counts
“How many unassigned tickets by priority?” quotes All-card chipsQuoted whole-account All mix, not UnassignedAsk for Unassigned-card priority counts — FAQ — Ticket unassigned priority counts
“How many in-progress tickets by priority?” quotes All or Unassigned chipsQuoted All or Unassigned, not the active In progress queueAsk for In-progress-card priority counts — FAQ — Ticket in-progress priority counts
“How many closed tickets by priority?” quotes All chips or closure rateQuoted the All mix, or closed vs received in a windowAsk for Closed-card priority counts — FAQ — Ticket closed priority counts
“How many cancelled tickets by priority?” quotes All or Closed chipsQuoted the All mix, or all-time ClosedAsk for Cancelled-card priority counts — FAQ — Ticket cancelled priority counts
“How many draft tickets by priority?” quotes All, Unassigned, or In progress chipsQuoted another status card, not far-future DraftAsk for Draft-card priority counts — FAQ — Ticket draft priority counts
“What is my ticket closure rate?” matches the Closed card or a 7-day 0%Quoted all-time Closed, or used the 7-day defaultAsk for closure rate and name the days (for example last 60 days) — FAQ — Maintenance closure rate
“What is my 45-day ticket closure rate?” matches 30-day 0% or 60-day figuresQuoted a shorter or longer window; closed can match one assigneeAsk for 45 days and quote received — FAQ — 45-day maintenance closure rate
“What is my 50-day ticket closure rate?” matches 45-day or 60-day figuresQuoted a nearby windowAsk for 50 days and quote received — FAQ — 50-day maintenance closure rate
“What is my 90-day ticket closure rate?” matches 60-day figuresQuoted a shorter window; closed can match 60 daysAsk for 90 days and quote received — FAQ — 90-day maintenance closure rate
“What were my operational costs?” matches Finance income or a mid-month partialQuoted income expected / cash collected, or used the current-month defaultAsk for Cash Flows outflow and average cost per unit, and name the dates — FAQ — Operational cost summary
“What were my June operational costs?” matches July or a category-only splitQuoted the July teaching month, the current-month default, or one category’s outflowAsk for June headline outflow and average cost per unit — FAQ — June operational costs
“What were my April operational costs?” matches June, July, May, or remaining totals after excluding a categoryQuoted the June or July teaching month, May, the current-month default, or remaining totals after excluding maintenanceAsk for April headline outflow and average cost per unit — FAQ — April operational costs
“What were my operational costs from 1–15 April?” matches the full April monthQuoted 1 April through 30 AprilAsk for 1 April through 15 April headline outflow and average cost per unit — FAQ — April 1–15 operational costs
“What were my operational costs from 16–30 April?” matches the full April month or 1–15 AprilQuoted 1 April through 30 April, or the first halfAsk for 16 April through 30 April headline outflow and average cost per unit — FAQ — April 16–30 operational costs
“What were my February operational costs?” matches June, July, April, or a custom April windowQuoted the June, July, or April teaching month, a 1–15 April or 16–30 April window, or the current-month defaultAsk for February headline outflow and average cost per unit — FAQ — February operational costs
“What were my operational costs from 1–14 February?” matches the full February monthQuoted 1 February through 28 FebruaryAsk for 1 February through 14 February headline outflow and average cost per unit — FAQ — February 1–14 operational costs
“What were my operational costs from 15–28 February?” matches the full February month or 1–14 FebruaryQuoted 1 February through 28 February, or the first halfAsk for 15 February through 28 February headline outflow and average cost per unit — FAQ — February 15–28 operational costs
“What were my January operational costs?” matches February, April, June, or JulyQuoted the February, April, June, or July teaching month, a custom April window, or the current-month defaultAsk for January headline outflow and average cost per unit — FAQ — January operational costs
“What were my March operational costs?” matches January, February, April, June, or JulyQuoted the January, February, April, June, or July teaching month, a custom April window, or the current-month defaultAsk for March headline outflow and average cost per unit — FAQ — March operational costs
“What were my May operational costs?” matches January, February, March, April, June, or JulyQuoted the January, February, March, April, June, or July teaching month, a custom April window, or the current-month defaultAsk for May headline outflow and average cost per unit — FAQ — May operational costs
“What were my operational costs by category?” matches headline totals or AugustQuoted total outflow / average cost per unit only, or used the current-month defaultAsk for Cash Flows category outflows and name the dates — FAQ — Operational costs by category
“What were my June operational costs by category?” matches July or June headline totalsQuoted the July Carpentry & doors + Maintenance split, skipped uncategorized, or quoted June headline outflow onlyAsk for June category outflows and include uncategorized when it has spend — FAQ — June operational costs by category
“What were my operational costs excluding a category?” matches the unfiltered headlineQuoted total outflow / average cost per unit without dropping the category, or used a shortened nameAsk for remaining Cash Flows outflow after excluding the exact category name, and name the dates — FAQ — Operational costs excluding a category
“What were my operational costs excluding Maintenance?” matches Carpentry remaining totals or the unfiltered headlineQuoted remaining totals after dropping Carpentry & doors, or used Portuguese Manutenção when Cash Flows shows English MaintenanceAsk for remaining Cash Flows outflow after excluding Maintenance, and quote the average — FAQ — Operational costs excluding Maintenance
“What were my June operational costs excluding Manutenção?” matches July remaining totals, English Maintenance, or uncategorized remainingQuoted July excluding Maintenance, used English Maintenance on June, or quoted remaining totals after excluding uncategorizedAsk for remaining Cash Flows outflow after excluding Manutenção, and quote the average — FAQ — June operational costs excluding Manutenção
“What were my June operational costs excluding uncategorized?” matches Manutenção remaining totals, July remaining totals, or the unfiltered headlineQuoted remaining totals after dropping Manutenção, quoted July excluding Maintenance, or quoted June headline outflowAsk for remaining Cash Flows outflow after excluding uncategorized, and quote the average — FAQ — June operational costs excluding uncategorized
“What were my April operational costs excluding maintenance?” matches July remaining totals, the unfiltered April headline, or Portuguese ManutençãoQuoted July excluding Maintenance, quoted April headline outflow, or used Manutenção when Cash Flows shows maintenanceAsk for remaining Cash Flows outflow after excluding maintenance, and quote the average — FAQ — April operational costs excluding maintenance
“What were my April operational costs excluding maintenance and uncategorized?” matches remaining totals after excluding only maintenance, June uncategorized remaining, or the unfiltered April headlineQuoted April remaining after dropping maintenance only, quoted June excluding uncategorized, or quoted April headline outflowAsk for remaining Cash Flows outflow after excluding maintenance and uncategorized, and quote the average — FAQ — April operational costs excluding maintenance and uncategorized
“How much did utilities cost for Casa Abel II in June?” matches Cash Flows outflow or July Cost map totalsQuoted Operations Cash Flows / get-cost-summary, or quoted a different monthAsk for the Utilities Cost map and quote total cost, absorbed cost, and cost per occupied room-day — FAQ — June Utilities cost map

AI Assistant — cash collected vs income expected (Finance Overview figures, not Analytics ADR/RevPAR)

AI Assistant — contesting cash collected forces a fresh Finance re-check

Walkthrough: contest a cash collected figure and read the fresh Finance re-check.

AI Assistant — prefers Finance aggregates over a running per-booking sum

Walkthrough: ask for a running per-booking total; the assistant points to Finance aggregates instead.

AI Assistant — ranks properties by vacant units using the vacancy property breakdown

Walkthrough: ask which property is emptiest today; the assistant ranks from the vacancy property breakdown.

AI Assistant — ranks days by free rooms using the vacancy daily breakdown

Walkthrough: ask which day in a dated window has the most free rooms; the assistant ranks from the vacancy daily breakdown.

AI Assistant — where to open Finance → Income to compare income by property

Finance Income — Income by property list for reconciling AI property income rankings

AI Assistant — top properties by income and income per unit for a concrete month window

Walkthrough: ask where to compare income by property, open Finance → Income, then confirm the Analytics tool chip.
Walkthrough: ask which properties earn the most this month, then read the top-five ranking with total income and income per unit.

AI Assistant — income expected covers all VIVIN-managed stays and excludes OTA-only revenue

Walkthrough: ask whether income expected includes short-term stays and OTA-only revenue, then read the portfolio-scope reply.

AI Assistant — income expected covers rent-related charges while status split can include deposits and exit fees

Walkthrough: ask why paid + scheduled + in debt can exceed income expected, then read the coverage explanation.

How do Genius and AI Chat quote money I will receive between two dates?​

Ask in natural language — for example “How much will I receive from 15 August through 15 September?” or “How much will I receive until 15 September?” The assistant should:

  1. Quote cash still due in that window from the same series as Finance → Overview — Cash flow forecast.
  2. Name the exact dates counted.
  3. Treat due date for money not yet collected (every charge type — rent, fees, deposits, exit fees — with early payments already excluded) and collection date for money already in.
  4. Not add overdue unpaid balances unless you ask about debt.

Do not confuse this with:

You asked…What you get
“…until 15 September” / “between two dates”Calendar cash by due date (this FAQ)
“…from September check-ins”Move-in requirement totals — Check-in money
“How much did we collect this month?”Cash collected (banked money) — net of refunds; ask for the gross cash-flow Past bar when you are reading the chart — How much came in
“What is expected revenue this month?”Income expected (reference-month operating income — not due-date cash)

Enable the Analytics domain on AI / MCP. Reconcile on Finance → Overview with the Cash flow forecast Day toggle.

AI Assistant — expected receipts from 15 August through 15 September by due date

Walkthrough: ask how much you will receive between two dates, then read the due-date total with early payments already excluded.
SymptomLikely causeFix
Figure matches income expected for a whole monthAssistant used the reference-month axisAsk again and say by due date / cash I will receive, not expected revenue
Figure matches check-in move-in totalsThe question included check-insAsk without that word when you mean calendar cash
Reply also lists overdue debt you did not ask forExtra debt line volunteeredAsk it to quote only the date-range receipts; open Debt Aging when you want arrears separately
Assistant cannot answerAnalytics tool domain OffEnable Analytics (at least Read-only) on AI / MCP

How do Genius and AI Chat quote how much came in?​

Ask in natural language — for example “How much came in in June 2026? Quote the net System and Manual Payments total and the gross cash-flow chart Past bar. Say which is which.” The assistant should:

  1. Quote the net total from System Payments + Manual Payments (cash collected — refunds subtract).
  2. Quote the gross cash-flow chart Past bar for that month (refunds excluded).
  3. Say which is which, and name June (not July, and not the current-month default).

Do not treat either figure as income expected or as money still due. Enable the Analytics domain on AI / MCP. Reconcile on Finance → Overview for the same month.

AI Assistant — June 2026 cash in with net System and Manual Payments total and gross cash-flow chart Past bar

Walkthrough: ask how much came in in June 2026, then read the net System and Manual Payments total next to the gross cash-flow chart Past bar.
SymptomLikely causeFix
Figure matches income expectedQuoted the reference-month operating totalAsk for cash that came in, not expected revenue
Figure matches only the Past barQuoted gross realized cashAsk for the net System and Manual Payments total as well
Figure matches only cash collectedQuoted net cardsAsk for the gross cash-flow chart Past bar as well
Figure matches July or this monthUsed the current-month defaultName June
Assistant cannot answerAnalytics tool domain OffEnable Analytics (at least Read-only) on AI / MCP

How do Genius and AI Chat quote check-in money?​

Ask in natural language — for example “How much will I receive from September check-ins?” The assistant should:

  1. Quote the expected check-in value for that month (and the portfolio total when you ask across a window).
  2. State the basis — payment-plan lines flagged as booking-confirmation or move-in requirements (first rent, last-month rent, admin fee, and deposit), net of adjustments, not reduced by amounts already paid.
  3. Say whether the month is fully covered by the look-ahead window (widen the window when a month is only partly inside it).

Do not add only the sample move-in rows in the reply — that list is capped. Enable the Analytics / Bookings tool domains as needed on AI / MCP. Reconcile arrival week on Operations → Check-in & Check-out. If you meant calendar cash by due date rather than move-in totals, ask without the word check-ins — Expected receipts between two dates.

AI Assistant — September expected check-in value with basis and full-month coverage

Walkthrough: ask AI Assistant for September check-in expected money, then read the by-month total and basis.
SymptomLikely causeFix
Total looks like a sum of a few named move-ins onlySample list cappedAsk explicitly for the expected check-in value by month / portfolio total
Month figure marked partial / days missingLook-ahead window starts todayAsk with a wider window so the whole calendar month fits, or accept that the current month is inherently partial mid-month
Assistant cannot answer move-in money questionsTool domain Off, or missing Bookings / FinanceEnable the relevant domains on AI / MCP; confirm role permissions

How do I ask how many bookings I received?​

Ask Genius or AI Chat in natural language — for example “How many bookings did I receive today?” or “How many bookings did I receive from 1 August through 13 August? Include channel imports and cancellations.”

The assistant should:

  1. Quote bookingsCreatedInWindow for that window (defaults to today when you omit dates).
  2. Name the exact dates counted (createdWindow.from / to).
  3. Optionally split channel / imported vs already canceled.
  4. Say the basis is creation time in VIVIN (for channel stays, import time — which can differ from an OTA portal’s “booked at” clock).

Do not confuse this with active / upcoming status counts — those describe the portfolio right now, not creations inside the window. Enable the Bookings domain on AI / MCP. Reconcile imports on Bookings.

AI Assistant — bookings received total with channel and canceled slices plus dates counted

Walkthrough: ask how many bookings were received in a date range, then read the total with channel and canceled slices.
SymptomLikely causeFix
Number ≠ Airbnb / Booking.com “bookings today”VIVIN counts import / creation timeAsk the assistant to state the basis; compare portal clocks only after accounting for sync lag
Assistant quotes active/upcoming instead of receivedAmbiguous “how many bookings” phrasingSay received / created / “how many new bookings” and pass dates when you mean a window
Assistant cannot answerBookings tool domain OffEnable Bookings (at least Read-only) on AI / MCP

How do I ask how many maintenance tickets I have?​

Ask Genius or AI Chat in natural language — for example “How many maintenance tickets do I have on Operations Tickets? Quote the whole-account status counts. Do not list ticket titles.”

The assistant should:

  1. Use get-ticket-status-counts (a server total that is never truncated) — not a list-tickets page. The default ticket list omits Closed and Cancelled, so counting the first page understates the portfolio.
  2. Quote All, Unassigned, Draft, In progress, Completed, and Cancelled. Completed is the same bucket as Closed on Operations → Tickets. Draft is a display status: Unassigned or In progress tickets whose Schedule date is more than 30 days ahead. All includes Closed, Cancelled, and Duplicate (Duplicate is in All only).
  3. Optionally split by priority (Critical, High, Medium, Low, None) — see FAQ — Ticket priority counts for the All card, FAQ — Ticket unassigned priority counts for the Unassigned card, FAQ — Ticket draft priority counts for the Draft card, FAQ — Ticket in-progress priority counts for the In progress card, FAQ — Ticket closed priority counts for the Closed card, or FAQ — Ticket cancelled priority counts for the Cancelled card. None means tickets with no priority set.

Keep Maintenance enabled on AI / MCP. Reconcile with the status cards on Operations → Tickets with Overdue off.

AI Assistant — whole-account ticket status counts (all, unassigned, draft, in progress, completed, cancelled)

Walkthrough: ask how many maintenance tickets you have, then read the whole-account status counts (not a list of ticket titles).
SymptomLikely causeFix
Number matches only the first page of ticketsCounted list-tickets rowsAsk for status counts / how many tickets and say do not list titles
Number ≠ Operations All cardOverdue is on, or a property filterTurn Overdue off and clear property/category filters, then compare again
Assistant cannot answerMaintenance tool domain OffEnable Maintenance (at least Read-only) on AI / MCP

How do I ask how many maintenance tickets I have by priority?​

Ask Genius or AI Chat — for example “How many maintenance tickets do I have by priority? Quote the All-card counts. Do not list ticket titles.”

The assistant should:

  1. Use the same get-ticket-status-counts call as status totals — never count a list-tickets page.
  2. Quote Critical, High, Medium, Low, and None for the All card. Those five numbers add up to All. None means tickets with no priority set.
  3. Not treat the Unassigned, Draft, In progress, Closed, or Cancelled card chips as the portfolio mix — those cards are only tickets with no assignee, far-future Draft rows, tickets currently in progress, all-time Closed, or all-time Cancelled. For those chips, see FAQ — Ticket unassigned priority counts, FAQ — Ticket draft priority counts, FAQ — Ticket in-progress priority counts, FAQ — Ticket closed priority counts, and FAQ — Ticket cancelled priority counts.

Keep Maintenance enabled on AI / MCP. Reconcile on Operations → Tickets — status-card priority chips with Overdue off.

AI Assistant — whole-account All-card ticket priority counts (critical, high, medium, low, none)

Walkthrough: ask how many maintenance tickets you have by priority, then read Critical, High, Medium, Low, and None on the All card.
SymptomLikely causeFix
Numbers match only the Unassigned card chipsQuoted unassigned priority, not AllAsk for the All card / whole-account priority mix, or see FAQ — Ticket unassigned priority counts when that is what you wanted
Five chips do not add up to AllDropped None, or Overdue is onInclude None; turn Overdue off and compare the All card again
Assistant lists ticket titlesCounted a list-tickets pageAsk for priority counts and say do not list titles

How do I ask how many unassigned maintenance tickets I have by priority?​

Ask Genius or AI Chat — for example “How many unassigned maintenance tickets do I have by priority? Quote the Unassigned-card counts. Do not quote the All-card chips. Do not list ticket titles.”

The assistant should:

  1. Use the same get-ticket-status-counts call as status totals — never count a list-tickets page.
  2. Quote Critical, High, Medium, Low, and None for the Unassigned card. Those five numbers add up to Unassigned. None means tickets with no priority set.
  3. Not quote the All or In progress card chips — All includes assigned, in-progress, closed, and cancelled tickets; In progress is the active assigned queue.

Keep Maintenance enabled on AI / MCP. Reconcile on Operations → Tickets — status-card priority chips with Overdue off, then open the Unassigned card. Far-future Draft rows are not in Unassigned.

AI Assistant — Unassigned-card ticket priority counts (critical, high, medium, low, none)

Walkthrough: ask how many unassigned maintenance tickets you have by priority, then read Critical, High, Medium, Low, and None on the Unassigned card.
SymptomLikely causeFix
Numbers match the All card chipsQuoted whole-account priority, not UnassignedAsk for the Unassigned card / tickets with no assignee
Five chips do not add up to UnassignedDropped None, or Overdue is onInclude None; turn Overdue off and compare the Unassigned card again
Assistant lists ticket titlesCounted a list-tickets pageAsk for unassigned priority counts and say do not list titles

How do I ask how many draft maintenance tickets I have by priority?​

Ask Genius or AI Chat — for example “How many draft maintenance tickets do I have by priority? Quote the Draft-card counts. Do not quote the All-card, Unassigned-card, or In-progress-card chips. Do not list ticket titles.”

The assistant should:

  1. Use the same get-ticket-status-counts call as status totals — never count a list-tickets page.
  2. Quote Critical, High, Medium, Low, and None for the Draft card. Those five numbers add up to Draft. None means tickets with no priority set.
  3. Not quote the All card chips (the whole portfolio), the Unassigned card chips (tickets with no assignee inside the 30-day window), or the In progress card chips (assigned work inside the 30-day window). Draft is a display status: Unassigned or In progress tickets whose Schedule date is more than 30 days ahead.

Keep Maintenance enabled on AI / MCP. Reconcile on Operations → Tickets — status-card priority chips with Overdue off, then open the Draft card.

AI Assistant — Draft-card ticket priority counts (critical, high, medium, low, none)

Walkthrough: ask how many draft maintenance tickets you have by priority, then read Critical, High, Medium, Low, and None on the Draft card.
SymptomLikely causeFix
Numbers match the All card chipsQuoted whole-account priority, not DraftAsk for the Draft card / far-future scheduled work
Numbers match the Unassigned or In progress card chipsQuoted today’s queue, not far-future DraftAsk for Draft (Schedule date more than 30 days ahead)
Five chips do not add up to DraftDropped None, or Overdue is onInclude None; turn Overdue off and compare the Draft card again
Assistant lists ticket titlesCounted a list-tickets pageAsk for draft priority counts and say do not list titles

How do I ask how many in-progress maintenance tickets I have by priority?​

Ask Genius or AI Chat — for example “How many in-progress maintenance tickets do I have by priority? Quote the In-progress-card counts. Do not quote the All-card, Unassigned-card, Draft-card, or Closed-card chips. Do not list ticket titles.”

The assistant should:

  1. Use the same get-ticket-status-counts call as status totals — never count a list-tickets page.
  2. Quote Critical, High, Medium, Low, and None for the In progress card. Those five numbers add up to In progress. None means tickets with no priority set.
  3. Not quote the All card chips (the whole portfolio), the Unassigned card chips (tickets with no assignee), the Draft card chips (far-future scheduled work), or the Closed card chips (all-time completed). In progress is assigned work inside the 30-day window — far-future Draft rows are not in this card.

Keep Maintenance enabled on AI / MCP. Reconcile on Operations → Tickets — status-card priority chips with Overdue off, then open the In progress card.

AI Assistant — In-progress-card ticket priority counts (critical, high, medium, low, none)

Walkthrough: ask how many in-progress maintenance tickets you have by priority, then read Critical, High, Medium, Low, and None on the In progress card.
SymptomLikely causeFix
Numbers match the All card chipsQuoted whole-account priority, not In progressAsk for the In progress card / currently assigned active queue
Numbers match the Unassigned card chipsQuoted tickets with no assigneeAsk for In progress (assigned work), or see FAQ — Ticket unassigned priority counts when that is what you wanted
Numbers match the Draft card chipsQuoted far-future scheduled workAsk for In progress (inside the 30-day window), or see FAQ — Ticket draft priority counts when that is what you wanted
Numbers match the Closed card chipsQuoted all-time completed ticketsAsk for In progress (active queue), or see FAQ — Ticket closed priority counts when that is what you wanted
Five chips do not add up to In progressDropped None, or Overdue is onInclude None; turn Overdue off and compare the In progress card again
Assistant lists ticket titlesCounted a list-tickets pageAsk for in-progress priority counts and say do not list titles

How do I ask how many closed maintenance tickets I have by priority?​

Ask Genius or AI Chat — for example “How many closed maintenance tickets do I have by priority? Quote the Closed-card counts. Do not quote the All-card, Unassigned-card, Draft-card, In-progress-card, or Cancelled-card chips. Do not quote closure rate. Do not list ticket titles.”

The assistant should:

  1. Use the same get-ticket-status-counts call as status totals — never count a list-tickets page (the default list omits Closed).
  2. Quote Critical, High, Medium, Low, and None for the Closed card. Those five numbers add up to Closed. Closed on Operations → Tickets is the same bucket as Completed. None means tickets with no priority set.
  3. Not quote the All card chips (the whole portfolio), the Unassigned card chips (tickets with no assignee), the Draft card chips (far-future scheduled work), the In progress card chips (active assigned queue), or the Cancelled card chips. Not quote closure rate — that is closed vs received in a named trailing window, not all-time Closed.

Keep Maintenance enabled on AI / MCP. Reconcile on Operations → Tickets — status-card priority chips with Overdue off, then open the Closed card.

AI Assistant — Closed-card ticket priority counts (critical, high, medium, low, none)

Walkthrough: ask how many closed maintenance tickets you have by priority, then read Critical, High, Medium, Low, and None on the Closed card.
SymptomLikely causeFix
Numbers match the All card chipsQuoted whole-account priority, not ClosedAsk for the Closed card / all-time completed tickets
Numbers match the In progress card chipsQuoted the active assigned queueAsk for Closed (completed work), or see FAQ — Ticket in-progress priority counts when that is what you wanted
Numbers match closure rate (closed vs received)Quoted a trailing window, not all-time ClosedAsk for Closed-card priority counts, or see FAQ — Maintenance closure rate when you wanted the rate
Numbers match the Cancelled card chipsQuoted cancelled tickets, not ClosedAsk for Closed (completed work), or see FAQ — Ticket cancelled priority counts when that is what you wanted
Five chips do not add up to ClosedDropped None, or Overdue is onInclude None; turn Overdue off and compare the Closed card again
Assistant lists ticket titlesCounted a list-tickets pageAsk for closed priority counts and say do not list titles

How do I ask how many cancelled maintenance tickets I have by priority?​

Ask Genius or AI Chat — for example “How many cancelled maintenance tickets do I have by priority? Quote the Cancelled-card counts. Do not quote the All-card, Unassigned-card, Draft-card, In-progress-card, or Closed-card chips. Do not list ticket titles.”

The assistant should:

  1. Use the same get-ticket-status-counts call as status totals — never count a list-tickets page (the default list omits Cancelled).
  2. Quote Critical, High, Medium, Low, and None for the Cancelled card. Those five numbers add up to Cancelled. None means tickets with no priority set.
  3. Not quote the All card chips (the whole portfolio), the Unassigned card chips (tickets with no assignee), the Draft card chips (far-future scheduled work), the In progress card chips (active assigned queue), or the Closed card chips (all-time completed). Cancelled is not the same bucket as Closed.

Keep Maintenance enabled on AI / MCP. Reconcile on Operations → Tickets — status-card priority chips with Overdue off, then open the Cancelled card.

AI Assistant — Cancelled-card ticket priority counts (critical, high, medium, low, none)

Walkthrough: ask how many cancelled maintenance tickets you have by priority, then read Critical, High, Medium, Low, and None on the Cancelled card.
SymptomLikely causeFix
Numbers match the All card chipsQuoted whole-account priority, not CancelledAsk for the Cancelled card / all-time cancelled tickets
Numbers match the Closed card chipsQuoted all-time completed ticketsAsk for Cancelled (not Closed), or see FAQ — Ticket closed priority counts when that is what you wanted
Five chips do not add up to CancelledDropped None, or Overdue is onInclude None; turn Overdue off and compare the Cancelled card again
Assistant lists ticket titlesCounted a list-tickets pageAsk for cancelled priority counts and say do not list titles

How do I ask for my maintenance ticket closure rate?​

Ask Genius or AI Chat — for example “What is my maintenance ticket closure rate over the last 60 days? Quote tickets closed, tickets received, and the percentage. Do not quote the 7-day default. Do not list staff names or ticket titles.”

The assistant should:

  1. Use get-maintenance-closure-rate — never count a list-tickets page, and never treat the Operations Tickets Closed card (all-time completed) as the rate.
  2. Quote closed, received, and the percentage (closed ÷ received) for the named window.
  3. Not use the 7-day default when you asked for a longer window. That default can be 0% even when the last 60 days have closures.

Keep Analytics enabled on AI / MCP (this read is not the Maintenance domain). Reconcile the created-vs-closed shape on Operations → Overview — Ticket volume trend. For a mid-length window that can already have closures when 30 days is still 0%, see FAQ — 45-day maintenance closure rate. For a window between 45 and 60, see FAQ — 50-day maintenance closure rate. For the longest allowed window, see FAQ — 90-day maintenance closure rate.

AI Assistant — 60-day maintenance ticket closure rate (closed, received, percentage)

Walkthrough: ask for the maintenance ticket closure rate over the last 60 days, then read tickets closed, tickets received, and the percentage.
SymptomLikely causeFix
Rate is 0% but you closed tickets last monthTool defaulted to 7 daysName a longer window (for example last 60 days)
Number matches the Closed status cardQuoted all-time completed ticketsAsk for closed vs received in a trailing window
Number matches Staff WorkloadQuoted open tickets nowClosure rate is closed ÷ received in the window, not open work
Assistant lists staff names or ticket titlesRanked assignees or counted a ticket pageAsk for account totals and say do not list names or titles

How do I ask for my 90-day maintenance ticket closure rate?​

Ask Genius or AI Chat — for example “What is my maintenance ticket closure rate over the last 90 days? Quote tickets received and the percentage. Name that the window is 90 days. Do not quote the 7-day default. Do not quote the last 60 days. Do not list staff names or ticket titles.”

The assistant should:

  1. Use get-maintenance-closure-rate with 90 days — never count a list-tickets page, and never treat the Operations Tickets Closed card as the rate.
  2. Quote received and the percentage for that named window. Closed can match a shorter window that had the same closures — do not treat closed alone as proof of 90 days.
  3. Not use the 7-day default, a 45-day window, a 50-day window, or a 60-day window when you asked for 90 days.

Keep Analytics enabled on AI / MCP. Reconcile the created-vs-closed shape on Operations → Overview — Ticket volume trend.

AI Assistant — 90-day maintenance ticket closure rate (received and percentage)

Walkthrough: ask for the maintenance ticket closure rate over the last 90 days, then read tickets received and the percentage.
SymptomLikely causeFix
Figures match the 60-day windowQuoted a shorter window; closed can matchName 90 days and quote received, not closed alone
Rate is 0% but you closed tickets last quarterTool defaulted to 7 daysName 90 days (the longest allowed window)
Number matches the Closed status cardQuoted all-time completed ticketsAsk for closed vs received in a trailing window
Assistant lists staff names or ticket titlesRanked assignees or counted a ticket pageAsk for account totals and say do not list names or titles

How do I ask for my 45-day maintenance ticket closure rate?​

Ask Genius or AI Chat — for example “What is my maintenance ticket closure rate over the last 45 days? Quote tickets received and the percentage. Name that the window is 45 days. Do not quote the 7-day default. Do not quote the last 30 days. Do not quote the last 50 days. Do not quote the last 60 days. Do not quote the last 90 days. Do not list staff names or ticket titles.”

The assistant should:

  1. Use get-maintenance-closure-rate with 45 days — never count a list-tickets page, and never treat the Operations Tickets Closed card as the rate.
  2. Quote received and the percentage for that named window. Closed can match one assignee’s close count on Staff Workload — do not treat closed alone as proof of 45 days.
  3. Not use the 7-day default, a 30-day look (which can still be 0%), a 50-day window, a 60-day window, or the 90-day maximum when you asked for 45 days.

Keep Analytics enabled on AI / MCP. Reconcile the created-vs-closed shape on Operations → Overview — Ticket volume trend.

AI Assistant — 45-day maintenance ticket closure rate (received and percentage)

Walkthrough: ask for the maintenance ticket closure rate over the last 45 days, then read tickets received and the percentage.
SymptomLikely causeFix
Rate is 0% but you closed tickets last monthTool defaulted to 7 or 30 daysName 45 days (a mid-length window that can already have closures)
Figures match the 50-day, 60-day, or 90-day windowQuoted a longer windowName 45 days and quote received, not closed alone
Number matches the Closed status cardQuoted all-time completed ticketsAsk for closed vs received in a trailing window
Assistant lists staff names or ticket titlesRanked assignees or counted a ticket pageAsk for account totals and say do not list names or titles

How do I ask for my 50-day maintenance ticket closure rate?​

Ask Genius or AI Chat — for example “What is my maintenance ticket closure rate over the last 50 days? Quote tickets received and the percentage. Name that the window is 50 days. Do not quote the 7-day default. Do not quote the last 45 days. Do not quote the last 60 days. Do not quote the last 90 days. Do not list staff names or ticket titles.”

The assistant should:

  1. Use get-maintenance-closure-rate with 50 days — never count a list-tickets page, and never treat the Operations Tickets Closed card as the rate.
  2. Quote received and the percentage for that named window. Closed can match a nearby window if you only compare that count — do not treat closed alone as proof of 50 days.
  3. Not use the 7-day default, a 45-day window, a 60-day window, or the 90-day maximum when you asked for 50 days.

Keep Analytics enabled on AI / MCP. Reconcile the created-vs-closed shape on Operations → Overview — Ticket volume trend.

AI Assistant — 50-day maintenance ticket closure rate (received and percentage)

Walkthrough: ask for the maintenance ticket closure rate over the last 50 days, then read tickets received and the percentage.
SymptomLikely causeFix
Figures match the 45-day windowQuoted a shorter windowName 50 days and quote received, not closed alone
Figures match the 60-day or 90-day windowQuoted a longer windowName 50 days and quote received, not closed alone
Rate is 0% but you closed tickets last monthTool defaulted to 7 or 30 daysName 50 days (a window between 45 and 60 that already has closures)
Number matches the Closed status cardQuoted all-time completed ticketsAsk for closed vs received in a trailing window
Assistant lists staff names or ticket titlesRanked assignees or counted a ticket pageAsk for account totals and say do not list names or titles

How do I ask for my operational costs?​

Ask Genius or AI Chat — for example “What were my operational costs in July 2026? Quote total outflow and average cost per unit for 1 July through 31 July. Do not quote August. Do not quote Finance income. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary — never sum a Cash Flows page of rows, and never treat Finance → Overview income or cash collected as operational spend.
  2. Quote total outflow and average cost per unit for the named dates.
  3. Not use the current-month default when you asked for a settled month. That default is the month through today, so a mid-month ask understates July.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip. For another named settled month, see FAQ — June operational costs, FAQ — April operational costs, FAQ — February operational costs, FAQ — January operational costs, or FAQ — March operational costs, or FAQ — May operational costs.

AI Assistant — July operational cost summary (total outflow and average cost per unit)

Walkthrough: ask for operational costs in July 2026, then read total outflow and average cost per unit.
SymptomLikely causeFix
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for operational costs / Cash Flows outflow
Figure looks too small for last monthTool defaulted to the current monthName from and to dates for the settled month
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for totals only and say do not list rows

How do I ask for my June operational costs?​

Ask Genius or AI Chat — for example “What were my operational costs in June 2026? Quote total outflow and average cost per unit for 1 June through 30 June. Do not quote July. Do not quote August. Do not quote Finance income. Do not quote only a category split. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary with 1 June through 30 June — never sum a Cash Flows page of rows, and never treat Finance → Overview income or cash collected as operational spend.
  2. Quote total outflow and average cost per unit for that named month. A single category’s outflow is not the portfolio total — do not treat a category split as the headline.
  3. Not use the July teaching month or the current-month default when you asked for June.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip. For a third named settled month, see FAQ — April operational costs. For a fourth named settled month, see FAQ — February operational costs. For a fifth named settled month, see FAQ — January operational costs. For a sixth named settled month, see FAQ — March operational costs. For a seventh named settled month, see FAQ — May operational costs.

AI Assistant — June operational cost summary (total outflow and average cost per unit)

Walkthrough: ask for operational costs in June 2026, then read total outflow and average cost per unit.
SymptomLikely causeFix
Figures match JulyQuoted a different named monthName 1 June through 30 June and quote headline totals
Figure looks like August or this monthTool defaulted to the current monthName June from and to dates
Figure matches one category outflowQuoted the category split as the headlineAsk for total outflow and average cost per unit, not a category-only split
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for operational costs / Cash Flows outflow
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for totals only and say do not list rows

How do I ask for my April operational costs?​

Ask Genius or AI Chat — for example “What were my operational costs in April 2026? Quote total outflow and average cost per unit for 1 April through 30 April. Do not quote May. Do not quote June. Do not quote July. Do not quote August. Do not quote Finance income. Do not quote only a category split. Do not quote remaining totals after excluding a category. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary with 1 April through 30 April — never sum a Cash Flows page of rows, and never treat Finance → Overview income or cash collected as operational spend.
  2. Quote total outflow and average cost per unit for that named month. A single category’s outflow is not the portfolio total — do not treat a category split as the headline.
  3. Not use the June or July teaching months, May, remaining totals after excluding a category, or the current-month default when you asked for April.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip.

AI Assistant — April operational cost summary (total outflow and average cost per unit)

Walkthrough: ask for operational costs in April 2026, then read total outflow and average cost per unit.
SymptomLikely causeFix
Figures match June or JulyQuoted a different named monthName 1 April through 30 April and quote headline totals
Figures match MayQuoted the next monthName April from and to dates
Figure looks like August or this monthTool defaulted to the current monthName April from and to dates
Figure matches remaining totals after excluding a categoryQuoted spend after dropping maintenanceAsk for total outflow and average cost per unit, not remaining totals
Figure matches one category outflowQuoted the category split as the headlineAsk for total outflow and average cost per unit, not a category-only split
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for operational costs / Cash Flows outflow
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for totals only and say do not list rows
Figures match 1–15 April onlyQuoted a custom half-month windowName 1 April through 30 April — FAQ — April 1–15 operational costs
Figures match 16–30 April onlyQuoted a custom half-month windowName 1 April through 30 April — FAQ — April 16–30 operational costs

How do I ask for my April 1–15 operational costs?​

Ask Genius or AI Chat — for example “What were my operational costs from 1 April through 15 April 2026? Quote total outflow and average cost per unit for 1 April through 15 April only. Do not quote the full April month (1 through 30 April). Do not quote 16 April through 30 April. Do not quote May. Do not quote June. Do not quote July. Do not quote August. Do not quote Finance income. Do not quote only a category split. Do not quote remaining totals after excluding a category. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary with 1 April through 15 April — never sum a Cash Flows page of rows, and never treat Finance → Overview income or cash collected as operational spend.
  2. Quote total outflow and average cost per unit for that named window. A half-month window is not the full April headline — do not treat a category split as the headline.
  3. Not use the full April month, 16–30 April, the June or July teaching months, May, remaining totals after excluding a category, or the current-month default when you asked for 1–15 April.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows for the matching days.

AI Assistant — 1–15 April operational cost summary (total outflow and average cost per unit)

Walkthrough: ask for operational costs from 1 April through 15 April 2026, then read total outflow and average cost per unit.
SymptomLikely causeFix
Figures match the full April monthQuoted 1 April through 30 AprilName 1 April through 15 April and quote headline totals for that window
Figures match 16–30 AprilQuoted the second half of the monthName 1 April through 15 April — FAQ — April 16–30 operational costs
Figures match June or JulyQuoted a different named monthName 1 April through 15 April
Figure looks like August or this monthTool defaulted to the current monthName 1 April through 15 April
Figure matches remaining totals after excluding a categoryQuoted spend after dropping maintenanceAsk for total outflow and average cost per unit, not remaining totals
Figure matches one category outflowQuoted the category split as the headlineAsk for total outflow and average cost per unit, not a category-only split
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for operational costs / Cash Flows outflow
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for totals only and say do not list rows

How do I ask for my April 16–30 operational costs?​

Ask Genius or AI Chat — for example “What were my operational costs from 16 April through 30 April 2026? Quote total outflow and average cost per unit for 16 April through 30 April only. Do not quote the full April month (1 through 30 April). Do not quote 1 April through 15 April. Do not quote May. Do not quote June. Do not quote July. Do not quote August. Do not quote Finance income. Do not quote only a category split. Do not quote remaining totals after excluding a category. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary with 16 April through 30 April — never sum a Cash Flows page of rows, and never treat Finance → Overview income or cash collected as operational spend.
  2. Quote total outflow and average cost per unit for that named window. A second-half window is not the full April headline and not the first-half totals — do not treat a category split as the headline.
  3. Not use the full April month, 1–15 April, the June or July teaching months, May, remaining totals after excluding a category, or the current-month default when you asked for 16–30 April.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows for the matching days.

AI Assistant — 16–30 April operational cost summary (total outflow and average cost per unit)

Walkthrough: ask for operational costs from 16 April through 30 April 2026, then read total outflow and average cost per unit.
SymptomLikely causeFix
Figures match the full April monthQuoted 1 April through 30 AprilName 16 April through 30 April and quote headline totals for that window
Figures match 1–15 AprilQuoted the first half of the monthName 16 April through 30 April
Figures match June or JulyQuoted a different named monthName 16 April through 30 April
Figure looks like August or this monthTool defaulted to the current monthName 16 April through 30 April
Figure matches remaining totals after excluding a categoryQuoted spend after dropping maintenanceAsk for total outflow and average cost per unit, not remaining totals
Figure matches one category outflowQuoted the category split as the headlineAsk for total outflow and average cost per unit, not a category-only split
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for operational costs / Cash Flows outflow
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for totals only and say do not list rows

How do I ask for my February operational costs?​

Ask Genius or AI Chat — for example “What were my operational costs in February 2026? Quote total outflow and average cost per unit for 1 February through 28 February. Do not quote January. Do not quote March. Do not quote April. Do not quote May. Do not quote June. Do not quote July. Do not quote August. Do not quote Finance income. Do not quote only a category split. Do not quote remaining totals after excluding a category. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary with 1 February through 28 February — never sum a Cash Flows page of rows, and never treat Finance → Overview income or cash collected as operational spend.
  2. Quote total outflow and average cost per unit for that named month. A single category’s outflow is not the portfolio total — do not treat a category split as the headline.
  3. Not use the June, July, or April teaching months, the 1–15 April or 16–30 April custom windows, the 1–14 February or 15–28 February custom windows, January, March, remaining totals after excluding a category, or the current-month default when you asked for February.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip.

AI Assistant — February operational cost summary (total outflow and average cost per unit)

Walkthrough: ask for operational costs in February 2026, then read total outflow and average cost per unit.
SymptomLikely causeFix
Figures match June, July, or AprilQuoted a different named monthName 1 February through 28 February and quote headline totals
Figures match 1–15 April or 16–30 AprilQuoted a custom April windowName February, not an April half-month
Figures match 1–14 February or 15–28 February onlyQuoted a custom half-month windowName 1 February through 28 February — FAQ — February 1–14 operational costs / FAQ — February 15–28 operational costs
Figures match January or MarchQuoted a neighbouring monthName February from and to dates
Figure looks like August or this monthTool defaulted to the current monthName February from and to dates
Figure matches remaining totals after excluding a categoryQuoted spend after dropping maintenanceAsk for total outflow and average cost per unit, not remaining totals
Figure matches one category outflowQuoted the category split as the headlineAsk for total outflow and average cost per unit, not a category-only split
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for operational costs / Cash Flows outflow
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for totals only and say do not list rows

How do I ask for my February 1–14 operational costs?​

Ask Genius or AI Chat — for example “What were my operational costs from 1 February through 14 February 2026? Quote total outflow and average cost per unit for 1 February through 14 February only. Do not quote the full February month (1 through 28 February). Do not quote 15 February through 28 February. Do not quote January. Do not quote March. Do not quote April. Do not quote May. Do not quote June. Do not quote July. Do not quote August. Do not quote Finance income. Do not quote only a category split. Do not quote remaining totals after excluding a category. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary with 1 February through 14 February — never sum a Cash Flows page of rows, and never treat Finance → Overview income or cash collected as operational spend.
  2. Quote total outflow and average cost per unit for that named window. A first-half February window is not the full February headline — do not treat a category split as the headline.
  3. Not use the full February month, 15–28 February, the June, July, or April teaching months, the 1–15 April or 16–30 April custom windows, remaining totals after excluding a category, or the current-month default when you asked for 1–14 February.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows for the matching days.

AI Assistant — 1–14 February operational cost summary (total outflow and average cost per unit)

Walkthrough: ask for operational costs from 1 February through 14 February 2026, then read total outflow and average cost per unit.
SymptomLikely causeFix
Figures match the full February monthQuoted 1 February through 28 FebruaryName 1 February through 14 February and quote headline totals for that window
Figures match 15–28 FebruaryQuoted the second half of the monthName 1 February through 14 February
Figures match 1–15 April or 16–30 AprilQuoted a custom April windowName 1 February through 14 February, not an April half-month
Figures match June, July, April, or JanuaryQuoted a different named monthName 1 February through 14 February
Figure looks like August or this monthTool defaulted to the current monthName 1 February through 14 February
Figure matches remaining totals after excluding a categoryQuoted spend after dropping maintenanceAsk for total outflow and average cost per unit, not remaining totals
Figure matches one category outflowQuoted the category split as the headlineAsk for total outflow and average cost per unit, not a category-only split
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for operational costs / Cash Flows outflow
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for totals only and say do not list rows

How do I ask for my February 15–28 operational costs?​

Ask Genius or AI Chat — for example “What were my operational costs from 15 February through 28 February 2026? Quote total outflow and average cost per unit for 15 February through 28 February only. Do not quote the full February month (1 through 28 February). Do not quote 1 February through 14 February. Do not quote January. Do not quote March. Do not quote April. Do not quote May. Do not quote June. Do not quote July. Do not quote August. Do not quote Finance income. Do not quote only a category split. Do not quote remaining totals after excluding a category. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary with 15 February through 28 February — never sum a Cash Flows page of rows, and never treat Finance → Overview income or cash collected as operational spend.
  2. Quote total outflow and average cost per unit for that named window. A second-half February window is not the first-half window and not the full February headline — do not treat a category split as the headline.
  3. Not use the full February month, 1–14 February, the June, July, or April teaching months, the 1–15 April or 16–30 April custom windows, remaining totals after excluding a category, or the current-month default when you asked for 15–28 February.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows for the matching days.

AI Assistant — 15–28 February operational cost summary (total outflow and average cost per unit)

Walkthrough: ask for operational costs from 15 February through 28 February 2026, then read total outflow and average cost per unit.
SymptomLikely causeFix
Figures match the full February monthQuoted 1 February through 28 FebruaryName 15 February through 28 February and quote headline totals for that window
Figures match 1–14 FebruaryQuoted the first half of the monthName 15 February through 28 February
Figures match 1–15 April or 16–30 AprilQuoted a custom April windowName 15 February through 28 February, not an April half-month
Figures match June, July, April, or MarchQuoted a different named monthName 15 February through 28 February
Figure looks like August or this monthTool defaulted to the current monthName 15 February through 28 February
Figure matches remaining totals after excluding a categoryQuoted spend after dropping maintenanceAsk for total outflow and average cost per unit, not remaining totals
Figure matches one category outflowQuoted the category split as the headlineAsk for total outflow and average cost per unit, not a category-only split
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for operational costs / Cash Flows outflow
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for totals only and say do not list rows

How do I ask for my January operational costs?​

Ask Genius or AI Chat — for example “What were my operational costs in January 2026? Quote total outflow and average cost per unit for 1 January through 31 January. Do not quote February. Do not quote March. Do not quote April. Do not quote May. Do not quote June. Do not quote July. Do not quote August. Do not quote Finance income. Do not quote only a category split. Do not quote remaining totals after excluding a category. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary with 1 January through 31 January — never sum a Cash Flows page of rows, and never treat Finance → Overview income or cash collected as operational spend.
  2. Quote total outflow and average cost per unit for that named month. A single category’s outflow is not the portfolio total — do not treat a category split as the headline.
  3. Not use the June, July, April, or February teaching months, the 1–15 April or 16–30 April custom windows, the 1–14 February or 15–28 February custom windows, February, March, remaining totals after excluding a category, or the current-month default when you asked for January.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip.

AI Assistant — January operational cost summary (total outflow and average cost per unit)

Walkthrough: ask for operational costs in January 2026, then read total outflow and average cost per unit.
SymptomLikely causeFix
Figures match June, July, April, or FebruaryQuoted a different named monthName 1 January through 31 January and quote headline totals
Figures match 1–15 April or 16–30 AprilQuoted a custom April windowName January, not an April half-month
Figures match February or MarchQuoted a neighbouring monthName January from and to dates
Figure looks like August or this monthTool defaulted to the current monthName January from and to dates
Figure matches remaining totals after excluding a categoryQuoted spend after dropping maintenanceAsk for total outflow and average cost per unit, not remaining totals
Figure matches one category outflowQuoted the category split as the headlineAsk for total outflow and average cost per unit, not a category-only split
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for operational costs / Cash Flows outflow
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for totals only and say do not list rows

How do I ask for my March operational costs?​

Ask Genius or AI Chat — for example “What were my operational costs in March 2026? Quote total outflow and average cost per unit for 1 March through 31 March. Do not quote January. Do not quote February. Do not quote April. Do not quote May. Do not quote June. Do not quote July. Do not quote August. Do not quote Finance income. Do not quote only a category split. Do not quote remaining totals after excluding a category. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary with 1 March through 31 March — never sum a Cash Flows page of rows, and never treat Finance → Overview income or cash collected as operational spend.
  2. Quote total outflow and average cost per unit for that named month. A single category’s outflow is not the portfolio total — do not treat a category split as the headline.
  3. Not use the June, July, April, February, or January teaching months, the 1–15 April or 16–30 April custom windows, the 1–14 February or 15–28 February custom windows, remaining totals after excluding a category, or the current-month default when you asked for March.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip. For a seventh named settled month, see FAQ — May operational costs.

AI Assistant — March operational cost summary (total outflow and average cost per unit)

Walkthrough: ask for operational costs in March 2026, then read total outflow and average cost per unit.
SymptomLikely causeFix
Figures match June, July, April, February, or JanuaryQuoted a different named monthName 1 March through 31 March and quote headline totals
Figures match 1–15 April or 16–30 AprilQuoted a custom April windowName March, not an April half-month
Figures match January, February, or AprilQuoted a neighbouring monthName March from and to dates
Figure looks like August or this monthTool defaulted to the current monthName March from and to dates
Figure matches remaining totals after excluding a categoryQuoted spend after dropping maintenanceAsk for total outflow and average cost per unit, not remaining totals
Figure matches one category outflowQuoted the category split as the headlineAsk for total outflow and average cost per unit, not a category-only split
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for operational costs / Cash Flows outflow
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for totals only and say do not list rows

How do I ask for my May operational costs?​

Ask Genius or AI Chat — for example “What were my operational costs in May 2026? Quote total outflow and average cost per unit for 1 May through 31 May. Do not quote January. Do not quote February. Do not quote March. Do not quote April. Do not quote June. Do not quote July. Do not quote August. Do not quote Finance income. Do not quote only a category split. Do not quote remaining totals after excluding a category. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary with 1 May through 31 May — never sum a Cash Flows page of rows, and never treat Finance → Overview income or cash collected as operational spend.
  2. Quote total outflow and average cost per unit for that named month. A single category’s outflow is not the portfolio total — do not treat a category split as the headline.
  3. Not use the June, July, April, March, February, or January teaching months, the 1–15 April or 16–30 April custom windows, the 1–14 February or 15–28 February custom windows, remaining totals after excluding a category, or the current-month default when you asked for May.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip.

AI Assistant — May operational cost summary (total outflow and average cost per unit)

Walkthrough: ask for operational costs in May 2026, then read total outflow and average cost per unit.
SymptomLikely causeFix
Figures match June, July, April, March, February, or JanuaryQuoted a different named monthName 1 May through 31 May and quote headline totals
Figures match 1–15 April or 16–30 AprilQuoted a custom April windowName May, not an April half-month
Figures match March or AprilQuoted a neighbouring monthName May from and to dates
Figure looks like August or this monthTool defaulted to the current monthName May from and to dates
Figure matches remaining totals after excluding a categoryQuoted spend after dropping maintenanceAsk for total outflow and average cost per unit, not remaining totals
Figure matches one category outflowQuoted the category split as the headlineAsk for total outflow and average cost per unit, not a category-only split
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for operational costs / Cash Flows outflow
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for totals only and say do not list rows

How do I ask for operational costs by category?​

Ask Genius or AI Chat — for example “What were my operational costs by category in July 2026? Quote each category outflow for 1 July through 31 July. Do not quote August. Do not quote Finance income. Do not quote only the portfolio total. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary byCategory — never sum a Cash Flows page of rows, and never treat headline total outflow / average cost per unit as the category answer.
  2. Quote each category’s outflow for the named dates. Skip uncategorized when it is 0.
  3. Not use the current-month default when you asked for a settled month.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip (category column). For another named month’s split, see FAQ — June operational costs by category.

AI Assistant — July operational costs by category (Carpentry and doors and Maintenance outflows)

Walkthrough: ask for operational costs by category in July 2026, then read each category outflow.
SymptomLikely causeFix
Figure is only total outflow / average per unitQuoted headline totals, not byCategoryAsk for costs by category and say do not quote only the portfolio total
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for Cash Flows category outflows
Figure looks like the current monthTool defaulted to the month through todayName from and to dates for the settled month
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for category totals and say do not list rows

How do I ask for my June operational costs by category?​

Ask Genius or AI Chat — for example “What were my operational costs by category in June 2026? Quote each category outflow for 1 June through 30 June. Name Manutenção and uncategorized. Include uncategorized when it has outflow. Do not quote July. Do not quote only the June portfolio total. Do not quote August. Do not quote Finance income. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary byCategory with 1 June through 30 June — never treat headline total outflow / average cost per unit as the category answer, and never quote the July Carpentry & doors + Maintenance split.
  2. Quote each category’s outflow for that named month. Include uncategorized when it has outflow (July teaching skipped it at 0). Use the Cash Flows name for that month — Manutenção, not July’s English Maintenance.
  3. Not use the July teaching month or the current-month default when you asked for June.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip (category column).

AI Assistant — June operational costs by category (Manutenção and uncategorized outflows)

Walkthrough: ask for operational costs by category in June 2026, then read each category outflow.
SymptomLikely causeFix
Figures match July Carpentry & doors / MaintenanceQuoted a different named monthName 1 June through 30 June and quote Manutenção plus uncategorized
Figure is only June total outflow / averageQuoted headline totals, not byCategoryAsk for costs by category and say include uncategorized
Reply skips uncategorizedFollowed the July “skip when 0” habitAsk to include uncategorized when it has outflow
Figure looks like August or this monthTool defaulted to the current monthName June from and to dates
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for Cash Flows category outflows
Assistant lists suppliers or propertiesCounted Cash Flows rowsAsk for category totals and say do not list rows

How do I ask for operational costs excluding a category?​

Ask Genius or AI Chat — for example “What were my operational costs in July 2026 after excluding Carpentry & doors? Quote remaining total outflow and average cost per unit for 1 July through 31 July. Name that Carpentry & doors is excluded. Do not quote the unfiltered headline total. Do not quote August. Do not quote Finance income. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary excludeCategories with the exact Cash Flows category name (for example Carpentry & doors, not a shortened Carpentry) — never quote the unfiltered total outflow / average cost per unit, and never treat the by-category list as the remaining-totals answer.
  2. Quote remaining total outflow and average cost per unit for the named dates.
  3. Not use the current-month default when you asked for a settled month.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip, then mentally drop that category’s rows.

AI Assistant — July operational costs excluding Carpentry and doors (remaining outflow and average cost per unit)

Walkthrough: ask for July 2026 operational costs after excluding Carpentry & doors, then read remaining total outflow and average cost per unit.
SymptomLikely causeFix
Figure matches the unfiltered total / averageQuoted headline totals, not remaining spendAsk for remaining outflow after excluding the exact category name
Totals stay the same after you name a categoryFilter needs the exact Cash Flows nameUse the full name as it appears on Cash Flows (for example Carpentry & doors, not Carpentry)
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for Cash Flows remaining outflow
Figure looks like the current monthTool defaulted to the month through todayName from and to dates for the settled month
Assistant lists remaining categories or suppliersCounted Cash Flows rowsAsk for remaining totals only and say do not list rows

How do I ask for operational costs excluding Maintenance?​

Ask Genius or AI Chat — for example “What were my operational costs in July 2026 after excluding Maintenance? Quote remaining total outflow and average cost per unit for 1 July through 31 July. Name that Maintenance is excluded. Do not quote remaining totals after excluding Carpentry & doors. Do not quote the unfiltered headline total. Do not quote August. Do not quote Finance income. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary excludeCategories with the exact Cash Flows name Maintenance (not Portuguese Manutenção when that month’s category is English Maintenance) — never quote remaining totals after dropping Carpentry & doors, never quote the unfiltered total outflow / average cost per unit, and never treat the by-category list as the remaining-totals answer.
  2. Quote remaining total outflow and average cost per unit for the named dates. Remaining outflow can match the other category’s spend — quote the average so you are not reading the category split.
  3. Not use the current-month default when you asked for a settled month.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip, then mentally drop that category’s rows.

AI Assistant — July operational costs excluding Maintenance (remaining outflow and average cost per unit)

Walkthrough: ask for July 2026 operational costs after excluding Maintenance, then read remaining total outflow and average cost per unit.
SymptomLikely causeFix
Figure matches remaining totals after Carpentry & doorsDropped a different categoryAsk for excluding Maintenance and quote remaining average cost per unit
Totals stay the same after you name MaintenanceFilter needs the exact Cash Flows nameUse Maintenance as it appears on Cash Flows (not Portuguese Manutenção when the English label is the one that spent)
Figure matches the unfiltered total / averageQuoted headline totals, not remaining spendAsk for remaining outflow after excluding Maintenance
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for Cash Flows remaining outflow
Figure looks like the current monthTool defaulted to the month through todayName from and to dates for the settled month
Assistant lists remaining categories or suppliersCounted Cash Flows rowsAsk for remaining totals only and say do not list rows

How do I ask for June operational costs excluding Manutenção?​

Ask Genius or AI Chat — for example “What were my operational costs in June 2026 after excluding Manutenção? Quote remaining total outflow and average cost per unit for 1 June through 30 June. Name that Manutenção is excluded. Do not quote remaining totals after excluding uncategorized. Do not quote July remaining totals after excluding Maintenance. Do not quote the unfiltered headline total. Do not quote August. Do not quote Finance income. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary excludeCategories with the exact Cash Flows name Manutenção (not English Maintenance, which does not match June) — never quote remaining totals after dropping uncategorized, never quote July remaining totals after dropping English Maintenance, never quote the unfiltered total outflow / average cost per unit, and never treat the by-category list as the remaining-totals answer.
  2. Quote remaining total outflow and average cost per unit for the named dates. Remaining outflow can match the other category’s spend — quote the average so you are not reading the uncategorized row as a category split.
  3. Not use the July teaching month or the current-month default when you asked for June.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip, then mentally drop that category’s rows.

AI Assistant — June operational costs excluding Manutenção (remaining outflow and average cost per unit)

Walkthrough: ask for June 2026 operational costs after excluding Manutenção, then read remaining total outflow and average cost per unit.
SymptomLikely causeFix
Figure matches July remaining totals after MaintenanceQuoted a different named monthName 1 June through 30 June and exclude Manutenção
Totals stay the same after you name MaintenanceFilter needs the exact Cash Flows nameUse Manutenção as it appears on Cash Flows for June (not English Maintenance)
Figure matches remaining totals after uncategorizedDropped a different categoryAsk for excluding Manutenção and quote remaining average cost per unit
Figure matches the unfiltered June total / averageQuoted headline totals, not remaining spendAsk for remaining outflow after excluding Manutenção
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for Cash Flows remaining outflow
Figure looks like August or this monthTool defaulted to the current monthName June from and to dates
Assistant lists remaining categories or suppliersCounted Cash Flows rowsAsk for remaining totals only and say do not list rows

How do I ask for June operational costs excluding uncategorized?​

Ask Genius or AI Chat — for example “What were my operational costs in June 2026 after excluding uncategorized? Quote remaining total outflow and average cost per unit for 1 June through 30 June. Name that uncategorized is excluded. Do not quote remaining totals after excluding Manutenção. Do not quote July remaining totals after excluding Maintenance. Do not quote the unfiltered headline total. Do not quote August. Do not quote Finance income. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary excludeCategories with the exact Cash Flows name uncategorized — never quote remaining totals after dropping Manutenção, never quote July remaining totals after dropping English Maintenance, never quote the unfiltered total outflow / average cost per unit, and never treat the by-category list as the remaining-totals answer.
  2. Quote remaining total outflow and average cost per unit for the named dates. Remaining outflow can match the other category’s spend — quote the average so you are not reading the Manutenção row as a category split.
  3. Not use the July teaching month or the current-month default when you asked for June.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip, then mentally drop uncategorized rows.

AI Assistant — June operational costs excluding uncategorized (remaining outflow and average cost per unit)

Walkthrough: ask for June 2026 operational costs after excluding uncategorized, then read remaining total outflow and average cost per unit.
SymptomLikely causeFix
Figure matches remaining totals after ManutençãoDropped a different categoryAsk for excluding uncategorized and quote remaining average cost per unit
Figure matches July remaining totals after MaintenanceQuoted a different named monthName 1 June through 30 June and exclude uncategorized
Totals stay the same after you name UncategorizedFilter needs the exact Cash Flows nameUse uncategorized as it appears on Cash Flows for June
Figure matches the unfiltered June total / averageQuoted headline totals, not remaining spendAsk for remaining outflow after excluding uncategorized
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for Cash Flows remaining outflow
Figure looks like August or this monthTool defaulted to the current monthName June from and to dates
Assistant lists remaining categories or suppliersCounted Cash Flows rowsAsk for remaining totals only and say do not list rows

How do I ask for April operational costs excluding maintenance?​

Ask Genius or AI Chat — for example “What were my operational costs in April 2026 after excluding maintenance? Quote remaining total outflow and average cost per unit for 1 April through 30 April. Name that maintenance is excluded. Use the exact Cash Flows name maintenance. Do not quote remaining totals after excluding Maintenance in July. Do not quote remaining totals after excluding Manutenção in June. Do not quote the unfiltered headline total. Do not quote May. Do not quote August. Do not quote Finance income. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary excludeCategories with the exact Cash Flows name maintenance (lowercase, as it appears on Cash Flows for April — not Portuguese Manutenção, which does not match that month) — never quote July remaining totals after dropping English Maintenance, never quote the unfiltered total outflow / average cost per unit, and never treat the by-category list as the remaining-totals answer.
  2. Quote remaining total outflow and average cost per unit for the named dates. Remaining outflow is the rest of April spend after dropping maintenance — quote the average so you are not reading a leftover category as the remaining total.
  3. Not use the July teaching month, May, or the current-month default when you asked for April.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip, then mentally drop that category’s rows.

AI Assistant — April operational costs excluding maintenance (remaining outflow and average cost per unit)

Walkthrough: ask for April 2026 operational costs after excluding maintenance, then read remaining total outflow and average cost per unit.
SymptomLikely causeFix
Figure matches July remaining totals after MaintenanceQuoted a different named monthName 1 April through 30 April and exclude maintenance
Totals stay the same after you name MaintenanceFilter needs the exact Cash Flows nameUse maintenance as it appears on Cash Flows for April (not Portuguese Manutenção)
Figure matches the unfiltered April total / averageQuoted headline totals, not remaining spendAsk for remaining outflow after excluding maintenance
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for Cash Flows remaining outflow
Figure looks like August or this monthTool defaulted to the current monthName April from and to dates
Figure matches remaining totals after excluding maintenance and uncategorizedDropped a second category you did not ask to excludeAsk for excluding maintenance only — FAQ — April operational costs excluding maintenance and uncategorized
Assistant lists remaining categories or suppliersCounted Cash Flows rowsAsk for remaining totals only and say do not list rows

How do I ask for April operational costs excluding maintenance and uncategorized?​

Ask Genius or AI Chat — for example “What were my operational costs in April 2026 after excluding maintenance and uncategorized? Quote remaining total outflow and average cost per unit for 1 April through 30 April. Name that both maintenance and uncategorized are excluded. Use the exact Cash Flows names maintenance and uncategorized. Do not quote remaining totals after excluding only maintenance. Do not quote remaining totals after excluding uncategorized in June. Do not quote remaining totals after excluding Maintenance in July. Do not quote the unfiltered headline total. Do not quote May. Do not quote August. Do not quote Finance income. Do not list cash-flow rows.”

The assistant should:

  1. Use get-cost-summary excludeCategories with both exact Cash Flows names maintenance and uncategorized — never quote remaining totals after dropping maintenance only, never quote June remaining totals after dropping uncategorized, never quote July remaining totals after dropping English Maintenance, never quote the unfiltered total outflow / average cost per unit, and never treat the by-category list as the remaining-totals answer.
  2. Quote remaining total outflow and average cost per unit for the named dates. Remaining outflow is smaller than excluding maintenance alone — quote the average so you are not reading leftover category spend as the remaining total.
  3. Not use the July teaching month, May, or the current-month default when you asked for April.

Keep Analytics enabled on AI / MCP. Reconcile on Operations → Cash Flows with the matching month chip, then mentally drop those two categories’ rows.

AI Assistant — April operational costs excluding maintenance and uncategorized (remaining outflow and average cost per unit)

Walkthrough: ask for April 2026 operational costs after excluding maintenance and uncategorized, then read remaining total outflow and average cost per unit.
SymptomLikely causeFix
Figure matches remaining totals after maintenance onlyDropped one category instead of bothAsk for excluding maintenance and uncategorized and quote remaining average cost per unit
Figure matches June remaining totals after uncategorizedQuoted a different named monthName 1 April through 30 April and exclude maintenance and uncategorized
Figure matches July remaining totals after MaintenanceQuoted a different named monthName 1 April through 30 April and exclude maintenance and uncategorized
Totals stay the same after you name both categoriesFilter needs the exact Cash Flows namesUse maintenance and uncategorized as they appear on Cash Flows for April
Figure matches the unfiltered April total / averageQuoted headline totals, not remaining spendAsk for remaining outflow after excluding maintenance and uncategorized
Figure matches income expected or cash collectedQuoted Finance Overview, not Cash FlowsAsk for Cash Flows remaining outflow
Figure looks like August or this monthTool defaulted to the current monthName April from and to dates
Assistant lists remaining categories or suppliersCounted Cash Flows rowsAsk for remaining totals only and say do not list rows

How do I ask for June Utilities cost map totals?​

Ask Genius or AI Chat — for example “How much did utilities cost for Casa Abel II on the Utilities Cost map from 1 June through 30 June 2026? Quote total cost, absorbed cost, and cost per occupied room-day. Do not quote Operations Cash Flows.”

The assistant should:

  1. Use get-cost-map — never treat Operations Cash Flows outflow (get-cost-summary) as the Cost map, and never treat Finance → Overview income as utility allocation.
  2. Quote total cost, absorbed cost, and cost per occupied room-day for the named property and dates.
  3. Ask the Cost map for the whole portfolio, then name the building you want quoted.

Keep Bills enabled on AI / MCP. Reconcile on Utilities → Cost map for the same dates. For June Cash Flows spend, see FAQ — June operational costs.

AI Assistant — June Utilities Cost map for Casa Abel II (total cost, absorbed cost, and cost per occupied room-day)

Walkthrough: ask for Casa Abel II on the Utilities Cost map from 1 June through 30 June 2026, then read total cost, absorbed cost, and cost per occupied room-day.
SymptomLikely causeFix
Figure matches June Cash Flows outflowQuoted get-cost-summary, not the Cost mapAsk for the Utilities Cost map and quote total cost
Figure matches July Cost map totalsQuoted a different named monthName 1 June through 30 June
Figure matches Finance income or cash collectedQuoted Finance OverviewAsk for utility total cost, absorbed cost, and cost per occupied room-day
Assistant lists supplier bills or Cost map cellsCounted bills or summed the matrixAsk for property totals only

How do Genius and AI Chat date figures and judge better vs worse?​

Ask in natural language — for example “Cash collected this week — name the exact dates counted,” “Free nights rose from July to August — is that better?,” or “Which property is emptiest today?”

Expect the assistant to:

  1. Name concrete dates on every period figure (not only “this week”).
  2. Judge better/worse for the landlord — occupancy up is good; vacancy or free nights up is unsold inventory (opportunity to fill), not an improvement.
  3. Treat equal or ~2% values as a tie — quote both numbers before any planning pick.
  4. Lead with the one caveat that most changes your decision (tie, implausible swing, or truncated coverage).

AI Assistant — cash collected this week with exact dates named

AI Assistant — free nights rising presented as unsold inventory, not an improvement

AI Assistant — near-tie on vacant-every-day units with numbers before the planning pick

Walkthrough: dated cash collected, free-nights polarity, and a near-tie vacancy ranking.
SymptomLikely causeFix
Reply says “this week” with no calendar datesVague period without groundingAsk it to name the exact dates counted and re-check
Free nights up called an “improvement”Polarity flippedAsk again; expect unsold inventory / opportunity to fill
Winner named without the tied valuesNear-tie skippedAsk for both numbers first, then any practical pick

How do Genius and AI Chat split tenant debt?​

Ask in natural language — for example “How much tenant debt do we have? Split canceled bookings vs missing payments on live stays.” The assistant uses get-debt-summary and should return:

  1. Total debt and how many bookings carry it.
  2. Canceled half — amount and booking count (usually a write-off or dispute, not ordinary collections).
  3. Missing payments on live stays — amount and booking count (rent still to collect).

The two halves always add up to the totals. Enable the Analytics tool domain (at least Read-only) on AI / MCP. Chase the live half on Finance → Contract Values (In Debt); do not treat canceled debt as the same workflow as overdue rent on active stays.

AI Assistant — tenant debt split into canceled bookings vs missing payments on live stays

Walkthrough: ask AI Assistant for total tenant debt split into canceled vs live missing payments, then read both halves.
SymptomLikely causeFix
Only a single debt total, no canceled / live splitOlder habit / vague questionAsk explicitly for canceled vs missing payments on live bookings
Assistant cannot answer debt questionsAnalytics tool domain Off, or missing FinanceEnable Analytics on AI / MCP; confirm the role includes Finance
Live debt does not match Contract ValuesFilters / canceled rows mixed into collectionsScope In Debt on Finance → Contract Values to active stays before re-asking

How do Genius and AI Chat quote unpaid deposits on Contract Values?​

Ask in natural language — for example “How much unpaid security deposit money is on the Contract Values deposit card for August 2026? Split in debt versus still scheduled.” The assistant should:

  1. Quote the Deposit card on Finance → Contract Values for that reference month.
  2. Split in debt (already overdue) versus still scheduled (not yet due). The sum is unpaid deposit money.
  3. Name the month it counted.

Do not treat a scaled share of the window-wide paid / in-debt / scheduled mix as the deposit answer — use the Deposit card. This is not the all-time tenant debt audit. Unpaid lines often sit in older months, so “all unpaid deposits” with no month needs a wide window (about the last 12 months). Enable the Payments tool domain (at least Read-only) on AI / MCP. Reconcile on the Deposit card chips for the same month.

AI Assistant — August unpaid security deposits split into in debt versus still scheduled

Walkthrough: ask for unpaid security deposits on the Contract Values deposit card, then read the in-debt versus still-scheduled split.
SymptomLikely causeFix
One blended paid / in-debt / scheduled mixWindow-wide split used instead of the Deposit cardAsk explicitly for the Deposit card split (in debt + still scheduled)
Figure matches all-time tenant debtDebt-audit tool used instead of the month cardName the month and say Contract Values deposit card
Figure is an invoiced in-debt list countInvoiced pill applied instead of the cardAsk for the deposit card split — for the filtered list see In-debt deposit lines already invoiced
Figure is a not-yet-invoiced in-debt list countNot Invoiced pill applied instead of the cardAsk for the deposit card split — for the filtered list see In-debt deposit lines not yet invoiced
Figure is a still-scheduled line countGrey scheduled chip used instead of the card splitAsk for the deposit card split — for the filtered list see Still-scheduled deposit lines
Figure is a partially-paid line countAmber partial chip used instead of the card splitAsk for the deposit card split — for the filtered list see Partially-paid deposit lines
Figure is a paid line countGreen Paid badge used instead of the card splitAsk for the deposit card split — for the filtered list see Paid deposit lines
Assistant cannot answer deposit-card questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote unpaid rent on Contract Values?​

Ask in natural language — for example “How much unpaid rent money is on the Contract Values rent card for August 2026? Split in debt versus still scheduled.” The assistant should:

  1. Quote the Rent card on Finance → Contract Values for that reference month.
  2. Split in debt (already overdue) versus still scheduled (not yet due). The sum is unpaid rent.
  3. Name the month it counted.

Do not treat a scaled share of the window-wide paid / in-debt / scheduled mix as the rent answer — use the Rent card. This is not the Deposit card, and it is not the all-time tenant debt audit. Unpaid lines often sit in older months, so “all unpaid rents” with no month needs a wide window (about the last 12 months). Enable the Payments tool domain (at least Read-only) on AI / MCP. Reconcile on the Rent card chips for the same month.

AI Assistant — August unpaid rent split into in debt versus still scheduled

Walkthrough: ask for unpaid rent on the Contract Values rent card, then read the in-debt versus still-scheduled split.
SymptomLikely causeFix
One blended paid / in-debt / scheduled mixWindow-wide split used instead of the Rent cardAsk explicitly for the Rent card split (in debt + still scheduled)
Figure matches all-time tenant debtDebt-audit tool used instead of the month cardName the month and say Contract Values rent card
Figure matches unpaid depositsDeposit card used instead of rentAsk for the rent card, not the deposit card
Figure matches unpaid admin feesAdmin fee card used instead of rentAsk for the rent card, not the admin fee card
Figure matches unpaid cleaning feesCleaning fee card used instead of rentAsk for the rent card, not the cleaning fee card
Figure matches unpaid othersOthers card used instead of rentAsk for the rent card, not the others card
Figure matches unpaid exit feesExit fee card used instead of rentAsk for the rent card, not the exit fee card
Figure is a small not-invoiced subsetNot Invoiced pill applied instead of the cardAsk for the rent card split — for the filtered list see In-debt rent lines not yet invoiced
Figure is an invoiced in-debt list countInvoiced pill applied instead of the cardAsk for the rent card split — for the filtered list see In-debt rent lines already invoiced
Figure is a paid line countGreen Paid badge used instead of the card splitAsk for the rent card split — for the filtered list see Paid rent lines
Assistant cannot answer rent-card questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote unpaid admin fees on Contract Values?​

Ask in natural language — for example “How much unpaid admin fee money is on the Contract Values admin fee card for August 2026? Split in debt versus still scheduled.” The assistant should:

  1. Quote the Admin fee card on Finance → Contract Values for that reference month.
  2. Split in debt (already overdue) versus still scheduled (not yet due). The sum is unpaid admin-fee money.
  3. Name the month it counted.

Do not treat a scaled share of the window-wide paid / in-debt / scheduled mix as the admin-fee answer — use the Admin fee card. This is not the Rent card, not the Deposit card, not the Cleaning fee card, not the Others card, and it is not the all-time tenant debt audit. Unpaid lines often sit in older months, so “all unpaid admin fees” with no month needs a wide window (about the last 12 months). Enable the Payments tool domain (at least Read-only) on AI / MCP. Reconcile on the Admin fee card chips for the same month.

AI Assistant — August unpaid admin fees split into in debt versus still scheduled

Walkthrough: ask for unpaid admin fees on the Contract Values admin fee card, then read the in-debt versus still-scheduled split.
SymptomLikely causeFix
One blended paid / in-debt / scheduled mixWindow-wide split used instead of the Admin fee cardAsk explicitly for the Admin fee card split (in debt + still scheduled)
Figure matches all-time tenant debtDebt-audit tool used instead of the month cardName the month and say Contract Values admin fee card
Figure matches unpaid rentRent card used instead of admin feesAsk for the admin fee card, not the rent card
Figure matches unpaid depositsDeposit card used instead of admin feesAsk for the admin fee card, not the deposit card
Figure matches unpaid cleaning feesCleaning fee card used instead of admin feesAsk for the admin fee card, not the cleaning fee card
Figure matches unpaid othersOthers card used instead of admin feesAsk for the admin fee card, not the others card
Figure matches unpaid exit feesExit fee card used instead of admin feesAsk for the admin fee card, not the exit fee card
Figure is a not-invoiced line listNot Invoiced pill applied instead of the cardAsk for the admin fee card split — for the filtered list see In-debt admin fee lines not yet invoiced
Figure is an invoiced in-debt list countInvoiced pill applied instead of the cardAsk for the admin fee card split — for the filtered list see In-debt admin fee lines already invoiced
Figure is a still-scheduled line countGrey scheduled chip used instead of the card splitAsk for the admin fee card split — for the filtered list see Still-scheduled admin fee lines
Figure is a partially-paid line countAmber partial chip used instead of the card splitAsk for the admin fee card split — for the filtered list see Partially-paid admin fee lines
Figure is a paid line countGreen Paid badge used instead of the card splitAsk for the admin fee card split — for the filtered list see Paid admin fee lines
Assistant cannot answer admin-fee-card questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote unpaid cleaning fees on Contract Values?​

Ask in natural language — for example “How much unpaid cleaning fee money is on the Contract Values cleaning fee card for August 2026? Split in debt versus still scheduled.” The assistant should:

  1. Quote the Cleaning fee card on Finance → Contract Values for that reference month.
  2. Split in debt (already overdue) versus still scheduled (not yet due). The sum is unpaid cleaning-fee money.
  3. Name the month it counted.

Do not treat a scaled share of the window-wide paid / in-debt / scheduled mix as the cleaning-fee answer — use the Cleaning fee card. This is not the Rent card, not the Deposit card, not the Admin fee card, not the Others card, and it is not the all-time tenant debt audit. Unpaid lines often sit in older months, so “all unpaid cleaning fees” with no month needs a wide window (about the last 12 months). Enable the Payments tool domain (at least Read-only) on AI / MCP. Reconcile on the Cleaning fee card chips for the same month.

AI Assistant — August unpaid cleaning fees split into in debt versus still scheduled

Walkthrough: ask for unpaid cleaning fees on the Contract Values cleaning fee card, then read the in-debt versus still-scheduled split.
SymptomLikely causeFix
One blended paid / in-debt / scheduled mixWindow-wide split used instead of the Cleaning fee cardAsk explicitly for the Cleaning fee card split (in debt + still scheduled)
Figure matches all-time tenant debtDebt-audit tool used instead of the month cardName the month and say Contract Values cleaning fee card
Figure matches unpaid rentRent card used instead of cleaning feesAsk for the cleaning fee card, not the rent card
Figure matches unpaid depositsDeposit card used instead of cleaning feesAsk for the cleaning fee card, not the deposit card
Figure matches unpaid admin feesAdmin fee card used instead of cleaning feesAsk for the cleaning fee card, not the admin fee card
Figure matches unpaid othersOthers card used instead of cleaning feesAsk for the cleaning fee card, not the others card
Figure matches unpaid exit feesExit fee card used instead of cleaning feesAsk for the cleaning fee card, not the exit fee card
Figure is a not-invoiced line listNot Invoiced pill applied instead of the cardAsk for the cleaning fee card split — for the filtered list see In-debt cleaning fee lines not yet invoiced
Figure is an invoiced in-debt list countInvoiced pill applied instead of the cardAsk for the cleaning fee card split — for the filtered list see In-debt cleaning fee lines already invoiced
Figure is a still-scheduled line countGrey scheduled chip used instead of the card splitAsk for the cleaning fee card split — for the filtered list see Still-scheduled cleaning fee lines
Figure is a paid line countGreen Paid badge used instead of the card splitAsk for the cleaning fee card split — for the filtered list see Paid cleaning fee lines
Assistant cannot answer cleaning-fee-card questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote unpaid others on Contract Values?​

Ask in natural language — for example “How much unpaid others money is on the Contract Values others card for August 2026? Split in debt versus still scheduled.” The assistant should:

  1. Quote the Others card on Finance → Contract Values for that reference month.
  2. Split in debt (already overdue) versus still scheduled (not yet due). The sum is unpaid miscellaneous-charge money (extra charges, marketplace lines, and similar Others items).
  3. Name the month it counted.

Do not treat a scaled share of the window-wide paid / in-debt / scheduled mix as the others answer — use the Others card. This is not the Rent card, not the Deposit card, not the Admin fee card, not the Cleaning fee card, not the Exit fee card, and it is not the all-time tenant debt audit. Unpaid lines often sit in older months, so “all unpaid others” with no month needs a wide window (about the last 12 months). Enable the Payments tool domain (at least Read-only) on AI / MCP. Reconcile on the Others card chips for the same month.

AI Assistant — August unpaid others split into in debt versus still scheduled

Walkthrough: ask for unpaid others on the Contract Values others card, then read the in-debt versus still-scheduled split.
SymptomLikely causeFix
One blended paid / in-debt / scheduled mixWindow-wide split used instead of the Others cardAsk explicitly for the Others card split (in debt + still scheduled)
Figure matches all-time tenant debtDebt-audit tool used instead of the month cardName the month and say Contract Values others card
Figure matches unpaid rentRent card used instead of othersAsk for the others card, not the rent card
Figure matches unpaid depositsDeposit card used instead of othersAsk for the others card, not the deposit card
Figure matches unpaid admin feesAdmin fee card used instead of othersAsk for the others card, not the admin fee card
Figure matches unpaid cleaning feesCleaning fee card used instead of othersAsk for the others card, not the cleaning fee card
Figure matches unpaid exit feesExit fee card used instead of othersAsk for the others card, not the exit fee card
Figure is a not-invoiced line listNot Invoiced pill applied instead of the cardAsk for the others card split — for the filtered list see In-debt others lines not yet invoiced
Figure is a paid line countGreen Paid badge used instead of the card splitAsk for the others card split — for the filtered list see Paid others lines
Assistant cannot answer others-card questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote unpaid exit fees on Contract Values?​

Ask in natural language — for example “How much unpaid exit fee money is on the Contract Values exit fee card for October 2026? Split in debt versus still scheduled.” The assistant should:

  1. Quote the Exit fee card on Finance → Contract Values for that reference month.
  2. Split in debt (already overdue) versus still scheduled (not yet due). The sum is unpaid exit-fee money.
  3. Name the month it counted.

Do not treat a scaled share of the window-wide paid / in-debt / scheduled mix as the exit-fee answer — use the Exit fee card. This is not the Rent card, not the Deposit card, not the Admin fee card, not the Cleaning fee card, not the Others card, and it is not the all-time tenant debt audit. Exit-fee lines often sit on check-out months rather than the current rent month, so “all unpaid exit fees” with no month needs a wide window (about the last 12 months, including upcoming check-outs). Enable the Payments tool domain (at least Read-only) on AI / MCP. Reconcile on the Exit fee card chips for the same month.

AI Assistant — October unpaid exit fees split into in debt versus still scheduled

Walkthrough: ask for unpaid exit fees on the Contract Values exit fee card, then read the in-debt versus still-scheduled split.
SymptomLikely causeFix
One blended paid / in-debt / scheduled mixWindow-wide split used instead of the Exit fee cardAsk explicitly for the Exit fee card split (in debt + still scheduled)
Figure matches all-time tenant debtDebt-audit tool used instead of the month cardName the month and say Contract Values exit fee card
Figure matches unpaid rentRent card used instead of exit feesAsk for the exit fee card, not the rent card
Figure matches unpaid depositsDeposit card used instead of exit feesAsk for the exit fee card, not the deposit card
Figure matches unpaid admin feesAdmin fee card used instead of exit feesAsk for the exit fee card, not the admin fee card
Figure matches unpaid cleaning feesCleaning fee card used instead of exit feesAsk for the exit fee card, not the cleaning fee card
Figure matches unpaid othersOthers card used instead of exit feesAsk for the exit fee card, not the others card
Figure is an invoiced in-debt list countInvoiced pill applied instead of the cardAsk for the exit fee card split — for the filtered list see In-debt exit fee lines already invoiced
Figure is a partially-paid line countAmber partial chip used instead of the card splitAsk for the exit fee card split — for the filtered list see Partially-paid exit fee lines
Figure is a paid line countGreen Paid badge used instead of the card splitAsk for the exit fee card split — for the filtered list see Paid exit fee lines
Zero exit fees in the current rent monthExit fees billed on check-out monthsName a check-out month (or a wide window) — the current rent month can be empty
Assistant cannot answer exit-fee-card questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote in-debt rent lines that are not yet invoiced?​

Ask in natural language — for example “How many August 2026 rent lines on Contract Values are already in debt and not yet invoiced? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Rent type, in debt status, and the Not Invoiced invoice pill together.
  3. Report the row count and the total scheduled amount of those lines, and name the month.

Do not treat the Rent card’s full in debt chip as the answer — that chip still includes overdue rent that already has an invoice. This is also not the unpaid-rent in debt + still scheduled card split, and it is not the all-time tenant debt audit. Enable the Payments tool domain (at least Read-only) on AI / MCP. Reconcile on Finance → Contract Values with the Rent card, the in debt chip, and Not Invoiced.

AI Assistant — August in-debt rent lines that are not yet invoiced, with filtered row count and scheduled amount

Walkthrough: ask for August rent lines that are in debt and not yet invoiced, then read the filtered row count and scheduled amount.
SymptomLikely causeFix
Figure matches the Rent card in debt chipInvoice pill omittedAsk for in debt AND not yet invoiced rent lines
Figure matches the already-invoiced listInvoiced pill used instead of Not InvoicedAsk for not yet invoiced — In-debt rent lines already invoiced
Figure matches unpaid rent in debt + scheduledRent card split used instead of the filtered listAsk for the Not Invoiced list, not the rent card split
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values rent lines
Assistant lists tenant names or unit codesQuestion did not ask for count and amount onlyRe-ask for the row count and scheduled amount without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote in-debt rent lines that are already invoiced?​

Ask in natural language — for example “How many August 2026 rent lines on Contract Values are already in debt and already invoiced? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Rent type, in debt status, and the Invoiced invoice pill together.
  3. Report the row count and name the month.

Do not treat the Rent card’s full in debt chip as the answer — that chip still includes overdue rent that is not yet invoiced. This is also not the unpaid-rent in debt + still scheduled card split, and it is not the all-time tenant debt audit. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat sum of a multi-page list can differ from the tab. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — August in-debt rent lines that are already invoiced, with filtered row count

Walkthrough: ask for August rent lines that are in debt and already invoiced, then read the filtered row count.
SymptomLikely causeFix
Figure matches the Rent card in debt chipInvoice pill omittedAsk for in debt AND already invoiced rent lines
Figure matches the not-yet-invoiced listNot Invoiced pill used instead of InvoicedAsk for already invoiced — In-debt rent lines not yet invoiced
Figure matches unpaid rent in debt + scheduledRent card split used instead of the filtered listAsk for the Invoiced list, not the rent card split
Chat euro total differs from the Contract Values tabMulti-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values rent lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote still-scheduled rent lines?​

Ask in natural language — for example “How many August 2026 rent lines on Contract Values are still scheduled (not yet due)? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Rent type and still scheduled status (the grey scheduled chip).
  3. Report the row count and name the month.

Do not treat the unpaid-rent in debt + still scheduled money split on the Rent card as the answer — that split is a pair of amounts, not a line count. This is also not the in-debt line lists, and it is not the all-time tenant debt audit. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can follow the Rent card’s scheduled chip rather than the sum of the filtered rows. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — August rent lines that are still scheduled (not yet due), with filtered row count

Walkthrough: ask for August rent lines that are still scheduled (not yet due), then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countRent card unpaid split used instead of the filtered listAsk for still-scheduled rent lines, not the rent card split
Figure matches in-debt rent linesin debt chip used instead of scheduledAsk for still scheduled (not yet due) — In-debt rent lines not yet invoiced
Figure is a paid line countGreen Paid badge used instead of scheduledAsk for still scheduled (not yet due) — Paid rent lines
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values rent lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote partially-paid rent lines?​

Ask in natural language — for example “How many October 2026 rent lines on Contract Values are partially paid? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Rent type and partially paid status (the amber partial chip).
  3. Report the row count and name the month.

Do not treat the unpaid-rent in debt + still scheduled money split on the Rent card as the answer — that split is a pair of amounts, not a line count. This is also not the grey scheduled chip, not the window-wide partially paid mix across every charge type, and not the all-time tenant debt audit. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can differ from the sum of the filtered rows. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — October rent lines that are partially paid, with filtered row count

Walkthrough: ask for October rent lines that are partially paid, then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countRent card unpaid split used instead of the filtered listAsk for partially paid rent lines, not the rent card split
Figure matches still-scheduled rent linesGrey scheduled chip used instead of amber partialAsk for partially paid — Still-scheduled rent lines
Figure matches every charge type, not rentWindow-wide partially paid mix used instead of RentAsk for rent lines that are partially paid
Figure matches partially-paid admin fee linesAdmin fee type used instead of RentAsk for rent lines — Partially-paid admin fee lines
Figure matches partially-paid deposit linesDeposit type used instead of RentAsk for rent lines — Partially-paid deposit lines
Figure matches partially-paid exit fee linesExit fee type used instead of RentAsk for rent lines — Partially-paid exit fee lines
Figure is a paid line countGreen Paid badge used instead of amber partialAsk for partially paid, not paid — Paid rent lines
Chat euro total differs from the Contract Values tabMulti-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values rent lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote paid rent lines?​

Ask in natural language — for example “How many July 2026 rent lines on Contract Values are paid (fully paid, not partial)? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Rent type and paid status (the green Paid row badge).
  3. Report the row count and name the month.

Do not treat the unpaid-rent in debt + still scheduled money split on the Rent card as the answer — that split is a pair of amounts, not a line count. This is also not the Rent card’s € paid chip (a money figure, not a line count), not the amber partial chip, not the grey scheduled chip, not the in-debt rent line lists, not the paid cleaning fee, admin fee, others, deposit, or exit fee lists, not the window-wide paid mix across every charge type, and not the all-time tenant debt audit. Name the month: some months have more paid rent lines than the current rent month. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can follow a different total than the filtered-row sum or a card chip (zero-value paid rows still count). Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — July rent lines that are paid, with filtered row count

Walkthrough: ask for July rent lines that are paid, then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countRent card unpaid split used instead of the filtered listAsk for paid rent lines, not the rent card split
Figure matches the Rent card € paid chipCard money chip used instead of the Paid listAsk for the row count of paid rent lines, then reconcile euros with Export
Figure matches in-debt rent linesin debt chip used instead of PaidAsk for paid (fully paid, not partial) — In-debt rent lines not yet invoiced
Figure matches still-scheduled rent linesGrey scheduled chip used instead of PaidAsk for paid rent lines, not still scheduled — Still-scheduled rent lines
Figure matches partially-paid rent linesAmber partial chip used instead of PaidAsk for paid rent lines, not partially paid — Partially-paid rent lines
Figure matches paid cleaning fee linesCleaning fee type used instead of RentAsk for rent lines — Paid cleaning fee lines
Figure matches paid others linesOthers type used instead of RentAsk for rent lines — Paid others lines
Figure matches paid deposit linesDeposit type used instead of RentAsk for rent lines — Paid deposit lines
Figure matches paid exit fee linesExit fee type used instead of RentAsk for rent lines — Paid exit fee lines
Figure matches paid admin fee linesAdmin fee type used instead of RentAsk for rent lines — Paid admin fee lines
Figure matches every charge type, not rentWindow-wide paid mix used instead of RentAsk for rent lines that are paid
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values rent lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote in-debt admin fee lines that are not yet invoiced?​

Ask in natural language — for example “How many August 2026 admin fee lines on Contract Values are already in debt and not yet invoiced? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Admin fee type, in debt status, and the Not Invoiced invoice pill together.
  3. Report the row count and name the month.

Do not treat the unpaid-admin-fee in debt + still scheduled card split as the answer — that split still includes scheduled lines that are not yet due. This is also not the Rent Not Invoiced list, and it is not the all-time tenant debt audit. If no overdue admin fees are invoiced yet, the filtered row count can match the Admin fee card’s in debt chip — still apply Not Invoiced so the question stays correct after invoices are issued. In months where some overdue admin fees already have an invoice, the Invoiced list is smaller than that card’s in debt chip — see In-debt admin fee lines already invoiced. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat sum can differ from the tab. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — August in-debt admin fee lines that are not yet invoiced, with filtered row count

Walkthrough: ask for August admin fee lines that are in debt and not yet invoiced, then read the filtered row count.
SymptomLikely causeFix
Figure matches unpaid admin fees in debt + scheduledAdmin fee card split used instead of the filtered listAsk for the Not Invoiced list, not the admin fee card split
Figure matches still-scheduled admin fee linesGrey scheduled chip used instead of in debtAsk for in debt AND not yet invoiced — Still-scheduled admin fee lines
Figure matches the Admin fee card in debt chip without Not InvoicedInvoice pill omittedAsk for in debt AND not yet invoiced admin fee lines
Figure matches the rent not-yet-invoiced listRent type used instead of admin feesAsk for admin fee lines — In-debt rent lines not yet invoiced
Figure matches the already-invoiced listInvoiced pill used instead of Not InvoicedAsk for not yet invoiced — In-debt admin fee lines already invoiced
Chat euro total differs from the Contract Values tabList summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values admin fee lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote in-debt admin fee lines that are already invoiced?​

Ask in natural language — for example “How many July 2026 admin fee lines on Contract Values are already in debt and already invoiced? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Admin fee type, in debt status, and the Invoiced invoice pill together.
  3. Report the row count and name the month.

Do not treat the Admin fee card’s full in debt chip as the answer — that chip still includes overdue admin fees that are not yet invoiced. This is also not the unpaid-admin-fee in debt + still scheduled card split, and it is not the all-time tenant debt audit. Name the month you care about — some months have invoiced overdue admin fees while the current rent month does not. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat sum can differ from the tab. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — July in-debt admin fee lines that are already invoiced, with filtered row count

Walkthrough: ask for July admin fee lines that are in debt and already invoiced, then read the filtered row count.
SymptomLikely causeFix
Figure matches the Admin fee card in debt chipInvoice pill omittedAsk for in debt AND already invoiced admin fee lines
Figure matches the not-yet-invoiced listNot Invoiced pill used instead of InvoicedAsk for already invoiced — In-debt admin fee lines not yet invoiced
Figure matches unpaid admin fees in debt + scheduledAdmin fee card split used instead of the filtered listAsk for the Invoiced list, not the admin fee card split
Figure matches still-scheduled admin fee linesGrey scheduled chip used instead of in debtAsk for in debt AND already invoiced — Still-scheduled admin fee lines
Figure matches partially-paid admin fee linesAmber partial chip used instead of in debtAsk for in debt AND already invoiced — Partially-paid admin fee lines
Figure matches the rent or cleaning-fee invoiced listAnother payment type used instead of admin feesAsk for admin fee lines — In-debt rent lines already invoiced, In-debt cleaning fee lines already invoiced
Chat euro total differs from the Contract Values tabList summed in chatReconcile the amount with Export on Finance → Contract Values
Zero invoiced admin fees in the current rent monthInvoices issued on older monthsName an older month (or a wide window)
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values admin fee lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote still-scheduled admin fee lines?​

Ask in natural language — for example “How many August 2026 admin fee lines on Contract Values are still scheduled (not yet due)? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Admin fee type and still scheduled status (the grey scheduled chip).
  3. Report the row count and name the month.

Do not treat the unpaid-admin-fee in debt + still scheduled money split on the Admin fee card as the answer — that split is a pair of amounts, not a line count. This is also not the in-debt admin-fee line lists, not the partially paid admin-fee list, not the still-scheduled rent or cleaning fee lists, and it is not the all-time tenant debt audit. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — August admin fee lines that are still scheduled (not yet due), with filtered row count

Walkthrough: ask for August admin fee lines that are still scheduled (not yet due), then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countAdmin fee card unpaid split used instead of the filtered listAsk for still-scheduled admin fee lines, not the admin fee card split
Figure matches in-debt admin fee linesin debt chip used instead of scheduledAsk for still scheduled (not yet due) — In-debt admin fee lines not yet invoiced
Figure matches still-scheduled rent linesRent type used instead of Admin feeAsk for admin fee lines — Still-scheduled rent lines
Figure matches still-scheduled deposit linesDeposit type used instead of Admin feeAsk for admin fee lines — Still-scheduled deposit lines
Figure matches still-scheduled cleaning fee linesCleaning fee type used instead of Admin feeAsk for admin fee lines — Still-scheduled cleaning fee lines
Figure matches partially-paid admin fee linesAmber partial chip used instead of grey scheduledAsk for still scheduled (not yet due) — Partially-paid admin fee lines
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values admin fee lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote partially-paid admin fee lines?​

Ask in natural language — for example “How many July 2026 admin fee lines on Contract Values are partially paid? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Admin fee type and partially paid status (the amber partial chip).
  3. Report the row count and name the month.

Do not treat the unpaid-admin-fee in debt + still scheduled money split on the Admin fee card as the answer — that split is a pair of amounts, not a line count. This is also not the grey scheduled chip, not the in-debt admin-fee line lists, not the window-wide partially paid mix across every charge type, not the partially paid rent list, and not the all-time tenant debt audit. Name the month — some months have partial admin fees while the current rent month does not. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can follow the sum of the filtered rows or a card chip. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — July admin fee lines that are partially paid, with filtered row count

Walkthrough: ask for July admin fee lines that are partially paid, then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countAdmin fee card unpaid split used instead of the filtered listAsk for partially paid admin fee lines, not the admin fee card split
Figure matches still-scheduled admin fee linesGrey scheduled chip used instead of amber partialAsk for partially paid — Still-scheduled admin fee lines
Figure matches in-debt admin fee linesin debt chip used instead of partialAsk for partially paid — In-debt admin fee lines already invoiced
Figure matches partially-paid rent linesRent type used instead of Admin feeAsk for admin fee lines — Partially-paid rent lines
Figure matches partially-paid deposit linesDeposit type used instead of Admin feeAsk for admin fee lines — Partially-paid deposit lines
Figure matches partially-paid exit fee linesExit fee type used instead of Admin feeAsk for admin fee lines — Partially-paid exit fee lines
Figure matches every charge type, not admin feesWindow-wide partially paid mix used instead of Admin feeAsk for admin fee lines that are partially paid
Figure is a paid line countGreen Paid badge used instead of amber partialAsk for partially paid, not paid — Paid admin fee lines
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values admin fee lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote paid admin fee lines?​

Ask in natural language — for example “How many June 2026 admin fee lines on Contract Values are paid (fully paid, not partial)? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Admin fee type and paid status (the green Paid row badge).
  3. Report the row count and name the month.

Do not treat the unpaid-admin-fee in debt + still scheduled money split on the Admin fee card as the answer — that split is a pair of amounts, not a line count. This is also not the Admin fee card’s € paid chip (a money figure, not a line count), not the amber partial chip, not the grey scheduled chip, not the in-debt admin-fee line lists, not the paid rent, cleaning fee, others, deposit, or exit fee lists, not the window-wide paid mix across every charge type, and not the all-time tenant debt audit. Name the month — some months have paid admin fees while the current rent month does not. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can follow a different total than the filtered-row sum or a card chip. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — June admin fee lines that are paid, with filtered row count

Walkthrough: ask for June admin fee lines that are paid, then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countAdmin fee card unpaid split used instead of the filtered listAsk for paid admin fee lines, not the admin fee card split
Figure matches the Admin fee card € paid chipCard money chip used instead of the Paid listAsk for the row count of paid admin fee lines, then reconcile euros with Export
Figure matches in-debt admin fee linesin debt chip used instead of PaidAsk for paid (fully paid, not partial) — In-debt admin fee lines already invoiced
Figure matches still-scheduled admin fee linesGrey scheduled chip used instead of PaidAsk for paid admin fee lines, not still scheduled — Still-scheduled admin fee lines
Figure matches partially-paid admin fee linesAmber partial chip used instead of PaidAsk for paid admin fee lines, not partially paid — Partially-paid admin fee lines
Figure matches paid rent linesRent type used instead of Admin feeAsk for admin fee lines — Paid rent lines
Figure matches paid cleaning fee linesCleaning fee type used instead of Admin feeAsk for admin fee lines — Paid cleaning fee lines
Figure matches paid others linesOthers type used instead of Admin feeAsk for admin fee lines — Paid others lines
Figure matches paid deposit linesDeposit type used instead of Admin feeAsk for admin fee lines — Paid deposit lines
Figure matches paid exit fee linesExit fee type used instead of Admin feeAsk for admin fee lines — Paid exit fee lines
Figure matches every charge type, not admin feesWindow-wide paid mix used instead of Admin feeAsk for admin fee lines that are paid
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values admin fee lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote in-debt cleaning fee lines that are not yet invoiced?​

Ask in natural language — for example “How many August 2026 cleaning fee lines on Contract Values are already in debt and not yet invoiced? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Cleaning fee type, in debt status, and the Not Invoiced invoice pill together.
  3. Report the row count and name the month.

Do not treat the unpaid-cleaning-fee in debt + still scheduled card split as the answer — that split still includes scheduled lines that are not yet due. This is also not the Cleaning fee card’s full in debt chip (which still includes overdue lines that already have an invoice), not the Admin fee Not Invoiced list, not the Rent Not Invoiced list, and it is not the all-time tenant debt audit. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat sum can differ from the tab. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — August in-debt cleaning fee lines that are not yet invoiced, with filtered row count

Walkthrough: ask for August cleaning fee lines that are in debt and not yet invoiced, then read the filtered row count.
SymptomLikely causeFix
Figure matches unpaid cleaning fees in debt + scheduledCleaning fee card split used instead of the filtered listAsk for the Not Invoiced list, not the cleaning fee card split
Figure matches the Cleaning fee card in debt chip without Not InvoicedInvoice pill omittedAsk for in debt AND not yet invoiced cleaning fee lines
Figure matches the admin fee not-yet-invoiced listAdmin fee type used instead of cleaning feesAsk for cleaning fee lines — In-debt admin fee lines not yet invoiced
Figure matches the rent not-yet-invoiced listRent type used instead of cleaning feesAsk for cleaning fee lines — In-debt rent lines not yet invoiced
Figure matches the already-invoiced listInvoiced pill used instead of Not InvoicedAsk for not yet invoiced — In-debt cleaning fee lines already invoiced
Figure matches still-scheduled cleaning fee linesGrey scheduled chip used instead of in debtAsk for in debt AND not yet invoiced — Still-scheduled cleaning fee lines
Chat euro total differs from the Contract Values tabList summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values cleaning fee lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote in-debt cleaning fee lines that are already invoiced?​

Ask in natural language — for example “How many August 2026 cleaning fee lines on Contract Values are already in debt and already invoiced? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Cleaning fee type, in debt status, and the Invoiced invoice pill together.
  3. Report the row count and name the month.

Do not treat the Cleaning fee card’s full in debt chip as the answer — that chip still includes overdue cleaning fees that are not yet invoiced. This is also not the unpaid-cleaning-fee in debt + still scheduled card split, and it is not the all-time tenant debt audit. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat sum can differ from the tab. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — August in-debt cleaning fee lines that are already invoiced, with filtered row count

Walkthrough: ask for August cleaning fee lines that are in debt and already invoiced, then read the filtered row count.
SymptomLikely causeFix
Figure matches the Cleaning fee card in debt chipInvoice pill omittedAsk for in debt AND already invoiced cleaning fee lines
Figure matches the not-yet-invoiced listNot Invoiced pill used instead of InvoicedAsk for already invoiced — In-debt cleaning fee lines not yet invoiced
Figure matches the admin-fee invoiced listAdmin fee type used instead of cleaning feesAsk for cleaning fee lines — In-debt admin fee lines already invoiced
Figure matches unpaid cleaning fees in debt + scheduledCleaning fee card split used instead of the filtered listAsk for the Invoiced list, not the cleaning fee card split
Figure matches still-scheduled cleaning fee linesGrey scheduled chip used instead of in debtAsk for in debt AND already invoiced — Still-scheduled cleaning fee lines
Chat euro total differs from the Contract Values tabList summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values cleaning fee lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote still-scheduled cleaning fee lines?​

Ask in natural language — for example “How many August 2026 cleaning fee lines on Contract Values are still scheduled (not yet due)? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Cleaning fee type and still scheduled status (the grey scheduled chip).
  3. Report the row count and name the month.

Do not treat the unpaid-cleaning-fee in debt + still scheduled money split on the Cleaning fee card as the answer — that split is a pair of amounts, not a line count. This is also not the in-debt cleaning-fee line lists, not the still-scheduled rent, admin fee, or deposit lists, and it is not the all-time tenant debt audit. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can follow the card chip rather than the sum of the filtered rows. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — August cleaning fee lines that are still scheduled (not yet due), with filtered row count

Walkthrough: ask for August cleaning fee lines that are still scheduled (not yet due), then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countCleaning fee card unpaid split used instead of the filtered listAsk for still-scheduled cleaning fee lines, not the cleaning fee card split
Figure matches in-debt cleaning fee linesin debt chip used instead of scheduledAsk for still scheduled (not yet due) — In-debt cleaning fee lines not yet invoiced
Figure matches still-scheduled rent linesRent type used instead of Cleaning feeAsk for cleaning fee lines — Still-scheduled rent lines
Figure matches still-scheduled admin fee linesAdmin fee type used instead of Cleaning feeAsk for cleaning fee lines — Still-scheduled admin fee lines
Figure matches still-scheduled deposit linesDeposit type used instead of Cleaning feeAsk for cleaning fee lines — Still-scheduled deposit lines
Figure is a paid line countGreen Paid badge used instead of scheduledAsk for still scheduled (not yet due) — Paid cleaning fee lines
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values cleaning fee lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote paid cleaning fee lines?​

Ask in natural language — for example “How many July 2026 cleaning fee lines on Contract Values are paid (fully paid, not partial)? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Cleaning fee type and paid status (the green Paid row badge).
  3. Report the row count and name the month.

Do not treat the unpaid-cleaning-fee in debt + still scheduled money split on the Cleaning fee card as the answer — that split is a pair of amounts, not a line count. This is also not the Cleaning fee card’s € paid chip (a money figure, not a line count), not the amber partial chip, not the grey scheduled chip, not the in-debt cleaning-fee line lists, not the paid rent, admin fee, others, deposit, or exit fee lists, not the window-wide paid mix across every charge type, and not the all-time tenant debt audit. Name the month: some months have paid cleaning fees while the current rent month does not. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can follow a different total than the filtered-row sum or a card chip (zero-value paid rows still count). Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — July cleaning fee lines that are paid, with filtered row count

Walkthrough: ask for July cleaning fee lines that are paid, then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countCleaning fee card unpaid split used instead of the filtered listAsk for paid cleaning fee lines, not the cleaning fee card split
Figure matches the Cleaning fee card € paid chipCard money chip used instead of the Paid listAsk for the row count of paid cleaning fee lines, then reconcile euros with Export
Figure matches in-debt cleaning fee linesin debt chip used instead of PaidAsk for paid (fully paid, not partial) — In-debt cleaning fee lines not yet invoiced
Figure matches still-scheduled cleaning fee linesGrey scheduled chip used instead of PaidAsk for paid cleaning fee lines, not still scheduled — Still-scheduled cleaning fee lines
Figure matches paid others linesOthers type used instead of Cleaning feeAsk for cleaning fee lines — Paid others lines
Figure matches paid deposit linesDeposit type used instead of Cleaning feeAsk for cleaning fee lines — Paid deposit lines
Figure matches paid rent linesRent type used instead of Cleaning feeAsk for cleaning fee lines — Paid rent lines
Figure matches paid admin fee linesAdmin fee type used instead of Cleaning feeAsk for cleaning fee lines — Paid admin fee lines
Figure matches paid exit fee linesExit fee type used instead of Cleaning feeAsk for cleaning fee lines — Paid exit fee lines
Figure matches every charge type, not cleaning feesWindow-wide paid mix used instead of Cleaning feeAsk for cleaning fee lines that are paid
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values cleaning fee lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote in-debt others lines that are not yet invoiced?​

Ask in natural language — for example “How many August 2026 others lines on Contract Values are already in debt and not yet invoiced? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Others type, in debt status, and the Not Invoiced invoice pill together.
  3. Report the row count and name the month.

Do not treat the unpaid-others in debt + still scheduled card split as the answer — that split still includes scheduled lines that are not yet due. If no overdue others are invoiced yet, this count can match the Others card’s in debt chip — still apply Not Invoiced so the question stays correct after invoices are issued. This is also not the Rent, Admin fee, or Cleaning fee Not Invoiced lists, and it is not the all-time tenant debt audit. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat sum of a multi-page list can differ from the tab. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — August in-debt others lines that are not yet invoiced, with filtered row count

Walkthrough: ask for August others lines that are in debt and not yet invoiced, then read the filtered row count.
SymptomLikely causeFix
Figure matches unpaid others in debt + scheduledOthers card split used instead of the filtered listAsk for the Not Invoiced list, not the others card split
Figure matches the Others card in debt chip without Not InvoicedInvoice pill omittedAsk for in debt AND not yet invoiced others lines
Figure matches the cleaning fee not-yet-invoiced listCleaning fee type used instead of othersAsk for others lines — In-debt cleaning fee lines not yet invoiced
Figure matches the admin fee not-yet-invoiced listAdmin fee type used instead of othersAsk for others lines — In-debt admin fee lines not yet invoiced
Figure matches the rent not-yet-invoiced listRent type used instead of othersAsk for others lines — In-debt rent lines not yet invoiced
Chat euro total differs from the Contract Values tabList summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values others lines
Figure is a paid line countGreen Paid badge used instead of in debtAsk for in debt AND not yet invoiced — Paid others lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote paid others lines?​

Ask in natural language — for example “How many July 2026 others lines on Contract Values are paid (fully paid, not partial)? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Others type and paid status (the green Paid row badge).
  3. Report the row count and name the month.

Do not treat the unpaid-others in debt + still scheduled money split on the Others card as the answer — that split is a pair of amounts, not a line count. This is also not the Others card’s € paid chip (a money figure, not a line count), not the amber partial chip, not the grey scheduled chip, not the in-debt others line list, not the paid rent, admin fee, cleaning fee, deposit, or exit fee lists, not the window-wide paid mix across every charge type, and not the all-time tenant debt audit. Name the month: some months have paid others while the current rent month does not. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can follow a card chip, or the filtered row-count call may omit a server total. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — July others lines that are paid, with filtered row count

Walkthrough: ask for July others lines that are paid, then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countOthers card unpaid split used instead of the filtered listAsk for paid others lines, not the others card split
Figure matches the Others card € paid chipCard money chip used instead of the Paid listAsk for the row count of paid others lines, then reconcile euros with Export
Figure matches in-debt others linesin debt chip used instead of PaidAsk for paid (fully paid, not partial) — In-debt others lines not yet invoiced
Figure matches partially-paid rent or fee linesAmber partial chip used instead of PaidAsk for paid others lines, not partially paid — Partially-paid rent lines
Figure matches paid deposit linesDeposit type used instead of OthersAsk for others lines — Paid deposit lines
Figure matches paid cleaning fee linesCleaning fee type used instead of OthersAsk for others lines — Paid cleaning fee lines
Figure matches paid rent linesRent type used instead of OthersAsk for others lines — Paid rent lines
Figure matches paid admin fee linesAdmin fee type used instead of OthersAsk for others lines — Paid admin fee lines
Figure matches paid exit fee linesExit fee type used instead of OthersAsk for others lines — Paid exit fee lines
Figure matches every charge type, not othersWindow-wide paid mix used instead of OthersAsk for others lines that are paid
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values others lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote in-debt deposit lines that are not yet invoiced?​

Ask in natural language — for example “How many August 2026 deposit lines on Contract Values are already in debt and not yet invoiced? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Deposit type, in debt status, and the Not Invoiced invoice pill together.
  3. Report the row count and name the month.

Do not treat the Deposit card’s full in debt chip as the answer — that chip still includes overdue deposits that already have an invoice. This is also not the unpaid-deposits in debt + still scheduled card split, and it is not the all-time tenant debt audit. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat sum can differ from the tab. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — August in-debt deposit lines that are not yet invoiced, with filtered row count

Walkthrough: ask for August deposit lines that are in debt and not yet invoiced, then read the filtered row count.
SymptomLikely causeFix
Figure matches the Deposit card in debt chipInvoice pill omittedAsk for in debt AND not yet invoiced deposit lines
Figure matches unpaid deposits in debt + scheduledDeposit card split used instead of the filtered listAsk for the Not Invoiced list, not the deposit card split
Figure matches still-scheduled deposit linesGrey scheduled chip used instead of in debtAsk for in debt AND not yet invoiced — Still-scheduled deposit lines
Figure matches the already-invoiced deposit listInvoiced pill used instead of Not InvoicedAsk for not yet invoiced — In-debt deposit lines already invoiced
Figure matches the rent or cleaning-fee not-yet-invoiced listAnother payment type used instead of depositsAsk for deposit lines — In-debt rent lines not yet invoiced, In-debt cleaning fee lines not yet invoiced
Chat euro total differs from the Contract Values tabList summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values deposit lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote in-debt deposit lines that are already invoiced?​

Ask in natural language — for example “How many August 2026 deposit lines on Contract Values are already in debt and already invoiced? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Deposit type, in debt status, and the Invoiced invoice pill together.
  3. Report the row count and name the month.

Do not treat the Deposit card’s full in debt chip as the answer — that chip still includes overdue deposits that are not yet invoiced. This is also not the unpaid-deposits in debt + still scheduled card split, and it is not the all-time tenant debt audit. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat sum can differ from the tab. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — August in-debt deposit lines that are already invoiced, with filtered row count

Walkthrough: ask for August deposit lines that are in debt and already invoiced, then read the filtered row count.
SymptomLikely causeFix
Figure matches the Deposit card in debt chipInvoice pill omittedAsk for in debt AND already invoiced deposit lines
Figure matches unpaid deposits in debt + scheduledDeposit card split used instead of the filtered listAsk for the Invoiced list, not the deposit card split
Figure matches still-scheduled deposit linesGrey scheduled chip used instead of in debtAsk for in debt AND already invoiced — Still-scheduled deposit lines
Figure matches the not-yet-invoiced deposit listNot Invoiced pill used instead of InvoicedAsk for already invoiced — In-debt deposit lines not yet invoiced
Figure matches the rent or cleaning-fee invoiced listAnother payment type used instead of depositsAsk for deposit lines — In-debt rent lines already invoiced, In-debt cleaning fee lines already invoiced
Chat euro total differs from the Contract Values tabList summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values deposit lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote still-scheduled deposit lines?​

Ask in natural language — for example “How many August 2026 deposit lines on Contract Values are still scheduled (not yet due)? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Deposit type and still scheduled status (the grey scheduled chip).
  3. Report the row count and name the month.

Do not treat the unpaid-deposits in debt + still scheduled money split on the Deposit card as the answer — that split is a pair of amounts, not a line count. This is also not the in-debt deposit line lists, not the partially paid deposit list, not the still-scheduled rent, admin fee, or cleaning fee lists, and it is not the all-time tenant debt audit. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can follow the card chip rather than the sum of the filtered rows. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — August deposit lines that are still scheduled (not yet due), with filtered row count

Walkthrough: ask for August deposit lines that are still scheduled (not yet due), then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countDeposit card unpaid split used instead of the filtered listAsk for still-scheduled deposit lines, not the deposit card split
Figure matches in-debt deposit linesin debt chip used instead of scheduledAsk for still scheduled (not yet due) — In-debt deposit lines not yet invoiced
Figure matches still-scheduled rent linesRent type used instead of DepositAsk for deposit lines — Still-scheduled rent lines
Figure matches still-scheduled admin fee linesAdmin fee type used instead of DepositAsk for deposit lines — Still-scheduled admin fee lines
Figure matches still-scheduled cleaning fee linesCleaning fee type used instead of DepositAsk for deposit lines — Still-scheduled cleaning fee lines
Figure matches partially-paid deposit linesAmber partial chip used instead of grey scheduledAsk for still scheduled (not yet due) — Partially-paid deposit lines
Figure matches paid deposit linesGreen Paid badge used instead of grey scheduledAsk for still scheduled (not yet due) — Paid deposit lines
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values deposit lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote partially-paid deposit lines?​

Ask in natural language — for example “How many October 2026 deposit lines on Contract Values are partially paid? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Deposit type and partially paid status (the amber partial chip).
  3. Report the row count and name the month.

Do not treat the unpaid-deposits in debt + still scheduled money split on the Deposit card as the answer — that split is a pair of amounts, not a line count. This is also not the grey scheduled chip, not the in-debt deposit line lists, not the window-wide partially paid mix across every charge type, not the partially paid rent, admin fee, or exit fee lists, and not the all-time tenant debt audit. Name the month — some months have partial deposits while the current rent month does not. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can follow the sum of the filtered rows or a card chip. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — October deposit lines that are partially paid, with filtered row count

Walkthrough: ask for October deposit lines that are partially paid, then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countDeposit card unpaid split used instead of the filtered listAsk for partially paid deposit lines, not the deposit card split
Figure matches still-scheduled deposit linesGrey scheduled chip used instead of amber partialAsk for partially paid — Still-scheduled deposit lines
Figure matches paid deposit linesGreen Paid badge used instead of amber partialAsk for partially paid — Paid deposit lines
Figure matches in-debt deposit linesin debt chip used instead of partialAsk for partially paid — In-debt deposit lines already invoiced
Figure matches partially-paid rent linesRent type used instead of DepositAsk for deposit lines — Partially-paid rent lines
Figure matches partially-paid admin fee linesAdmin fee type used instead of DepositAsk for deposit lines — Partially-paid admin fee lines
Figure matches partially-paid exit fee linesExit fee type used instead of DepositAsk for deposit lines — Partially-paid exit fee lines
Figure matches every charge type, not depositsWindow-wide partially paid mix used instead of DepositAsk for deposit lines that are partially paid
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values deposit lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote paid deposit lines?​

Ask in natural language — for example “How many July 2026 deposit lines on Contract Values are paid (fully paid, not partial)? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Deposit type and paid status (the green Paid row badge).
  3. Report the row count and name the month.

Do not treat the unpaid-deposits in debt + still scheduled money split on the Deposit card as the answer — that split is a pair of amounts, not a line count. This is also not the Deposit card’s € paid chip (a money figure, not a line count), not the amber partial chip, not the grey scheduled chip, not the in-debt deposit line lists, not the paid rent, admin fee, others, cleaning fee, or exit fee lists, not the window-wide paid mix across every charge type, and not the all-time tenant debt audit. Name the month: some months have paid deposits while the current rent month does not. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can follow the filtered rows (zero-value paid rows still count), or a card chip can differ. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — July deposit lines that are paid, with filtered row count

Walkthrough: ask for July deposit lines that are paid, then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countDeposit card unpaid split used instead of the filtered listAsk for paid deposit lines, not the deposit card split
Figure matches the Deposit card € paid chipCard money chip used instead of the Paid listAsk for the row count of paid deposit lines, then reconcile euros with Export
Figure matches in-debt deposit linesin debt chip used instead of PaidAsk for paid (fully paid, not partial) — In-debt deposit lines already invoiced
Figure matches still-scheduled deposit linesGrey scheduled chip used instead of PaidAsk for paid deposit lines, not still scheduled — Still-scheduled deposit lines
Figure matches partially-paid deposit linesAmber partial chip used instead of PaidAsk for paid deposit lines, not partially paid — Partially-paid deposit lines
Figure matches paid others linesOthers type used instead of DepositAsk for deposit lines — Paid others lines
Figure matches paid cleaning fee linesCleaning fee type used instead of DepositAsk for deposit lines — Paid cleaning fee lines
Figure matches paid rent linesRent type used instead of DepositAsk for deposit lines — Paid rent lines
Figure matches paid admin fee linesAdmin fee type used instead of DepositAsk for deposit lines — Paid admin fee lines
Figure matches paid exit fee linesExit fee type used instead of DepositAsk for deposit lines — Paid exit fee lines
Figure matches every charge type, not depositsWindow-wide paid mix used instead of DepositAsk for deposit lines that are paid
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values deposit lines
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote in-debt exit fee lines that are already invoiced?​

Ask in natural language — for example “How many October 2026 exit fee lines on Contract Values are already in debt and already invoiced? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Exit fee type, in debt status, and the Invoiced invoice pill together.
  3. Report the row count and name the month.

Do not treat the unpaid-exit-fee in debt + still scheduled card split as the answer. If no overdue exit fees are still Not Invoiced, this count can match the Exit fee card’s in debt chip — still apply Invoiced so the question stays correct after uninvoiced overdue lines appear. This is also not the partially paid exit-fee list and not the all-time tenant debt audit. Exit-fee lines often sit on check-out months, so name a check-out month (or a wide window) rather than assuming the current rent month. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat sum can differ from the tab. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — October in-debt exit fee lines that are already invoiced, with filtered row count

Walkthrough: ask for October exit fee lines that are in debt and already invoiced, then read the filtered row count.
SymptomLikely causeFix
Figure matches the Exit fee card in debt chipInvoice pill omittedAsk for in debt AND already invoiced exit fee lines
Figure matches unpaid exit fees in debt + scheduledExit fee card split used instead of the filtered listAsk for the Invoiced list, not the exit fee card split
Figure matches partially-paid exit fee linesAmber partial chip used instead of in debtAsk for in debt AND already invoiced — Partially-paid exit fee lines
Figure is a paid line countGreen Paid badge used instead of in debtAsk for in debt AND already invoiced — Paid exit fee lines
Figure matches the deposit or cleaning-fee invoiced listAnother payment type used instead of exit feesAsk for exit fee lines — In-debt deposit lines already invoiced, In-debt cleaning fee lines already invoiced
Chat euro total differs from the Contract Values tabList summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values exit fee lines
Zero exit fees in the current rent monthExit fees billed on check-out monthsName a check-out month (or a wide window)
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote partially-paid exit fee lines?​

Ask in natural language — for example “How many October 2026 exit fee lines on Contract Values are partially paid? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Exit fee type and partially paid status (the amber partial chip).
  3. Report the row count and name the month.

Do not treat the unpaid-exit-fee in debt + still scheduled money split on the Exit fee card as the answer — that split is a pair of amounts, not a line count. This is also not the grey scheduled chip, not the in-debt exit-fee line list, not the window-wide partially paid mix across every charge type, not the partially paid rent, admin fee, or deposit lists, and not the all-time tenant debt audit. Name a check-out month — some months have partial exit fees while the current rent month does not. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can follow the sum of the filtered rows or a card chip. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — October exit fee lines that are partially paid, with filtered row count

Walkthrough: ask for October exit fee lines that are partially paid, then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countExit fee card unpaid split used instead of the filtered listAsk for partially paid exit fee lines, not the exit fee card split
Figure matches in-debt exit fee linesin debt chip used instead of partialAsk for partially paid — In-debt exit fee lines already invoiced
Figure matches partially-paid rent linesRent type used instead of Exit feeAsk for exit fee lines — Partially-paid rent lines
Figure matches partially-paid admin fee linesAdmin fee type used instead of Exit feeAsk for exit fee lines — Partially-paid admin fee lines
Figure matches partially-paid deposit linesDeposit type used instead of Exit feeAsk for exit fee lines — Partially-paid deposit lines
Figure matches every charge type, not exit feesWindow-wide partially paid mix used instead of Exit feeAsk for exit fee lines that are partially paid
Figure is a paid line countGreen Paid badge used instead of amber partialAsk for partially paid, not paid — Paid exit fee lines
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values exit fee lines
Zero exit fees in the current rent monthExit fees billed on check-out monthsName a check-out month (or a wide window)
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do Genius and AI Chat quote paid exit fee lines?​

Ask in natural language — for example “How many October 2026 exit fee lines on Contract Values are paid (fully paid, not partial)? Quote the filtered row count and the total scheduled amount. Do not list tenant names or unit codes.” The assistant should:

  1. Quote the filtered Contract Values list on Finance → Contract Values for that reference month.
  2. Apply Exit fee type and paid status (the green Paid row badge).
  3. Report the row count and name the month.

Do not treat the unpaid-exit-fee in debt + still scheduled money split on the Exit fee card as the answer — that split is a pair of amounts, not a line count. This is also not the Exit fee card’s € paid chip (a money figure, not a line count), not the amber partial chip, not the grey scheduled chip, not the in-debt exit-fee line list, not the paid rent, cleaning fee, others, deposit, or admin fee lists, not the window-wide paid mix across every charge type, and not the all-time tenant debt audit. Name a check-out month — some months have paid exit fees while the current rent month does not. Trust the row count; for the euro total, reconcile on Finance → Contract Values with the same filters and Export — a chat amount can follow a different total than the filtered-row sum or a card chip. Enable the Payments tool domain (at least Read-only) on AI / MCP.

AI Assistant — October exit fee lines that are paid, with filtered row count

Walkthrough: ask for October exit fee lines that are paid, then read the filtered row count.
SymptomLikely causeFix
Figure is a money split, not a line countExit fee card unpaid split used instead of the filtered listAsk for paid exit fee lines, not the exit fee card split
Figure matches the Exit fee card € paid chipCard money chip used instead of the Paid listAsk for the row count of paid exit fee lines, then reconcile euros with Export
Figure matches in-debt exit fee linesin debt chip used instead of PaidAsk for paid (fully paid, not partial) — In-debt exit fee lines already invoiced
Figure matches partially-paid exit fee linesAmber partial chip used instead of PaidAsk for paid exit fee lines, not partially paid — Partially-paid exit fee lines
Figure matches paid rent linesRent type used instead of Exit feeAsk for exit fee lines — Paid rent lines
Figure matches paid cleaning fee linesCleaning fee type used instead of Exit feeAsk for exit fee lines — Paid cleaning fee lines
Figure matches paid others linesOthers type used instead of Exit feeAsk for exit fee lines — Paid others lines
Figure matches paid admin fee linesAdmin fee type used instead of Exit feeAsk for exit fee lines — Paid admin fee lines
Figure matches paid deposit linesDeposit type used instead of Exit feeAsk for exit fee lines — Paid deposit lines
Figure matches every charge type, not exit feesWindow-wide paid mix used instead of Exit feeAsk for exit fee lines that are paid
Chat euro total differs from the Contract Values tabCard chip or a multi-page list summed in chatReconcile the amount with Export on Finance → Contract Values
Figure matches all-time tenant debtDebt-audit tool used instead of the month listName the month and say Contract Values exit fee lines
Zero exit fees in the current rent monthExit fees billed on check-out monthsName a check-out month (or a wide window)
Assistant lists tenant names or unit codesQuestion did not ask for count onlyRe-ask for the row count without listing names
Assistant cannot answer filtered-list questionsPayments tool domain OffEnable Payments (at least Read-only) on AI / MCP

How do I find returns of value and credit notes on Contract Values?​

On Finance → Contract Values, use the invoice pills beside Search and Export:

  1. Reversals — every line that has a nested credit note or return of value.
  2. Credit Notes — only the credit-note subset (with Pending / Invoiced / Manual on the nested row).
  3. Return of Value — only the cash-return subset (money that was never on an invoice).

Those pills stack with the month picker and a payment-type card. Nested rows show Reverses Rent (or the matching charge name) and a minus amount under the parent charge. Create the adjustment on the booking Contract Values row; issue pending credit notes from Transactions → Not issued credit note.

Ask Genius / AI Chat in count-only language — for example “How many August 2026 rent lines on Contract Values have a return of value? Quote the filtered row count. Do not list tenant names or unit codes.” For credit notes, ask “How many September 2026 rent lines on Contract Values have a credit note? Quote the filtered row count. Do not list tenant names or unit codes.” and name the month (some months have credit notes while the current rent month does not). Enable the Payments tool domain (at least Read-only) on AI / MCP. Trust the row count; reconcile on Finance → Contract Values with Return of Value or Credit Notes and Export.

AI Assistant — August rent lines that have a return of value, with filtered row count

Walkthrough: ask AI Assistant for August rent lines that have a return of value, then read the filtered row count.

AI Assistant — September rent lines that have a credit note, with filtered row count

Walkthrough: ask AI Assistant for September rent lines that have a credit note, then read the filtered row count.

Finance Contract Values — Return of Value pill listing a rent line with a nested cash return

Finance Contract Values — Credit Notes pill listing a rent line with a nested pending credit note

Walkthrough: on Finance → Contract Values, open Reversals, then Return of Value, to list nested cash returns.

How do Genius and AI Chat explain vacancy vs calendar blocks?​

Ask in natural language — for example “How many units are vacant today, and which are blocked by a manual hold vs an OTA/iCal block?” or “For the next calendar month, how many free nights do we have in total?” The assistant should:

  1. State which vacancy reading it is using (free every day of the window vs free on at least one day).
  2. Separate manual blocks (operator reason — reclaimable) from integration blocks (already rented on a channel — not lost revenue).
  3. Use an explicit start date when you mean today; omitting dates asks about the next calendar month.
  4. When you ask for free nights, quote the server night totals (portfolio total plus fully vacant vs partially vacant nights) — not a sum of free-day rows from the sample unit lists.

AI Assistant — vacancy today with manual vs OTA/iCal blocks called out

Walkthrough: ask AI Assistant for today’s vacancy with manual vs OTA/iCal blocks, then read which vacancy reading it used.

AI Assistant — next-month free nights with fully vacant vs partially vacant night totals

Walkthrough: ask AI Assistant for next-month free nights, read the fully vs partially vacant split, and confirm which unit vacancy reading it used.
SymptomLikely causeFix
“Vacant next month” when you meant todayDates omitted → next calendar monthAsk again with today / a YYYY-MM-DD start date
Occupancy looks low but Sales still shows freeManual holds counted as occupiedRun Manual block hygiene; confirm Vacant Unit Preference
Assistant treats an Airbnb block as lost revenueIntegration block misreadRe-ask to classify manual vs integration sources — channel blocks are earning elsewhere
Free-night total looks too low for the portfolioModel summed capped unit-list rowsRe-ask for the server free-night totals (fully + partially vacant) — unit lists are samples only

How do I compare occupancy by tag or listing type in Genius / AI Chat?​

Pair with other FAQ subsections

Ask AI Chat or WhatsApp Genius to compare occupancy by unit tag and listing type over the last 12 months. Answers use night-based rates so months of different lengths compare cleanly. Exclude the current month when you want a settled trend (the current month already counts future bookings). Tag groups overlap when a unit has several tags; listing-type groups partition the portfolio. Neighbourhood tags can still rank when most listings are untagged — ask for untagged vs total listings if you need coverage. Enable the Analytics domain (at least Read-only) on AI / MCP (get_occupancy_by_tag). For a named settled month (listing types only — not the trailing-year ranking), see FAQ — Occupancy by listing type for a named month. For listing types in June (a different settled month — not July), see FAQ — Occupancy by listing type for June. For unit tags in that same named month, see FAQ — Occupancy by unit tag for a named month. For June (a different settled month), see FAQ — Occupancy by unit tag for June.

AI Assistant — 12-month occupancy by unit tag and listing type with settled-month best performers

Walkthrough: ask AI Assistant for occupancy by unit tag and listing type over the last 12 months, then read the settled-month best performers and how many listings are untagged.

How do I ask occupancy by listing type for a named month?​

Ask Genius or AI Chat — for example “What was occupancy by listing type in July 2026? Quote the occupancy rate for room, property, and bed. Exclude August.”

The assistant should:

  1. Quote night-based occupancy for each listing type in that named month (room, property, bed). Listing-type groups partition the portfolio; they are not the same as overlapping unit tags.
  2. Name July (or 2026-07) and not use the current month, a 12-month average, or the best-performer ranking from a trailing-year comparison.
  3. Not list unit names, properties, or tag groups when you asked for listing types only.

Keep Analytics enabled on AI / MCP. Reconcile the trend on Analytics → Occupancy; use Dashboard — Occupancy Forecast for forward occupancy.

AI Assistant — July occupancy by listing type (room, property, and bed rates)

Walkthrough: ask for occupancy by listing type in July 2026, then read the room, property, and bed rates.
SymptomLikely causeFix
Rates match August or this monthUsed the current monthName July and exclude the current month
Reply ranks a best month over the last yearUsed the 12-month comparisonAsk for listing-type rates in July, not the settled-month best performer
Reply lists tags (neighbourhood or amenity chips)Quoted overlapping tag groupsAsk for listing type only (room, property, bed)
Reply is a free-night or vacancy countUsed the vacancy snapshotAsk for occupancy by listing type, not vacant units

How do I ask occupancy by listing type for June?​

Ask Genius or AI Chat — for example “What was occupancy by listing type in June 2026? Quote the occupancy rate for room, property, and bed. Exclude July. Exclude August.”

The assistant should:

  1. Quote night-based occupancy for each listing type in June (room, property, bed). Listing-type groups partition the portfolio; they are not the same as overlapping unit tags.
  2. Name June (or 2026-06) and not use July, the current month, a 12-month average, or the best-performer ranking from a trailing-year comparison.
  3. Not list unit names, properties, or tag groups when you asked for listing types only.

Keep Analytics enabled on AI / MCP. Reconcile the trend on Analytics → Occupancy; use Dashboard — Occupancy Forecast for forward occupancy.

AI Assistant — June occupancy by listing type (room, property, and bed rates)

Walkthrough: ask for occupancy by listing type in June 2026, then read the room, property, and bed rates.
SymptomLikely causeFix
Rates match JulyUsed the other settled monthName June and exclude July
Rates match August or this monthUsed the current monthName June and exclude the current month
Reply ranks a best month over the last yearUsed the 12-month comparisonAsk for listing-type rates in June, not the settled-month best performer
Reply lists tags (neighbourhood or amenity chips)Quoted overlapping tag groupsAsk for listing type only (room, property, bed)
Reply is a free-night or vacancy countUsed the vacancy snapshotAsk for occupancy by listing type, not vacant units

How do I ask occupancy by unit tag for a named month?​

Ask Genius or AI Chat — for example “What was occupancy by unit tag in July 2026? Quote the occupancy rate for Marques de pombal and Alameda. Exclude listing types (room, property, bed). Exclude the 12-month ranking. Exclude August.”

The assistant should:

  1. Quote night-based occupancy for each unit tag in that named month. Tag groups overlap when a unit has several tags; they are not the same as partitioning listing types.
  2. Name July (or 2026-07) and not use the current month, a 12-month average, or the best-performer ranking from a trailing-year comparison.
  3. Not list room / property / bed rates when you asked for tags only.

Keep Analytics enabled on AI / MCP. Reconcile the trend on Analytics → Occupancy; use Dashboard — Occupancy Forecast for forward occupancy.

AI Assistant — July occupancy by unit tag (Marques de pombal and Alameda rates)

Walkthrough: ask for occupancy by unit tag in July 2026, then read the Marques de pombal and Alameda rates.
SymptomLikely causeFix
Rates match August or this monthUsed the current monthName July and exclude the current month
Reply ranks a best month over the last yearUsed the 12-month comparisonAsk for unit-tag rates in July, not the settled-month best performer
Reply lists room, property, or bedQuoted listing-type groupsAsk for unit tags only (neighbourhood or amenity chips)
Reply is a free-night or vacancy countUsed the vacancy snapshotAsk for occupancy by unit tag, not vacant units

How do I ask occupancy by unit tag for June?​

Ask Genius or AI Chat — for example “What was occupancy by unit tag in June 2026? Quote the occupancy rate for Marques de pombal and Alameda. Exclude listing types (room, property, bed). Exclude the 12-month ranking. Exclude July. Exclude August.”

The assistant should:

  1. Quote night-based occupancy for each unit tag in June. Tag groups overlap when a unit has several tags; they are not the same as partitioning listing types.
  2. Name June (or 2026-06) and not use July, the current month, a 12-month average, or the best-performer ranking from a trailing-year comparison.
  3. Not list room / property / bed rates when you asked for tags only.

Keep Analytics enabled on AI / MCP. Reconcile the trend on Analytics → Occupancy; use Dashboard — Occupancy Forecast for forward occupancy.

AI Assistant — June occupancy by unit tag (Marques de pombal and Alameda rates)

Walkthrough: ask for occupancy by unit tag in June 2026, then read the Marques de pombal and Alameda rates.
SymptomLikely causeFix
Rates match JulyUsed the other settled monthName June and exclude July
Rates match August or this monthUsed the current monthName June and exclude the current month
Reply ranks a best month over the last yearUsed the 12-month comparisonAsk for unit-tag rates in June, not the settled-month best performer
Reply lists room, property, or bedQuoted listing-type groupsAsk for unit tags only (neighbourhood or amenity chips)
Reply is a free-night or vacancy countUsed the vacancy snapshotAsk for occupancy by unit tag, not vacant units

How do Genius and AI Chat report smart-lock battery health?​

Pair with other FAQ subsections

Ask “Which smart locks need new batteries?” The assistant lists locks with critical, ok, or unknown status. Treat unknown as “no reading reported,” not healthy — a flat lock locks tenants out. Enable the Properties domain on AI / MCP (list_smart_locks). When no locks are connected, the reply reports zeros rather than inventing healthy devices.

AI Assistant — smart-lock battery check with critical / unknown / ok counts

Walkthrough: ask AI Assistant for smart-lock battery health by critical / ok / unknown, then read the inventory summary.

How do I configure Genius proactive alerts?​

Account Settings → Genius is the scheduled reports (Genius secretary) surface only — there is no separate proactive-alerts card on that tab. For recurring vacancy, open-debt, upcoming-check-ins, or Finance overview digests, use How do I schedule recurring reports from Genius? or open Genius → Scheduled reports.

SymptomLikely causeFix
AI / MCP tab missingRole not granted the AI / MCP rowSame permission as AI Assistant: an Admin switches the AI / MCP row on for the role in Role permissions — see Genius — Who can open this tab
Looking for morning digestsExpecting a proactive-alerts formCreate a scheduled report (daily / weekly / monthly) instead

How do I schedule recurring reports from Genius?​

Message WhatsApp Genius or open AI Chat and ask in natural language — for example “Every Friday at 9 send me how many units are still available,” or “Every Tuesday email me the Finance overview.” Genius creates a per-user schedule from a fixed catalogue (vacancy summary, open debt summary, upcoming check-ins, Finance overview). Delivery is WhatsApp, email, or both; copy is English or Portuguese. Content is deterministic (not LLM-generated numbers). Caps: daily minimum frequency, 10 active schedules per user. List, pause, resume, cancel, update cadence, change delivery channel, or change digest language by asking again (“list my scheduled reports” / “pause the Friday vacancy report” / “resume the Friday vacancy report” / “cancel my Monday open debt report” / “change my Friday vacancy report to Mondays” / “deliver my Friday vacancy report on WhatsApp instead of email” / “change my Friday vacancy report to Portuguese”). Pause keeps an inactive row; cancel removes it from the list. The same rows appear on Account Settings → Genius → Scheduled reports (settings-genius-scheduled-reports-list.png, settings-genius-scheduled-reports-create-flow.mp4, settings-genius-scheduled-reports-finance-overview-modal.png, settings-genius-scheduled-reports-finance-overview-flow.mp4) where you can New scheduled report, pause, edit, or cancel without the chat confirm turn. MCP tools create-scheduled-report, list-scheduled-reports, update-scheduled-report remain available. Chat writes ask you to confirm before creating, pausing, resuming, cancelling, changing cadence, switching channel, or changing language (ai-chat-scheduled-reports-create-confirm-prompt.png, ai-chat-scheduled-reports-create-whatsapp-check-ins-confirm-prompt.png, ai-chat-scheduled-reports-create-both-open-debt-confirm-prompt.png, ai-chat-scheduled-reports-create-portuguese-check-ins-confirm-prompt.png, ai-chat-scheduled-reports-finance-overview-confirm-prompt.png, ai-chat-scheduled-reports-pause-confirm-prompt.png, ai-chat-scheduled-reports-resume-confirm-prompt.png, ai-chat-scheduled-reports-cancel-confirm-prompt.png, ai-chat-scheduled-reports-update-cadence-confirm-prompt.png, ai-chat-scheduled-reports-update-channel-confirm-prompt.png, ai-chat-scheduled-reports-update-language-confirm-prompt.png).

SymptomLikely causeFix
Genius cannot create a scheduleScheduled reports domain Off / Read-onlySet Edit on AI / MCP → Tool permissions for that domain (settings-ai-mcp-scheduled-reports-domain.png)
No WhatsApp deliveryPhone not linked, or Genius WhatsApp downLink Phone Number on Users; confirm Genius WhatsApp connection on ChatBot → Bot Status (settings-chatbot-status-bot-genius-cloud-managed.png, ai-chat-scheduled-reports-create-whatsapp-check-ins-reply.png)
Hit the schedule capAlready 10 active schedulesPause, cancel, or update an existing schedule instead of creating another (ai-chat-scheduled-reports-pause-vacancy-reply.png, ai-chat-scheduled-reports-cancel-open-debt-reply.png)
Wrong day/timeEurope/Lisbon hour + weekly/monthly day fieldsAsk Genius to update the schedule (day of week, day of month, hour) (ai-chat-scheduled-reports-update-cadence-vacancy-reply.png)
Wrong channel (email vs WhatsApp)Schedule still on the other delivery pathAsk Genius to switch channel (email, WhatsApp, or both) (ai-chat-scheduled-reports-update-channel-vacancy-reply.png)
Wrong language (English vs Portuguese)Digest still in the other languageAsk Genius to switch language (en / pt) (ai-chat-scheduled-reports-update-language-vacancy-reply.png)
Last outcome shows WhatsApp / email delivery issueChannel or contact detailsFix Phone Number / email, then wait for the next run — see Genius — Last outcome (settings-genius-scheduled-reports-last-outcome.png)
Last outcome is Skipped (access revoked)AI / Genius access turned off after schedulingRe-enable access on AI / MCP or cancel the schedule
Last outcome is Failed (generic)Outcome not mapped to a channel-specific labelCheck WhatsApp / email health, wait for the next run — Last outcome labels and tooltips
Hover tip looks like a short codeKnown safe delivery tokenExpected — see What do Genius Last outcome labels and tooltips mean? (settings-genius-scheduled-reports-last-outcome-tooltip.png)

Account Settings — Genius Scheduled reports with Last outcome Sent via email

Account Settings — Genius Last outcome Sent via email with email_sent hover tip

What do Genius Last outcome labels and tooltips mean?​

On Account Settings → Genius → Scheduled reports, Last outcome always shows a friendly localized badge (Sent via email, Sent via WhatsApp, Sent, Skipped (access revoked), channel-specific delivery labels, or generic Failed). Hover the badge:

What you see on hoverMeaning
A short token such as email_sent or whatsapp_sentVivin recognizes a known safe delivery result and shows that token.
The same words as the badgeThe outcome is not on the safe-token list — including generic Failed — so the tip repeats the label instead of any internal detail.
whatsapp_sent,email_sent (comma-joined)Channel was both and each side reported a known safe result; the badge may still say Sent.

Vivin never shows raw internal exception text in the badge or the tip. Screenshots and clip: settings-genius-scheduled-reports-last-outcome-tooltip.png, settings-genius-scheduled-reports-last-outcome-multichannel-tooltip.png, settings-genius-scheduled-reports-last-outcome-trust-flow.mp4.

Walkthrough: Genius Last outcome hover tips — email_sent, then a both-channel whatsapp_sent,email_sent tip.

AI Assistant — confirm prompt for a Monday open-debt email schedule

AI Assistant — Done reply after creating the open-debt schedule

AI Assistant — confirm prompt before creating a Wednesday upcoming-check-ins WhatsApp Genius schedule

AI Assistant — Done reply after creating a Wednesday upcoming-check-ins WhatsApp schedule

Walkthrough: ask AI Assistant to schedule a Wednesday upcoming-check-ins WhatsApp digest, confirm the write, and read the Done / next-delivery reply.

AI Assistant — confirm prompt before creating a Thursday open-debt Genius schedule on both email and WhatsApp

AI Assistant — Done reply after creating a Thursday open-debt schedule on both email and WhatsApp

Walkthrough: ask AI Assistant to schedule a Thursday open-debt digest on both email and WhatsApp, confirm the write, and read the Done reply.

AI Assistant — confirm prompt before creating a Tuesday upcoming-check-ins Genius schedule in Portuguese

AI Assistant — Done reply after creating a Tuesday upcoming-check-ins email schedule in Portuguese

Walkthrough: ask AI Assistant to schedule a Tuesday upcoming-check-ins email digest in Portuguese, confirm the write, and read the Done reply.

AI Assistant — confirm prompt before creating a Tuesday Finance overview email schedule

AI Assistant — Done reply after creating a Tuesday Finance overview email schedule

Walkthrough: ask AI Assistant to email the Finance overview every Tuesday, confirm the write, and read the Done / next-delivery reply.

AI Assistant — scheduled Genius reports list reply

AI Assistant — confirm prompt before pausing a Friday vacancy Genius schedule

AI Assistant — Done reply after pausing a Friday vacancy Genius schedule (now inactive)

Walkthrough: ask AI Assistant to pause the Friday vacancy email digest, confirm the write, and read the Paused / inactive reply.

AI Assistant — confirm prompt before resuming a Friday vacancy Genius schedule

AI Assistant — Done reply after resuming a Friday vacancy Genius schedule (now active)

Walkthrough: ask AI Assistant to resume the Friday vacancy email digest, confirm the write, and read the Done / active reply.

AI Assistant — confirm prompt before cancelling a Monday open-debt Genius schedule

AI Assistant — Done reply after cancelling a Monday open-debt Genius schedule

Walkthrough: ask AI Assistant to cancel the Monday open-debt email digest, confirm the write, and read the Done / cancelled reply.

AI Assistant — confirm prompt before changing a Friday vacancy Genius schedule to Mondays

AI Assistant — Done reply after updating a Friday vacancy Genius schedule to Mondays

Walkthrough: ask AI Assistant to move the Friday vacancy email digest to Mondays, confirm the write, and read the Done / next-delivery reply.

AI Assistant — confirm prompt before switching a Friday vacancy Genius schedule from email to WhatsApp

AI Assistant — Done reply after switching a Friday vacancy Genius schedule to WhatsApp delivery

Walkthrough: ask AI Assistant to deliver the Friday vacancy digest on WhatsApp instead of email, confirm the write, and read the Done reply.

AI Assistant — confirm prompt before switching a Friday vacancy Genius schedule from English to Portuguese

AI Assistant — Done reply after switching a Friday vacancy Genius schedule to Portuguese digest language

Walkthrough: ask AI Assistant to write the Friday vacancy digest in Portuguese instead of English, confirm the write, and read the Done reply.

Why does the tenant portal show a different deposit refund amount?​

After operators Mark refunded, the Tenant Portal — Payments tab shows the net cash returned to the tenant — not the full contract deposit. When damage or unpaid charges were deducted from the deposit before refund, open the Deposit Refund timeline row for the breakdown: gross reversed, amount applied to charges, and net to tenant. When the deposit was fully applied, the detail shows €0 returned with a “fully applied to outstanding charges” note. Transferred refunds (balance moved to another booking) show €0 net on this reservation. Before Mark refunded, tenants still see the forecast/pending state. Operators reconcile using Est. Refund on the booking Deposit tab and Finance → Deposits.

Tenant Portal — Deposit Refund detail with net return and applied-charges note

Tenant Portal — Deposit Refund fully applied to outstanding charges (€0 net)

Does Mark refunded send money to the tenant?​

No. Mark refunded only records that you completed (or will complete) the bank return outside Vivin. The button label is always Mark refunded — it never shows a live Refund €… amount (read Est. Refund / Total to refund instead).

SurfaceConfirm stepTip
Bookings → DepositConfirm modal with This does not actually send any money to the tenantSafer when you want an explicit review before status flips
Finance → DepositsNo confirm modal — click applies immediatelyFinish the bank transfer first; use Ready to refund + search to build the queue (finance-deposits-mark-refunded-row-action.png, finance-deposits-mark-refunded-row-flow.mp4)

Finance Deposits — Ready to refund filter with Mark refunded row action

Walkthrough: Finance → Deposits → Ready to refund → search → Mark refunded chip visible (demo does not click).

Can I refund an overpayment when the booking has no security deposit?​

Yes. Open the booking Deposit tab. When Initial Deposit is a dash and the pill reads No deposit, a payment-plan surplus still appears as Current Adjustments. Mark refunded records that you returned that surplus outside Vivin (the confirm modal still says Refund Security Deposit and repeats that Vivin does not send money). After confirm, Refund Completed shows From overpayment balance only.

The same button appears when a configured deposit is Unpaid but the payment plan is in overpayment — Vivin hides the Deposit not paid — refund unavailable helper so you can return the surplus without waiting for deposit collection.

Finance → Deposits does not list bookings with no configured deposit. Find them from the booking sidebar, or filter the Bookings list Other filters → Balance → Overpayment.

Booking detail — Deposit tab No deposit with Current Adjustments and Mark refunded

Walkthrough: ended booking with No deposit → Mark refunded → confirm callout (demo cancels).

Why does Payment Plan show Refunded instead of Overdue on a deposit return?​

After Mark refunded, the Payment Plan due-date row with subtitle Deposit Refund uses a green Refunded status — not Overdue or Pending — even when that due date is in the past. If other fees were settled from the deposit on the same day, they still appear in Others (or fee columns) and count toward Paid, but Total stays the net cash return (those settled amounts are not added again). Click the row to open the due-date Breakdown: status Refunded, Total due matches the schedule, and co-located fees show Fully paid.

Booking detail — Payment Plan Deposit Refund row with Refunded status

Booking detail — Payment Plan Deposit Refund breakdown with Refunded status

Walkthrough: Payment Plan Deposit Refund row with Refunded status → due-date breakdown.

What fiscal documents does Mark refunded create?​

Mark refunded always posts the cash Deposit Refund ledger line. It also reverses the deposit collection so accounting matches the return:

  1. Invoiced / manual / draft deposit cash → pending credit note (reason Refund of security deposit). Finance issues it from Finance → Transactions → Not issued credit note (or Set manual when the nota de crédito is handled outside Vivin).
  2. Paid, not-invoiced deposit cash → return of value on the deposit line (no provider document).
  3. Mixed deposits can receive both on the same booking.

On Payment plan, look for the teal −€… credit note / −€… return of value subtitle beside the deposit collection, plus the Deposit Refund out-payment row. Edit amount and Return of value stay disabled on the deposit Contract Values line so operators do not double-reverse outside the Deposit tab. Revert refund works only while deposit credit notes are still Pending — once issued to the provider, the refund stays final. On Hostkit, if the deposit invoice cannot be reversed on its own (shared with other charges or only partly paid), Vivin blocks the refund until you reverse that invoice in Hostkit first.

Booking Payment Plan — deposit credit note after Mark refunded

Walkthrough: Payment Plan credit-note subtitle → Contract Values deposit line → Deposit tab Refund Completed → Finance Deposit Refund row.

How do I transfer a deposit refund to another booking for the same tenant?​

Pair with other FAQ subsections

Transfer refund balance pairs with Bookings — Deposit tab, Managing a Check-out — Step 5, and Why does the tenant portal show a different deposit refund amount? (portal shows €0 net on the source after transfer).

After Refund Completed on the source booking Deposit tab, click Transfer (requires bookings.refund). In Transfer Refund Balance, read the amber warning — Vivin creates a credit payment on the destination booking and the source refund becomes non-reversible (Revert refund disables after transfer). Choose Select a target booking (only other reservations for the same tenant; rows show property — unit · contract dates · status when the tenant has several stays), then Confirm Transfer. Do not confuse this with Assign to other booking on Finance → Transactions, which moves an in-payment receipt and can target a different tenant.

Booking detail — Deposit tab Transfer Refund Balance modal with amber warning and destination picker

Booking detail — Transfer destination picker with property — unit · contract dates · status identity rows

Walkthrough: refunded booking Deposit → Transfer → amber warning + destination picker (clip stops before confirm).

How do I switch a booking's Virtual IBAN to another stay for the same tenant?​

Pair with other FAQ subsections

On Bookings → Contract Info → Method of payments, click the pencil (Switch IBAN) beside the Virtual IBAN. In Edit Booking Virtual IBAN, pick another reservation for the same tenant from Select a booking — rows show property — unit · contract dates · status so same-unit stays stay distinguishable — then Update IBAN only when you intend to swap the references. Close without updating to leave the current IBAN unchanged. This swaps virtual IBANs between stays; it does not move deposit refund credit (use Transfer on the Deposit tab for that).

Booking detail — Edit Booking Virtual IBAN modal

Booking detail — Switch IBAN picker with property — unit · contract dates · status identity rows

Walkthrough: Contract Info → Switch IBAN pencil → open same-tenant picker → close without updating.

Why is a payment showing in the wrong month? Check the Paid At date on the incoming payment. If it is set incorrectly, the payment will appear in the wrong period in financial reports. Correct it in the Finance > Transactions tab.

A tenant paid on the wrong booking — can I move the receipt without re-entering the amount? Yes, when your role includes Assign payments to other bookings (finance.assign_payments_to_other_bookings). On Finance → Transactions or a booking’s Transactions tab, use Assign to other booking on an eligible in-payment row, or open transaction detail and use Reassign after choosing the target booking. The target can belong to a different tenant as long as it is in the same Vivin account — the case where a tenant pays for a family member and the transfer lands on the payer's booking. Open Select target booking and use the property — unit · contract dates identity rows so similar stays stay distinguishable before you confirm. The whole payment moves (there is no partial split), and the control is disabled when any allocation on that payment is already invoiced. See Finance > Assign a payment to another booking (finance-transactions-assign-picker-identity.png, finance-assign-picker-identity-flow.mp4).

How does payment allocation work? Incoming payments are allocated to scheduled charges based on the priority order configured in Settings > Payments. The highest-priority outstanding charge is paid first. See Payment Allocation for a detailed explanation.

What happens when a tenant overpays? The excess amount becomes a credit that is automatically applied to the next outstanding charge. See Overpayment Handling.

How do I reconcile bank statements with Vivin? Use the Transactions tab as your ledger: set the date range and Other filters to match the statement period, and use Select platforms when you isolate one channel's inflows. Export CSV or Excel to compare against your bank file offline. When you need to approve pending payments or batch-update invoice or allocation state, select rows with the checkboxes and use Approve selected, Issue allocation, Set manual, or Revert invoice from the bulk bar (requires Approve payments). For platform payouts where commissions were deducted, see Platform reconciliation. If a payment appears in the wrong month in reports, check Paid At on the transaction row.

Why is bulk Hostkit invoicing slow?​

Pair with other FAQ subsections

Bulk Hostkit pacing pairs with Bulk Hostkit invoicing hub (symptom table + per-guide mesh), Common Workflows — Month-end invoicing (fixed date) (save fixed Invoice date before bulk Issue allocation), Common Workflows — Bulk Hostkit invoicing, Common Workflows — Reject/revert mistaken receipts (Issue credit notes after invoiced Reject / Revert), Glossary — Hostkit.

Before you re-run Issue allocation on the same rows, match what you see:

What you seeWhat it usually meansWhat to do
Rows stay Pending for several minutesHostkit rate limit — Vivin paces per listing keyLeave the batch running; refresh Transactions before duplicate runs
Rows still not Invoiced after a refreshMissing Listing keys or blank Hostkit invoice seriesIntegrations — Hostkit + Invoicing — Hostkit series
Hostkit invoice series is not configured toastSeries field emptySave the exact FR code from Hostkit Faturação → Séries
Wrong document date on issued invoicesFixed Invoice date still activeMonth-end invoicing hub — turn Use today back on after batch
Bulk Pending — not a date issueHostkit API pacingBulk Hostkit invoicing — refresh Transactions before re-issue
Not issued credit note queue after Reject / RevertInvoiced charge reversed in VivinIssue credit notes (N) — same Hostkit pacing as Issue allocation — Reject/revert mistaken receipts
Change monthly rent clamped below exported totalInvoiced floor — not Hostkit pacingRent reduction after invoicing — external credit note first

Hostkit limits how many API requests each listing key can make per minute. When you run Issue allocation or Invoice selected on many Finance → Transactions rows at once, Vivin paces outbound Hostkit calls (per key and at account level) and automatically retries rate-limit responses with backoff — so a large batch can take several minutes even though the UI stays responsive.

What to do: leave the batch running, then refresh Transactions before you click Issue allocation again on rows that are still Pending — duplicate runs create support noise. If rows stay incomplete after a few minutes, confirm each unit has a Listing keys entry and Hostkit invoice series is saved. See Integrations — Hostkit API pacing, Glossary — Hostkit, and Portfolio KPI review — Step 7 (month-end sign-off).

Finance Transactions — bulk selection bar with Issue allocation and Invoice selected actions

Finance Transactions — bulk toolbar with fixed invoice-date reminder beside Issue allocation

Account Settings Invoicing — Hostkit invoice series (FR) field

How do I check which tenants have provided their IBAN for deposit returns? The Deposits tab lists Tenant IBAN on each row and supports search (including IBAN substring) plus quick status chips so you can focus on refunds blocked on missing bank details. See Finance > Deposits.

How do I set a different deposit refund limit for one booking?​

Pair with other FAQ subsections

Open the booking sidebar → Contract Info → Booking information → pencil. Deposit Refund Limit shows Account default (N days) when the booking inherits Settings → Billing → Payments → Deposit Refund Deadline.

GoalWhat to enter
Keep the account defaultLeave the field blank, then Update
Same-day ceilingEnter 0, then Update
Custom window for this stayEnter the day count (for example 30), Update

Blank clears an override; 0 is a real override (not the same as blank). Finance Deposits → Refund Due Date and post-checkout Add Charge due-date bounds use the effective term for that booking. Marketplace POST /bookings cannot send this field — imported stays inherit the account setting until you override it here — FAQ — Marketplace booking Deposit Refund Limit. Screenshots and clip: bookings-detail-deposit-refund-limit-inherited.png, bookings-detail-deposit-refund-limit-edit.png, bookings-detail-deposit-refund-limit-override.png, bookings-deposit-refund-limit-flow.mp4.

How do I find bookings where the security deposit is only partly collected?​

Partial Paid on a security deposit is not the same signal as Partial Paid on a rent schedule line — use this table before you chase the wrong tab:

SignalWhere to lookWhat it means
Deposit Partial paid lifecycle cardFinance → Deposits — Deposit lifecycle status rowPortfolio queue: Paid > 0 but < Amount on the deposit
Other filters → Deposit status → Partial paidBookings or Finance → Contract ValuesSame lifecycle slice without opening Finance first
Amber Partially paid + remainingBooking sidebar Deposit tab — Initial DepositPer-booking shortfall (Partial Paid on depositStatus)
Partial Paid on a rent linePayment Plan or Contract Values rent rowsScheduled rent — not the security deposit

On Finance → Deposits, click Partial paid in the Deposit lifecycle status row on Finance → Deposits to narrow the table to rows where Paid is greater than zero but still below Amount. Alternatively, open Other filters → Deposit status → Partial paid on Bookings or Finance → Contract Values for the same lifecycle slice across modules. Click a row to open the booking sidebar on Deposit — the Initial Deposit row shows an amber Partially paid badge and a remaining helper with the shortfall (Partial Paid on depositStatus). The same badge appears when you open Deposit from the booking list without using Finance first. See Common Workflows — Partly collected security deposit.

Finance Deposits — Partial paid lifecycle card selected, narrowing rows to partly collected deposits

Booking detail — Deposit tab Initial Deposit row with amber Partially paid badge and remaining helper

Walkthrough: click the Partial paid lifecycle card, open a partly collected row, then review the amber Partially paid badge on the booking Deposit tab.

How do I freeze a deposit refund while we dispute deductions? Turn on Enable deposit disputes under Account Settings → Preferences → Charges & Payments, then use Mark as Disputed on the booking Deposit tab (or Mark disputed on Finance → Deposits) while the deposit is Fully Paid and your role includes bookings.dispute. Mark refunded stays disabled until you click Resolve Dispute (Disputed on depositStatus — see Glossary — Deposit lifecycle status). Portfolio triage: Other filters → Deposit status → Disputed on Bookings or Finance — see Finance — Deposit status filter. Full symptom table and mesh: Deposit dispute hub. See also Glossary — Deposit dispute hub, Glossary — Deposit dispute, Bookings — Deposit disputes, Finance — Deposit disputes (portfolio actions), Managing a Check-out, and Cancelling a Booking when retention is contested during cancellation.

Does Mark refunded on the booking leave the row on Finance → Deposits?​

No. After you confirm Mark refunded, Revert refund, Mark as Disputed, Resolve Dispute, or Transfer on the booking Deposit tab, Finance → Deposits already shows the new state. A Ready to refund row leaves that queue; lifecycle cards move with it. You do not reload the tab or change its filters.

If the booking sidebar is still open over Finance → Deposits, close it to see the table. Distinct from the date range — older move-outs can still sit outside the default three-month window. Distinct from All bookings Filters → Deposit status after Ready To Refund — that Bookings slice already updates too (Does Ready To Refund leave the booking on Fully paid?). See Bookings — Finance Deposits updates from this tab and Managing a Check-out — Step 5.

Why do I not see a deposit (or dispute row actions) on Finance → Deposits?​

Before you assume a booking has no deposit record, check whether the Finance → Deposits toolbar date range is hiding the row:

SymptomLikely causeFix
Tenant or unit missing after an older move-outDefault ~3 months excludes check-out / Refund Due DateClear date range selection or widen from / to, then Search
Booking has No deposit but the tenant overpaidFinance → Deposits only lists configured depositsOpen the booking Deposit tab — FAQ — Refund overpayment with no deposit
Mark disputed / Resolve dispute chips missing on FinanceDispute row actions only render on visible rowsClear or widen the toolbar range first
Lifecycle card counts look too lowCards scope to the active date windowClear the range before month-end deposit triage
Partial paid card empty after clearing rangeNo partly collected deposits in portfolioFAQ — Partly collected security deposit — distinct from rent Payment Plan
Older move-outs surfaced during lockout catch-upDelayed refund/dispute triageCommon Workflows — Lockout catch-up after password recovery

The tab’s date range defaults to about the last three months. Rows appear when check-in, check-out, or Refund Due Date intersects that window — not when the booking was created. For older move-outs, clear the date range or widen from / to, then use Search by tenant or unit. The same range applies to status summary card counts and to which rows match for Export — Deposits Export downloads the full filtered set for that range (see Why is my Finance export missing rows?). See Common Workflows — Deposit missing on Finance Deposits.

Finance Deposits — default date range on the toolbar (about the last three months)

Finance Deposits — date range cleared so portfolio triage includes older move-outs

Booking detail — Deposit tab Refund Disputed with Resolve Dispute while refund is blocked

Walkthrough: open Finance → Deposits with the default toolbar range, click Clear date range selection, then review the widened portfolio table.

Where is the invoice number in the Finance → Transactions export?​

Finance → Transactions → Export (CSV and Excel) includes an Invoice Reference column immediately after Invoice Status. It carries the provider document number Vivin stored on that allocation (the same value shown as #… in transaction detail) — for example a Sage ST… id, Hostkit {series}/{id}, an Invoice-xpress document id such as #263420692, or a NetSuite document id. Rows marked invoiced outside Vivin, or allocations with no document id on file, leave the cell empty. Module reference: Finance — Invoice Reference in the export.

Finance Transactions — Excel export column slice highlighting Invoice Reference after Invoice Status

Finance Transactions — transaction detail Allocations column showing provider invoice reference #263420692

Finance → Transactions — Draft allocations with Invoice-xpress #263420692 and enabled see invoice

Walkthrough: open Felix cash €4,000 on Finance → Transactions and confirm Invoice-xpress #263420692 with enabled see invoice (opens the stored Invoice-xpress permalink).
Walkthrough: open Finance → Transactions → Export → Excel and confirm Invoice Reference follows Invoice Status.
Walkthrough: open transaction detail and confirm each allocation shows the same provider # document id as export Invoice Reference.

Which exports include a Booking ID column?​

Every export whose rows are bookings (or booking-linked charge / message / check-in lines) carries a Booking ID column — the Vivin booking UUID — under a consistent header:

SurfaceHeaderNotes
Finance → Deposits / Contract ValuesBooking IDFirst column
Finance → IncomeBooking IDFirst column on the aggregated income export
Finance → Transactions / Overview Income drill-downBooking IDFirst column on Transactions (before Unit Name / Guest Name)
Finance → PayoutsBooking IDHeader standardised (was raw bookingId); after bookingInPaymentDate
Audit → DiscountsBooking IDFirst column
Operations → Check-in & Check-outBooking IDFirst column
Tenants → Bookings CSVBooking IDFirst column
Settings → Communications → Communication scheduleBooking ID (translated)Alongside recipient / subject / status
Listings → Portfolio listings CSVCurrent Booking IDBeside active-booking start/end/rent (unit row)
Bookings list exportidSame booking UUID under the shorter id header (bookings-list-export-id-columns.png, bookings-list-export-id-column-flow.mp4)

Use Booking ID (or id on the Bookings list export) to join downloads to Vivin deep links (/bookings/list/<bookingId>) or an external ledger. Empty cells mean the row has no booking (for example a unit with no active stay, or a credit-note edge case) — not a missing export column.

On the same Bookings list export, contractTotalValue sits beside bookingTotalValue. Use contractTotalValue when you need contracted rent only (the figure contracts print as {ContractTotalValue}); use bookingTotalValue when you need the sum of every payment line (rent plus deposit and fees). An empty contractTotalValue cell means the rent total is not yet known — not zero. The same sheet also includes othersValue (sum of Other items charges) and othersCategories (JSON array of Others Items category labels; [] when none). See Bookings — Exporting the list (bookings-list-export-contract-total-columns.png, bookings-list-export-others-columns.png).

Finance Deposits — Excel export column slice highlighting Booking ID as the first column

Walkthrough: Finance → Deposits → Export → Excel — Booking ID is the first column.

Finance Income — Excel export column slice highlighting Booking ID before Month, Property, Unit, and Tenant

Walkthrough: Finance → Income → Export → Excel — Booking ID is the first column on the aggregated income export.

Finance Payouts — Excel export column slice highlighting Booking ID after bookingInPaymentDate (canonical header, not raw bookingId)

Walkthrough: Finance → Payouts → Export → Excel — canonical Booking ID after bookingInPaymentDate.

Finance Transactions — Excel export column slice highlighting Booking ID as the first column before Unit Name and Guest Name

Walkthrough: Finance → Transactions → Export → Excel — Booking ID first before Unit Name / Guest Name.

Audit Discounts — Excel export column slice highlighting Booking ID first

Walkthrough: Audit → Discounts → Export → Excel — Booking ID first before unit / property.

Operations Check-in &amp; Check-out — CSV export column slice highlighting Booking ID first

Walkthrough: Operations → Check-in & Check-out → Export → CSV — same first-column Booking ID pattern.

Listings Portfolio — CSV export column slice highlighting Current Booking ID on occupied unit rows

Walkthrough: Listings → Portfolio → Export → CSV — unit rows use Current Booking ID beside active-booking dates.

Tenants — Bookings CSV export column slice highlighting Booking ID as the first column

Walkthrough: Tenants → Export → Bookings CSV — Booking ID first before Tenant Email / Tenant Name.

Communication schedule — CSV export column slice highlighting Booking ID before Recipient and Subject

Walkthrough: Settings → Communications → Communication schedule → Export → CSV — Booking ID first before Recipient / Subject.

Bookings list — CSV export column slice highlighting id (booking UUID) before listingInternalName and tenant names

Walkthrough: Bookings → Export → CSV — leading id is the booking UUID (other booking-row exports use Booking ID).

Why is my Finance export missing rows?​

Finance → Transactions, Contract Values, Payouts, Deposits, and Income all download the full filtered set — each tab walks every matching server page (or the Income monthly breakdown) before building CSV/Excel. You do not need to scroll infinite-scroll tables to the end first.

If a download looks short, check filters first — not scroll depth:

CheckWhat to verify
Date range / month pickerDeposits default to about the last three months; widen or clear the range for older move-outs. Income and Contract Values follow the toolbar month(s).
Other filters / search / status chipsProperty, owner, tenant category, deposit lifecycle cards, and search all narrow the file.
Error toastA failed multi-page fetch shows an error and writes no partial file — retry after the network settles.
Wrong export surfaceOverview Income-chart drill-down Export is payment lines for one chart segment — not the Income-tab property/unit map.

Utilities → Connections still exports only rows already loaded in its grid — that surface is unchanged. Module reference: Finance — Large tables and infinite scroll, Income Tab — Export.

Finance Deposits — Export menu (CSV / Excel); file is the full filtered deposit set

Finance Deposits — Export open on the first infinite-scroll page; download still includes every matching row

Finance Contract Values — Export open without scrolling the full table

Finance Payouts — Export open without scrolling

Finance Income — Export beside Income by property

Walkthrough: Finance → Income → Export → CSV — aggregated month / property / unit download.

Finance Transactions — Export menu (CSV / Excel); full filtered download

Why doesn't dueDate match Period in my Contract Values export?​

Use year and month for the month the charge is for. Use dueDate only for when it is payable. They are different columns on purpose.

On Finance → Contract Values, Period (for example Sep.26) is the item month. Due date can sit in another month — last-month rent collected at check-in is the usual case. The CSV and Excel files now export that period as year (calendar year) and month (1–12) immediately before dueDate. Inferring the item month from the due date files most of those rows in the wrong accounting month.

Booking ID stays the first column. payedAt is when cash landed, if collected. CSV and Excel share the same column list.

Can I see Airbnb and Booking.com income in the Finance module? Short-term platform income (when configured) is reflected in the Finance module's Income tab and Transactions tab. See the Finance module for income tracking across all channels.

Properties & Listings​

Pair with other FAQ sections

Property wizard and calendar answers pair with Integrations & Distribution (channels and iCal), Operations (check-in/out pseudo rows), Bookings (Timeline overlap checks), Why does Multicalendar Date range still show units that are booked later? (click End date right after Start date), Does the Sales Overview free-unit list stay after I click a day? (Availability over time popover), Does picking a second listing type close the menu? (Select types stay-open), Does picking a second listing tag close the menu? (Select tags stay-open), and Does picking a second Created by teammate close the Manual Blocks menu? (Created by stay-open on Tools → Audit). Extra Charge hidden on a one-person unit: Why don't I see Extra Charge per Tenant on a studio?. Stale unit bookmarks: Why do I see Unit not found on a Listings link?. Exit fee on a property: How do I set an exit fee?.

How do I change the cleaning fee timing (Every Month vs. one-time)?​

The cleaning fee frequency defaults to Every Month during property creation and cannot be changed in the wizard. After creation, open the property in Listings, edit Contract Information, enable Cleaning Fee if needed, and choose Every Month, One-Time Fee at Booking Confirmation, or One-Time Fee at Move-in from the Frequency dropdown — see Payments tab — Cleaning fee frequency. You can override the mode on an individual booking under Contract Info → Cleaning Fees requirement; verify the Payment plan afterward, especially when invoiced cleaning rows already exist.

Listing JSON still publishes only the euro amount (cleaningFeeValue). Frequency is not on the marketplace pull — FAQ — Listing cleaningFeeValue is not one-time.

How do I set an exit fee on a property?​

Turn Exit fee on under Account Settings > Fees, then open the property in Listings, edit Contract Information, check Exit fee, and enter the € amount. New bookings copy that amount as a one-time line due on check-out. On an existing stay, override the euro amount on Bookings → Contract Info.

Listing JSON and partner POST /bookings do not include this fee — FAQ — Listing JSON has no exit fee.

Property Contract Information — confirmation/check-in payments, due date, cleaning fee, admin fee, and Exit fee checkbox

What is the difference between a Property and a Unit? A Property is a physical building or location. A Unit is an individual rentable space within that property. See Portfolio Hierarchy for more details.

Why can't I select an owner when creating a property? Owners must be registered in Settings > Owners before they appear in the property creation wizard. Add the owner there first.

How do I set the Exact Location pin on a property address?​

Open the property in Listings, edit Property Information, and use the map under Address. Start typing to open suggestions, pick one to fill street, postal and city, then drag the pin if the entrance is offset from the geocoded point. Update saves latitude/longitude with the structured address; Cancel discards an unsaved drag. Glossary: Exact Location.

Property edit — Address field with the Exact Location map pin (example Casa Gil I, Lisboa)

Property edit — Address suggestions open while typing (example Rua Augusto Gil, Lisboa)

Walkthrough: edit Property Information, review the Exact Location map under Address, open suggestions while typing, then Cancel.

Where do I set the owner ID document type for contracts? On Settings → Owners, open Add Owner or edit an existing card and set ID Document Type (Passport, ID, CC, …). That value fills {OwnerIdDocumentType} on Contract templates. Properties without an owner (or owners without a type) leave the token blank.

Account Settings — Add Owner with ID Document Type dropdown for contract token OwnerIdDocumentType

Why don’t I see commission on owner cards?​

The Commission chip and per-item table appear on Settings → Owners only when Enable Owner Reports is On under Preferences → Owner Reports. With the switch Off (the default), owner cards show identity and banking only — including in inline Edit — so you never configure commission for a settlement feature that is not enabled. Turn the preference On when you are ready to settle landlords, then set Owner payout, PM Charge, Fee, and VAT per item on each owner. Illustrated Off vs On states: Owners — When Owner Reports is Off (settings-owners-owner-report-hidden-view.png, settings-owners-owner-report-hidden-when-off-flow.mp4).

Account Settings — Owners card without fee figures while Owner Reports is Off

How do I invoice the owner management fee?​

On Finance → Owner Reports, open Reports for the landlord. Settlements with a non-zero Management fee and a blank Invoice cell expose Invoice the management fee (needs Approve payments). After the provider issues the document, the column shows the invoice number and the same control downloads that PDF. Invoiced settlements cannot be deleted — use a credit note on the invoice instead. Keep one VAT percentage on every charged item in Settings → Owners if you bill the fee from the report; mixed VAT rates belong at the invoicing provider or netted off Payouts. Pair with Owner report document for the settlement letterhead (finance-owner-reports-history-invoice-column.png, finance-owner-reports-invoice-fee-flow.mp4).

Finance Owner Reports — Generated reports modal with Invoice column before billing the fee

How do I ask for an owner settlement preview?​

Ask Genius or AI Chat — for example “What is the June 2026 owner settlement preview for Beatriz Pereira Lda? Quote total income, management fee, balance, occupancy, and outstanding debt.”

The assistant should:

  1. Use get-owner-report-preview — a live preview of Finance → Owner Reports for that owner and calendar month. It does not run Generate report and does not invoice the management fee.
  2. Quote total income, management fee, balance, occupancy, and outstanding debt. A €0 management fee means that owner’s commission is configured at 0%.
  3. Name the owner and month it counted.

Keep Analytics enabled on AI / MCP. Turn on Enable Owner Reports first. Reconcile on Finance → Owner Reports for the same owner and month. For settlements already generated, ask which reports went out — that uses list-owner-reports, not the live preview. To bill the fee after you generate, see How do I invoice the owner management fee?.

AI Assistant — June 2026 owner settlement preview for Beatriz Pereira Lda (income, management fee, balance, occupancy, outstanding debt)

Walkthrough: ask for the June 2026 owner settlement preview for Beatriz Pereira Lda, then read total income, management fee, balance, occupancy, and outstanding debt.
SymptomLikely causeFix
Figures match Finance Overview incomeQuoted portfolio income, not one owner’s settlementName the owner and month and say owner settlement preview
Management fee is €0That owner’s commission is 0%Check Fee on Settings → Owners
Reply matches a generated PDF instead of previewUsed already-generated reportsAsk for the preview; use list-owner-reports only after Generate report
Assistant cannot answer owner-settlement questionsAnalytics Off, or Owner Reports preference OffEnable Analytics on AI / MCP; turn Enable Owner Reports On

How do I customise the owner report PDF?​

With Owner Reports enabled, open Settings → Owners. The Owner report document card uses your branded built-in layout until you Upload template (Word .docx). Preview renders a sample PDF; Show available variables lists merge fields such as {OwnerName} and {#Lines}. Document language applies to the built-in layout only. Generate settlements on Finance → Owner Reports after the template looks right (settings-owners-owner-report-document-card.png, settings-owners-owner-report-document-variables.png).

Account Settings — Owners, Owner report document card with built-in branding

Which owner fields appear on generated contracts?​

Contract DOCX templates use single-brace owner tokens from the Contract → available variables catalogue — not Handlebars-style {{…}} names:

TokenOwner field (Settings → Owners)
{OwnerName}Display / legal name printed on the lease
{OwnerFiscalId}Tax / fiscal ID (NIF / CIF)
{OwnerFiscalAddress}Registered fiscal address
{OwnerEmail}Email
{OwnerPhone}Phone
{OwnerIdDocumentType}ID Document Type (Passport, ID, CC, …)

There is no {OwnerFullName} or {OwnerAddress} token — older drafts that used those labels stay blank (or print N/A if Empty variables is on). Double-brace {{…}} names are not tokens and print as written. Open available variables on the Contract tab and copy the exact names. Pair with Users — Owner visibility on documents and Owners — ID document type.

How does the landlord signature appear on contracts?​

Upload or draw your signature once on Settings → Contract → Landlord signature. Put {%LandlordSignature} in the Word template (remove any baked-in signature image). Draft PDFs leave the placeholder empty; when the tenant e-signs in the portal, Vivin inserts your stored image automatically — there is no separate landlord counter-sign step. Without a signature on file (or without the token), the tenant can still sign; the PDF is simply tenant-only.

Account Settings — Contract, Landlord signature card with a signature on file

What prints when a contract variable has no value?​

On Settings → Contract → Empty variables, Print N/A for empty variables starts off (blank placeholders). Turn it on so empty text variables print N/A on new, regenerated, and signed contracts. Signature image tokens stay blank either way. Operator guide: Contract — Empty variables (settings-contract-empty-variables.png, settings-contract-empty-variables-flow.mp4).

Account Settings — Contract — Empty variables card with Print N/A on

Why does my contract PDF look different from Word?​

Vivin converts .docx templates to PDF with LibreOffice on the server. If the template uses a font the conversion image cannot render with matching metrics (for example Aptos, or other brand/display faces), LibreOffice substitutes a wider fallback and the whole document re-flows — wraps mid-word, truncates headings, shifts page breaks — even though Word on your machine looks correct.

Fix: Restyle body and headings to Calibri, Arial, Cambria, or Times New Roman (Courier New for monospace), re-upload, and compare Preview on Settings → Contract or the eye control on Listings → Contract. Upload is never blocked for unsupported fonts. Full table: Contract — Fonts and PDF fidelity. Glossary: Contract PDF fonts.

Account Settings — Contract Template Preview modal for fonts fidelity check

How do I record a second tenant on a booking?​

Turn Second tenant On under Settings → Preferences → Booking Defaults. On a booking whose Tenants number is at least 2, open Contract Info and expand Second tenant (below Billing / Bank details). Unit capacity alone is not enough — the stay must be booked for two or more tenants. Fill identity fields only — billing, IBAN, and tenant category stay on the main tenant. Marketplace POST /bookings cannot send those identity fields — FAQ — Marketplace booking Second tenant. Contract tokens: Second tenant variables (settings-contract-variables-second-tenant.png). Switching the preference Off hides the section but keeps saved values (and still fills tokens until you clear the fields).

Account Settings — Preferences, Booking Defaults with Second tenant Off/On

Booking detail — Contract Info Second tenant accordion with co-occupant identity

Contract Template Variables modal — second tenant tokens for co-occupant identity

Walkthrough: expand Second tenant on Contract Info to review co-occupant identity fields.

How do I record a guarantor on a booking?​

Turn Guarantor On under Settings → Preferences → Booking Defaults. On any booking, open Contract Info and expand Guarantor (near Billing / Bank details / Second tenant). Unlike the second tenant, tenant count and unit capacity do not matter — a single-tenant stay can still record a guarantor. Fill the identity fields and, if the guarantee is for a set sum, Guarantor amount (€) — billing, IBAN, and tenant category stay on the main tenant. An empty amount renders blank on the contract, never 0. The switch is independent of Second tenant. Contract tokens: Guarantor variables ({GuarantorAmount}, {GuarantorAmountInTextEn|Pt|Es|It}, {%GuarantorSignature}, settings-contract-variables-guarantor.png, settings-contract-variables-guarantor-signature.png, settings-contract-guarantor-second-tenant-flow.mp4). Switching the preference Off hides the section but keeps saved values (and still fills tokens until you clear the fields). Marketplace POST /bookings cannot send those identity fields or Guarantor amount (€) — FAQ — Marketplace booking Guarantor.

Account Settings — Preferences, Booking Defaults with Guarantor Off/On

Booking detail — Contract Info Guarantor accordion with identity fields and Guarantor amount (€)

Contract Template Variables modal — guarantor tokens including GuarantorAmount and GuarantorAmountInTextEn|Pt|Es|It

Walkthrough: expand Guarantor on Contract Info to review identity fields and Guarantor amount (€).
Walkthrough: Settings → Contract → available variables — scroll second-tenant tokens into the guarantor block for Word templates.

How do contract duration tokens work?​

On Settings → Contract, open available variables and use {ContractDurationMonths} (plain number) or {ContractDurationInTextEn|Pt|Es|It} (words + figure, e.g. seis [6] meses). Duration is counted between the same dates as {StartDate} / {EndDate} (end inclusive; partial months dropped). See Contract duration.

Contract Template Variables modal — contract duration tokens for months number and language-suffixed words

How do surface area tokens work on contracts?​

Open Settings → Contract → available variables and use {ListingArea} / {PropertyArea} for the unit and building figures in m², or the language-suffixed {…AreaInTextEn|Pt|Es|It} tokens for words + bracketed figure (for example sessenta e dois [62] metros quadrados). Values come from the areas you set on Full integration — see Contract — Surface area variables and Booking engine details — Surface area. Unset areas print blank (not zero).

Contract Template Variables modal — PropertyArea and ListingArea figure and language-suffixed word tokens

Which date token should I put on a contract signature line?​

Use {ContractGenerationDate} when the printed day must be the day Vivin builds the PDF — especially renewals and any regenerate after the stay has started. Use {ContractSignDate} when you want “today” only before move-in and the booking start date afterward. Full comparison: Contract — Sign date vs generation date.

The same two tokens appear in Emails — Sign date vs generation date ({} Variables on Booking lifecycle emails and Communication Rules) when body copy needs a signature-style date.

Contract Template Variables modal — ContractSignDate and ContractGenerationDate listed together

Email body variables modal — ContractSignDate and ContractGenerationDate listed together

What do PropertyTotalRooms and PropertyRoomRange print?​

{PropertyTotalRooms} is the property's unit count (same figure as elsewhere in the app). {PropertyRoomRange} lists unit internal names, collapsing to a range only when names are contiguous and same-prefix (gaps, mixed prefixes, or repeated names stay as a naturally sorted list). Catalogue: Property rooms.

Contract Template Variables modal — property rooms tokens PropertyTotalRooms and PropertyRoomRange

Walkthrough: scroll the Contract variables catalogue from property rooms into contract duration tokens.

Why don't I see the Full integration pill on my property or unit in Listings? Operators with Listings edit access should see Setup, Full integration, and Photos pills in the property or unit edit sidebar. Setup holds operational fields; Full integration opens the rich property & listing (booking engine) details editor (marketplace copy, amenities, partner fields); Photos is the gallery-only layer. If pills are missing, confirm your role includes Listings edit permission in Users and roles. The older header Go to details shortcut was replaced by these pills — see Glossary — Property edit sidebar pills and Listings — Editing Properties.

Not sure which pill holds marketplace copy? Ask AI Chat “Where do I open the Full integration pill under Listings (property or unit edit sidebar — English pill label Full integration — for marketplace and booking-engine payload fields like Profile copy, Location, Amenities, bilingual descriptions — not the Setup pill for contract payments and channels, not Sales Channel Manager, and not Settings Integration capabilities) to edit partner marketplace descriptions and amenities?” — then open Listings → unit edit sidebar → Full integration (ai-chat-product-context-full-integration-reply.png, ai-chat-product-context-full-integration-flow.mp4). The assistant typically says Listings → Full integration. Guide: Property & listing details (booking engine).

AI Assistant — where to open the Full integration pill for partner marketplace descriptions and amenities

Walkthrough: ask AI Assistant where to open the Full integration pill for marketplace copy and amenities, then open Listings → unit edit sidebar → Full integration.

Need contract, payments, channels, or the unit calendar instead? Ask “Where do I open the Setup pill under Listings (property or unit edit sidebar — English pill label Setup — for operational fields like contract terms, payments, channels, and calendar — not the Full integration pill for marketplace Profile Location Amenities bilingual copy, not Sales Channel Manager, and not Settings Integration capabilities) to edit listing contract payments and channels?” — then open Listings → unit edit sidebar → Setup (ai-chat-product-context-setup-reply.png, ai-chat-product-context-setup-flow.mp4). The assistant typically says Listings → Setup. Guide: Listings — Editing Properties.

AI Assistant — where to open the Setup pill for listing contract, payments, and channels

Walkthrough: ask AI Assistant where to open the Setup pill for operational listing fields, then open Listings → unit edit sidebar → Setup.

Need the booking-engine gallery or cover photo? Ask “Where do I open the Photos pill under Listings (property or unit edit sidebar — English pill label Photos — for the booking-engine gallery, cover photo, and drag-to-reorder thumbnails — not the Setup pill for contract payments and channels, not the Full integration pill for marketplace Profile Location Amenities bilingual copy, and not Sales Channel Manager) to upload and reorder listing gallery and cover photo?” — then open Listings → unit edit sidebar → Photos (ai-chat-product-context-photos-reply.png, ai-chat-product-context-photos-flow.mp4). The assistant typically says Listings → Photos. Guide: Listings — Photos pill.

AI Assistant — where to open the Photos pill for booking-engine gallery, cover photo, and drag-to-reorder

Walkthrough: ask AI Assistant where to open the Photos pill for gallery and cover photo, then open Listings → unit edit sidebar → Photos.

Partners reading GET /listings do not receive this gallery — FAQ — Photos missing from listing JSON.

Can I bookmark or share a link straight into Property Details or Listing Details? Yes: use Listings URLs with ?propertyDetails=1 on the property edit path, or ?listingDetails=1 on a unit sidebar path. Patterns and examples are in Management Frontend Deep Links — Booking engine details layer.

Can I see prices directly on the availability calendar? Yes. Open Sales > Pricing (/sales/pricing): each month cell shows rent with bookings and blocks drawn behind it. You can also bulk-edit prices by selecting multiple cells. Legacy /sales/calendar bookmarks redirect to the same grid. For a time-on-axis view without month rent cells, use Sales > Multicalendar (/sales/multicalendar), Sales > Overview → Availability over time, or Bookings > Timeline. See Sales > Pricing tab and Sales > Multicalendar tab.

Does the Sales Overview free-unit list stay after I click a day?​

Yes. On Sales → Overview, click a Timeline day or a Daily / Fortnightly / Monthly bar. The popover lists those units with N free in the header. Scroll the list — the period and Close stay put. Click a unit to open it. Click another period for a new list. The popover stays on screen even near the right edge of the chart. A period with no vacant rooms says No free units in this period. Dashboard → Vacant Units and Bookings → Timeline are different surfaces.

Sales — Availability over time timeline with day-click popover listing free units on the selected date

Why doesn’t Vacant Units show a unit that only has a manual block?​

Pair with other FAQ subsections

By default (Default on Preferences → Booking Defaults), a manual block makes the unit not vacant — it disappears from Dashboard → Vacant Units, lowers Today, and is excluded from Sales → Available now / Multicalendar filters. Choose Include manual blocks when you treat operator holds as physical vacancy for leasing triage (maintenance buffers you still want on Vacant Units). OTA/iCal calendar blocks and booking-linked unavailabilities still occupy the unit everywhere. After you change the setting, refresh Dashboard and Sales before reconciling counts with Portfolio KPI review — Step 7.

How can I tell the difference between a booking and a manual block on the calendar?

How do I block several units at once without opening each Calendar?​

Use + Create New → Reservations → Unavailability. Pick one Property, multi-select Units, set Dates and an optional Reason, then Add unavailability. The holds are the same operator manual blocks as Add unavailability on a unit Calendar — they appear on Sales, Bookings → Timeline (when blocks are shown), and Tools → Audit. If any selected unit conflicts, Vivin creates nothing until you deselect conflicts or change dates. Requires Listings edit permission (greyed out otherwise). Per-unit shortcut: Listings — Adding Manual Unavailability. create-new-menu-panel-reservations-unavailability.png, create-new-unavailability-modal.png, create-new-unavailability-flow.mp4.

Create New — Reservations with Unavailability shortcut

Add Unavailability modal — property, unit chip, date range, and reason

Walkthrough: + Create New → Unavailability, fill property/unit/dates/reason, then Cancel (demo does not save).

How do I change the dates or reason on an existing manual block?​

Open Edit block (pencil) on the manual row in the unit Calendar list or on Tools → Audit → Manual Blocks. The Edit block modal lets you change Dates and Reason without deleting and recreating the hold — Vivin keeps the same block identity. Changing dates re-checks overlaps (bookings, other blocks, preparation days) before Save changes; you can save a reason-only change without touching the dates. Channel/integration rows do not show Edit block. audit-manual-blocks-edit-dates-action.png, listings-edit-unavailability-modal.png, listings-edit-unavailability-flow.mp4.

Audit — Manual Blocks — Edit block on an Owner stay row

Edit block — Owner stay dates and reason

How do I store a staff-only access code that tenants must never see?​

Pair with other FAQ subsections

On property Access Lockers (building and property doors) and on the unit Setup access fields, fill Internal code and Internal hint. These are manual, editable any time, and available at building, property, and unit levels. Vivin never shows them in the Tenant Portal and never includes them in tenant emails — keep tenant-facing codes in the normal access fields. listings-property-access-lockers-internal-code.png, listings-unit-access-lockers-internal-code.png, listings-internal-access-code-flow.mp4.

Property Access Lockers — Internal code and Internal hint

Unit Setup — Internal code and Internal hint beside unit door access

In Sales > Pricing, bookings and manual or channel unavailabilities use different colours and patterns so you can distinguish tenant stays from operator holds and short-term blocks. The Overview tab’s Availability over time charts and Bookings Timeline use the same underlying occupancy rules with aggregated or per-unit free windows. See Sales module.

Portfolio retirement: Archive property, Cancel booking, or Delete Booking?​

Pair with other FAQ subsections

Portfolio retirement pairs with Common Workflows — Cancel Booking vs Delete Booking (refund dialog vs soft-archive — workflows-cancel-booking-refund-modal-flow.mp4), Glossary — Portfolio retirement decisions hub, FAQ — Cancel Booking vs Delete Booking (reservation-level void vs cleanup), FAQ — Archive a property (building-level), FAQ — Delete Booking on integration reservation.

Before you pick Archive, Cancel booking, or Delete Booking, match your symptom:

SymptomLikely wrong controlFix
Need full ledger for a voided real stayDelete BookingUse Cancel booking — Cancelling a Booking
Manual receipts vanished after cleanupDelete Booking on a stay you still reconcileExpected — use Cancel when you need manual rows; see Manual payments after Delete Booking
Building should leave pickers but history staysDelete Booking on every reservationArchive property — Archive a property
Delete Booking blocked on OTA importPending provider platform in-paymentReject or assign first — Delete Booking on integration reservation

Three different controls retire inventory at different scopes. Use this table before you pick Archive, Cancel booking, or Delete Booking:

ActionScopeWhen to useVisibility after actionFinance → Transactions
Archive propertyWhole buildingPortfolio sunsetting; building leaves active pickersListings → Archived tab; hidden from default property pickersAll booking history and payment rows stay visible
Cancel bookingOne reservationReal stay voided under cancellation policyCanceled filter / statusAll payment types stay visible
Delete BookingOne reservationMistaken import, training row, duplicate createDrops from default Bookings lists (soft-archive)vIBAN / credit card stay; manual / provider platform hidden

Archive property does not remove bookings — step-by-step: How do I archive a property?. For reservation-level voids vs cleanup, see Cancel Booking vs Delete Booking (bookings-cancel-booking-modal-refund-types.png, bookings-list-canceled-tab.png, workflows-cancel-booking-refund-modal-flow.mp4). After Delete Booking, manual / provider platform rows may disappear from Finance → Transactions while vIBAN / credit card stay — FAQ — Manual payments after Delete Booking (finance-transactions-type-summary-cards.png). Clear provider platform in-payment before Delete Booking on integration reservations —.

Listings Archived tab — populated table with archived properties and Unarchive actions

Walkthrough: Listings → Portfolio property edit Archive (building scope) → Listings → Archived tab → Bookings → Upcoming Cancel booking refund dialog vs Delete Booking confirm (clip closes without confirming any action).

How do I archive a property (or bring one back)?​

Open the property in the Edit property sidebar on the Portfolio tab, scroll to the danger zone at the bottom, and choose Archive (the app confirms first; active bookings may trigger an extra warning). Archived properties move to the Archived tab at /listings/archived and disappear from default portfolio pickers until you Unarchive from that tab’s property sidebar. Units in an archived building no longer show as vacant or advertise an available-from date on Sales, Dashboard vacancy, or partner feeds. Archiving does not delete bookings or financial history. Legacy /properties/archived URLs redirect to the same tab. Archive property is building-level — do not confuse it with Delete Booking (reservation soft-archive) or Cancel booking (policy void with settlement). See Common Workflows — Archive property (building-level).

Listings — Archived property edit sidebar with Unarchive in the danger zone

Walkthrough: Listings → Portfolio property edit → danger zone Archive (confirm dialog) → Listings → Archived tab → archived property edit → Unarchive (confirm dialog) for go-live recovery.

Does Ready To Refund leave the booking on Fully paid?​

No. After you change the lifecycle on the booking Deposit tab — Ready To Refund, a dispute action, Mark refunded, Revert refund, or Transfer — All bookings already respects Filters → Deposit status. A Fully paid row leaves that slice. Switch the filter to Ready to refund (or Disputed / Refunded) to find it in the next queue. You do not reload.

This is the Bookings list. Finance → Deposits is a separate queue that already matches after Mark refunded (or a dispute / transfer / revert) — see Does Mark refunded on the booking leave the row on Finance Deposits?. Ready To Refund is the operations hand-off; it does not record the bank return. See Bookings — Deposit status filter updates while you work and Managing a Check-out — Step 5.

Bookings list — Other filters drawer, Booking section with Deposit status set to Ready to refund

Booking detail — Deposit tab Ready To Refund toggle in the security deposit card header (pre-refund)

Does uploading a signed contract send me back to the top of Bookings?​

No. Vivin writes the teal Contract check into the All bookings rows you already loaded. Scroll stays put, so a house search such as Casa Bolívia VIII still shows Quarto 5–7 after you close the sidebar. Regenerate clears the mark the same way. If Filters → Contract status is Signed, Not Signed or N/A, that filtered list reloads because the row may need to leave or join. The CT icon on Tenants table expand updates in place too. See Bookings — Contract mark stays on the list (bookings-list-contract-mark-keeps-scroll.png, tenants-table-ct-signed-check.png, bookings-list-contract-mark-keeps-scroll-flow.mp4).

Bookings list — Casa Bolívia VIII still in view after closing the booking sidebar

Tenants — table expand for Sagaras Jayasinghe, CT check with Signed on tooltip

Walkthrough: search Casa Bolivia VIII, open the signed stay, then close — the list stays on the same house.

Does saving a listing send me back to the top of the portfolio?​

No. Update on a property or unit sidebar writes that row into the list you already loaded. Scroll stays put, so you can keep working down Listings → Portfolio (for example a Casa search still showing Casa Dias after save, not jumping back to Casa Abel I). Changing search or filters still starts from the first matching batch. Archive and Delete still reload from the top because those actions remove the row.

Listings — after Update, Casa Dias still in view with Property saved successfully

Walkthrough: search Casa, scroll to Casa Dias, Update Property Information, then close — the list stays on Casa Dias.

Does picking a second listing type close the menu?​

No. Open Select types on Listings → Portfolio, tick the first type, then tick a second type. The menu stays open with checks on both. Search Conde first when you want a known building in view, then tick Double Room and Single Room. Dismiss the menu when the chips under the toolbar look right. Select tags is a different control — see Does picking a second listing tag close the menu?. See Listings — Select types stays open (listings-portfolio-select-types-stays-open.png, listings-portfolio-select-types-two-types.png, listings-portfolio-select-types-two-chips.png, listings-portfolio-select-types-stays-open-flow.mp4).

Listings — Select types still open with Double Room and Single Room both checked

Walkthrough: search Conde, open Select types, tick Double Room, then tick Single Room without closing the menu.

Does picking a second listing tag close the menu?​

No. Open Select tags on Listings → Portfolio, tick the first tag, then tick a second tag. The menu stays open with checks on both. Tick Alameda, then Saldanha (or another pair from Settings → Categories → Listing Categories). The portfolio shows buildings that have any of those tags — not only buildings tagged with both. Dismiss the menu when the chips under the toolbar look right. Other filters → Select categories is the same tag list and also stays open. On Sales → Multicalendar and Pricing, Select tags is a separate control — pick one tag, then open that menu again for a second neighbourhood. See Listings — Select tags stays open.

How do I include all bills on a unit with no cap?​

Open the unit in Listings, edit Rent pricing, tick All bills included (No cap), then Update. That unit receives a Covered allocation with Extra to charge € 0,00 on Utilities → Allocations — never a pending overage; other occupied rooms in the house still share the supplier bill. This is separate from the property Bills Included euro ceiling and from a per-booking Bills included override. Listing JSON then publishes billsIncluded: true and billsIncludedMaxValue: null — FAQ — Listing billsIncludedMaxValue is null. The same No cap checkbox is on + Create New → Unit step 2. See Glossary — All bills included.

Unit edit sidebar — Rent pricing with All bills included No (example unit AA-11-5D-R3)

Unit edit sidebar — Rent pricing edit with All bills included No cap ticked (example unit AA-11-5D-R3)

Walkthrough: unit Rent pricing — review All bills included, enter edit, tick No cap, then Cancel without saving.

Why don't I see Extra Charge per Tenant on a studio?​

Extra Charge per Tenant and Extra Deposit per Tenant appear on the unit Setup sidebar only when Capacity is greater than 1. A one-person unit has no extra occupant, so those fields stay hidden.

Raise Capacity to 2 or more to show Extra Charge again. Listing JSON for a capacity-1 unit publishes extraPricePerTenant: 0 even if a leftover amount is stored. This is not the Airbnb extra guest fee on Short term. Guide: Listings — Extra Charge per Tenant and Listings & Availability — Extra price per tenant.

Does a 12-month maximum stay mean unlimited?​

No. Maximum Stay Period of 12 is twelve months. 0 means no maximum.

Set 0 on the unit (Add Unit step 2 or unit Setup) when you do not want a cap. Account Min/Max Stay Defaults apply to new units only. If Maximum Stay is 0 and you raise Minimum Stay, the sidebar also raises Maximum Stay to match — set Maximum Stay back to 0 if you still want no cap.

This is not the Short term card’s nightly Min stay / Max stay. Listing JSON publishes the stored months (maxStayPeriod: 0 is no cap). Add Booking uses those monthly bounds; marketplace imports honour listing JSON — FAQ — Marketplace booking exceeded Capacity. Guide: Listings — Maximum stay 0 and Listings & Availability — Maximum stay.

How do I set nightly short-term prices on a unit?​

Pair with other FAQ subsections

Nightly Short term rates pair with Integrations & Distribution (Channex / iCal), Listings — Short term, and Sales — Channex allocate mode.

Not sure which card holds nightly rates? Ask AI Chat “Where do I open the Short term card under Listings (unit edit sidebar on the Setup pill — English card label Short term with lightning icon — for nightly pricing Price per night, Nightly calendar overrides, cleaning fees, min/max stay, Sale window, and Lead time — not the Sales Pricing monthly rent grid, not Sales Channel Manager, not the Full integration pill, and not monthly Rent Value) to set nightly short-term rates and stay rules on a unit?” — then open Listings → unit edit sidebar → Setup → Short term (ai-chat-product-context-short-term-reply.png, ai-chat-product-context-short-term-flow.mp4). The assistant typically says Listings → Setup → Short term.

AI Assistant — where to open the Short term card for nightly pricing and stay rules

Walkthrough: ask AI Assistant where to open the Short term card for nightly rates, then open Listings → unit edit sidebar → Setup → Short term.

Open the unit in Listings, scroll to the Short term card, and turn the header toggle On. That enables nightly pricing without changing monthly Rent Value or contract templates. The card groups Price per night, min/max stay, and Sale window for every connected channel, then Airbnb only settings for monthly discount, extra guest fee, both cleaning fees, and lead time — What is Airbnb only settings on Short term?. Use Edit to set those fields (Extra guest fee is fee € and after N guests in one split control — view mode shows e.g. 6 € · after 1 guests). Leave the guest threshold blank when you do not need a separate included-guest count. Open Nightly calendar to override individual nights (or reset a range to the base price) — Cancel / close without Apply leaves nightly prices unchanged. Confirming a save runs channel pricing checks (for example Airbnb bands); rejected values keep the form open with the API toast so you can fix them. After you save, watch the channel sync badges — What do Short term sync badges mean?. Compatible edits made directly on Airbnb (nightly price, monthly discount, extra-guest fee, cleaning fees) can also appear here after the next channel sweep without immediately re-pushing. When Airbnb is allocated, read-only Channel discounts (Airbnb) chips explain weekly / last-minute / early-bird rules that still apply on top of your nightly price — What are Channel discounts (Airbnb) on Short term?. Account-wide forward horizon still uses Short-term iCal Max Date. After a Channex OTA rail is connected, allocate the unit on Sales → Channels so prices push to the OTA listing. See Listings — Extra guest fee, Listings — Dual cleaning fees, and Glossary — Short term (nightly pricing).

Listings — unit Short term Extra guest fee view (6 € · after 1 guests)

Listings — unit Short term Edit with Extra guest fee split control

Walkthrough: Short term Extra guest fee (per night) split control — view, Edit, change the guest threshold, Cancel.

Listings — unit Short term view with Cleaning fee (per stay) 6 € and Cleaning fee (per short stay) 5 €

Listings — unit Short term Edit with dual cleaning fee fields

Walkthrough: Short term dual cleaning fees — view 6 € / 5 €, open Edit, then Cancel.

Listings — unit Short term card with dual cleaning fees and Synced with channel

Listings — Nightly price calendar modal for per-night overrides

Walkthrough: unit Short term → Edit → Nightly calendar → close without saving.

What is Airbnb only settings on Short term?​

On the unit Short term card, Airbnb only settings is the heading under the common nightly fields. Price per night, Min stay, Max stay, and Sale window push to every connected short-term channel (Airbnb and Booking.com). Monthly discount, Extra guest fee (per night), both cleaning fees, and Lead time apply on Airbnb only — Booking.com does not have matching fields. Open Edit to change either group; Cancel leaves the card unchanged. See Listings — Airbnb only settings (listings-unit-short-term-airbnb-only-settings.png, listings-unit-short-term-airbnb-only-settings-edit.png, listings-unit-short-term-airbnb-only-settings-flow.mp4).

Unit Short term card — common nightly fields above Airbnb only settings

Unit Short term Edit — Airbnb only settings inputs

Walkthrough: Short term Airbnb only settings in view, then Edit, then Cancel.

What are Channel discounts (Airbnb) on Short term?​

On an Airbnb-allocated unit, the Short term card can show Channel discounts (Airbnb) — read-only chips for Airbnb rules that adjust the nightly price on top of the rate Vivin pushes:

  • Weekly, Last minute, Early bird, and other length-of-stay chips — edit those rules on Airbnb; Vivin only mirrors them.
  • Monthly discount stays editable in Vivin under Airbnb only settings (and is not repeated as a chip).
  • Airbnb promotions (top-rated guests, custom promos) are not listed.

If the block is missing, the unit is not channel-connected yet, or Airbnb has no non-monthly rules to show. See Glossary — Short term (nightly pricing).

Short term — Channel discounts (Airbnb) chips on the unit Setup card

Walkthrough: scroll Short term to Channel discounts (Airbnb) and read the Weekly, Last minute, and Early bird chips.

What do Short term sync badges mean?​

On the unit Short term card, Vivin shows channel ARI status when Channex mapping is available:

  • Synced with channel — last push finished; Last sync shows when.
  • Sync pending — you saved Short term changes that still need to push; re-open the unit sidebar if the pill has not refreshed.
  • Sync error — the OTA rejected the push after Vivin’s first check; open channel logs from your Channex connection, fix the OTA-side values, then Edit → Update Short term again.

Short term card — Synced with channel and Last sync

Short term card — Sync pending after a pricing save

Short term card — Sync error after a rejected channel push

Walkthrough: Short term Synced with channel, then Sync pending after a pricing save.

Do Airbnb price edits appear on Short term in Vivin?​

Yes — for channel-connected units, compatible edits you make on Airbnb (nightly price, monthly discount, extra-guest fee / included guests, and both cleaning fees) can flow into the unit Short term card after the next channel sweep. Vivin updates those fields without flipping the badge to Sync pending, so the Airbnb change is not immediately overwritten by the next outbound push. Values that would break channel rules are skipped. Prefer editing in Vivin when you want a controlled push. See the before/after card shots and short clip on Listings — Airbnb → Vivin pricing import (listings-unit-short-term-airbnb-pricing-import-before.png, listings-unit-short-term-airbnb-pricing-import-after.png, listings-unit-short-term-airbnb-pricing-import-flow.mp4) and Glossary — Short term (nightly pricing).

Why do channel-manager bookings show Airbnb or Booking.com?​

When a stay arrives through the channel manager, Vivin labels it with the OTA the guest used. The PLATFORM column, Other filters → Source platform, Finance → Transactions → Select platforms, and the Communication chat pill all say Airbnb or Booking.com. There is no separate channel-manager chip to tick. Use Airbnb to find channel-manager Airbnb stays; use Booking.com for Booking.com stays. See Bookings — Platform badge and filters follow the real OTA (bookings-list-ota-real-ota-airbnb-search.png, bookings-other-filters-source-platform-real-ota.png, finance-transactions-select-platforms-real-ota.png, bookings-ota-real-ota-identity-flow.mp4).

Bookings Other filters — Source platform list with Airbnb and Booking.com, no channel-manager row

Why does an Airbnb booking hide rent and deposit on Contract Info?​

When a reservation arrives through the Channex channel manager (guest booked on Airbnb or another connected OTA), Contract Info → Booking information shows a dates-only card: stay dates, the Airbnb (OTA) platform badge, Provider platform payment, and booking categories. Mid-term fields such as Monthly rent, deposit, and admin/cleaning fees stay hidden because the guest already paid the OTA — Vivin does not recreate those mid-term charges on import. Stay dates are read-only in Vivin (amber note under the dates); change them on Airbnb and they sync back when the channel revision applies. The one Booking information edit that remains is Booking categories. Reconcile OTA money by reading Provider platform payment, Payment Plan, and Transactions — charge/discount actions stay locked. Read and reply to the OTA guest thread on Communication → Airbnb — How do I read and reply to Airbnb guest messages?. See Why can’t I edit an Airbnb booking in Vivin?, Glossary — Channel-manager (Airbnb) booking (bookings-detail-ota-contract-info-dates-only.png, bookings-detail-ota-airbnb-lockdown-dates-note.png, bookings-ota-airbnb-edit-lockdown-flow.mp4).

Booking detail — dates-only Contract Info for an Upcoming Airbnb channel-manager stay

Booking detail — Airbnb Booking information with amber date-change note and Provider platform payment

Why can’t I edit an Airbnb booking in Vivin?​

Channel-manager (Airbnb) stays are mirrors of the OTA reservation. Airbnb does not allow reservation changes from outside its platform, so Vivin greys out edit affordances (tenant pencil, stay dates, contract Preview / Regenerate / Resend / Upload Signed Contract, check-in emails, Cancel / Delete Booking, and + Charge / + Transaction / Apply Discount) with the tooltip This can't be edited on Airbnb bookings. Make date, cancel, or payout changes on Airbnb; Vivin applies the channel revision automatically when safe. You can still edit Booking categories, copy the virtual IBAN, and reply on Communication → Airbnb. Airbnb guests already agreed on the OTA — you do not upload a separate signed PDF on these rows. See Bookings — Edit lockdown on Airbnb bookings (bookings-detail-ota-airbnb-lockdown-upload-signed-locked.png, bookings-detail-ota-airbnb-lockdown-upload-signed-tooltip.png, bookings-ota-airbnb-upload-signed-lock-flow.mp4, bookings-detail-ota-airbnb-lockdown-dates-note.png, bookings-detail-ota-airbnb-lockdown-check-in-out.png, bookings-detail-ota-airbnb-lockdown-payment-plan.png, bookings-ota-airbnb-edit-lockdown-flow.mp4) and Glossary — Channel-manager (Airbnb) booking.

Booking detail — Contract with Upload Signed Contract locked on an Airbnb stay

Booking detail — Upload Signed Contract tooltip This can&#39;t be edited on Airbnb bookings.

Booking detail — Check-in &amp; Check-out with Cancel Booking and Delete Booking on an Airbnb stay

Booking detail — Payment Plan with locked + Charge / + Transaction / Apply Discount on an Airbnb stay

Walkthrough: Airbnb channel stay — Upload Signed Contract locked with the Airbnb tooltip.
Walkthrough: Airbnb channel stay — amber date note, locked check-in actions, then Payment Plan with locked charge controls.

Why does an Airbnb booking show Paid equal to the payout?​

Channel-manager (Airbnb) imports set Payment Plan so Paid to Date, Due to Date, and Contract Value equal the Provider platform payment (the OTA payout). Vivin also records a Provider Platform in-payment on Transactions and allocates it right away, so the stay usually opens as Paid. Confirm the match on the booking insights bar without opening Payment Plan. Later Airbnb date or payout changes are applied automatically when safe — What happens when an Airbnb guest changes dates or the payout?. Booking.com stays are different: the property collects the money, so you record it with + Transaction — Why does a Booking.com stay show one rent line due at check-in?. See Glossary — Channel-manager (Airbnb) booking (bookings-detail-ota-insights-bar-payout-matched-crop.png, bookings-detail-ota-payment-plan-payout-matched.png, bookings-ota-insights-bar-payout-matched-flow.mp4).

Booking detail insights bar — Paid to Date, Due to Date, and Contract Value all equal the Airbnb payout

Booking detail — Payment Plan Paid rent line matching the Airbnb Provider platform payment

Walkthrough: Airbnb channel stay — insights bar equal amounts, then Payment Plan Paid line.

Why does a Booking.com stay show one rent line due at check-in?​

On Booking.com channel-manager stays, the property collects the guest’s money — Vivin does not register an automatic payout. Payment Plan therefore shows one rent line due on check-in (Move-in Payment), even when the stay crosses a calendar month. + Transaction stays enabled so you can record the collection on Payment Plan, Contract Values, or Transactions; + Charge and Apply Discount stay locked (tooltip: Charges and discounts are locked for Booking.com bookings — the amounts follow Booking.com. Record here the payments you collect from the guest.). Airbnb stays keep + Transaction locked because that payout lands automatically. See Bookings — Booking.com stays: one rent line due at check-in (bookings-detail-ota-bookingcom-payment-plan-one-rent-line.png, bookings-detail-ota-bookingcom-transactions-record-payment.png, bookings-detail-ota-bookingcom-add-payment-modal.png, bookings-ota-bookingcom-collect-at-check-in-flow.mp4).

Booking detail — Payment Plan on a Booking.com stay: one Move-in Payment rent line due at check-in, + Transaction enabled

Walkthrough: Booking.com stay — one check-in rent line, then + Transaction / Add Payment (demo cancels without saving).

What happens when an Airbnb guest changes dates or the payout?​

When a guest changes dates or the host payout on Airbnb, Channex sends a modified revision. Vivin acknowledges it and updates the Vivin booking when the change is safe: Contract Info stay dates and Provider platform payment move with the channel, the Payment Plan and received payout regenerate, and Changelog records OTA modification applied automatically from the channel…. Open the stay afterward and confirm Paid to Date still matches the new payout. If Changelog shows a review warning instead (for example a date collision or invoiced rows), clear the blocker when you can and correct the stay on Airbnb — you cannot change dates with Change contract start/end date on these bookings (Why can’t I edit an Airbnb booking in Vivin?). See Bookings — When Airbnb changes dates or the payout (bookings-detail-ota-alteration-auto-applied-contract-info.png, bookings-detail-ota-alteration-auto-applied-timeline.png, bookings-ota-reservation-alteration-flow.mp4) and Glossary — Channel-manager (Airbnb) booking.

Booking Changelog — OTA modification applied automatically with date and payout before/after

Walkthrough: auto-applied Airbnb alteration — Contract Info dates/payout, insights Paid to Date, then Changelog.

Operations​

Pair with other FAQ sections

Ticket and turnover answers pair with Bookings (Timeline / Multicalendar overlap), Properties & Listings (maintenance automation on property), Payments & Finance (deposit settlement on check-out), Does picking a second ticket assignee close the menu? (Assignee stay-open), and Does picking a second responsible teammate close the Check-in & Check-out menu? (Responsible stay-open).

Why do Ticket status cards change when I turn Overdue on?​

On Operations → Tickets, the Overdue toolbar toggle (and Other filters → Overdue only) narrows both the table and the status summary cards. With Overdue on, Draft, Closed, and Cancelled read 0, and All matches the open overdue buckets (usually Unassigned + In progress). Click a non-zero card to stay inside that overdue slice — you should never open an empty table from a card that still shows a count.

Those overdue rows are tickets past their SLA due date (priority + SLA hours on Ticket Priorities). Tickets with None priority, or a priority with blank SLA hours, stay out of this slice even when their schedule date is in the past.

Clicking Overdue on Operations → Overview turns on that same filter — you land on Tickets with the overdue chip already active, and the Overview headline matches the Tickets overdue count. Open Tickets on Overview clears it. See Operations — Overdue KPI card (operations-overview-overdue-opens-tickets.png, operations-overview-overdue-card-flow.mp4).

Operations Tickets — status cards with Overdue on (Draft/Closed/Cancelled at 0)

Operations Tickets — opened from Overview Overdue with Clear all + Overdue chips

Walkthrough: turn Overdue on and watch status cards recount to the overdue slice.

How do I open the overdue ticket queue from Operations Overview?​

On Operations → Overview, click the Overdue KPI card. Vivin opens Tickets with the shared Overdue filter on — status cards show only the late slice, and the toolbar shows Overdue plus Clear all. The card counts the same tickets as that filter: open work past the SLA due date. Use Clear all (or the toolbar toggle) when you want the full queue again, or click Open Tickets on Overview to clear overdue from the portfolio summary.

Operations Overview — Open Tickets and Overdue KPI cards

Walkthrough: click Overview Overdue → Tickets with overdue on → Clear all.

Why is Overview Overdue lower than tickets that look late?​

Overdue on Operations → Overview counts only open tickets that have a priority and SLA hours, and whose computed due date (schedule or opened/created date plus those hours) is already past. It matches the Tickets Overdue filter and the late badges on those rows.

A ticket can look late and still stay off the card when:

  • Priority is None (use the None chip on status cards to find them).
  • That priority’s hours field on Ticket Priorities is blank.
  • The ticket is Closed or Cancelled.
  • The SLA window has not elapsed yet (a High ticket scheduled yesterday with a 48-hour SLA is not overdue this morning).

Set a priority with SLA hours when you want the clock to run. You cannot type a custom due date on the ticket — change Schedule, priority, or the account hours. See Operations — What counts as overdue (operations-overview-overdue-kpi-card.png, settings-preferences-ticket-priorities-card.png).

Operations Overview — Overdue KPI card in the portfolio summary

Account Settings — Preferences, Ticket Priorities card with default deadlines per priority level

Where is the Planning dispatch board?​

Pair with other FAQ subsections

Open Operations → Planning (or bookmark /operations/planning) after an administrator enables Planning (schedule board) on your role — the permission is off by default for every preset. The board is a people × day dispatch view: drag tickets from Unscheduled or To replan onto a person and time slot (or the hourless Tasks strip). On phones, Planning appears on the Operations bottom bar when permitted; drag-and-drop stays desktop-first. It is not the same as Schedule (Vivin-internal property timeline).

Use it during arrival and departure weeks after tickets exist — Managing a Check-in — Step 2 and Managing a Check-out — Step 2 — especially on same-day turnovers. Glossary: Planning (Operations).

Operations Planning — Daily Planning board with person columns and To replan panel

Walkthrough: open Operations → Planning, review the day board and To replan panel, open a ticket card, then close the sidebar.

How do I handle same-day turnovers?​

Pair with other FAQ subsections

Same-day check-out + check-in pairs with Glossary — Same-day turnover, Bookings — Creating a New Booking (Add Booking calendar adjacency — bookings-add-booking-same-day-turnover-flow.mp4), Common Workflows — Same-day turnover coordination (hub matrix + bookings-timeline-day-week-month-and-sidebar.mp4), Common Workflows — Check-in to check-out handoff, Managing a Check-in hub.

When a check-out and check-in fall on the same calendar day for the same unit, plan cleaning, inspection, key handover, and deposit timing together — see Glossary — Same-day turnover.

Creating the adjacent stay: On + Create New → Booking for one unit, the date calendar blocks the next stay’s arrival day while you pick check-in (that night is occupied), then enables the same day once you are picking check-out — so your departure can land on their arrival without a false “overlap” grey-out. bookings-add-booking-same-day-turnover-checkin-blocked.png, bookings-add-booking-same-day-turnover-checkout-enabled.png, bookings-add-booking-same-day-turnover-flow.mp4. When Book several units at once is on, that occupancy greying is off — clashes are named per room after Create. Extra nights after checkout are preparation days — tick Ignore unit preparation days only when the new stay should start in that buffer.

  1. Operations → Check-in & Check-out — Use Next 7 days (or Custom), switch Check-outs and Check-ins on the same unit (paste the unit internal name in Search so unit hits rank first). Responsible stays open while you add a second teammate — see Operations — Responsible stays open. Step-by-step: Managing a Check-out and Managing a Check-in.
  2. Operations → Tickets — Create or verify a turnover ticket with a due date before the incoming arrival; far-future schedule dates may show Draft until the date nears (Glossary — Draft ticket (display status)). Assignee stays open while you add a second teammate so two cleaners stay in one view — see Operations — Assignee stays open.
  3. Operations → Planning (when Planning (schedule board) is granted) — Drag the cleaning card onto a person and time for turnover morning (operations-planning-board-desktop.png, operations-planning-dispatch-flow.mp4). See Where is the Planning dispatch board?.
  4. Visual overlap — On one unit row, open Bookings → Timeline (/bookings/timeline) or Sales → Multicalendar (/sales/multicalendar), paste the unit in toolbar Search, and use Week or Month scale to see departure and arrival bars together (bookings-timeline-day-week-month-and-sidebar.mp4, sales-multicalendar-timeline-booking-click.mp4).
  5. Times and access — Confirm default check-in / check-out times in Settings → General Information and Access Lockers on the property before handover (Managing a Check-in — Step 4).

Add booking — next stay’s arrival day blocked while choosing check-in

Add booking — same arrival day enabled as check-out for a same-day turnover

Walkthrough: Add Booking date calendar — turnover day blocked for check-in, then enabled for check-out.

Why aren't automatic tickets being created for check-ins? Automatic ticket creation must be configured per property in Maintenances tab in the property editor (Listings). Verify the required fields and that the check-in automation toggle is enabled. If you opted out on Add booking for a one-off stay, see Can I skip automatic check-in/out tickets for one booking?.

Can I skip automatic check-in/out tickets for one booking?​

Yes — on Add booking, after you select property and unit, turn off Use unit contract rents and other contract details on the rent step. When the property has check-in or check-out auto-create on Maintenances tab, Vivin shows Create check-in ticket and/or Create check-out ticket. Both default on (same as the property). Uncheck the events you want to skip for this reservation only — the property rule stays unchanged for future bookings. Marketplace POST /bookings cannot send this skip — imported stays follow the property Maintenances tab — FAQ — Marketplace booking maintenance tickets. See Glossary — Per-booking maintenance ticket opt-out and Bookings — Creating a New Booking (bookings-add-booking-maintenance-ticket-opt-out.png).

Do automatic check-in/out tickets follow a Change unit move?​

Yes for active automatic tickets. When you Change unit on Contract Info, Vivin re-points that booking’s automatic check-in/out tickets to the new unit (and property) in the same save — so Operations → Tickets and property filters show the destination room, not the old one. Closed, cancelled, and duplicate tickets are left unchanged. Common-area automatic tickets (no unit on the row) keep a null listing and only refresh the property snapshot. Manually created tickets on the old unit are not moved — reassign or close them yourself if the work should follow the stay. See Bookings — Change unit and Operations — Tickets.

Change unit modal — destination unit selected with effects summary before Move booking

Operations Tickets — automatic Cleaning Check out rows with PROPERTY / UNIT codes for AA-11-5D

Walkthrough: Change unit picker and effects summary (Cancel — no Move). After a real move, confirm ticket rows show the new unit on Operations → Tickets.

Why does Create ticket say “Title is required”?​

Title is mandatory on Operations → Tickets → New ticket. If you leave it blank (even with Description and Property filled) and click Create ticket, Vivin shows a red Title is required message under the field and does not create a row. The same rule applies on POST /maintenance and on Landlord MCP / Genius create-ticket — empty or whitespace-only titles are rejected. Titles are also capped at 255 characters on create and update (POST / PUT /maintenance). Fill a short descriptive title, then submit. See Operations — Creating a Ticket (operations-add-ticket-title-required.png, operations-add-ticket-title-required-flow.mp4) and Landlord MCP — Extended account tools.

Add ticket modal — Title is required validation after Create ticket with an empty title

Walkthrough: open New ticket, leave Title blank, click Create ticket, then Cancel after the validation message.

How do I find a ticket by its ID?​

On Operations → Tickets, paste the full sequential ticket ID shown on the row (for example S259, T27) into the toolbar Search box. Use the prefix letter plus number when email or support references #S259; partial numeric-only queries can match unrelated rows. For property-level tickets (common-area work with no unit suffix on the row), search the building internal name or combine with an active Property filter chip. When the Vivin team cites a maintenance ticket ID in Using in-app support, use the same Search habit on Operations → Tickets — not the Vivin support inbox. See Operations — Tickets toolbar search and Glossary — Directory search ranking.

Why is a ticket category missing from the Tickets filter?​

Open Category on Operations → Tickets — the list is your Settings → Categories → Tickets catalog, not only types on the current page. Scroll or type in the menu (for example clean) when the catalog is long. Add the label on that Settings card if it is missing there. After you pick a type, the menu stays the full catalog (it does not shrink to the selected chip) and stays open so you can tick a second type. See Operations — Tickets toolbar category filter and Category stays open (operations-tickets-category-filter-open.png, operations-tickets-category-filter-search.png, operations-tickets-category-filter-selected.png, operations-tickets-category-filter-flow.mp4, operations-tickets-category-filter-stays-open.png, operations-tickets-category-filter-two-types.png, operations-tickets-category-filter-stays-open-flow.mp4).

Operations Tickets — Category menu scrolled through the Settings catalog

Operations Tickets — Category search for clean highlighting Cleaning types

Operations Tickets — Maintenance selected in the Category catalog with a Maintenance chip

Walkthrough: open Category, scroll the Settings catalog, search clean, and pick Maintenance — the check stays in the open menu.

Does picking a second ticket category close the menu?​

No. Open Category on Operations → Tickets, tick the first type, then tick a second type. The menu stays open with checks on both. Search hallway first when you want a known row in view, then tick Limpeza and Maintenance. Dismiss the menu when the chips under the toolbar look right. See Operations — Category stays open (operations-tickets-category-filter-stays-open.png, operations-tickets-category-filter-two-types.png, operations-tickets-category-filter-stays-open-flow.mp4).

Operations Tickets — Category menu still open with Limpeza and Maintenance both checked

Walkthrough: search hallway, open Category, tick Limpeza, then tick Maintenance without closing the menu.

Does picking a second ticket source close the menu?​

No. Open Source on Operations → Tickets, tick the first channel, then tick a second channel. The menu stays open with checks on both. Tick Tenant portal, then Chatbot, when you want inbound tenant reports from both surfaces. Add Tenant (all channels) in the same open list if you also want the generic tenant source — that option is not a shortcut that includes portal and chatbot. For turnover prep, tick Automatic - Check-in/out, then Internal Team. Dismiss the menu when the chips under the toolbar look right. See Operations — Source stays open and Does picking a second ticket assignee close the menu?.

Does picking a second ticket assignee close the menu?​

No. Open Assignee on Operations → Tickets, tick the first teammate, then tick a second teammate. The menu stays open with checks on both. The list shows tickets assigned to any of the people you picked. Ticking names here only filters the queue — it does not change who is assigned on a ticket. Filters → Responsible is one person at a time. Unassigned tickets stay on the Unassigned status card; they are not an option in this menu. Check-in & Check-out Responsible is a different control on a different tab. Dismiss the menu when the chips under the toolbar look right. See Operations — Assignee stays open.

Does picking a second responsible teammate close the Check-in & Check-out menu?​

No. Open Responsible on Operations → Check-in & Check-out, tick the first teammate, then tick a second teammate. The menu stays open with checks on both. Names come from people already assigned on a handover in this tab. Dismiss the menu when the chips under the toolbar look right. Filters → Assigned responsible (With / Without) is a different control: it answers whether a row has any assignee, not which teammate. Tickets toolbar Assignee is a different control on Operations → Tickets. See Operations — Responsible stays open.

Does the Tickets Schedule column show the hour?​

Yes. On Operations → Tickets, the Schedule column shows the date and, when a clock time is set, the hour next to it (for example 15:00). A day task with no hour stays date-only. Long-lead jobs sit under Draft — search Bolivia, open the Draft card, then read Schedule. Use Filters → Scheduled time (All / With / Without) when you want only timed rows or only hourless rows. Search hallway for a repair whose Schedule is a dash. See Operations — Schedule hour on the list (operations-tickets-schedule-hour.png, operations-tickets-other-filters-scheduled-time.png, operations-tickets-other-filters-scheduled-time-with.png, operations-tickets-schedule-hour-without-hallway.png, operations-tickets-schedule-hour-flow.mp4).

Operations Tickets — Draft list for Casa Bolívia VIII with Schedule hours such as 15:00 next to the date

Walkthrough: search Bolivia, open Draft, read hours on Schedule, then Filters → Scheduled time.

How do I find tickets that have an internal note?​

On Operations → Tickets, open Filters and use Internal note under Ticket filters (All / With / Without). With keeps only tickets that have resolution text; Without keeps blank notes. Empty or whitespace-only notes count as Without. Status cards and the Filters badge update with the list. Turn the Internal note column on under Personal Settings → Operations ticket columns when you want to read or sort notes in the table — click the column header to sort (blank notes last). The filter works even when the column stays hidden. This is not the booking Internal Notes chat thread. See Operations — Internal note filter and sort (operations-tickets-other-filters-internal-note.png, operations-tickets-other-filters-internal-note-with.png, operations-tickets-filters-badge-internal-note.png, operations-tickets-internal-note-column-sorted.png, operations-tickets-internal-note-filter-flow.mp4) and Glossary — Internal note filter (Operations Tickets).

Operations Tickets — Other filters Internal note All, With, and Without

Walkthrough: Filters → Internal note → With, then sort the Internal note column when it is visible.

How do I choose which columns I see on Operations Tickets?​

Open Account Settings → Personal Settings (/settings/personal) and scroll to Operations ticket columns. That list is your Tickets table — not an account-wide setting.

Turn a switch off to hide a column; drag the grip to reorder; click Save. ID and Status stay on (Always visible). Internal note is off until you turn it on. Reset to default restores the shipped layout immediately (you do not need Save after reset).

A source icon on the Tickets table is not in this list. Teammates keep their own columns. If a new column appears in the product and you already saved a custom list, turn it on here or reset.

See Operations — Customize your ticket columns and Personal Settings — Operations ticket columns.

How do I open a maintenance ticket from an assignment email?​

Assignment and unassigned-ticket emails for Operations maintenance work include a See ticket button. Click it to open /operations/tickets?ticket=<ticketId> — the Tickets tab with that ticket’s details sidebar already open. After the sidebar loads, the address bar settles on /operations/tickets. This is separate from Support ticket assigned emails (Vivin product help), which open the Help & Support surface instead. See Operations — Assignment email See ticket (operations-tickets-email-see-ticket-deep-link.png, operations-tickets-email-see-ticket-flow.mp4) and Deep Links — Ticket email deep link.

Operations Tickets — Ticket details sidebar opened from an email See ticket deep link

Walkthrough: follow a maintenance See ticket email link into Operations → Tickets with the details sidebar open.

How do I attach more than one receipt on Add Cash Flow?​

On Operations → Cash Flows → Add Cash Flow, use Files / Images:

  1. Click the dashed dropzone (or drag and drop a file onto it) to attach the first receipt.
  2. When the thumbnail appears, click the dropzone again — Tap to add more — or drop another file. Thumbnails stack; each has × to remove only that file.
  3. Finish the amount and property fields, then Create Cash Flow (or Cancel to discard the draft, including attachments).

You do not need to save the row before attaching files. After save, open the cash-flow detail sidebar to add more with Add file, or run AI Analysis when an invoice photo should fill supplier / amount fields. Screenshots and clip: operations-cashflows-add-modal-multi-attachments.png, operations-cashflows-add-modal-drag-active.png, operations-cashflows-add-attachments-flow.mp4.

Operations — Add Cash Flow with two receipt thumbnails and Tap to add more

Walkthrough: attach a first receipt on Add Cash Flow, add a second file, then cancel without saving.

Where is the Operations Schedule timeline? The Schedule tab (/operations/schedule) is a Vivin internal-only Gantt-style view of maintenance tickets by property. Customer property managers do not see it in the tab strip; opening the URL redirects to Operations overview. On desktop, use Today and the Day / Week zoom pills to scan ticket bars; click a bar to open Ticket details. The tab is not on the Operations bottom bar on phones — bookmark /operations/schedule or use a wider screen. See Operations — Schedule tab and Glossary — Schedule (Operations).

Why do I see “Booking.com Reservation” (or Airbnb) on Check-in & Check-out without a tenant booking? Short-term platforms sync through iCal calendar blocks, not full API booking imports. Those blocks appear as pseudo arrival or departure rows on Operations > Check-in & Check-out — often labelled with the platform name instead of a tenant. They block dates on your calendar but do not create a mid-term booking with payment plan, contract, or tenant portal access. Use Filters → Stay type → Mid-term when you only want long-stay handovers; use Short-term when reconciling channel turnover with Sales > Multicalendar. For contract and collections work, add a manual booking — see Processing a New Booking. See Glossary — Short-term iCal pseudo check-in/out.

Management Account Access​

Pair with other FAQ sections

Sign-in and session answers pair with Common Workflows — Lockout catch-up after password recovery (post-recovery backlog mesh), Help & Vivin support (when locked out vs product help), and Platform subscription (Vivin billing) (checkout after sign-in). Team invites during setup: Getting Started — Recommended Setup Sequence step 3 (Users) and Accessing the Platform (including Sign in with Google when shown).

How do I sign in with Google?​

When platform.vivin.app shows Sign in with Google above the OR divider, click it and choose the Google account whose email matches your Vivin Users invite (or existing management email). Vivin opens the same session as email/password — it does not create a new workspace from an unknown Google mailbox. Ask an admin to invite that exact address under Users first. Invited teammates can use Google even before they set a password. If the Google control is hidden, use email/password (or Forgot password?). Operator guide: Getting Started — Sign in with Google (getting-started-management-login-google-sign-in.png, getting-started-management-login-google-sign-in-flow.mp4).

Management sign-in — Sign in with Google above OR and email/password fields

Walkthrough: management sign-in with Sign in with Google, the OR divider, and email/password.

I forgot my management account password. How do I recover access? On the login page, click Forgot password? (wording may say Reset your password in some locales), enter your account email, then use the link sent to your inbox to open the tokenized reset page and set a new password. If Sign in with Google is available and your Google email matches your Users record, you can sign in that way instead. Follow the full workflow: Resetting a Management User Password. After Step 3, catch up operational backlog per Getting Started — Lockout catch-up after password recovery and Common Workflows — Lockout catch-up after password recovery (notification triage, month-end Pending receipt mesh, portal gates). If you are signed in but need product help instead, see Help & Vivin support below.

Symptom after password resetFix
Unread /notifications alertsNotification triage — Step 4
Pending receipts inflated debtCommon Workflows — Pending manual receipt approval
Landlord MCP / AI Chat 403Refresh JWT — Landlord MCP — How it connects
Setup still blocked mid-wizardRerun Onboarding — Step 7 after catch-up

Management sign-in — password reset entry point

The reset link says invalid or expired. What should I do? Request a new link at platform.vivin.app/reset-password, then complete the flow using the newest email link. See Troubleshooting: invalid or expired link/token.

The reset form says my email format is invalid. Enter a full address with @ and a domain (for example [email protected]). The request step validates format in the browser before sending — see Step 1.

I saw “Check your email” but no reset message arrived — could the request have failed? Yes. The request step always shows the same success screen for anti-enumeration, and it also shows that screen when the reset API returns a server or network error (for example HTTP 5xx). Wait, retry later, or ask an admin to use Resend password under Settings > Users & Roles. Full troubleshooting: Didn't receive the reset email.

Why was I signed out with “Your session expired”? The management app refreshes your access token automatically in the background. That message appears only when refresh can no longer continue — for example after Logout, a long idle period past the refresh lifetime, or revoked credentials. Sign in again with your email and password, or Sign in with Google when that control is shown. On shared devices, use Logout when you finish. See Getting Started — Staying signed in and logging out and Glossary — Management session.

Platform subscription (Vivin billing)​

Pair with other FAQ sections

Workspace billing answers pair with Management Account Access (sign-in before checkout), Why can’t I dismiss the Subscription checkout after I sign in? (card-required block), and Help & Vivin support (billing escalations).

Why does Subscription show “Action Required” and ask me to add a card? Your workspace is not fully subscribed yet (or the previous card was removed). Open Account Settings → System → Subscription at /settings/subscription, expand Add card, and complete the hosted checkout (on mobile, use Open checkout in a new tab). If Company Name, Email, Phone, or Fiscal ID is missing, Vivin asks you to complete those company details first (Save and continue) before the payment form — the same fields live on General Information. Do not close the page until checkout succeeds. Some accounts also see the same checkout modal shortly after sign-in on desktop. If you cannot dismiss that modal, see Why can’t I dismiss the Subscription checkout after I sign in?. See Subscription — Hosted checkout when action is required and Company details before card capture (settings-subscription-action-required-add-card.png, settings-subscription-company-details-form.png, settings-subscription-company-details-checkout-flow.mp4, settings-subscription-hosted-checkout-modal.png, settings-subscription-add-card-flow.mp4).

Why can’t I dismiss the Subscription checkout after I sign in?​

That prompt is a block, not a reminder. Some workspaces require a saved card before anyone can use the management app. The modal opens immediately on every screen size, shows A payment method is required to keep using VIVIN. Add your card to continue., and hides I'll do it later, Escape, and click-outside. Sign out stays available. On a phone, use Open checkout in a new tab. Finance, Sales, and Operations logins see the same block. Tenants and listing feeds keep working. The block clears a few seconds after a card is saved — including by a colleague — with no reload. Ask your Vivin contact if the account should not be in this mode. See Subscription — When a card is required.

How do I remove or replace the card on file for Vivin platform billing?​

On a subscribed workspace, open Account Settings → Subscription, choose Remove card on Payment method, then confirm Yes, remove. The tab returns to Add card so you can attach a different card. Removal stops future platform charges from using that method; already-approved or in-flight internal charge rows may still settle. See Subscription — Remove or replace the card on file (settings-subscription-payment-method-remove-card.png, settings-subscription-payment-method-remove-card-confirm.png, settings-subscription-remove-card-flow.mp4).

Account Settings — Subscription Payment method with Active subscription and Remove card

Account Settings — Subscription Payment method armed Yes, remove / Cancel confirm

Walkthrough: Remove card → read confirm → Cancel (or choose Yes, remove to clear the method).

Why does Billing History only show Upcoming when Subscription says Action Required?​

While the workspace still needs a card (Subscription – Action Required), Billing history stays on the tab but the landlord UI does not load past period rows — you typically see a single Upcoming estimate from usage tracking (subtitle may still say “past invoices”). After Add card succeeds and the account is subscribed again, refresh the tab to see Current / past months. Action Required teaching: settings-subscription-billing-history-action-required-upcoming-only.png, settings-subscription-billing-history-action-required-flow.mp4. Subscribed contrast: settings-subscription-billing-history-table.png, settings-subscription-billing-history-subscribed-overview.png, settings-subscription-billing-history-subscribed-flow.mp4. See Subscription — Billing History.

Help & Vivin support​

Pair with other FAQ sections

In-app ticket UX pairs with Management Account Access (password recovery before tickets), Directory list refresh hub (when a whole-module list needs Retry), and Navigation & shortcuts (export and directory refresh patterns). Drawer Status stay-open: Does picking a second Status close the Help & Support drawer menu?. After you send a reply: Do I also need to email support after I reply in Help & Support?. After Reopen: What status does a reopened support ticket use?. When a setup tab or wizard step still blocks progress after self-serve docs, confirm the matching Getting Started — Recommended Setup Sequence step and Account Settings — Recommended setup order row before you file a ticket — choose module Settings or Listings on the ticket.

When should I email support versus opening a ticket in the app? Use Get Help & Support (email to Vivin and the status page) for account-wide questions, billing or subscription changes, or when you do not need the conversation tied to a specific screen inside Vivin. Use in-app support when your role has the Support permission and you want a structured ticket thread, attachments (including videos up to 100 MB per file with inline playback in the thread), and history under Account Settings > Support (or the floating Help & Support control on desktop).

Why don't I see the floating Help & Support button or Support under Account Settings? The in-app experience is permission-gated. Only users whose role includes Support see the floating button and the Support area; administrators assign that capability in Users and roles (Support is only assignable to Administrator and Super administrator roles in the matrix). If you open a Support URL directly without permission, you see a standard access message.

Where do I open the full support ticket inbox? Sign in and go to platform.vivin.app/settings/support, or use Account / Settings in the sidebar and choose Support. Per-ticket URLs use /settings/support/:ticketId. See Using in-app support for filters, search, sort, scroll-to-load behaviour, New Ticket, and status labels.

Can I edit a Vivin support ticket after I submit it? On open tickets, use the ticket sidebar to fix the subject (pencil beside the title), change the module chip, or Edit the text of your own replies before Vivin posts a later message. You cannot change priority from the landlord inbox, edit Vivin’s messages, or edit messages on Closed tickets. See Editing open tickets.

How do search and sort work in the drawer versus the full inbox? Both surfaces share the same status and Opened by filters, the same sort options (Last activity, Creation date, Due date, Priority), and the same server-side search and sort (debounced search on subject, ticket number, and message text). Last activity is the last message in the thread (drawer preview + full-page Last Activity column), not a status or assignee change. Each loads tickets in batches of 20 and fetches the next batch when you scroll near the bottom. The full page shows Showing X of Y and End of list when every matching row is loaded; the drawer uses the same loading pattern in its scroll panel. Status tab counts come from a dedicated count API so badges stay accurate before you scroll through every ticket. Use the full inbox when you want the table layout and new ticket assignee default card. Changing search, sort, or filters reloads from the first batch on both surfaces. See Using in-app support — Last activity (settings-support-drawer-last-activity-preview.png, settings-support-last-activity-flow.mp4).

When does an open Vivin support ticket pick up a new reply? Opening a ticket loads the latest messages, so a Vivin reply that arrived while you were elsewhere is already in the thread. Keep the ticket open to see further replies without a full page reload. If you are scrolled up when a new message arrives, click the New message pill to jump to the latest. The drawer refresh control updates both the list and the open thread. See Using in-app support — Last activity.

Do I also need to email support after I reply in Help & Support?​

No. Send the message in the ticket sidebar (drawer or full inbox). That reply is enough — you do not also email the support mailbox. The ticket moves to Pending (Pending response on some badges), and the Vivin teammate assigned to the ticket is emailed (your workspace default assignee when the ticket has no assignee). If nobody is assigned and there is no default, the shared support inbox still receives the alert. The Support ticket assigned toggle under Personal Settings only covers assignment emails, not these reply emails. Guide: Using in-app support — Your reply emails the assigned teammate (settings-support-ticket-thread-fresh-open.png, settings-support-ticket-message-edit-hover.png).

Help &amp; Support — ticket thread after open, with the last message already loaded

What is the drawer Status multi-select (beside Active / Closed)? On desktop, the Help & Support drawer pairs Active and Closed view chips with a Status multi-select and a Sort by menu on the filter row. Status narrows active workflow states — tick any combination of Pending, Awaiting your reply, Ongoing analysis, or Backlog (leave all unticked for All statuses; Closed is only on the chip; Open is not on this menu). The menu stays open while you add a second state. Chip and Status compose together: Active + Status → [Pending] focuses on Vivin-pending rows (including after Reopen) while Closed tickets can still appear in the list until you switch to the Closed chip; Closed ignores Status. The full /settings/support inbox still uses All / Open / Closed chips only — after Reopen, use All, not Open. See Using in-app support — Help & Support drawer, Status stays open, Reopen lands on Pending, and Ticket status labels.

Does picking a second Status close the Help & Support drawer menu?​

No. Open Status on the Help & Support drawer, tick Pending, then tick Awaiting your reply. The menu stays open with checks on both. The list shows tickets in any of those states. Ticking statuses here only filters the list — it does not change a ticket’s badge. Sort by is a different menu. The full Support inbox still uses All / Open / Closed chips only. Operations Tickets status is a different control. Dismiss the menu when the trigger reads 2 selected. See Using in-app support — Status stays open.

What status does a reopened support ticket use?​

Pending (rows may read Pending response). Reopen on a Closed ticket continues the same thread — Vivin owes the next reply. Find it on the drawer Active chip with Status → Pending, or on the full inbox All chip. The full-page Open chip still means tickets whose badge is literally Open, so a reopened thread does not appear there. You do not need a New Ticket for the same issue. Guide: Using in-app support — Reopen lands on Pending.

Is “New Ticket” under + Create New how I contact Vivin? No. + Create New > Operations > New Ticket opens an internal operations ticket for work on your properties (maintenance, cleaning, inspections, tenant requests). Vivin support threads are filed from Help & Support, Account Settings > Support, or /settings/support when your role has the Support permission. See Create New Menu and Using in-app support.

I clicked Export but no file downloaded — what happened? Large directory Export actions assemble the full filtered result set server-side. When the request fails (timeout, network drop, or HTTP error), Vivin shows feedback instead of failing silently: Bookings shows a red alert under the toolbar; Tenants, Listings, Sales, and Audit show a toast. Those messages stay localized for operators (for example Failed to export.) — a stalled download does not surface a raw technical timeout string. An empty filtered list produces no file by design — that is not an error. See Glossary — Export and download issues.

A list page won't show my data — what should I do?​

Related answers

Whole-module refresh pairs with Directory list refresh hub, Common Workflows — Directory list refresh, and FAQ — Communication or Tickets won't open when only one booking tab is affected.

When a directory such as Bookings, Tenants, Listings, or Notifications shows a Retry control instead of rows, your portfolio is not empty — use Retry on the alert, or reload the page. A successful load with zero rows for your filters is the normal empty state: widen filters or clear search.

ScopeSurfacesWhat to do
Whole directoryBookings list, Tenants, Listings, Sales, Operations, NotificationsRetry on the alert, or reload the page
Bookings Timeline/bookings/timeline chartRetry on the chart panel (or switch to List)
Finance ledger tabsTransactions, Deposits, Contract Values, PayoutsReload the browser tab when summary cards show totals but the table looks empty
DashboardPost-login homeRetry on the banner — other widgets may already be fine
One booking tabCommunication, TicketsTab-scoped Refresh / Retry — Communication or Tickets won't open

More detail: Glossary — Directory list refresh · Directory list refresh hub.

Mark all as read did nothing — did it work? On /notifications and the Dashboard bell, a successful Mark all as read shows a success toast (All notifications marked as read.). If unread badges stay the same, wait a moment and use Mark all as read again once your connection is steady. See Glossary — Notification read actions.

Tenant Portal & Mobile App​

Pair with other FAQ sections

Portal access and payment answers pair with Settings & tenant communications (mandatory fields, lifecycle emails), How do tenants install the Tenant Portal on their phone? (Install plus your company name / iPhone Share → Add to Home Screen / Android Install App), What does Powered by VIVIN mean in the Tenant Portal? (computer sidebar and access-link Powered by VIVIN), How do tenants sign out of the Tenant Portal? (desktop Sign out / phone More), How do tenants open More on the Tenant Portal phone? (Documents / Utilities / Services / Surveys / Account), How do tenants change the Tenant Portal language? (globe + EN / PT / ES / IT), How do tenants see surveys to answer on portal Home? (You have N surveys to answer), How do tenants open payment details in the portal? (Payments timeline sidebar), How do tenants tell two payments in the same month apart? (Payments — due D titles), When does the portal TODAY divider show a calendar date? (Payments next payment due), Where does TODAY sit when every portal payment is already due? (Payments compact TODAY after the last card), How do tenants see how many days a portal payment is overdue? (Payments N days past due), How do tenants see a pending installment on the portal timeline? (Payments Pending), How do tenants see N days remaining on a pending installment? (Payments N days remaining), How do tenants see a paid installment on the portal timeline? (Payments Paid), How do tenants see a discounted installment on the portal timeline? (Payments struck-through original), How do tenants see Due in N days on the portal timeline? (Payments Due in N days), How do tenants see Upcoming on the portal timeline? (Payments Upcoming), How do tenants export payment history from the portal? (Payments → Export CSV), How do tenants search payment history in the portal? (Payments → Transaction History Search by type, description, date, amount…), How do tenants sort payment history in the portal? (Payments → Transaction History Date / Amount), How do tenants see which platform paid in the portal? (Payments Roomless / Airbnb name and logo), How do tenants see a cash payment in the portal? (Payments Cash), How do tenants see a bank transfer in the portal? (Payments Bank Transfer), How do tenants see a Viban payment in the portal? (Payments Viban), How do tenants see a credit card payment in the portal? (Payments Credit Card), How do tenants see an automatic adjustment in the portal? (Payments Automatic Adjustment), How do tenants see an overpayment return in the portal? (Payments Overpayment Return), How do tenants see a cancelation with refund in the portal? (Payments Cancelation With Refund), How do tenants open a receipt from portal payment history? (Payments → Receipt), How long do virtual IBAN payments take in the Tenant Portal? (Payments 3-business-days notice), How do tenants select an amount in the Tenant Portal? (Make payment radios), How do tenants copy the virtual IBAN in the Tenant Portal? (Make payment tap-to-copy), What does Payment Due Soon mean in the Tenant Portal? (Make payment Bank Transfer dialog), How do tenants leave Make payment without paying? (Make payment back chevron), How do tenants see files and invoices on portal Documents? (Documents preview / download / Hostkit new tab), How do tenants see the greeting and listing address on portal Home? (Home Hello, First name! and listing pin), Why can't a tenant sign the contract in the portal? (PDF + Your Details gates), How do tenants download the contract from the portal? (Contract N pages / contract.pdf), How do tenants unlock Sign on the Contract tab? (Read to the end to sign then Ready to sign), How do tenants enter first and last name? (portal First name / Last name), How do tenants enter a phone number? (portal Phone), How do tenants enter nationality? (portal Nationality), How do tenants enter a fiscal number and home address? (portal Fiscal number / Home address), How do tenants enter a billing address? (portal invoice street), How do tenants update locked bank or billing details? (amber lock banners), How do tenants know Account changes saved? (green Details updated successfully!), How do tenants see WiFi on portal Home? (Home WiFi card), How do tenants show and copy entry codes on portal Home? (Home Entry codes Show / Copy), How do tenants see lease dates and landlord contact on portal Home? (Home Lease information / Contact us), How do tenants see their balance on portal Home? (Home Overdue payment / Make payment), How do tenants open Transaction History from portal Home? (Home View transactions), How do tenants open requests and the contract from portal Home? (Home Open requests / Contract), How do tenants see Received on a portal request? (Home and History Received), Where do tenants see published FAQs? (Requests FAQ accordion), What's the difference between Report an Issue and General Inquiry? (Requests What do you need?), How do tenants see property utility bills in the portal? (Utilities Your Property Bills), How do tenants see daily utility consumption in the portal? (Utilities Daily Breakdown), How do tenants see ordered services in the portal? (Services Order History), How do tenants expand a long service description in the portal? (Services Show more / Show less), How do tenants confirm a service request in the portal? (Services Confirm request), How do tenants enter lease purpose? (portal Lease Purpose), How do tenants enter an IBAN? (portal IBAN), and Payments & Finance (operator-side receipts).

How do tenants access the Tenant Portal?​

The web Tenant Portal opens with an email form where tenants click Send access link. If a matching booking is found, Vivin emails a secure portal link. Direct links that include Booking ID (id) + Access Code (code, when configured) are also supported in onboarding/check-in communications. The portal does not use email/password login. After Sign out, tenants see this email form again — the booking code is unchanged. See Tenant Portal.

How do tenants sign out of the Tenant Portal?​

Pair with other FAQ subsections

Portal Sign out pairs with Tenant Portal — Sign out, Tenant Portal — More, How do tenants access the Tenant Portal?, and management Logout. Distinct from FAQ — How do tenants know Account changes saved? (Save changes stays signed in).

On a computer, tenants click Sign out in the top bar (logout icon plus the label). The name and avatar next to it open Account — they do not sign out.

On a phone, tenants open More in the bottom bar, then the last card: Sign out / End this session on this device. More also lists Documents, Utilities (when utilities are on and the booking is not refunded), Services (when services are on), Surveys (when surveys are available for the stay), and Account.

After Sign out, the portal shows the Send access link email form. The booking access code is not rotated — the same portal link still works. This is not management Logout. There is no Portal settings toggle to hide Sign out. Marketplace POST /bookings cannot send this control.

Tenant Portal — desktop Sign out control in the top bar

Tenant Portal — More page Sign out card with End this session on this device

Tenant Portal — email access-link form after Sign out

Walkthrough: computer Sign out → email form; phone More → Sign out → same form. Demo does not Send access link.

How do tenants open More on the Tenant Portal phone?​

On a phone, tenants tap More (menu icon) in the bottom bar. When many modules are on, swipe the bottom bar sideways until More appears. The page heading is More, subtitle Access additional features and settings.

Cards on More:

  • Documents — View your contracts and documents (always)
  • Utilities — View your utility usage and bills (when utilities are on and the booking is not refunded)
  • Services — Request additional services (when services are on)
  • Surveys — Share your feedback about your stay (when surveys are available; count badge while pending)
  • Account — Manage your account settings (always)
  • Sign out — End this session on this device (always)

Each card except Sign out opens that portal page. Home, Payments, Requests, and Contract stay in the bottom bar. On a computer, tenants use the left sidebar instead — More is phone-only. The language switcher stays in the top bar; it is not a More card. Marketplace POST /bookings cannot send More.

Tenant Portal — phone bottom bar with More selected

Tenant Portal — More page with Documents, Utilities, Services, Surveys, Account, and Sign out

Tenant Portal — Documents opened from More (empty state)

Walkthrough: phone More → read the cards → open Documents → return to More. Demo does not Sign out or Save.

How do tenants change the Tenant Portal language?​

On a computer, tenants open the globe + flag + two-letter code at the left of the top bar (the same bar as Sign out). The menu lists EN, PT, ES, and IT with flags. A checkmark marks the language in use.

On a phone, the same compact control sits in the top bar next to your logo. It is not on More.

The pick is stored on the tenant (every stay), so the next visit opens in that language. Until they pick, the portal uses Portal settings — Default language — Not set (English) opens in English. Operators can also set Portal language on the tenant sidebar (Account default or a specific language). This does not change your management Interface language.

There is no Portal settings hide toggle. Marketplace POST /bookings cannot send this control.

Tenant Portal — desktop language switcher (globe, UK flag, EN) in the top bar

Tenant Portal — language menu with EN selected, then PT, ES, and IT

Tenant Portal — phone compact language switcher (globe, flag, EN)

Short walkthrough: open the globe + EN control and read EN, PT, ES, and IT on computer and phone.

How do I set the Tenant Portal default language?​

Pair with other FAQ subsections

Default language pairs with Portal settings — Default language, How do tenants change the Tenant Portal language?, How do I set one tenant’s Portal language?, and Interface language. Distinct from the tenant globe control and from your workspace locale.

Open Settings → Tenant Portal → Portal settings. On the Tenant Portal card, pencil to edit, then set Default language to Not set (English), English, Português, Español, or Italiano. Save applies the account fallback for tenants who have not picked a language (and for tenants whose Portal language is Account default). Cancel discards the draft. This does not change management Interface language.

Portal settings — Default language (Español) on the Tenant Portal card

Portal settings — Default language menu (Not set (English), English, Português, Español, Italiano)

Walkthrough: pencil Portal settings, read Default language options, Cancel without Save.

How do I set one tenant’s Portal language?​

Pair with other FAQ subsections

Open Tenants, then open a tenant sidebar. In the header, Portal language is a compact select: Account default, English, Português, Español, or Italiano. Picking a language saves immediately (Portal language updated). Account default is not the same as English — it hands the tenant back to your account Default language. A tenant who later uses the portal language switcher keeps their own pick on every stay.

Tenants — sidebar header Portal language set to Account default

Tenants — Portal language menu (Account default, English, Português, Español, Italiano)

Walkthrough: open a tenant sidebar, read Portal language, open the menu, leave without changing the value.

How do tenants see surveys to answer on portal Home?​

When a satisfaction survey is still pending for the booking, Home shows a card under the greeting: You have a survey to answer (one) or You have N surveys to answer (two or more), the first pending survey’s name, and Answer. Answer opens Surveys without submitting. The desktop sidebar also shows Surveys with a count while anything is pending. On a phone, More lists a Surveys card (Share your feedback about your stay) with the same count badge while surveys are waiting. The prompt disappears when every survey for the stay is answered. There is no Portal settings hide toggle. Marketplace POST /bookings cannot send this prompt.

Tenant Portal — Home Surveys prompt You have 2 surveys to answer

Tenant Portal — Surveys Home prompt card with Answer

Tenant Portal — Surveys list after Answer

Tenant Portal — phone Home Surveys prompt

Short walkthrough: read the Home Surveys prompt, tap Answer, open the Surveys list. Demo does not submit answers.

How do tenants see files and invoices on portal Documents?​

Pair with other FAQ subsections

Tenants open Documents from the desktop sidebar, or from More on a phone. They see files you uploaded on Bookings → Files, plus Hostkit Invoice_<ref>.pdf tiles when Hostkit is your invoicing provider. PDF and images open in an in-portal preview with Download and Close (Escape also closes); Word and other types open in a new tab. Hostkit invoices always open in a new tab.

There is no Portal settings hide toggle. Turn Documents / invoices Off on the tenant’s category to hide the desktop sidebar item. Tenants cannot upload or delete. When nothing is shared yet, they see No Documents Yet. Marketplace POST /bookings cannot send these files.

Tenant Portal — Documents empty state No Documents Yet

Tenant Portal — Documents grid with PDF tiles and download

Tenant Portal — Documents PDF tile with type badge and download

Tenant Portal — Documents PDF preview with Download and Close

Short walkthrough: open Documents, tap a PDF tile, read Download and Close on the preview, then leave without uploading.

How do tenants open payment details in the portal?​

On Payments, tenants tap a Payment Timeline card (the same schedule as Home). A panel opens with the due date, title, status badge (Paid, Pending, Overdue, or Scheduled), Total, and Breakdown (Rent, Deposit, fees). The paid/remaining bar is hidden while the row is still Scheduled. Timeline chips can say Due in N days, Due DD MMM YYYY (when the date is 60+ days away), or Upcoming for the same unpaid row — the panel badge is Scheduled. Close with X, the dimmed backdrop, or Escape.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Tenants cannot edit amounts here. Marketplace POST /bookings cannot send this panel.

Tenant Portal — Payments Payment Timeline with Booking Confirmation details open

Tenant Portal — phone Booking Confirmation payment details with Paid, Total, and Breakdown

Short walkthrough: tap Booking Confirmation on Payment Timeline and read Paid, Total, and Breakdown.

How do tenants tell two payments in the same month apart?​

On Payments → Payment Timeline, a regular installment is titled MMM YYYY payment. When two or more regular installments share that calendar month, each card adds — due D — for example Aug 2026 payment — due 20 and Aug 2026 payment — due 23. A month with only one regular installment keeps the plain month title.

Booking Confirmation, Move-in Payment, and Deposit Refund keep those names and do not trigger the suffix for a regular installment in the same month. Opening payment details still shows the month title; the due date is in the panel header.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Payment Timeline with two August cards titled due 20 and due 23

Tenant Portal — Payment Timeline cards Aug 2026 payment — due 20 and due 23

Short walkthrough: scroll Payment Timeline to Aug 2026 payment — due 20 and due 23.

When does the portal TODAY divider show a calendar date?​

Pair with other FAQ subsections

Portal TODAY far-due date pairs with Tenant Portal — TODAY far-due date, Tenant Portal — Scheduled Due in N days, Tenant Portal — Payments tab, Tenant Portal — Balance card, Tenant Portal — Payment details, Bookings — Payment Plan, Tenant categories (VIVIN payments), How do tenants see Due in N days on the portal timeline?, How do tenants see Upcoming on the portal timeline?, Where does TODAY sit when every portal payment is already due?, and Why do the portal TODAY divider and “Due in N days” chip disagree?. Distinct from the near-term next payment in N days copy, from TODAY compact tick at the end (the same compact tick after the last card when nothing is still ahead), from Due in N days on a future card, from Upcoming on a Scheduled card whose due date is today or already past, and from Overdue N days past due on a late card.

When the next installment is 60 or more calendar days away, Payments → Payment Timeline does not show next payment in 534 days. The blue TODAY divider uses the calendar due date — for example 26 Aug · next payment due 11 Feb 2028. The next card’s chip matches: Due 11 Feb 2028 (not Due in N days).

Closer than 60 days, the divider still says next payment in N days, and the chip still says Due in N days — those two N values always match. When the next installment is 14 days or fewer, TODAY is a compact tick instead of a full divider row. When no installment is still in the future, that compact tick sits after the last card — see Where does TODAY sit when every portal payment is already due?.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — TODAY divider 26 Aug · next payment due 11 Feb 2028

Tenant Portal — Move-in Payment Pending chip Due 11 Feb 2028

Short walkthrough: open Payments and read TODAY next payment due 11 Feb 2028 plus the Due 11 Feb 2028 chip.

Where does TODAY sit when every portal payment is already due?​

Pair with other FAQ subsections

Portal TODAY compact tick at the end pairs with Tenant Portal — TODAY compact tick at the end, Tenant Portal — TODAY far-due date, Tenant Portal — Scheduled Due in N days, Tenant Portal — Upcoming, Tenant Portal — Overdue days past due, Tenant Portal — Payments tab, Tenant Portal — Balance card, Bookings — Payment Plan, Tenant categories (VIVIN payments), and When does the portal TODAY divider show a calendar date?. Distinct from the full TODAY divider (next payment in N days / next payment due DD MMM YYYY) and from the compact tick that sits above a near-term future card.

On Payments → Payment Timeline, TODAY is a compact blue tick — a small TODAY chip plus a short blue dash — not a full divider row. When no installment is still in the future, that tick sits after the last card. It does not say next payment in N days or next payment due DD MMM YYYY.

The same compact tick appears above the next card when that due date is 14 days or fewer away. This answer is the end-of-timeline case: every due date is today or already past (paid, Overdue, or Upcoming), so TODAY is the last mark on the line. For example the tick can sit under Aug 2026 payment after Deposit Refund Upcoming.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Aug 2026 payment then compact TODAY tick at the end of the line

Tenant Portal — compact TODAY chip and blue dash

Short walkthrough: open Payments and scroll Payment Timeline to the compact TODAY tick after the last card.

How do tenants see how many days a portal payment is overdue?​

On Payments → Payment Timeline, an unpaid installment whose due date is already in the past shows Overdue plus a red chip N days past due (or 1 day past due). For example Booking Confirmation can read 96 days past due with red Remaining next to Total. Counts use calendar days from start-of-day — the same helper as the TODAY far-due date. On the due date itself, the card still reads Overdue without a day-count chip.

This chip is per installment. Home Overdue payment is the booking total of every late row — not a second copy of this N.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Booking Confirmation card Overdue 96 days past due Remaining and Total

Tenant Portal — Overdue plus 96 days past due chip

Short walkthrough: open Payments and read Booking Confirmation Overdue 96 days past due.

How do tenants see a pending installment on the portal timeline?​

On Payments → Payment Timeline, an unpaid installment that is already in its due window — but not yet overdue — shows Pending with an amber dot and amber Remaining next to Total. When the due date is 60 or more calendar days away, the chip is Due DD MMM YYYY instead of N days remaining. For example Move-in Payment can read Pending with Due 11 Feb 2028, Remaining 1.921,24 €, and Total 5.081,74 €.

This status is per installment. Home Outstanding payment is the booking total of every due-window row. Overdue payment still wins on Home when any late row exists, so the headline can stay red while a later card is Pending. Tapping the card opens payment details, which repeats the Pending badge.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Move-in Payment card Pending Remaining 1.921,24 € and Total 5.081,74 €

Tenant Portal — Pending plus Due 11 Feb 2028 chip

Short walkthrough: open Payments and read Move-in Payment Pending with Due 11 Feb 2028 and Remaining 1.921,24 €.

How do tenants see N days remaining on a pending installment?​

On Payments → Payment Timeline, a Pending installment that is 1–59 calendar days from its due date shows amber N days remaining (or 1 day remaining) next to Pending, plus amber Remaining next to Total. For example Sep 2026 payment can read Pending with 4 days remaining, Remaining 459 €, and Total 459 €.

This chip is per installment. Home Overdue payment still wins when any late row exists, so the headline can stay red while a later card is Pending with N days remaining. Tapping the card opens payment details, which repeats the Pending badge. When the due date is 60 or more calendar days away, the same Pending card uses Due DD MMM YYYY instead.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Sep 2026 payment card Pending 4 days remaining Remaining 459 € and Total 459 €

Tenant Portal — Pending plus 4 days remaining chip

Short walkthrough: open Payments and read Sep 2026 payment Pending with 4 days remaining and Remaining 459 €.

How do tenants see a paid installment on the portal timeline?​

On Payments → Payment Timeline, a fully settled installment shows Paid with a green check. Total is green. There is no Remaining line. For example Booking Confirmation can read Paid with Total 2.100 €. Remaining only appears on Overdue or Pending cards that still have a balance.

This status is per installment. Home All payments up to date is the booking headline when nothing is overdue or outstanding — the same timeline can still list Paid cards above later Overdue rows. Tapping the card opens payment details, which repeats the Paid badge.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Booking Confirmation card Paid check and Total 2.100 €

Tenant Portal — Paid check, Paid label, and green Total 2.100 €

Short walkthrough: open Payments and read Booking Confirmation Paid with Total 2.100 €.

How do tenants see a discounted installment on the portal timeline?​

On Payments → Payment Timeline, when an installment’s Total is lower than the original scheduled amount, the card shows that original struck through under Total. Paid cards keep the green check and green Total. For example Dec 2025 payment can read Paid with Total 380 € and 760 € crossed out.

Tenants do not add or remove a discount from the portal. Operators apply the reduction on the booking Payment Plan / Discounts. This section does not open payment details.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Dec 2025 payment card Paid Total 380 € with 760 € struck through

Tenant Portal — Total 380 € with original 760 € struck through

Short walkthrough: open Payments and read Dec 2025 payment Paid with Total 380 € and 760 € struck through.

How do tenants see Due in N days on the portal timeline?​

On Payments → Payment Timeline, an unpaid installment that is not yet in the due window is Scheduled. The card shows a grey clock plus Due in N days (or Due in 1 day). For example Sep 2026 payment can read Due in 25 days with Total 1.089,18 €. Counts use calendar days from start-of-day — the same helper as the TODAY far-due date. When the next installment is 15–59 days away, the blue TODAY divider uses the same N (26 Aug · next payment in 25 days).

When the due date is 60 or more calendar days away, this chip switches to Due DD MMM YYYY. When the count is already 0 or fewer days, the chip says Upcoming. Payment details still shows Scheduled. There is no Remaining on a Scheduled card.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Sep 2026 payment card grey clock Due in 25 days and Total 1.089,18 €

Tenant Portal — grey clock Due in 25 days chip

Short walkthrough: open Payments and read Sep 2026 payment Due in 25 days with Total 1.089,18 €.

How do tenants see Upcoming on the portal timeline?​

On Payments → Payment Timeline, an unpaid installment that is still Scheduled shows a grey clock. While the due date is in the future, that clock reads Due in N days. When the count is 0 or fewer calendar days (today or already past) and the row has not become Pending or Overdue, the same clock reads Upcoming.

Unpaid rent usually becomes Pending or Overdue when the date arrives. Upcoming is the leftover Scheduled label. A live example is a Deposit Refund that is not yet paid out: the card stays Scheduled, shows Upcoming, and Total uses a minus (money back to the tenant) — for example Deposit Refund Upcoming Total -1.310 €. That refund does not become Overdue. Payment details still shows Scheduled. There is no Remaining on a Scheduled / Upcoming card.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Deposit Refund card grey clock Upcoming and Total -1.310 €

Tenant Portal — grey clock Upcoming chip

Short walkthrough: open Payments and read Deposit Refund Upcoming with Total -1.310 €.

How do tenants export payment history from the portal?​

On Payments → Transaction History, tenants click Export CSV (download icon). On a computer, it sits beside the heading; on a phone, it sits under Transaction History (above the receipts line and search). The file is named transaction-history-YYYY-MM-DD.csv and columns are Date, Description, Amount, and Total. Inbound amounts use a minus, matching the table. Search and sort apply; pagination does not — every matching row is included. The button shows when this booking has at least one history row.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Receipt PDFs stay on the Receipt column and on Documents — they are not CSV columns. Marketplace POST /bookings cannot send this download.

Tenant Portal — Transaction History Export CSV beside the heading

Tenant Portal — Transaction History search Bank before Export CSV

Tenant Portal — sample transaction-history CSV with Date Description Amount Total

Tenant Portal — phone Transaction History with Export CSV under the heading

Tenant Portal — phone Transaction History Export CSV, receipts line, and search

Tenant Portal — phone Transaction History Export CSV with search Bank

Walkthrough: open Payments → Transaction History, read Export CSV, type Bank in search, then review the spreadsheet columns Date / Description / Amount / Total. Demo does not complete a payment.
Phone walkthrough: open Payments → Transaction History, read Export CSV under the heading, type Bank in search, then review the spreadsheet columns. Demo does not complete a payment.

How do tenants search payment history in the portal?​

On Payments → Transaction History, tenants type in Search by type, description, date, amount... to keep matching rows. Empty search shows every row. The field matches what the table shows — a type label fragment (Bank, Cash, Credit, Automatic, Roomless), a description fragment, a short date (for example 17 Sep 2026), or a signed amount (-610 or 610). The list updates as they type. Changing the query returns to page 1 of the table (10 rows per page). Export CSV uses the same query — every matching row, not only the current page. Date / Amount sort still applies to whatever remains.

When nothing matches, the table reads No transactions match your search. Clear the field to see every row again. On a phone, the same search field sits above the Sort menu.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this search.

Tenant Portal — Payments Transaction History with empty search showing every row

Tenant Portal — Transaction History search with Bank keeping Bank Transfer rows

Tenant Portal — Transaction History search field with Bank

Tenant Portal — phone Transaction History search Bank with Date newest first

Short walkthrough: type Bank in Transaction History search — only Bank Transfer rows remain.

How do tenants sort payment history in the portal?​

On Payments → Transaction History, tenants sort by Date or Amount. The default is newest date first. On a computer, they click a column heading; the first click on Amount shows smallest amounts first, then click again to reverse. On a phone, a Sort menu lists newest date, oldest date, largest amount, and smallest amount. Changing sort (or typing in Search) returns to page 1 of the table. Total stays a chronological running total — it does not re-add in amount order.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Export CSV uses the same sort. Marketplace POST /bookings cannot send this sort.

Tenant Portal — Transaction History sorted by Date (newest first)

Tenant Portal — Transaction History sorted by Amount (low to high)

Tenant Portal — Transaction History Sort menu on a phone

Short walkthrough: clicking Amount sorts lowest first, then clicking Amount again reverses to highest first.

How do tenants page through payment history in the portal?​

On Payments → Transaction History, when more than 10 matching rows exist, a footer under the table pages the list. It reads Showing X–Y of Z and Page N of M, with previous / next chevrons. Each page holds 10 rows (for example Showing 1–10 of 18 Page 1 of 2, then Showing 11–18 of 18 Page 2 of 2). The footer is omitted when 10 or fewer rows match. Typing in Search or changing Date / Amount sort returns to page 1. Export CSV still includes every matching row, not only the page on screen. On a phone, the same footer sits under the history cards.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this pagination.

Tenant Portal — Payments Transaction History page 1 with Showing 1–10 of 18

Tenant Portal — Transaction History pagination Showing 1–10 of 18 and Page 1 of 2

Tenant Portal — Transaction History page 2 Showing 11–18 of 18

Tenant Portal — phone Transaction History pagination Showing 1–10 of 18

Short walkthrough: tap next on Transaction History to open page 2, then previous to return to page 1.

How do tenants see which platform paid in the portal?​

On Payments → Transaction History, a payment collected on a listing platform shows that platform’s name and logo — for example Roomless — not a generic Platform Payment label. Tenants can type that name in Search (for example Roomless or Airbnb) to keep only those rows. Export CSV uses the same name in Description.

When the booking has no known platform, the row stays Platform Payment and has no logo. Names include Airbnb, Booking.com, Housing Anywhere, Inlife, Roomless, Spotahome, Uniplaces, EduPortugal, Erasmus Life, and VIVIN.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Reconcile the euro amount on booking Contract Info — Provider platform payment. Marketplace POST /bookings cannot send this label.

Tenant Portal — Transaction History filtered to Roomless with platform name and logo

Tenant Portal — Transaction History Roomless row with platform logo

Short walkthrough: type Roomless on Transaction History and read the Roomless name and logo.

How do tenants see a cash payment in the portal?​

On Payments → Transaction History, a payment recorded as cash shows Cash as plain text — no platform logo. Tenants can type Cash in Search to keep only those rows. Export CSV uses Cash in Description.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Transaction History search Cash keeping the Cash row

Tenant Portal — Transaction History Cash row with amount and Total

Short walkthrough: type Cash on Transaction History and read the Cash label.

How do tenants see a bank transfer in the portal?​

On Payments → Transaction History, a payment recorded as a bank transfer shows Bank Transfer as plain text — no platform logo. Tenants can type Bank in Search to keep only those rows. Export CSV uses Bank Transfer in Description. This is the history label, not the Make payment → Bank Transfer (IBAN) checkout tile.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Transaction History search Bank keeping Bank Transfer rows

Tenant Portal — Transaction History Bank Transfer row with amount and Total

Short walkthrough: type Bank on Transaction History and read the Bank Transfer label.

How do tenants see a Viban payment in the portal?​

On Payments → Transaction History, a payment matched through the booking virtual IBAN shows Viban as plain text — no platform logo. Tenants can type Viban in Search to keep only those rows. Export CSV uses Viban in Description. This is the history label, not the Make payment → Bank Transfer (IBAN) checkout tile, and not the Virtual IBAN payments may take up to 3 business days notice under the table.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Transaction History search Viban keeping Viban rows

Tenant Portal — Transaction History Viban row with amount and Total

Short walkthrough: type Viban on Transaction History and read the Viban label.

How do tenants see a credit card payment in the portal?​

On Payments → Transaction History, a payment collected by card shows Credit Card as plain text — no platform logo. Tenants can type Credit in Search to keep only those rows. Export CSV uses Credit Card in Description. This is the history label, not the Make payment → Credit Card checkout tile.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Transaction History search Credit keeping the Credit Card row

Tenant Portal — Transaction History Credit Card row with amount and Total

Short walkthrough: type Credit on Transaction History and read the Credit Card label.

How do tenants see an automatic adjustment in the portal?​

On Payments → Transaction History, a system ledger adjustment shows Automatic Adjustment as plain text — no platform logo. The grey subtitle is the ledger note Automatic adjustment. Tenants can type Automatic in Search to keep only those rows. Export CSV uses Automatic Adjustment in Description. This is the history label, not the operator Adjustment row on booking Transactions.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Transaction History search Automatic keeping the Automatic Adjustment row

Tenant Portal — Transaction History Automatic Adjustment row with amount and Total

Short walkthrough: type Automatic on Transaction History and read the Automatic Adjustment label.

How do tenants see an overpayment return in the portal?​

On Payments → Transaction History, money returned because the tenant paid more than the plan required shows Overpayment Return as plain text — no platform logo. The grey subtitle is the ledger note Refund of tenant overpayments. Tenants can type Overpayment in Search to keep only those rows. Export CSV uses Overpayment Return in Description. This is the history label after you Mark refunded an overpayment (including no deposit), not the Deposit Refund card on Payment Timeline.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Transaction History search Overpayment keeping the Overpayment Return row

Tenant Portal — Transaction History Overpayment Return row with amount and Total

Short walkthrough: type Overpayment on Transaction History and read the Overpayment Return label.

How do tenants see a cancelation with refund in the portal?​

On Payments → Transaction History, money returned when you cancel With refund shows Cancelation With Refund as plain text — no platform logo. The grey subtitle is the ledger note Cancelation with refund. Tenants can type Cancelation in Search to keep only those rows. Export CSV uses Cancelation With Refund in Description. This is the history label after Cancel booking → With refund, not the Deposit Refund card on Payment Timeline, and not a Cancelation With Partial Refund row.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Transaction History search Cancelation keeping the Cancelation With Refund row

Tenant Portal — Transaction History Cancelation With Refund row with amount and Total

Short walkthrough: type Cancelation on Transaction History and read the Cancelation With Refund label.

How do tenants see a cancelation with partial refund in the portal?​

On Payments → Transaction History, money returned when you cancel Partial refund shows Cancelation With Partial Refund as plain text — no platform logo. The grey subtitle is the ledger note Cancelation with partial refund. Tenants can type Partial in Search to keep only those rows. Export CSV uses Cancelation With Partial Refund in Description. This is the history label after Cancel booking → Partial refund, not the Deposit Refund card on Payment Timeline, and not a Cancelation With Refund row.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Transaction History search Partial keeping the Cancelation With Partial Refund row

Tenant Portal — Transaction History Cancelation With Partial Refund row with amount and Total

Short walkthrough: type Partial on Transaction History and read the Cancelation With Partial Refund label.

How do tenants see a deposit refund in payment history?​

On Payments → Transaction History, money returned after operators Mark refunded shows Deposit Refund as plain text — no platform logo. The grey subtitle is the ledger note Refund of security deposit. Tenants can type Deposit in Search to keep only those rows. Export CSV uses Deposit Refund in Description. This is the history label after Mark refunded, not the Deposit Refund card on Payment Timeline, and not an Overpayment Return row.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Transaction History search Deposit keeping the Deposit Refund row

Tenant Portal — Transaction History Deposit Refund row with amount and Total

Short walkthrough: type Deposit on Transaction History and read the Deposit Refund label.

How do tenants see Others charges on portal payment details?​

Pair with other FAQ subsections

On Payments, tenants tap a Payment Timeline card (for example Move-in Payment). Under BREAKDOWN, extras on that installment list in the Others group: plain Others, or Others - Category when you set a category (for example Others - Penalty fee). Grey subtitles show the stored reason — late-payment penalties often read Penalty for late payment applied on DD/MM/YYYY. The timeline card keeps its normal title; tenants open details to read these lines.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this breakdown.

Tenant Portal — payment details drawer Others and Others - Penalty fee with late-payment reasons

Tenant Portal — phone payment details scrolled to Others breakdown lines

Short walkthrough: open Move-in Payment details and read Others / Others - Penalty fee under BREAKDOWN.

How do tenants see a manual card payment in the portal?​

On Payments → Transaction History, a card payment operators recorded by hand (desk terminal, POS, or any card machine that is not Tenant Portal checkout) shows Manual Card as plain text — no platform logo. Tenants can type Manual in Search to keep only those rows. Export CSV uses Manual Card in Description.

This is the history label after + Transaction → Card (recorded manually) is confirmed on the booking. It is not the Credit Card label from portal Make payment → Credit Card. There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this label.

Tenant Portal — Transaction History search Manual keeping the Manual Card row

Tenant Portal — Transaction History Manual Card row with amount and Total

Short walkthrough: type Manual on Transaction History and read the Manual Card label.

How do tenants open a receipt from portal payment history?​

On Payments → Transaction History, every row has a Receipt control. When no file is matched yet, the icon is grey and a line under the heading says Receipts are available in the Documents section when issued by your landlord. Tenants open issued invoices on Documents. When you attach Invoice / receipt files on Bookings → Files, inbound rows can show a downloadable icon.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this column.

Tenant Portal — Transaction History Receipt column grey icon and Documents fallback line

Tenant Portal — phone Transaction History with grey Receipt icon next to Total

Short walkthrough: Transaction History shows a grey Receipt icon and points tenants to Documents when no file is matched yet.

How long do virtual IBAN payments take in the Tenant Portal?​

When Payments → Transaction History has at least one row, tenants see a blue notice: Virtual IBAN payments may take up to 3 business days to be received and processed. The notice hides when history is empty, so an unused ledger does not look like a transfer is already on the way.

Make payment → Bank Transfer says matching can take up to 48 hours. Use the Payments notice when a tenant asks when a bank transfer will show on the ledger.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide the whole Payments tab. Marketplace POST /bookings cannot send this notice.

Tenant Portal — Payments Transaction History with the Virtual IBAN 3-business-days notice

Tenant Portal — Virtual IBAN payments may take up to 3 business days notice

Short walkthrough: scrolling Payments to the Virtual IBAN 3-business-days notice under Transaction History.

How do tenants select an amount in the Tenant Portal?​

On Make payment, tenants pick how much to pay before they pick Bank Transfer (IBAN) or Credit Card. Radios appear only when that slice is owed: Pay overdue debt, Pay next payment, Pay overdue + next payment (when both apply), and Pay entire balance. When both overdue and next apply, Pay overdue + next payment is selected first. The amount on the method tiles updates to match. Tenants cannot type a custom amount.

When nothing is due, the section shows You have nothing to pay right now. Your payments are up to date. and Select a payment method is hidden.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide Make payment. Marketplace POST /bookings cannot send this control.

Tenant Portal — Make payment Select an amount with Pay overdue + next payment selected

Tenant Portal — Select an amount radios with Pay overdue + next payment selected

Short walkthrough: tap each amount radio on Make payment so Bank Transfer and Credit Card follow the selected amount.

How do tenants copy the virtual IBAN in the Tenant Portal?​

On Make payment, tenants expand Bank Transfer (IBAN) and tap the formatted virtual IBAN. A green check replaces the grey copy icon for a couple of seconds — that copies the receiving number. If Payment Due Soon appears first, dismiss it, then tap the IBAN. Do not tap Credit Card unless they intend to start a card checkout.

This is not Account → Bank account → IBAN (deposit refunds). Make payment → Bank Transfer says matching can take up to 48 hours; Payments uses the 3-business-days notice when history exists.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide Make payment. Marketplace POST /bookings cannot send this control.

Tenant Portal — Make payment Bank Transfer with virtual IBAN copy icon

Tenant Portal — virtual IBAN copied with green check

Short walkthrough: expand Bank Transfer (IBAN) on Make payment and tap the virtual IBAN until the green check appears.

What does Payment Due Soon mean in the Tenant Portal?​

On Make payment, expanding Bank Transfer (IBAN) can open Payment Due Soon when an unpaid charge is due within about three days, or when a bank transfer (up to 48 hours) might not arrive before the due date. The dialog recommends Credit Card for instant confirmation and explains that IBAN transfers may take up to 48h.

Escape, X, or the backdrop dismisses it. Dismissing does not start a card checkout. Tenants who still want bank transfer then copy the virtual IBAN. Tenants who want card tap the Credit Card tile after dismiss.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide Make payment. Marketplace POST /bookings cannot send this control.

Tenant Portal — Make payment with Payment Due Soon over Bank Transfer

Tenant Portal — Payment Due Soon dialog recommending Credit Card for instant confirmation

Short walkthrough: expand Bank Transfer (IBAN) on Make payment, read Payment Due Soon, then dismiss with X.

How do tenants leave Make payment without paying?​

On Make payment, tenants tap the left chevron next to the Make payment heading to leave checkout without paying. Nothing is sent. From Home, they return to Home. From Payments, they return to Payments. A direct Make payment link returns to Home.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or leave the payment module unprovisioned) to hide Make payment. Marketplace POST /bookings cannot send this control.

Tenant Portal — Make payment with the back chevron next to the heading

Tenant Portal — Home after leaving Make payment

Short walkthrough: open Make payment from Home, tap the back chevron to return to Home, then open Make payment from Payments and return to Payments.

How do tenants see the greeting and listing address on portal Home?​

Signed-in portal Home always opens with Hello, First name! (first word of the tenant name) or Hello! when the name is empty. A map pin on the same row shows the listing street from Listings → Property Details → Address. When Floor is stored, Vivin appends it the same way as Lease information (3 → , Floor 3; a value that already includes “floor” is kept). The pin hides when the listing has no street; the greeting still shows.

The greeting and pin are not gated by the check-in email, and there is no Portal settings hide toggle. Tenants cannot edit the pin on Home — they change the greeting by saving First name on Account. Operators set Address and Floor on the listing. Marketplace POST /bookings must send firstName and lastName; it cannot send the listing pin.

Tenant Portal — Home greeting Hello, First name!

Tenant Portal — Home listing address with map pin and floor

Walkthrough: on portal Home, read Hello, First name! and the map-pin listing address. Demo does not Save.

Why can't a tenant make a payment online? Tenant online payments require your account payment module to be active (Vivin provisioning for pay-in flows — contact support if payments never appear for tenants) and the per-property Property Payments Active toggle in the Listings property editor — Payments tab. Both must be enabled for that property. These controls are not a single switch under Preferences; that page covers portal edit permissions and operational defaults instead.

Why is the Tenant Portal credit-card checkout blank or stuck on “Initializing payment…”? Card pay-in runs on Make payment (/paywall): Vivin creates a checkout session, then embeds the provider form in an iframe on the same page. A blank frame usually means the browser blocked embedding (privacy extension, strict tracking protection) or the session failed before a URL was returned — the portal shows a red error with Retry when create-checkout fails. Confirm the booking has an amount selected, Property Payments Active is on, and the tenant retries on desktop without frame-blocking extensions. Operators still see successful card in-payments on Finance → Transactions after webhook completion. See Tenant Portal — Make payment (Paywall) and Credit card (embedded checkout).

Why doesn't portal transaction search find a payment when I type the amount I see?​

Inbound payments and refunds on Payments → Transaction History show a leading minus (for example -5.400 €). Search matches that on-screen signed value — type -5.400 (or -5.400 €) to keep the matching inbound row. Searching only the positive digits (5.400 / 5400) also works. Labels match what the table shows (for example Bank Transfer, not the raw transfer enum). If nothing matches, clear the field or try a shorter fragment of the description or date.

Tenant Portal — Transaction History search -5.400 filtering to Bank Transfer -5.400 €

Why do the portal TODAY divider and “Due in N days” chip disagree?​

They should not. The TODAY divider and the next installment chip both use calendar days from start-of-day, so the number N matches regardless of the current clock time. When the next installment is 60 or more calendar days away, both sides switch to a calendar due date instead of N days (for example next payment due 11 Feb 2028 and Due 11 Feb 2028). If a tenant still sees a one-day mismatch on a near-term installment, ask them to hard-refresh — an older portal build computed chip days from a raw timestamp diff.

Tenant Portal — Payment Timeline TODAY and Due in N days sharing the same count

Why does the portal Contract card say “Since” a date before the booking was created?​

Pair with other FAQ subsections

Contract Since anchoring pairs with Tenant Portal — Signed-in home and Digital contract signing.

It should not. For unsigned bookings, Contract pending signature → Since uses bookingCreatedAt, not payments[0].dueDate. A backfilled Booking Confirmation due date earlier than creation no longer advances the “pending since” label into the past. Hard-refresh if an older portal build still prefers the payment due date.

Tenant Portal — Home Contract card Since date from bookingCreatedAt

Can tenants attach photos to maintenance requests? Yes. On Requests → New Request, Report an Issue requires at least one photo, video, or document. General Inquiry can be sent without files. See Tenant Portal — What do you need?.

Why don't tenants see entry codes on portal Home?​

The portal Home Entry codes card is gated separately from the check-in email. Tenants see the card only when all of the following are true:

CheckWhat to verify
Portal settings toggleAllow to see entry codes is On under Settings → Tenant Portal → Portal settings.
Check-in email sentcheckInEmailSentAt is set — via the lifecycle Check-in template (Last sent on Contract Info → Check-in & Check-out), Send / Resend Check-in email, or a Communication Rule with This is the check-in email on.
During the stayCurrent time is before checkout date + time. After checkout, the card hides even if codes were visible earlier.
Not canceledCanceled reservations do not show entry codes on Home.
Codes configuredBuilding, property, or unit codes exist on Listings → Access Lockers.

When tenants received access codes in check-in mail but Home has no card, the account toggle is usually Off or the check-in email has not sent yet — not missing Access Lockers data. If you send arrival mail only through Communication Rules and never enable This is the check-in email, the portal watermark never sets even though the tenant got the message — see Emails — This is the check-in email. Disabling Allow to see entry codes hides only the portal card; it does not remove codes from the check-in email body.

How do tenants show and copy entry codes on portal Home?​

When the Entry codes card is on Home, each filled level (Building access, Property access, Unit access) starts masked. Tenants tap Show code (eye) to read that row, then Hide code (slashed eye) to mask it again. Copy code (overlapping squares) copies the real value even while it is still masked; a green check confirms the copy. A Hint: line under the row, when present, stays visible. Empty levels are omitted.

Operators store tenant-facing codes and hints on Listings → Access Lockers. Internal code / Internal hint never appear on this card. Marketplace POST /bookings cannot send entry codes.

If the card is missing, use Why don't tenants see entry codes on portal Home? — this answer is the Show / Copy path when the card is already visible.

Tenant Portal — Home with the Entry codes card

Tenant Portal — Home Entry codes card with masked codes, Show and Copy

Tenant Portal — Entry codes card after Show code

Tenant Portal — Entry codes card after Copy code (green check)

Tenant Portal — phone Home Entry codes card

Short walkthrough: on Home, scroll to Entry codes, Show code, Copy code (green check), then Hide code.

How do tenants see WiFi on portal Home?​

After Vivin has sent the booking’s check-in email, portal Home can show a WiFi card with Network name and Password. The password stays masked until the tenant taps the eye (Show password). Copy password copies the real value even while it is masked; a green check confirms the copy. Hide password (slashed eye) masks it again. Operators store both fields on Listings → WiFi (property sidebar — not per unit). This is not Copy virtual IBAN on Make payment.

The card is hidden when the check-in email has not sent yet, or when both property fields are empty. There is no Portal settings toggle to hide WiFi. Unlike Entry codes, the card is not limited to the stay window and is not hidden for a canceled booking. The check-in email does not insert the password automatically — add WiFi to the property check-in body if tenants should also receive it by mail.

Marketplace POST /bookings cannot send WiFi. Partner listing JSON never includes the password.

Tenant Portal — Home with the WiFi card

Tenant Portal — Home WiFi card with network name and masked password

Tenant Portal — WiFi card after Show password

Tenant Portal — WiFi card after Copy password (green check)

Tenant Portal — phone Home WiFi card

Short walkthrough: on Home, scroll to WiFi, Show password, Copy password (green check), then Hide password.

How do tenants see cleaning days on portal Home?​

Pair with other FAQ subsections

Portal Cleaning pairs with Tenant Portal — Cleaning, Listings — Cleaning (common areas), Listings — Room cleaning days, and Glossary — Cleaning days. Distinct from How do tenants see WiFi on portal Home? / FAQ — Entry codes in the portal (different Home cards that wait for the check-in email) and from the monetary Cleaning fee on the payment plan.

Portal Home can show a Cleaning card with two rows:

RowWhere operators set it
Common areasProperty sidebar Cleaning → Common areas cleaning days (weekday chips)
Your roomUnit sidebar Room cleaning days (weekday chips under Unit Information)

The card appears when at least one of those schedules has days. Empty rows are omitted. Days use the tenant’s portal language. The card does not wait for the check-in email and has no Portal settings hide toggle — clear the Listings fields to hide it. Tenants cannot edit the schedule in the portal.

Marketplace POST /bookings cannot send cleaning days. Partner listing JSON does not publish them. This is not the euro Cleaning fee on Contract Information, and not Airbnb short-term cleaning amounts.

Tenant Portal — Home with the Cleaning card

Tenant Portal — Home Cleaning card with Common areas and Your room

Property edit sidebar — Cleaning section with common-area weekdays

Unit Setup — Room cleaning days weekday chips

Short walkthrough: property common-area days, unit room days, then the portal Home Cleaning card.

How do tenants see lease dates and landlord contact on portal Home?​

Signed-in portal Home always includes Lease information and Contact us after the balance and quick-action cards — they do not wait for the check-in email (unlike WiFi and Entry codes). There is no Portal settings toggle to hide them. Tenants cannot edit either card.

Lease information shows the property name and address from the listing (with Floor appended when stored). A Timeline appears when contract start, check-in, check-out, and contract end span at least two calendar days; same-day milestones merge (for example CONTRACT START & CHECK-IN). Dates use a four-digit year.

Contact us shows Company Name, company Address, and Website URL from General Information — not the listing address, and not values from marketplace POST /bookings. Empty fields are omitted. The website opens in a new tab. The same Website URL also wraps the account logo when a logo is uploaded.

Tenant Portal — Home Lease information and Contact us cards

Walkthrough: on portal Home, read Lease information and Contact us, focus the four-digit-year timeline, then the landlord Website on Contact us.

When General Information has both a Logo and a Website URL, tenants tap the company logo to open your site in a new browser tab. On a computer, the logo sits at the top of the left sidebar. On a phone, it sits at the left of the top bar. The portal stays open.

If Website URL is empty, the logo still shows and is not tappable. If there is no logo, tenants see Company Name as text instead. There is no Portal settings hide toggle. Marketplace POST /bookings cannot send the logo or website.

Tenant Portal — sidebar company logo (opens Website URL in a new tab)

Tenant Portal — phone header company logo (opens Website URL in a new tab)

Short walkthrough: read the company logo in the computer sidebar, then Contact us on Home, then the phone top-bar logo.

What does Powered by VIVIN mean in the Tenant Portal?​

Powered by VIVIN is Vivin’s attribution. Tenants tap it to open Vivin’s site in a new browser tab. On a computer, it sits at the bottom of the left sidebar, under the nav. On the email access-link screen (Send access link), the same mark sits under the form — computer and phone. After sign-in on a phone, it is not in the top bar or bottom tabs.

This is not your Website URL. The company logo and Home → Contact us open your site when Website URL is set. Powered by VIVIN always opens Vivin’s site. There is no Portal settings hide toggle. Marketplace POST /bookings cannot send this control.

Tenant Portal — computer sidebar Powered by VIVIN under the nav

Tenant Portal — email access-link screen with Powered by VIVIN under Send access link

Short walkthrough: read Powered by VIVIN at the bottom of the computer sidebar, then the same mark on the email access-link screen.

How do tenants see their balance on portal Home?​

Pair with other FAQ subsections

The Home balance card pairs with Tenant Portal — Balance card, Tenant Portal — Make payment (Paywall), Listings — Payments tab (Property Payments Active), Tenant categories (VIVIN payments), Handling a Late Payment — Step 1, and Notifications — Payment overdue alerts. Distinct from FAQ — How do tenants open requests and the contract from portal Home? and from the Why can't a tenant make a payment online? answer in this section.

Signed-in portal Home shows a balance card under the greeting when the booking’s payment module is on. It is not gated by the check-in email, and there is no Portal settings hide toggle.

Tenants may see Overdue payment (red, past due), Outstanding payment (amber, due window but not overdue), All payments up to date (green, schedule exists and nothing is owed), or No payments scheduled yet (neutral empty schedule). Next payment can appear beside that status. Make payment opens the paywall when online pay-in is available and something is payable. View transactions opens Payments → Transaction History, where tenants can Export CSV.

When the headline is more than €1 below the full amount due, the card explains: The amount above is your overdue balance. Your total amount due is …, which you can settle in full from the payment screen. (or outstanding balance). That sentence matches Pay entire balance on the paywall.

Hide the card by turning off VIVIN payments on the tenant category, by turning off Property Payments Active on the listing, or when the account payment module is not provisioned. Marketplace POST /bookings cannot send this card.

For the green success headline, see When does portal Home show All payments up to date?.

Tenant Portal — Home balance card with Overdue payment, Make payment, View transactions, and total amount due

Walkthrough: on portal Home, read the balance card, tap Make payment (do not complete a payment), then go back. Outline View transactions opens Payments → Transaction History.

When does portal Home show All payments up to date?​

Pair with other FAQ subsections

On portal Home, the balance card shows a green check and All payments up to date when the booking has a payment schedule and nothing is overdue or outstanding.

Make payment is usually hidden (nothing is payable). Outline View transactions still opens Payments → Transaction History. If the payment module is on but the schedule has no rows, tenants see No payments scheduled yet instead — not this green headline.

There is no Portal settings hide toggle. Marketplace POST /bookings cannot send this status. See Tenant Portal — All payments up to date.

Tenant Portal — balance card All payments up to date with green check and View transactions

Tenant Portal — Home balance card All payments up to date with View transactions

Tenant Portal — phone All payments up to date card with View transactions

Short walkthrough: on Home, read All payments up to date on the balance card.

How do tenants open Transaction History from portal Home?​

On portal Home, outline View transactions on the balance card opens Payments on Transaction History. The button is there whenever the booking’s payment module is on — including when Make payment is hidden.

There is no Portal settings hide toggle. Turn VIVIN payments Off on the tenant’s category (or turn off Property Payments Active on the listing) to hide Payments and this button. Marketplace POST /bookings cannot send this button. See Tenant Portal — View transactions (tenant-portal-home-view-transactions.png).

Tenant Portal — Home with View transactions on the overdue balance card

Tenant Portal — Home balance card with Make payment and View transactions

Tenant Portal — Transaction History heading, search, Export CSV, and ledger rows

Tenant Portal — Home View transactions on a phone

Short walkthrough: on Home, tap View transactions — Payments opens on Transaction History.

How do tenants open requests and the contract from portal Home?​

Signed-in portal Home shows Open requests next to Contract, after the balance card.

Open requests appears when Allow to create tickets is On. It lists up to three open tickets (Received, Pending, or In Progress). A row opens Requests → History on that ticket. View all N requests (when more than three are open) opens the full History list. Create request opens New Request. When nothing is open, tenants still see No open requests at the moment. and Create request. The card is not gated by the check-in email. Received is the same word on Home and History when nobody is assigned yet — see FAQ — How do tenants see Received on a portal request?.

Contract is always on Home. Unsigned stays with a PDF show Contract pending signature, a Since date (booking creation day), and Sign contract — that button opens the Contract tab; tenants then read to the end to unlock Sign. Signed stays show Contract signed, Signed on, and View contract. Generate the unsigned PDF on Contract Info so Sign contract appears. Tenants cannot upload a signed file from this card.

Tenant Portal — Home Open requests card with View all requests and Create request

Tenant Portal — Home Contract card pending signature with Sign contract

Walkthrough: on portal Home, read Open requests and Contract, open Requests → History, go back, then tap Create request (New Request). Do not submit a request. Do not finish Sign contract.

How do tenants see Received on a portal request?​

On portal Home → Open requests and Requests → Request History, an unassigned ticket reads Received on both screens. Home shows blue Received under the title (for example Maintenance follow-up). History shows a blue Received chip next to the ticket id (for example #T31).

That word means you already have the request and nobody is assigned yet. Open requests also lists Pending and In Progress. Closed work (Resolved, Cancelled, Duplicate) stays on History. On Operations → Tickets, the matching value for Received is Unassigned — tenants never see Unassigned in the portal.

There is no Portal settings hide toggle for these labels. Turn Allow to create tickets Off (or turn tickets off on the tenant’s category) to hide Requests and Open requests. Marketplace POST /bookings cannot send this label. See Tenant Portal — Received status (tenant-portal-requests-received-status-home-card.png, tenant-portal-requests-received-status-history.png, tenant-portal-requests-received-status-flow.mp4).

Tenant Portal — Home Open requests with Maintenance follow-up Received

Tenant Portal — Request History chip Received on Maintenance follow-up

Short walkthrough: Home Open requests Received, then the same Received chip on Request History.

Where do tenants see published FAQs?​

Published catalogue answers appear on portal Requests (heading Maintenance & Support), in an FAQ card under New Request and History. Tenants tap a question to read the answer. Opening one question closes the previous. Drafts do not appear. When nothing is published, the card is omitted.

There is no Portal settings hide toggle for FAQ. Turn Allow to create tickets Off (or turn tickets off on the tenant’s category) to hide Requests — and the accordion with it. Marketplace POST /bookings cannot send these answers. See Tenant Portal — FAQ accordion (tenant-portal-requests-faq-accordion.png, tenant-portal-requests-faq-accordion-open.png, tenant-portal-requests-faq-accordion-flow.mp4).

Tenant Portal — Requests FAQ accordion with published questions collapsed

Tenant Portal — Requests FAQ accordion with a check-out question expanded

Short walkthrough: expanding a second FAQ question collapses the first.

What's the difference between Report an Issue and General Inquiry?​

On portal Requests (Maintenance & Support), New Request starts with What do you need? — Report an Issue or General Inquiry. The rest of the form appears after that choice.

Report an Issue is for maintenance, broken items, and hygiene. It adds Where is the issue? (Common Area or My Room) and requires at least one photo, video, or document. General Inquiry is for rent, contract, and similar questions: no location tiles, and files are optional.

Both paths still create an Operations ticket. Report an Issue uses Common Area or Room from the location tiles. General Inquiry has no Inquiry category — those tickets appear as Common Area. There is no Portal settings toggle for the two tiles; Allow to create tickets Off hides Requests (and this form) entirely. Marketplace POST /bookings cannot send this choice. See Tenant Portal — What do you need? (tenant-portal-requests-new-request-form.png, tenant-portal-requests-new-request-report-an-issue.png, tenant-portal-requests-new-request-general-inquiry.png, tenant-portal-requests-what-do-you-need-flow.mp4).

Tenant Portal — New Request What do you need tiles

Tenant Portal — Report an Issue with location tiles and required files

Tenant Portal — General Inquiry without location tiles

How do tenants see daily utility consumption in the portal?​

On portal Utilities, the first card is Daily Breakdown. Tenants see Property (when more than one building is mapped) and Unit. Their listing is underlined with (you). Today has a red outline. Occupied days can show a euro amount; hover a cell for the date and amount. Scroll sideways across months.

There is no separate hide toggle for this card. Turn Allow to see utilities Off (or turn utilities off on the tenant’s category) to hide Utilities. Refunded bookings do not show the tab. Tenants cannot edit the grid. Marketplace POST /bookings cannot send it. See Tenant Portal — Daily Breakdown (tenant-portal-utilities-daily-breakdown.png, tenant-portal-utilities-daily-breakdown-tooltip.png, tenant-portal-utilities-daily-breakdown-flow.mp4).

Tenant Portal — Daily Breakdown grid with Property, Unit, (you) listing, euro amounts, and Total

Tenant Portal — Daily Breakdown hover tooltip with the calendar date and euro amount

How do tenants see property utility bills in the portal?​

On portal Utilities, the second card is Your Property Bills. Tenants see Type, Provider, Bill, Period, Amount, and a Total. An eye opens Bill Preview when a file is stored; a dash means there is no file. Escape, X, or a click outside closes the preview.

There is no separate hide toggle for this card. Turn Allow to see utilities Off (or turn utilities off on the tenant’s category) to hide Utilities. Refunded bookings do not show the tab. Tenants cannot upload or delete these bills. Marketplace POST /bookings cannot send them. See Tenant Portal — Your Property Bills (tenant-portal-utilities-property-bills.png, tenant-portal-utilities-property-bills-card.png, tenant-portal-utilities-bill-preview.png, tenant-portal-utilities-bill-preview-header.png; clip: tenant-portal-utilities-property-bills-flow.mp4).

Tenant Portal — Your Property Bills with Type, Provider, Bill, Period, Amount, Total, and Preview

Tenant Portal — Your Property Bills card with Type, Provider, Bill, Period, Amount, Total, and eye Preview

Tenant Portal — Bill Preview lightbox with Close

Walkthrough: open Utilities, read Your Property Bills, open Bill Preview with the eye, then Close or Escape.

How do tenants see ordered services in the portal?​

On portal Services, confirmed add-ons appear under Order History. Monthly rows show a green Active badge and a /mo price; one-time rows show Nx ordered and a Total. The catalogue card for a monthly already on the stay shows Active. Tenants cannot cancel an Active monthly from this list.

Pending approval-gated requests sit in Awaiting approval (with Cancel) until you Approve & charge or Reject. Rejected and cancelled rows move to Request history — not Requests → History (that tab is maintenance tickets).

There is no separate hide toggle for these lists. Turn Allow to see services Off (or turn services off on the tenant’s category) to hide Services. Marketplace POST /bookings cannot send these rows. See Tenant Portal — Order History (tenant-portal-services-order-history.png).

Tenant Portal — Services with Booking Premium Active on the card and in Order History

How do tenants expand a long service description in the portal?​

On portal Services, a catalogue card whose Description overflows about two lines shows Show more. Tenants tap it to read the rest on that card, then Show less to collapse it. Cards whose copy already fits have no control.

Confirm request shows the full description (scroll the panel). It does not use Show more. See How do tenants confirm a service request in the portal?.

There is no separate hide toggle for this control. Turn Allow to see services Off (or turn services off on the tenant’s category) to hide Services. Marketplace POST /bookings cannot send this control. See Tenant Portal — Show more (tenant-portal-services-show-more.png).

Tenant Portal — Services catalogue with Show more on a long description

Tenant Portal — catalogue card with a two-line preview and Show more

Tenant Portal — catalogue card with the full description and Show less

Tenant Portal — Services catalogue on a phone with Show more

Short walkthrough: on Services, tap Show more on a long description, then Show less.

How do tenants confirm a service request in the portal?​

On portal Services, Request Service opens Confirm request. The panel shows the full Description (no Show more), a Monthly or One-time badge, the unit price, and Total. Teal Confirm request submits the order; Cancel or X closes the panel with no charge.

Standard catalogue rows can bill immediately after confirm. Rows that Require approval appear under Awaiting approval until you decide. Opening the panel does not charge the booking.

There is no separate hide toggle for this panel. Turn Allow to see services Off (or turn services off on the tenant’s category) to hide Services. Marketplace POST /bookings cannot send this panel. See Tenant Portal — Confirm request (tenant-portal-services-confirm-request.png).

Tenant Portal — Services catalogue with Portable heater and Request Service

Tenant Portal — Confirm request panel with full description, Monthly badge, Total, and Cancel

Tenant Portal — Confirm request on a phone

Short walkthrough: on Services, tap Request Service, read Confirm request, then Cancel.

How do tenants enter an IBAN?​

On portal Account → Bank account, tenants fill IBAN next to Account type. The card subtitle is Used to process your deposit refund at the end of the lease. Placeholder e.g. PT50 0002 0123 1234 5678 9015 4. That is the tenant’s personal account for deposit refunds — not the booking virtual IBAN for rent.

The field may stay empty unless Require IBAN is On under Portal settings. Then Sign contract → Your Details shows an asterisk on IBAN and Next stays blocked until it is filled (IBAN is required to sign). The wizard also caps IBAN at 128 characters.

Allow tenant to edit IBAN (and after-signature IBAN edit, when they already signed) must be On. When those toggles are Off, tenants see the locked bank banner instead of editing the card. A tenant category can hide or lock the field IBAN. Operators edit IBAN on Tenants → Tenant Info → Bank Details. Marketplace POST /bookings can send tenantIBAN. This field is not the European bank account switch, not the booking virtual IBAN, and not Use company billing.

Tenant Portal — Bank account card with IBAN next to European bank account On

Tenant Portal — Bank account IBAN filled with a sample personal account number

Walkthrough: on Account → Bank account, read the empty IBAN field (placeholder example), type a sample personal IBAN, then leave without Save changes.

How do tenants enter a non-European bank account?​

New profiles default to European bank account (IBAN / SEPA). On portal Account → Bank account, Account type shows European bank account On, so only IBAN is visible. That is expected — not a missing SWIFT field.

To record an international account, the tenant turns European bank account Off, fills Bank country, SWIFT / BIC, Interbank code, Bank name, Branch, Bank address, and Bank city, then Save changes. The same switch appears on Sign contract → Your Details (copy: IBAN-based account (SEPA zone)).

Operators can type SWIFT/BIC and bank address on Tenants → Tenant Info → Bank Details without that toggle. Marketplace POST /bookings can send IBAN and SWIFT fields but cannot set the European flag, so imported tenants stay on the IBAN-only layout until someone turns the switch Off in the portal and saves.

Allow tenant to edit IBAN (and after-signature IBAN edit, when they already signed) must be On — locking IBAN also locks the European switch. A tenant category can hide or lock the field European bank account. This toggle is not the booking virtual IBAN used for rent collection, and it is not Use company billing.

Tenant Portal — Bank account card with European bank account Off and international bank fields

Walkthrough: on Account → Bank account, leave European bank account On (IBAN only), turn it Off to reveal international bank fields, then turn it back On. Leave without Save changes.

How do tenants use company billing?​

Pair with other FAQ subsections

New profiles default to personal billing. On portal Account → Billing information, Billing type shows Use company details Off, so Company name and Company fiscal number stay hidden. That is expected — not missing company fields.

To invoice to a company, the tenant turns Use company details On, fills Company name and Company fiscal number plus the billing address fields, then Save changes. The same switch appears on Sign contract → Billing (copy: Company billing / Use company details for invoices). When On, address labels switch to Company Address.

Operators can set Use company details for billing on Tenants → Tenant Info and Bookings → Contract Info (Yes/No in view; toggle in edit). Marketplace POST /bookings can send useCompanyBilling — unlike the European bank flag.

Allow edit billing details (and Allow edit billing details after contract signature, when they already signed) must be On. A tenant category can hide or lock the field Company billing. This toggle is not the European bank account switch and not the booking virtual IBAN used for rent collection.

Tenant Portal — Billing information with Use company details On (company name and fiscal number)

Walkthrough: on Account → Billing information, leave Use company details Off (personal address only), turn it On to reveal company fields, then turn it back Off. Leave without Save changes.

How do tenants enter a billing address?​

Home address and Billing address are two different fields. Filling one does not copy into the other.

On portal Account → Personal information, Home address (placeholder Your home address) is the tax / contract home address. On Account → Billing information, Billing address (placeholder Street address) is the invoice street, with City, Postal code, and Country on the same card.

There is no Require Billing address toggle — Require Home address gates Home address only. Country on Billing information is the invoice country — not Nationality and not Country of issue. On Account it shows an asterisk and Required when a fiscal/tax number is provided when a fiscal/tax number is on file or Use company details is On.

The same street appears on Sign contract → Billing. When company billing is On, that label is Company Address. Review shows Home address under Personal Information and Address under Billing Information.

Allow edit billing details (and after-signature billing edit, when they already signed) must be On. When those toggles are Off, tenants see the locked billing banner instead of editing the card. A tenant category can hide or lock Billing address, Billing city, Billing postal code, or Billing country. Operators edit Billing address on Tenants → Tenant Info → Billing Information. Marketplace POST /bookings can send billingAddress, billingCity, billingPostalCode, and billingCountry. This is not Home address, not Bank address, and not the Use company billing toggle.

Tenant Portal — Personal information Fiscal number and Home address (invoice street is on Billing information)

Tenant Portal — Billing information with Billing address, City, Postal code, and Country empty

Tenant Portal — Billing information with sample Billing address, City, and Postal code filled

Walkthrough: on Account, read Home address, then empty Billing address fields, type a sample invoice street, and leave without Save changes.

How do tenants update locked bank or billing details?​

They do not edit those cards in the portal until you unlock them. On Account → Bank account the amber notice is Bank details cannot be changed here based on your landlord’s settings. Please contact your property manager if you need an update. On Account → Billing information it is Billing details cannot be changed here. Please contact your property manager if you need an update. The fields stay visible and disabled. The same notices appear in Sign contract. Home does not have Edit details — tenants change unlocked fields on Account.

Turn Allow tenant to edit IBAN and/or Allow edit billing details On under Portal settings. If the tenant already signed, also turn on Keep IBAN editable after contract signature and Allow edit billing details after contract signature. Until then, operators edit IBAN and billing on Tenants → Tenant Info.

This is not a tenant category hide of a single field (that can disable IBAN or Billing address without the landlord-settings notice). It is not Require IBAN (that only blocks Sign contract → Next). Marketplace POST /bookings can send bank and billing values at create time; it does not clear these banners.

How do tenants know Account changes saved?​

They look for a green notice that reads Details updated successfully! above Save changes on portal Account. The page stays on Account, the form reloads the stored values, and the notice disappears after a few seconds. It is not a corner toast and not an email. Home does not have Edit details.

Tenant Portal — Account Save changes button

Tenant Portal — Account green Details updated successfully! notice above Save changes

Walkthrough: on portal Account, click Save changes, then read Details updated successfully! above the button.

Save changes still works when bank or billing cards are locked — unlocked sections save. Fill both names when those fields are editable. Operators do not see this notice; they save on Tenants → Tenant Info. Marketplace POST /bookings can send profile values at create time; it does not show this portal notice.

How do tenants enter ID type, expiry, and country of issue?​

Pair with other FAQ subsections

ID document fields pair with Tenant Portal — ID document details, Portal settings — Mandatory for contract signing, Portal settings — Tenant can edit, Tenant categories (fields ID number, ID document type, ID expiry, ID document country), and Tenants — Tenant Info.

On portal Account → Personal information, tenants fill Identification ID, then ID Type (CC, Passport, ID, or Residence Permit), ID Expiry Date, and Country of issue. Country of issue is the country on the identity document — not billing Country and not Nationality.

When Identification ID, ID Type, ID Expiry Date, or a fiscal/tax number is on file, Country of issue shows an asterisk and the hint Required when ID or fiscal number is provided. The same four fields appear on Sign contract → Your Details. Account toggles Require Identification ID, Require ID Type, Require ID Expiry Date, and Require Country of issue can also block signing until those values are filled.

Operators edit the same data on Tenants → Tenant Info → Personal Information (ID Number, ID Document Type, ID Document Country, ID Expiry Date). Marketplace POST /bookings can send identificationId, idDocumentType, idDocumentCountry, and idDocumentExpiryDate.

Allow edit identification ID (and after-signature identification edit, when they already signed) controls the number, type, and expiry. Country of issue follows Allow edit fiscal ID (and after-signature fiscal edit) — the same permission as fiscal number. A tenant category can hide or lock ID number, ID document type, ID expiry, or ID document country. These fields are not the European bank account switch and not Use company billing.

Tenant Portal — Personal information ID Type open (CC / Passport / ID / Residence Permit) with Identification ID and Country of issue

Tenant Portal — Personal information Identification ID, Passport, expiry, and required Country of issue

Walkthrough: on Account → Personal information, open ID Type (CC / Passport / ID / Residence Permit), fill a sample Identification ID and expiry, read the Country of issue required hint, and leave without Save changes.

How do tenants enter first and last name?​

Pair with other FAQ subsections

Names pair with Tenant Portal — First name and last name, Portal settings — Mandatory for contract signing (Require First Name, Require Last Name), Tenant categories (fields First name and Last name), and Tenants — Tenant Info. Distinct from read-only Email on the same Account row.

On portal Account → Personal information, tenants fill First name and Last name on the first row. Email on that row is read-only — tenants change their name, not the login email. After Save changes, portal Home shows Hello, First name! (first word) or Hello! when the name is empty — see How do tenants see the greeting and listing address on portal Home?.

Save changes needs both names when the fields are editable (spaces-only does not count). That Account rule applies even when Require First Name / Require Last Name is Off. Those toggles only add asterisks on Sign contract → Your Details (First Name / Last Name). When a toggle is On, the tenant must fill that name before Next.

There is no account-level Allow edit first name toggle. A tenant category can hide or lock First name or Last name. Operators edit First Name and Last Name on Tenants → Tenant Info → Personal Information. Marketplace POST /bookings must send firstName and lastName (minimum two characters). This is not Email, not Phone, not Nationality, not ID document details, and not Fiscal number and home address.

Tenant Portal — Personal information First name and Last name empty (placeholders) with read-only Email

Tenant Portal — Personal information with First name, Last name, and read-only Email

Walkthrough: on Account → Personal information, read empty First name and Last name (placeholders), type a sample such as Maria then Costa, and leave without Save changes. Email on the same row stays read-only.

How do tenants enter a phone number?​

Pair with other FAQ subsections

On portal Account → Personal information, tenants fill Phone next to Nationality and Identification ID. Email on that card is read-only.

Use an optional leading + and 7–15 digits. Spaces, parentheses, and hyphens are removed on save (+351 912 345 678 becomes +351912345678). The field may stay empty unless Require Phone is On under Portal settings — then Sign contract → Your Details shows an asterisk on Phone and the tenant must fill it before Next.

There is no account-level Allow edit phone toggle. A tenant category can hide or lock the field Phone. Operators edit Phone on Tenants → Tenant Info → Personal Information. Marketplace POST /bookings can send phone. This is not ID document details, not Nationality, not European bank account, and not Use company billing.

Tenant Portal — Personal information with empty Phone next to Nationality and Identification ID

Tenant Portal — Personal information Phone filled with a spaced sample number

Walkthrough: on Account → Personal information, read the empty Phone field (placeholder Phone number), type a spaced sample such as +351 912 345 678, then leave without Save changes.

How do tenants enter nationality?​

Pair with other FAQ subsections

Nationality pairs with Tenant Portal — Nationality, Portal settings — Mandatory for contract signing (Require Nationality), Tenant categories (field Nationality), Tenants — Tenant Info, and Bookings — Other filters (All Nationalities / No Nationality).

On portal Account → Personal information, tenants pick Nationality between Phone and Identification ID. Email on that card is read-only.

The list shows nationality words with flags (for example Spanish, Portuguese) — not country names. Type a few letters to search. Country of issue on the ID row is the document country (for example Portugal), and billing Country is for invoices.

The same control appears on Sign contract → Your Details. When Require Nationality is On under Portal settings, the label shows an asterisk and the tenant must pick a value before Next.

There is no account-level Allow edit nationality toggle. A tenant category can hide or lock the field Nationality. Operators edit Nationality on Tenants → Tenant Info and Bookings → Contract Info. Marketplace POST /bookings can send nationality as a two-letter country code. This is not ID document details (Country of issue), not Phone, not European bank account, and not Use company billing.

Tenant Portal — Personal information with Nationality (Spanish) next to Phone, and Country of issue (Portugal) on the ID row

Tenant Portal — Nationality searchable list of nationality words with flags

Walkthrough: on Account → Personal information, read Nationality (for example Spanish), open Select nationality to browse nationality words with flags, then leave without Save changes.

How do tenants enter a fiscal number and home address?​

Pair with other FAQ subsections

Fiscal fields pair with Tenant Portal — Fiscal number and home address, Portal settings — Mandatory for contract signing (Require Fiscal ID, Require Home address), Portal settings — Tenant can edit (Allow edit fiscal ID), Tenant categories (fields Fiscal ID (NIF) and Home address), Tenants — Tenant Info, and Bookings — Other filters (Fiscal Id All / With / Without).

On portal Account → Personal information, tenants fill Fiscal number (placeholder Tax ID number) and Home address (placeholder Your home address) on the row below Country of issue. Email on that card is read-only.

Fiscal number is the personal tax ID (NIF in Portugal) — not Identification ID and not Company fiscal number. Home address is the tenant’s home / tax address — not the billing street. Filling Fiscal number also requires Country of issue (hint: Required when ID or fiscal number is provided) and billing Country (hint: Required when a fiscal/tax number is provided).

The same values appear on Sign contract → Your Details as Fiscal ID and Home address. When Require Fiscal ID or Require Home address is On under Portal settings, those labels show an asterisk and the tenant must fill them before Next. Lease Purpose on the Account row stays disabled (Set during contract signature) — tenants pick it on Your Details when the account enables that field. See FAQ — How do tenants enter lease purpose?.

Allow edit fiscal ID (and Allow edit fiscal fields after contract signature, when they already signed) controls Fiscal number, Home address, and Country of issue. A tenant category can hide or lock Fiscal ID (NIF) or Home address. Operators edit Fiscal ID and Home address on Tenants → Tenant Info → Personal Information. Marketplace POST /bookings can send fiscalId and fiscalAddress. These fields are not ID document details, not Use company billing, not Phone, and not European bank account.

Tenant Portal — Country of issue required with empty Fiscal number and Home address

Tenant Portal — Fiscal number and Home address filled with Country of issue required hint

Walkthrough: on Account → Personal information, type a tax ID in Fiscal number and a street in Home address, read the Country of issue required hint, and leave without Save changes.

How do tenants enter lease purpose?​

On portal Account → Personal information, Lease Purpose sits next to Fiscal number and Home address when the account enables the field. It stays disabled with placeholder Set during contract signature. Tenants do not edit it on Account.

They pick an allowed chip on Sign contract → Your Details (Select lease purpose). When Make Lease Purpose mandatory is On, the label shows an asterisk and Next stays blocked until they pick a value (Lease purpose is required). Review only displays the choice.

Operators set Lease Purpose on Bookings → Contract Info and + Create New → Booking. Tenant Info does not include this field. Marketplace POST /bookings cannot send leasePurpose. This is not Fiscal number, not Nationality, not Country of issue, and not Use company billing.

Tenant Portal — Personal information Fiscal number, Home address, and disabled Lease Purpose

Why can't a tenant sign the contract in the portal?​

Pair with other FAQ subsections

Portal signing gates pair with Glossary — Mandatory for contract signing, Portal settings — Mandatory fields before contract signing (account toggles), Tenant Portal — Digital contract signing (four steps, or five with Guarantor), Settings > Contract templates (PDF must exist first; {%GuarantorSignature} when a guarantor signs), Processing a New Booking — Step 4.

Common causes:

  • No contract PDF yet — Vivin must generate a contract for the booking before Sign contract appears on portal Home or Contract. Confirm Contract Info in management shows a generated file (or regenerate from your contract template workflow). Without a PDF, the portal shows a contact-you message instead of opening the wizard — see Processing a New Booking — Step 4.
  • Mandatory fields empty — Each toggle under Portal settings — Mandatory for contract signing blocks the wizard Your Details step until the matching field is filled (including Require IBAN — How do tenants enter an IBAN?). Asterisk labels in the portal mirror those toggles. Enforcement runs in the portal UI and server-side on sign.
  • Sign still hidden on Contract — On a long PDF, Sign stays hidden until the tenant reads to the end. Home Sign contract only opens that tab. Download contract still works while the banner says Read to the end to sign.
  • Category or preference locks — Tenant categories and portal permission toggles can make a field read-only; the tenant cannot complete a gate you require but disabled for their segment.
  • Lease purpose — When Lease Purpose is required on the account, the tenant must pick an allowed value on the Your Details step before Next — see Bookings — Lease purpose and FAQ — How do tenants enter lease purpose?.

Operator checklist: (1) PDF on Contract Info, (2) mandatory toggles in Portal settings, (3) tenant category allows editing required fields, (4) Lease purpose when required. Illustrated account toggles and the tenant-facing wizard:

Account Settings — Portal settings, Mandatory for contract signing toggles

Tenant Portal — Contract tab Ready to sign with Sign unlocked after scrolling the PDF

Tenant Portal — Your Details step showing mandatory-field validation (asterisks + required errors)

See Tenant Portal — Digital contract signing for the full wizard (Your Details → Billing → Review → Sign, plus Guarantor when the booking has a guarantor — tenant-portal-signature-modal-guarantor-step.png) and the short walkthrough video. Portal signing satisfies lifecycle After contract signed triggers; paper uploads on Contract Info do not — see Why didn't the automatic check-in email send?.

How do tenants unlock Sign on the Contract tab?​

Pair with other FAQ subsections

Read to the end to sign pairs with Tenant Portal — Read to the end to sign, Tenant Portal — Digital contract signing, Tenant Portal — Download contract, How do tenants download the contract from the portal?, and FAQ — Tenant contract signing blocked. Distinct from Home Sign contract (that button only opens the Contract tab) and from Documents Download.

On Contract, Sign stays hidden until the tenant scrolls the PDF to the end. The banner starts as Read to the end to sign / Scroll through the full contract below — the Sign button will unlock once you reach the end. After that scroll — or when a short PDF already fits without a scrollbar — it becomes Ready to sign / You've read the full contract. Click Sign to proceed., and a teal Sign button opens the wizard.

Home Sign contract does not skip the read. Tenants can still download contract.pdf while Sign is hidden. There is no Portal settings hide toggle. Turn Contract Off on the tenant’s category to hide the tab. Marketplace POST /bookings cannot send this banner. See Tenant Portal — Read to the end to sign (tenant-portal-contract-read-to-the-end.png, tenant-portal-contract-ready-to-sign.png, tenant-portal-contract-read-to-the-end-flow.mp4).

Tenant Portal — Read to the end to sign banner (Sign still hidden)

Tenant Portal — Ready to sign banner with Sign

How do tenants download the contract from the portal?​

On portal Contract, the PDF viewer header shows the page count (for example 3 pages) and a download icon. Hover shows Download contract. The file is always named contract.pdf. Tenants can save it as soon as the PDF is on screen — they do not need to scroll to the end first.

Before they sign, the file is the unsigned agreement from Contract Info. After a portal signature (or when a signed copy is already on file), the same icon saves the signed PDF — still contract.pdf.

There is no Portal settings hide toggle. Turn Contract Off on the tenant’s category to hide the Contract tab (and this download with it). Marketplace POST /bookings cannot send this control. See Tenant Portal — Download contract (tenant-portal-contract-download.png, tenant-portal-contract-download-toolbar.png, tenant-portal-contract-download-flow.mp4).

Tenant Portal — Contract tab with 3 pages and Download contract in the PDF viewer

Tenant Portal — Contract PDF viewer toolbar with page count and download icon

Why is my tenant not receiving emails? Check the email template triggers in Settings > Emails. Verify the trigger conditions (e.g., "After paid & contract signed" vs. "Immediately after booking creation") and ensure the tenant's email address is correct in the booking. For lifecycle templates (onboarding, check-in, check-out), also confirm the booking still meets the trigger on the Booking lifecycle emails sub-tab — see the next question for check-in specifics.

Why didn't the automatic check-in email send?​

Pair with other FAQ subsections

Lifecycle check-in mail fires only when your Booking lifecycle emails — check-in trigger matches and Vivin has not already sent one check-in email for that booking (checkInEmailSentAt). Common blockers:

  • Trigger is No trigger — Automatic lifecycle check-in is off for the account, and Send Check-in email / Resend Check-in email is hidden on Contract Info. Choose any other check-in trigger on Booking lifecycle emails to show the button again (settings-emails-lifecycle-check-in-trigger-dropdown.png).
  • Trigger not met — For example After paid & contract signed requires move-in requirements paid and a portal digital signature (signedContractPath); After paid alone waits on move-in payments only. Next payment (balance) waits until the upcoming installment is €0. When the trigger needs signing but tenants stall on Sign contract, start with FAQ — Tenant contract signing blocked (PDF on Contract Info, mandatory Your Details gates, category locks).
  • Paper contract uploaded — Uploading a signed PDF on Contract Info marks the booking contract-signed for reporting but does not set signedContractPath or re-run lifecycle evaluation — see Emails — Operator upload vs portal signing. Use Send Check-in email on Contract Info → Check-in & Check-out after upload when move-in requirements are met.
  • 15-day cutoff — Automatic send is skipped when check-in day is more than 15 days in the past (canceled bookings are skipped entirely).
  • Nuki-only toggle — With Only for Nuki access on, send waits until Nuki access points exist on the property or unit.
  • Already sent — Check Last sent on Resend Check-in email on Contract Info; use Resend if you need another copy. A Communication Rule with This is the check-in email also sets the watermark and suppresses this automatic template for matching bookings.
  • Custom check-in rule replaced it — If an email Check-in Communication Rule has This is the check-in email on, the lifecycle template does not auto-send for those bookings. Confirm the rule is active, the audience matches, and the schedule row shows a successful send — see Emails — This is the check-in email (settings-emails-communication-rule-is-check-in-email-on.png).

On Contract Info → Check-in & Check-out, Send Check-in email / Resend Check-in email and Last sent are the operator controls when automation did not fire and the account check-in trigger is not No trigger. Communication Rules usually handle payment reminders and custom schedules, but an email rule with Check-in trigger can also own the check-in watermark via This is the check-in email. Only a portal digital signature satisfies lifecycle After contract signed triggers; paper upload on Contract Info does not — pair Tenant Portal — Digital contract signing with FAQ — Tenant contract signing blocked when tenants never reach the Sign step.

Booking detail — Contract Info Check-in &amp; Check-out card with Resend Onboarding email, Send portal access, and Send Check-in email

Account Settings — Communication Rule with This is the check-in email On and amber replacement warning

See Managing a Check-in, Glossary — Lifecycle check-in email, Emails — This is the check-in email, Processing a New Booking — Step 4 (generate PDF before portal signing), and Bookings — Check-in & Check-out emails.

What is the difference between Resend Onboarding email, Send portal access, and Contract Resend?​

They are three different buttons on Contract Info:

ControlUse it whenContract PDF
Send / Resend Onboarding email (Check-in & Check-out card)The tenant missed the welcome emailAttached only if Contract in onboarding email is on, the category allows Contract, and a contract file exists — otherwise the welcome email still sends without it
Send / Resend portal access (same card)The tenant needs the portal login link onlyNever — this message is portal access only
Resend on the Contract cardYou need the onboarding email with the contract, even if the Preferences toggle is offAlways attempted; generate the contract first if none exists. A tenant category with the Contract module off still blocks the attachment

Booking detail — Contract Info, Check-in &amp; Check-out card with Resend Onboarding email, Send portal access, and Send Check-in email

Booking detail — Contract card with Preview, Regenerate, Resend, and Upload Signed Contract

Walkthrough: Contract card Resend versus Check-in & Check-out Resend Onboarding email, Send portal access, and Send Check-in email (demo does not send mail).

See Bookings — Check-in & Check-out emails and Manual contract management. Marketplace imports always queue the welcome email at create — FAQ — Marketplace booking onboarding email.

Can tenants submit maintenance requests through the portal? Yes. On Requests → New Request, tenants pick What do you need? — Report an Issue (location + required files) or General Inquiry (no location; files optional) — then Submit Request. That creates a ticket in the Operations module for your team. See Tenant Portal — What do you need? and FAQ — Report an Issue vs General Inquiry.

Is the tenant portal branded with my company? Yes. The Tenant Portal is white-labelled with your brand colours, logo, and company name — including the browser tab, the home-screen name, and Install app (Install plus your company name). When Website URL is set, the logo opens your site in a new tab. A small Powered by VIVIN line stays at the bottom of the computer sidebar (and on the email access-link screen); it always opens Vivin’s site and cannot be hidden. Configure branding in Settings > General Information. See Tenant Portal — Branded home screen and How do tenants install the Tenant Portal on their phone?.

How do tenants install the Tenant Portal on their phone?​

Pair with other FAQ subsections

Portal Install app pairs with Tenant Portal — Install app, Tenant Portal — Branded home screen, Settings — General Information, and management Install app (PWA). Distinct from FAQ — How do tenants sign out of the Tenant Portal? and from installing the Vivin workspace for your team.

After a valid access link, the browser tab uses Company Name from General Information (or Tenant Portal when no company name is stored).

On a phone, tenants may see Install plus your company name with Quick Access and Native Experience. On iPhone Safari, they follow 1. Tap Share → 2. Add to Home Screen, or tap Maybe later. On Android, they tap Install App when the browser offers install, or Maybe later. Closing with X, tapping outside, Escape, or Maybe later hides the overlay on this browser. The overlay does not show when the portal is already open from the home screen.

This is not management Install app. There is no Portal settings hide toggle. Marketplace POST /bookings cannot send this overlay. See Tenant Portal — Install app (tenant-portal-install-app-prompt.png, tenant-portal-install-app-ios-share-steps.png, tenant-portal-install-app-flow.mp4, tenant-portal-install-app-android.png, tenant-portal-install-app-android-card.png, tenant-portal-install-app-android-flow.mp4).

Tenant Portal — Install app overlay with company name and iPhone Share steps

Walkthrough: on iPhone Safari, read Install plus your company name, then 1. Tap Share → 2. Add to Home Screen. Demo dismisses with Maybe later.

Tenant Portal — Android Install app overlay with Install App and Maybe later

Integrations & Distribution​

Pair with other FAQ sections

Channel sync and iCal answers pair with Properties & Listings (Channels tab linking), Bookings (import vs manual booking), Operations (pseudo check-in/out rows), and Why does Multicalendar Date range still show units that are booked later? (stay-window search on Sales → Multicalendar). Marketplace calendars that stay closed for years after the last stay: Calendar Block (days). Extra occupant price on a one-person listing: extraPricePerTenant is 0. Extra Charge vs Markup: Extra Charge did not follow Markup. Variable-rent headline: listing rent higher than some months. Computed deposit: listing depositValue vs Extra Deposit. Cleaning fee amount: listing cleaningFeeValue is not one-time. Marketplace cleaning fee: POST does not set cleaning fee. Marketplace deposit: POST does not set deposit. Marketplace admin fee: POST does not set admin fee. Marketplace bills included: POST does not set bills included. Marketplace contract type: POST does not set contract type. Marketplace confirmation payments: POST does not set confirmation payments. Marketplace due day: POST does not set due day. Marketplace check-in times: POST does not set check-in time. Marketplace days before due: POST does not set days before due. Marketplace check-in responsible: POST does not set check-in responsible. Marketplace lease purpose: POST does not set lease purpose. Marketplace Deposit Refund Limit: POST does not set Deposit Refund Limit. Marketplace booking tags: POST does not set booking tags. Marketplace maintenance tickets: POST does not set check-in/out ticket opt-out. Marketplace Ignore unit preparation days: POST does not set Ignore unit preparation days. Marketplace Allow check-in date in the past: POST does not set Allow check-in date in the past. Marketplace penalty exclusion: POST does not set Exclude from penalty fees. Marketplace contract dates from check-in: POST does not set Use check in date as contract start date. Marketplace onboarding email: POST always sends onboarding. Marketplace unit contract rents: POST always uses unit contract rents. Exit fee: listing JSON has no exit fee. Photos and amenities: listing JSON has no photos. All bills included: listing billsIncludedMaxValue is null. Landlord email: listing landlordEmail vs login. Usable rent: listing JSON omits a unit with €0 rent. Marketplace POST: honour listing Capacity and stay bounds. Marketplace rent: POST does not set rent. Marketplace Extra Charge: POST does not set Extra Charge. Marketplace Second tenant: POST does not set Second tenant. Marketplace Guarantor: POST does not set Guarantor. Marketplace platform commission: POST records platform commission. Marketplace tenant category: POST does not set tenant category. Local rent cap: listing JSON has no local rent cap.

Why aren't bookings syncing from Airbnb/Booking.com? Verify your API key or integration email is correct in Settings > Integrations. Then ensure each unit is linked to its corresponding external listing ID in the unit's Channels tab. See Integrations Troubleshooting for more issues.

Does Airbnb or Booking.com iCal sync create a full Vivin booking with payment plan? No. Airbnb and Booking.com use two-way iCal from Sales > Channels (and per-unit Channels in Listings): Vivin exports outbound availability and imports platform calendar blocks to prevent double bookings. Imported short-stay blocks surface on Operations > Check-in & Check-out and unit calendars as pseudo check-in/out rows — they do not automatically create mid-term booking records, payment schedules, or tenant profiles. For contract and collections work on a channel stay, create or import a proper booking. Mid-term marketplaces (HousingAnywhere, Uniplaces, and similar) use API imports that do create full booking records. See Glossary — Short-term iCal pseudo check-in/out and API Reference — iCal feeds — Inbound platform calendars. When a Channex OTA rail is connected, the same Airbnb / Booking.com columns switch to allocate mode instead of the iCal manage modal — Airbnb / Vrbo / Expedia pick a listing; Booking.com picks a hotel ID from the Integrations pool. Nightly rates still come from Listings → Short term.

How do I add Booking.com hotel IDs and allocate them to units?​

On Settings → Integrations, find the Booking.com connection card (Channex rail) and click Add hotel ID (or Connect channel while the pool is empty). The Booking.com hotel IDs dialog opens — the card itself stays one compact row with Connected · N hotel IDs · M allocated. Paste IDs in Hotel IDs one per line or separated by commas, then Add. Each ID is one Booking.com property (one room) — Vivin lists the room title next to it (for example 6519420 — Single Room). Then open Sales → Channel Manager and pick that hotel ID on the unit’s Booking.com cell. IDs already allocated to another unit stay disabled. Unlink the unit before you can remove an ID in the dialog. Airbnb, Expedia, and Vrbo still use a listing picker — they do not use this pool. Guide: Integrations — Booking.com hotel IDs / Hotel ID list opens as a dialog.

Where did the hotel ID list on the Booking.com card go?​

Add hotel ID (or Connect channel while the pool is empty) opens a Booking.com hotel IDs dialog. The card itself stays one compact row with Connected · N hotel IDs · M allocated, so a long pool does not stretch the Integrations grid. Guide: Integrations — Hotel ID list opens as a dialog.

How do I re-sync Airbnb or Booking.com after the calendar changed on the OTA? Open Sales > Channels, click the green Airbnb or Booking.com cell for the unit (not the external View control), and use Sync on the manage modal — Connected summary, read-only platform iCal URL with Copy + Sync, and Delete integration. You do not need to delete and reconnect first. sales-channel-airbnb-ical-manage-modal.png / sales-channel-airbnb-ical-manage-flow.mp4 (Airbnb) and sales-channel-bookingcom-ical-manage-modal.png / sales-channel-bookingcom-ical-manage-flow.mp4 (Booking.com).

Sales — Channels Airbnb iCal manage modal with Connected summary and platform iCal Copy/Sync

Sales — Channels Booking.com iCal manage modal with Connected summary and platform iCal Copy/Sync

Why does a free unit disappear from Sales Multicalendar or Pricing when I filter by date range? Available now / Date range (and the same filter on CSV export and bulk rent update) mark a listing occupied from each booking’s linked unit unavailability block — aligned with check-out and preparation days — not from a longer contract end date alone. After check-out, a unit can correctly stay free even if the contract calendar still reaches into your window. See Sales — Multicalendar filters (sales-multicalendar-availability-checkout-aligned.png, sales-availability-checkout-aligned-flow.mp4). If the list still includes units booked later in your stay, you may have searched only the Start date — Why does Multicalendar Date range still show units that are booked later?.

Sales — Multicalendar Date range keeps a unit free after check-out while the contract calendar still reaches into the window

Why does Multicalendar Date range still show units that are booked later?​

On Sales → Multicalendar, Date range searches one day if only Start date is set, and the whole window when End date is set too. Click Start date then End date without pausing — Vivin waits for the end so the list is units free every night in that window. A pause after the start searches “free on that day,” which still lists units booked later in the season. Wait until the toolbar count leaves Updating... and shows N / M listings before you treat the Gantt as the answer. Guide: Sales — Date range waits for both dates.

Why does a Multicalendar or Timeline block tooltip end one day after the last blocked night?​

That end date is the day the unit is free again (checkout convention) — the same end the unit Calendar in Listings shows for the block. Booking bars on the Gantt already used checkout; block hover tips now match. The coloured bar still covers blocked nights only. Tools → Audit → Manual Blocks is different: its End column still shows the last blocked night, so the same Owner stay can read 19 Aug in Audit and 20 Aug on the Multicalendar tip — see Audit — End vs free-again day (audit-manual-blocks-end-last-blocked-night.png, audit-manual-blocks-end-vs-free-again-flow.mp4). Also: Sales — Multicalendar (sales-multicalendar-block-free-again-tooltip.png, sales-multicalendar-block-free-again-flow.mp4) and Bookings — Timeline blocks (bookings-timeline-block-free-again-tooltip.png, bookings-timeline-block-free-again-flow.mp4). A live booking site that looks a day earlier than check-out is the same split on listing JSON — FAQ — Booking site first available day.

Audit — Manual Blocks End column shows last blocked night (19 Aug) for an Owner stay

Sales — Multicalendar Owner stay block hover tip ending on the free-again day

Bookings Timeline — Owner stay block hover tip ending on the free-again day

Walkthrough: Audit End = last blocked night, then Multicalendar tip = free-again day for the same Owner stay.
Walkthrough: on Bookings → Timeline, find an Owner stay block and read the free-again tip.

How do I clear every Sales filter at once? On Multicalendar, Pricing, and Channel Manager, when any filter value is active (search, tags, types, properties, rent/rooms ranges, date-range dates, or a non-All platform filter on Channels), click Clear all at the start of the chip row. It resets every filter in one click — same pattern as Listings and Bookings. Switching to Available now / Date range without filling dates does not show Clear all by itself. sales-multicalendar-clear-all-filters.png, sales-pricing-clear-all-filters.png, sales-channel-manager-clear-all-filters.png, sales-clear-all-filters-flow.mp4.

Sales — Multicalendar chip row with Clear all and active search chip

Sales — Pricing chip row with Clear all and active search chip

Why does Airbnb or Booking.com stop showing availability after a certain date (or show everything as blocked beyond my horizon)? Short-term platforms read Vivin’s iCal feeds. The Short-term iCal Max Date is an account-wide safety horizon: nights after that date are exported to the feed as blocked, so external sites do not advertise open inventory past the cutoff you configured. If the date is too soon, calendars look “cut off”; if it is too far, you may be exposing more forward availability than you intended. Adjust the date under Account Settings > Integrations and use Apply to all listings or Apply to selected listings (Airbnb) so unit overrides stay aligned. See also Glossary — Short-term iCal Max Date.

Which marketplaces does Vivin integrate with? Vivin has full API integration with HousingAnywhere, Spotahome, Uniplaces, Inlife, Spacest, and more. Airbnb and Booking.com are supported via iCal calendar sync, and — when Vivin has provisioned Channex — via channel-manager allocate (Booking.com hotel IDs on Integrations, listing pickers for Airbnb / Vrbo / Expedia). See Integrations & Distribution and How do I add Booking.com hotel IDs?.

Why does the Uniplaces webhook URL have no landlord key?​

Uniplaces registers one callback for the whole partner key. Vivin exposes POST /uniplaces-integration/webhook with no {landlordKey} path segment. Each payload names the listing in offer_api_reference — that is the full-feed reference_id (your channel externalId when the unit is linked, or the Vivin listing id when it is not). Housing Anywhere still uses {landlordKey} in the path and echoes listingReference as listing_external_reference — FAQ — Housing Anywhere webhook listing. Guide: Webhooks & Notifications — Uniplaces (api-swagger-uniplaces-webhook-post.png).

Integration Swagger — Uniplaces POST /webhook (global, no path parameters) with offer_api_reference on the request schema

How does Housing Anywhere match a webhook to a listing?​

Housing Anywhere posts to POST /housinganywhere-integration/{landlordKey}/webhook. The {landlordKey} segment is the same as full-feed URLs: the stored landlord key or the Housing Anywhere integration email. Each payload names the listing in listing_external_reference — that is the full-feed listingReference (your channel externalId when the unit is linked, or the Vivin listing id when it is not). booking_uuid is required. Uniplaces has no path key — that is a different route. Guide: Webhooks & Notifications — Housing Anywhere (api-swagger-housinganywhere-webhook-post.png, api-swagger-housinganywhere-listing-reference.png).

Integration Swagger — Housing Anywhere POST /landlordKey/webhook with landlordKey path parameter and listing_external_reference on the request body

Integration Swagger — HousingAnywhereFullFeedListingDto with required listingReference

What is the white label booking engine? It's a fully branded booking interface you embed on your website for commission-free direct bookings. It shows real-time availability, supports visit scheduling and video calls, and includes conversion tracking. See White Label Booking Engine.

Where do I configure property and listing details for the booking engine? From Listings, open a property or unit sidebar and choose the Full integration pill to edit booking-engine fields (descriptions, amenities, rules, multilingual content). Use Photos for gallery-only work. Those details power the white-label booking engine and marketplace integrations. See Property & listing details (booking engine).

Why does the booking site show a different first available day than check-out?​

The site calendar and the booking check-out date use two conventions.

Check-out in Vivin is the day the tenant leaves — the unit is free again that day when you have no preparation days. The listing feed your booking site reads uses the last blocked night, which is the night before check-out when preparation days are 0.

Example: check-out 23 December, no preparation days. The feed’s to is 22 December. The first night a new guest can start is 23 December. If the site treats that last night as check-out, it offers the unit on 22 December.

Point your site builder at Listings & Availability — Last blocked night and Booking Engine API — Unavailability to. Listing availableFrom is already the next move-in — prefer that field over reinterpreting to. Marketplace catalogues (Uniplaces, Spotahome, Housing Anywhere, Inlife) use the same last night under partner field names — FAQ — Marketplace listing blocked through check-out night. Calendar subscribers (Airbnb, Booking.com, Google Calendar) use exclusive DTEND instead — that named day is the free-again morning, same as check-out: iCal feeds — DTEND exclusive end and FAQ — iCal block ends one day after Audit End. The same last-night vs free-again split appears in the hub: Audit — End vs free-again day and FAQ — Block tooltip free-again day.

Why does an iCal calendar show the block ending one day after Audit End?​

That extra day is the exclusive free-again morning, not an extra occupied night.

Tools → Audit → Manual Blocks → End (and listing JSON to) is the last blocked night. Outbound iCal sets DTEND to the next calendar day. Calendar apps treat that named day as the first morning the unit is free — the same checkout convention as the Multicalendar / Timeline hover tip.

Example: Audit End 31 August, no preparation days. The subscribed calendar shows DTEND 1 September. Nights through 31 August stay blocked; 1 September is free (check-out). If you treat DTEND as the last occupied night, you block a free morning.

Copy the feed from Sales → Channels → Copy iCal. Guide: iCal feeds — DTEND exclusive end. Same split: Audit — End vs free-again day, FAQ — Booking site first available day, and FAQ — Marketplace listing blocked through check-out night.

Why does a marketplace listing stay blocked through check-out night?​

Uniplaces, Spotahome, Housing Anywhere, and Inlife ingest Vivin’s full listing feed. Most of those catalogues paint the last occupied night, not the check-out morning — Housing Anywhere is the exception.

Check-out in Vivin is when the tenant leaves. The occupancy fields partners ingest name the night before that (when preparation days are 0):

PlatformFieldMeaning
Uniplacesblocked_periods[].tolast blocked night (inclusive)
Spotahomeoccupancies[].tolast blocked night (inclusive)
Housing AnywhereblockedPeriods[].endDatefirst free day (exclusive)
Inlifeunavailability[].endlast blocked night (inclusive)

Example: check-out 1 September, no preparation days. The catalogue still shows 31 August as unavailable. The first new stay can start on 1 September. If the channel treats that last night as check-out, it offers the unit one night too early.

On Housing Anywhere the same stay is sent as endDate 1 September — the first free day, not the last blocked night — because HA reads that field exclusively. The blocked nights are identical; only the field's meaning differs.

This is the same convention as partial listing JSON to — Listings & Availability — Last blocked night and Full listing feeds — Last blocked night. White-label booking sites: FAQ — Booking site first available day. iCal subscribers use exclusive DTEND (free-again morning): FAQ — iCal block ends one day after Audit End.

Why does RoomLess block nights before move-in?​

RoomLess (Spacest) paints availability from the unavailabilities array. When availableFrom is still in the future, Vivin adds one extra row covering today through the night before move-in, so the calendar does not offer those nights.

Example: next move-in 10 January. The extra row’s to is 9 January (last blocked night). The first new stay can start on 10 January — the same date as availableFrom.

Other marketplaces do not add this row. They still send availableFrom; use that field for the next arrival. Guide: Listings & Availability — RoomLess nights before move-in.

Integration Swagger — RoomLess GET /listings and GET /listings/externalId

Integration OpenAPI — ListingDto availableFrom next to the unavailabilities array

Why does Housing Anywhere block nights outside the booking window?​

Housing Anywhere’s calendar connector does not apply listing booking windows on its own. When a unit has a still-open window, Vivin adds extra unavailabilities rows on the Housing Anywhere listing pull so nights before the earliest check-in and after the latest check-out look occupied (reason: Booking window restriction). Stay length on that same payload (minStayPeriod / maxStayPeriod) is rewritten from the window.

Those extra rows are on the JSON pull only — they do not appear as operator Calendar holds. Creating a booking still has to fall inside a real window.

The Housing Anywhere full catalogue does not copy those extra rows into blockedPeriods. It does use the same window math for minimumStayMonths / maximumStayMonths. Uniplaces, Spotahome, and Inlife full occupancy does include the window nights.

Guide: Listings & Availability — Housing Anywhere booking windows and Full listing feeds — booking windows vs blockedPeriods. Operators set the envelope on Listings → Booking window.

Housing Anywhere Integration Swagger — GET /listings and GET /listings/externalId

Housing Anywhere listing schema — minStayPeriod, maxStayPeriod, unavailabilities, and bookingWindows

Why does a marketplace stay blocked for years after the last booking?​

Calendar Block (days) on that platform’s Settings → Integrations card can close listing JSON after a stay that is still far in the future. When the latest occupancy’s last night is more than N days away, Vivin adds a closed span from that night through about two years later. Marketplaces that paint only those rows then look fully booked long after the tenant leaves.

That extra span is outbound JSON only — it does not appear as a hold on the unit Calendar. Clear the field (or set 0) if you want the channel to reopen after the last occupancy. Each platform card is independent.

This is not Short-term iCal Max Date (Airbnb / Booking.com iCal) and not preparation days. Guide: Listings & Availability — Calendar Block (days).

Account Settings — Uniplaces booking-platform card with Calendar Block on the first row

Why are Housing Anywhere catalogue prices in cents?​

The Housing Anywhere full catalogue publishes money in cents. The partial listing pull publishes the same unit in whole euros.

€850 rent is rent: 850 on GET /listings and flatPrice: 85000 on GET …/listings/full. Monthly rows use price: 80000 for €800. Divide full-feed amounts by 100 before you treat them as euros.

Partial Housing Anywhere rows also include a costs[] array in euros. The full catalogue uses a costs object in cents, drops lines the tenant does not pay (for example bills marked included-in-rent), and renames utility-bills to other-additional-costs. Membership fee amount and Parking fee amount on Full integration → Partner platforms appear only on that full object.

Guide: Full listing feeds — euros vs cents (api-swagger-housinganywhere-full-costs.png, api-swagger-housinganywhere-monthly-price-cents.png).

Housing Anywhere full listing schema — flatPrice in cents and costs object in cents

Housing Anywhere monthly price schema — price example 80000 (cents)

Why is extraPricePerTenant 0 on a one-person listing?​

When listing capacity is 1, every partial GET /listings row publishes extraPricePerTenant: 0, even if Extra Charge per Tenant was filled while capacity was higher. Raise Capacity above 1 to advertise the stored amount. The field is present and zero — it is not omitted.

Inlife full-feed rooms copy that same number as extraTenantsPrice (numPeople is capacity). Uniplaces, Spotahome, and Housing Anywhere full catalogues do not have a separate extra-tenant price field. Extra Deposit per Tenant is not on listing JSON. Markup does not change Extra Charge — FAQ — Extra Charge vs Markup. Marketplace POST /bookings cannot send Extra Charge euros — FAQ — Marketplace booking Extra Charge.

Guide: Listings & Availability — Extra price per tenant and Full listing feeds — Extra tenants price (api-swagger-listing-dto-extra-price-per-tenant.png, api-swagger-inlife-extra-tenants-price.png). Operators: FAQ — Extra Charge missing on a studio.

Integration OpenAPI — ListingDto capacity and extraPricePerTenant

Integration OpenAPI — InlifeFullFeedRoomDto numPeople and extraTenantsPrice

Why didn't Extra Charge change when I set Pricing Markup?​

Markup on a Settings → Integrations Booking Platforms card (None, Percentage (%), or Fixed (€)) applies only to listing JSON rent and rentsPerMonth. Extra Charge per Tenant is published as extraPricePerTenant at the stored amount (or 0 when Capacity is 1). Cleaning fee and the computed deposit are not marked up either.

Example: rent €850 with 15% Markup publishes rent: 978. Extra Charge €60 stays extraPricePerTenant: 60. Do not add the percentage a second time on rent.

Inlife full-feed extraTenantsPrice is that same unmarked Extra Charge. Uniplaces, Spotahome, and Housing Anywhere full catalogues have no extra-tenant price field.

Guide: Listings & Availability — Platform markup (api-swagger-listing-dto-markup-rent-only.png). Operators: Integrations — Pricing Markup.

Integration OpenAPI — ListingDto rent next to extraPricePerTenant, cleaningFeeValue, and depositValue

Why doesn't listing JSON include a unit with €0 rent?​

Partner listing JSON publishes a unit only when rent is a usable positive amount. €0, a missing amount, or a variable grid with even one zero month omits the unit. You never receive rent: 0.

That is different from Extra Charge on a one-person unit — that field stays on the row as extraPricePerTenant: 0. Security Deposit off also stays on the row as depositValue: 0.

GET /listings simply leaves the row out. GET /listings/{externalId} (and the matching full single-listing route) returns 404 with message Listing not available — the same envelope as an unmapped ID. If Channels already has an ID, open Listings — Rent Value and enter a positive monthly rent (every month on a variable grid). A cleared field stores €0.

This is not Excluded from feed and not Inlife’s city filter (full catalogue only). Guide: Listings & Availability — Usable rent required and Full listing feeds — Usable rent (api-swagger-listing-dto-variable-rent.png, api-swagger-listing-rent-per-month.png).

Integration OpenAPI — ListingDto isRentFixed, rent, and rentsPerMonth

Integration OpenAPI — RentPerMonthDto month (1–12) and rent

Why doesn't listing depositValue include Extra Deposit?​

Listing JSON depositValue is the computed security deposit from the property: a Fixed euro amount, or Half Rent / 1 Rent / 2 Rents × the unit’s rent. When the unit is variable, that rent is the highest month (the same headline as rent). Extra Deposit per Tenant is not on the pull — it is added when a booking is created for extra occupants. Marketplace POST /bookings cannot send depositValue either — FAQ — Marketplace booking deposit.

If Security Deposit is off, depositValue is 0. Platform markup applies to rent, not to the deposit — FAQ — Extra Charge vs Markup. Uniplaces copies the same figure as listing_pricing.deposit.value; Inlife as room securityDeposit; Housing Anywhere as costs security-deposit (euros on the partial pull, cents on the full catalogue).

Guide: Listings & Availability — Computed deposit and Full listing feeds — Computed deposit (api-swagger-listing-dto-deposit-value.png, api-swagger-uniplaces-pricing-deposit.png). Operators: Listings — Step 3 Extra payments.

Integration OpenAPI — ListingDto isRentFixed, rent, and depositValue

Add property — Extra payments Security Deposit Variable with 1 Rent selected

Why isn't listing cleaningFeeValue a one-time fee?​

Listing JSON cleaningFeeValue is the property cleaning amount (EUR), not a one-time-at-booking flag. When Cleaning fee is off, the field is still present as 0. Frequency (Every Month, One-Time Fee at Booking Confirmation, One-Time Fee at Move-in) lives on the property Contract Information card and on the booking payment plan — it is not a listing JSON field. Marketplace POST /bookings cannot send the amount either — FAQ — Marketplace booking cleaning fee.

Housing Anywhere costs cleaning-fee copies that amount and always uses payableAt: "monthly". Uniplaces full catalogues send cleaning / cleaning_included booleans, not the euro amount. Spotahome full can send periodicCleaning with frequency: "onlyAtMoveIn" as the catalogue mapping — that is not the property dropdown.

Guide: Listings & Availability — Cleaning fee and Full listing feeds — Cleaning fee (api-swagger-listing-dto-cleaning-fee-value.png, api-swagger-uniplaces-pricing-cleaning.png). Operators: FAQ — Change cleaning fee timing.

Integration OpenAPI — ListingDto extraPricePerTenant, cleaningFeeValue, billsIncluded, and depositValue

Integration OpenAPI — UniplacesFullFeedListingPricingDto cleaning and cleaning_included booleans

Why isn't listing JSON showing the exit fee?​

Listing JSON has no exitFeeValue field. Admin, cleaning, bills, and deposit appear on GET /listings; the exit / check-out fee does not — even when it is on for the property. Housing Anywhere costs[] also has no exit-fee type. Uniplaces, Spotahome, and Inlife full catalogues omit it too.

Partner POST /bookings cannot send the amount either. Vivin still copies the property exit fee onto the created booking (one-time, due on check-out). Operators change it on Contract Info.

Guide: Listings & Availability — Exit fee, Full listing feeds — Exit fee, and Creating Bookings — Exit fee (api-swagger-listing-dto-no-exit-fee.png, api-swagger-create-booking-integration-no-exit-fee.png). Operators: FAQ — Set an exit fee on a property.

Integration OpenAPI — ListingDto extraPricePerTenant, cleaningFeeValue, billsIncluded, and depositValue (no exitFeeValue)

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no exitFeeValue)

Why isn't listing JSON showing the local rent cap?​

Listing JSON has no localRentCap field. Advertised rent (and rentsPerMonth) is the full monthly amount after Markup, not a legal-rent slice. Dual pricing lives on the booking after create.

Uniplaces listing_pricing.rents is that same headline. Housing Anywhere costs[] has no local-rent-cap cost type. Partner POST /bookings cannot send the cap. When dual pricing is on, Vivin can still freeze Local Rent Cap from the unit onto the payment plan (capped Rent plus Others).

Guide: Listings & Availability — Local rent cap, Full listing feeds — Local rent cap, and Creating Bookings — Local rent cap (api-swagger-listing-dto-no-local-rent-cap.png, api-swagger-uniplaces-pricing-no-local-rent-cap.png). Operators: Listings — Local rent cap and Payments — Dual pricing.

Integration OpenAPI — ListingDto rent, extraPricePerTenant, cleaningFeeValue, and depositValue (no localRentCap)

Integration OpenAPI — UniplacesFullFeedListingPricingDto rents, deposit, admin_fee, bills, and cleaning (no local rent cap)

Why doesn't listing JSON include photos?​

Partial GET /listings is calendar and pricing. Photos, street address, amenities, and marketing copy are not on that pull — even when the gallery and Full integration copy are filled in Vivin. Partners that publish a listing page should poll the full catalogue (GET …/listings/full).

A Wi-Fi amenity (boolean or feature slug) can appear on the full catalogue. The Wi-Fi password is never on partner JSON.

White-label POST /property-listing can create copy and media in Vivin. PUT /listing writes pricing and calendar. GET /listings still returns ListingDto without a gallery.

Guide: Listings & Availability — Catalogue fields and Full listing feeds — Catalogue fields (api-swagger-listing-dto-no-catalogue-fields.png, api-swagger-uniplaces-full-feed-catalogue-fields.png). Operators: Listings — Photos pill and Property & listing details.

Integration OpenAPI — ListingDto stay, rent, fees, and calendar fields (no photos, location, or description)

Integration OpenAPI — UniplacesFullFeedListingDto location, image URL arrays, descriptions, and feature tags

Why is listing billsIncludedMaxValue null?​

billsIncludedMaxValue: null with billsIncluded: true means the unit has All bills included (No cap). Utilities are fully in the rent — there is no monthly euro ceiling on the pull. That override applies even when the property Bills Included toggle is off or the property still has a stored cap.

When the unit flag is off, the pull mirrors the property: a euro ceiling when Bills Included is on, or billsIncluded: false and billsIncludedMaxValue: null when it is not. A stored 0 is a euro amount of zero, not “unlimited”. Marketplace POST /bookings cannot send a different ceiling — FAQ — Marketplace booking bills included.

Housing Anywhere partial costs[] then marks utility-bills as payableBy: "included-in-rent" with value: null. The Housing Anywhere full catalogue omits those included-in-rent lines. Uniplaces full sends listing_pricing.bills: true. Spotahome full sends [{ "name": "all", "option": "included", "value": "0" }]. Inlife full sends billsIncluded: true and omits billsMax.

Guide: Listings & Availability — All bills included and Full listing feeds — All bills included (api-swagger-listing-dto-bills-included.png, api-swagger-uniplaces-pricing-bills.png). Operators: FAQ — Include all bills on a unit.

Integration OpenAPI — ListingDto billsIncluded boolean and billsIncludedMaxValue number (nullable, null when All bills included)

Integration OpenAPI — UniplacesFullFeedListingPricingDto bills boolean

Why isn't listing landlordEmail my login email?​

Listing JSON landlordEmail is the Integration Email on that platform’s Booking Platforms card under Settings → Integrations — not the signed-in user’s login, not the General Information company email, and not a per-unit contact. Vivin copies that one card onto every listing in the pull.

Uniplaces and Inlife full catalogues use landlord_email for the same address (Uniplaces omits the field when the card is blank). Housing Anywhere full and Spotahome full catalogues do not include a landlord-email field. Booking Engine PUT /listing accepts landlordEmail on the body but does not change the card — edit Integration Email to change what partners receive.

The same address can also be used as {landlordKey} on full listing URLs. That path use is independent of the JSON field.

Guide: Listings & Availability — Landlord email and Full listing feeds — Landlord email (api-swagger-listing-dto-landlord-email.png, api-swagger-uniplaces-landlord-email.png). Operators: Settings → Integrations.

Integration OpenAPI — ListingDto landlordEmail is the platform Integration Email

Integration OpenAPI — UniplacesFullFeedListingDto landlord_email is the same Integration Email

Why is listing maxStayPeriod 0?​

maxStayPeriod: 0 means no maximum stay, not a zero-length stay. 12 is twelve months, not unlimited. The same rule applies to minStayPeriod: 0 means no minimum.

You still receive the field — it is not omitted on the shared listing JSON. Housing Anywhere can rewrite both fields from a still-open booking window, so a unit with Maximum Stay 0 can still show maxStayPeriod: 1 on that platform. Spotahome’s legacy /listings/feed omits stay.max_days when the maximum is 0.

Stay bounds apply when an operator creates a booking with Add Booking. Marketplace POST /bookings honours listing JSON instead — FAQ — Honour listing Capacity and stay bounds. Changing dates on an existing booking does not re-check them.

Guide: Listings & Availability — Maximum stay and Full listing feeds — Maximum stay (api-swagger-listing-dto-stay-period.png). Operators: FAQ — Does 12-month maximum stay mean unlimited?.

Integration OpenAPI — ListingDto availableFrom, minStayPeriod, and maxStayPeriod

Does POST /bookings honour listing Capacity and stay bounds?​

Yes. Marketplace POST /{platform}-integration/bookings trusts your platform to honour listing JSON capacity, minStayPeriod, maxStayPeriod, and availableFrom. Compare occupant headcount (numberOfExtraTenants, including the lead tenant) to capacity, keep stay length within the published months, and do not start before availableFrom.

Occupied nights still reject. Overlaps with listing unavailabilities do not create the booking. Partner POST cannot send Allow check-in date in the past — FAQ — Marketplace booking Allow check-in date in the past. Add Booking in the management app still enforces those unit fields.

Guide: Creating Bookings — Honour listing and Booking Lifecycle — Stay duration (api-swagger-listing-dto-capacity-stay-bounds.png, api-swagger-create-booking-integration-occupants.png). Operators: FAQ — Marketplace booking exceeded Capacity.

Integration OpenAPI — ListingDto availableFrom, minStayPeriod, maxStayPeriod, and capacity

Integration OpenAPI — CreateBookingIntegrationDto checkInDate, checkOutDate, and numberOfExtraTenants (occupant headcount)

Why didn't a marketplace booking use the rent I sent?​

Marketplace POST /{platform}-integration/bookings has no rent, isRentFixed, or rentsPerMonth field. The payment plan uses listing JSON rent / rentsPerMonth (after Markup). Extra Charge / Extra Deposit euros copy from the unit using occupant headcount — FAQ — Marketplace booking Extra Charge. platformProviderPaymentValue is channel commission for reconciliation — it does not change what the tenant owes.

To advertise a different monthly amount, change the unit (and Markup on the platform card) before the channel creates the stay. After import, operators can change Monthly rent on Contract Info. + Create New → Booking can type a custom rent (including €0) only when Use unit contract rents is off — that control is operator-only.

Guide: Creating Bookings — Rent (api-swagger-create-booking-integration-no-rent.png, api-swagger-listing-dto-rent-source-for-partner-post.png). Operators: FAQ — Empty fixed rent. Custom Extra Charge / Extra Deposit euros are a separate field — FAQ — Marketplace booking Extra Charge.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no rent)

Integration OpenAPI — ListingDto isRentFixed, rent, and rentsPerMonth (source for partner POST)

Why didn't a marketplace booking use the Extra Charge I sent?​

Marketplace POST /{platform}-integration/bookings has no extraPricePerTenant or extraDepositPerTenant field. Send occupant headcount as numberOfExtraTenants (including the lead tenant). Vivin copies unit Extra Charge (listing JSON extraPricePerTenant) and Extra Deposit, then multiplies each by the extra occupants. Extra Charge is added into monthly rent. Extra Deposit is added to listing depositValue. Markup does not apply to Extra Charge. When listing capacity is 1, listing JSON publishes Extra Charge as 0. Extra Deposit is never on listing GET. platformProviderPaymentValue is channel commission for reconciliation — it does not replace Extra Charge.

To advertise a different Extra Charge, change the unit Extra Charge (and Capacity) before the channel creates the stay. After import, operators can change Extra Charge on Contract Info. + Create New → Booking can tick Extra price per tenant / Extra deposit per tenant with a custom euro amount only when Use unit contract rents is off — that control is operator-only. Co-occupant identity is a separate field — FAQ — Marketplace booking Second tenant.

Guide: Creating Bookings — Extra Charge (api-swagger-create-booking-integration-no-extra-price-per-tenant.png, api-swagger-listing-dto-extra-price-per-tenant.png). Operators: FAQ — Extra Charge missing on a studio and FAQ — extraPricePerTenant is 0.

Integration OpenAPI — CreateBookingIntegrationDto occupant headcount (no extraPricePerTenant or extraDepositPerTenant)

Integration OpenAPI — ListingDto capacity and extraPricePerTenant (source Extra Charge for partner POST)

Why didn't a marketplace booking use the Second tenant I sent?​

Marketplace POST /{platform}-integration/bookings has no secondTenant object and no secondTenantFirstName (or other secondTenant*) fields. Send occupant headcount as numberOfExtraTenants (including the lead tenant). That count can open the Second tenant accordion when Preferences → Second tenant is On and the stay has at least two occupants. Identity stays empty until an operator fills Contract Info → Second tenant. platformProviderPaymentValue is channel commission for reconciliation — it does not name a co-occupant.

+ Create New → Booking also has no Second tenant fields at create. Create the stay first, then open Contract Info. Extra Charge / Extra Deposit euros are a separate field — FAQ — Marketplace booking Extra Charge. Guarantor identity is a separate field — FAQ — Marketplace booking Guarantor.

Guide: Creating Bookings — Second tenant (api-swagger-create-tenant-dto-no-second-tenant.png, api-swagger-create-booking-integration-occupants.png, bookings-detail-contract-info-second-tenant-accordion.png). Operators: FAQ — Record a second tenant.

Integration OpenAPI — CreateTenantDto lead-tenant identity and billing (no secondTenant object)

Integration OpenAPI — CreateBookingIntegrationDto occupant headcount (no secondTenant object)

Booking detail — Contract Info Second tenant accordion with co-occupant identity

Why didn't a marketplace booking use the Guarantor I sent?​

Marketplace POST /{platform}-integration/bookings has no guarantor object and no guarantorFirstName (or other guarantor* fields, including guarantorAmount). Send occupant headcount as numberOfExtraTenants. That count does not open or fill Guarantor. When Preferences → Guarantor is On, every imported stay shows the accordion — including a single-tenant stay — and identity plus Guarantor amount (€) stay empty until an operator fills Contract Info → Guarantor. platformProviderPaymentValue is channel commission for reconciliation — it does not name a guarantor or set the euro amount.

+ Create New → Booking also has no Guarantor fields at create. Create the stay first, then open Contract Info. Co-occupant identity is a separate field — FAQ — Marketplace booking Second tenant.

Guide: Creating Bookings — Guarantor (api-swagger-create-booking-integration-no-guarantor.png, api-swagger-create-tenant-dto-no-second-tenant.png, bookings-detail-contract-info-guarantor-accordion.png). Operators: FAQ — Record a guarantor.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no guarantor object or guarantorAmount)

Integration OpenAPI — CreateTenantDto lead-tenant identity and billing (no guarantor fields)

Booking detail — Contract Info Guarantor accordion with identity fields and Guarantor amount (€)

Does marketplace platform commission change what the tenant owes?​

Marketplace POST /{platform}-integration/bookings does include platformProviderPaymentValue. Send the euro amount your platform collected (or will pay) for this stay. Operators see it as read-only Provider platform payment on Contract Info. It does not replace monthly rent, Extra Charge, or the tenant payment schedule — except Vivin Booking Engine Daily stays shorter than one month, where a positive amount can also drive the rent schedule.

Inlife and the Vivin Booking Engine fill a fallback from listing rent plus Extra Charge when the field is omitted. Other marketplace prefixes require the number you collected. Direct stays show —. Empty shows Not set.

+ Create New → Booking can type First payment value (€) when Platform is a channel (not Direct). That maps to the same stored amount.

Guide: Creating Bookings — Platform commission (api-swagger-create-booking-integration-platform-commission.png, bookings-detail-provider-platform-payment-field.png). Operators: Bookings — Provider platform payment.

Integration OpenAPI — CreateBookingIntegrationDto with platformProviderPaymentValue (number)

Booking detail — Contract Info, Provider platform payment read-only field on integration booking

Why didn't a marketplace booking use the cleaning fee I sent?​

Marketplace POST /{platform}-integration/bookings has no cleaningFeeValue field. The payment plan copies the property cleaning amount (the same euro figure listing JSON publishes as cleaningFeeValue). When Cleaning fee is off, that copy is €0. Frequency (Every Month / one-time) also copies from the property — it is not on this POST and not on listing GET.

To advertise a different cleaning amount, change the property before the channel creates the stay. After import, operators can change the euro amount and Cleaning Fees requirement on Contract Info. + Create New → Booking can include or omit Cleaning fee (and type a custom amount) — that control is operator-only.

Guide: Creating Bookings — Cleaning fee (api-swagger-create-booking-integration-no-cleaning-fee.png, api-swagger-listing-dto-cleaning-fee-value.png). Operators: FAQ — Change cleaning fee timing.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no cleaningFeeValue)

Integration OpenAPI — ListingDto extraPricePerTenant, cleaningFeeValue, billsIncluded, and depositValue (source amount for partner POST)

Why didn't a marketplace booking use the deposit I sent?​

Marketplace POST /{platform}-integration/bookings has no depositValue or extraDepositPerTenant field. The payment plan copies listing JSON depositValue (the computed property hold). Extra Deposit is added from the unit Extra Deposit per Tenant and occupant headcount — custom Extra Deposit euros are not on this POST — FAQ — Marketplace booking Extra Charge. When Security Deposit is off, that copy is €0 — Extra Deposit can still add for extra occupants. platformProviderPaymentValue is channel commission for reconciliation — it does not change the tenant hold.

To advertise a different hold, change the property Security Deposit (and unit Extra Deposit) before the channel creates the stay. After import, operators can change the euro amount on Contract Info. + Create New → Booking can include or omit Security deposit (and Extra Deposit) only when Use unit contract rents is off — that control is operator-only.

Guide: Creating Bookings — Deposit (api-swagger-create-booking-integration-no-deposit.png, api-swagger-listing-dto-deposit-value.png). Operators: FAQ — Listing depositValue vs Extra Deposit.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no depositValue)

Integration OpenAPI — ListingDto isRentFixed, rent, and depositValue (source hold for partner POST)

Why didn't a marketplace booking use the admin fee I sent?​

Marketplace POST /{platform}-integration/bookings has no adminFeeValue, adminFeeMode, or adminFeeTiers field. The payment plan resolves the property admin fee: €0 when Admin fee is off; the fixed euro amount when the property uses Fixed value; or the matching Per stay duration tier from the stay length (UTC days between check-in and check-out, not counting check-out). Listing GET still publishes adminFeeValue / adminFeeMode / adminFeeTiers so the channel can advertise the same fee. When the property is tiered, listing adminFeeValue may be a leftover — advertise from the tiers. platformProviderPaymentValue is channel commission for reconciliation — it does not change the tenant admin fee.

To advertise a different admin fee, change the property before the channel creates the stay. After import, operators can change the euro amount on Contract Info. + Create New → Booking can include or omit Admin fee only when Use unit contract rents is off — that control is operator-only.

Guide: Creating Bookings — Admin fee (api-swagger-create-booking-integration-no-admin-fee.png, api-swagger-listing-dto-admin-fee-mode-tiers.png). Operators: Listings — Admin fee.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no adminFeeValue)

Integration OpenAPI — ListingDto adminFeeMode, adminFeeTiers, and ListingAdminFeeTierDto (source for partner POST)

Why didn't a marketplace booking use the bills included ceiling I sent?​

Marketplace POST /{platform}-integration/bookings has no billsIncluded or billsIncludedMaxValue field. The imported stay copies the property Bills Included ceiling (the same euro figure listing JSON publishes as billsIncludedMaxValue when the unit is not All bills included). When Bills Included is off and no cap is stored, that copy is €0 (Not set). platformProviderPaymentValue is channel commission for reconciliation — it does not change the tenant utility ceiling.

When the unit has All bills included (No cap), listing GET publishes billsIncludedMaxValue: null. That null is not a POST input. Covered allocations on that unit come from the unit No cap flag, not from this POST.

To advertise a different ceiling, change the property Bills Included (or the unit No cap flag) before the channel creates the stay. After import, operators can change the ceiling on Contract Info (inert for the payment plan). + Create New → Booking can include or omit Bills included (max) only when Use unit contract rents is off — that control is operator-only.

Guide: Creating Bookings — Bills included (api-swagger-create-booking-integration-no-bills-included.png, api-swagger-listing-dto-bills-included.png). Operators: Bookings — Bills included ceiling.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no billsIncludedMaxValue)

Integration OpenAPI — ListingDto billsIncluded boolean and billsIncludedMaxValue number (source ceiling for partner POST)

Why didn't a marketplace booking use the contract type I sent?​

Marketplace POST /{platform}-integration/bookings has no contractType or contractDayType field. The imported stay copies the property Rental payment frequency (Daily / Fortnightly / Monthly) and Contract type (Traditional rental / Accommodation services / Others). Partial listing JSON also omits those keys. platformProviderPaymentValue is channel commission for reconciliation — it does not change rent billing type.

To use a different frequency or classification, change the property before the channel creates the stay. After import, Contract Info shows Contract cycle and Contract type as read-only. + Create New → Booking can pick both only when Use unit contract rents is off — that control is operator-only.

Guide: Creating Bookings — Contract type (api-swagger-create-booking-integration-no-contract-type.png, listings-property-edit-contract-tab.png). Operators: Listings — Step 4 Contract details.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no contractType or contractDayType)

Property Contract Information — Contract day type and Contract type (source for partner POST)

Why didn't a marketplace booking use the confirmation payments I sent?​

Marketplace POST /{platform}-integration/bookings has no bookingConfirmationRequirements or moveInRequirements field. The imported stay copies the property Confirmation payments and Check-in payments. Partial listing JSON also omits those keys. Inlife full catalogues may show paidAtMovinDate (Security Deposit or Security Deposit + Last Rent) — that is advertise-only, not a POST input. platformProviderPaymentValue is channel commission for reconciliation — it does not change which charges are due at confirmation vs move-in.

To use a different split, change the property before the channel creates the stay. After import, Contract Info can still override both fields for that reservation only. + Create New → Booking can pick both only when Use unit contract rents is off — that control is operator-only.

Guide: Creating Bookings — Confirmation payments (api-swagger-create-booking-integration-no-confirmation-payments.png, listings-property-edit-contract-tab.png). Operators: Listings — Step 4 Contract details and Bookings — Confirmation payments.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no bookingConfirmationRequirements or moveInRequirements)

Property Contract Information — Confirmation payments and Check-in payments (source for partner POST)

Why didn't a marketplace booking use the due day I sent?​

Marketplace POST /{platform}-integration/bookings has no dueDay or dueDayMonth field. The imported stay copies the property Due date and Due Month. When the property has no override, Vivin uses account Tenant Due Day / Tenant Due Month. Partial listing JSON also omits those keys. platformProviderPaymentValue is channel commission for reconciliation — it does not change the calendar due day.

+ Create New → Booking also cannot pick Due day at create — both paths copy from the property, then the account. After import, Contract Info can still override Due day and Due Month for that reservation only.

This is not Confirmation payments (which charges are due at booking vs move-in). It is not Edit due date on one Contract Values line.

Guide: Creating Bookings — Due date (api-swagger-create-booking-integration-no-due-day.png, listings-property-edit-contract-tab.png, settings-payments-tab-overview.png). Operators: Listings — Payments tab and Payments — Payment Deadlines.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no dueDay or dueDayMonth)

Property Contract Information — Due date and Due Month (source for partner POST)

Account Settings — Payments, Payment Deadlines with Tenant Due Day and Tenant Due Month

Why didn't a marketplace booking use the check-in time I sent?​

Marketplace POST /{platform}-integration/bookings has no checkInTime or checkOutTime field. The imported stay copies account Check-in time / Check-out time. Partial listing JSON also omits those keys. platformProviderPaymentValue is channel commission for reconciliation — it does not change arrival or departure clock times.

+ Create New → Booking can pick both times at create, or leave them blank so Vivin uses the same account defaults. After import, Contract Info → Check-in & Check-out can still override both times for that reservation only.

This is not Confirmation payments (which charges are due at booking vs move-in). It is not checkInDate / checkOutDate (those calendar days are on the partner body). It is not Check-in responsible (teammates stay empty until assigned).

Guide: Creating Bookings — Check-in times (api-swagger-create-booking-integration-no-check-in-times.png, settings-preferences-booking-defaults-times-preparation.png, bookings-add-booking-modal.png, bookings-detail-contract-check-in-out-emails.png). Operators: Preferences — Booking Defaults and Bookings — Check-in & Check-out.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no checkInTime or checkOutTime)

Account Settings — Preferences, Booking Defaults card with Check-in time 15:00 and Check-out time 11:00

Add booking — Check-in time and Check-out time pickers (operator-only)

Booking detail — Contract Info, Check-in &amp; Check-out card with Check-in time 15:00 and Check-out time 11:00

Why didn't a marketplace booking use the days before due I sent?​

Marketplace POST /{platform}-integration/bookings has no daysBeforeDueAsPayable field. The imported stay copies account Days before due date from Payments. Partial listing JSON also omits that key. platformProviderPaymentValue is channel commission for reconciliation — it does not change when a charge appears as payable.

+ Create New → Booking also cannot pick Days before due at create — both paths copy from the account. There is no property-level Days before due date. After import, Contract Info can still override Days before due (payable) for that reservation only — that does not rebuild the payment plan.

This is not Due date / Due Month (calendar day for the rent schedule). It is not Deposit Refund Limit (days after checkout to return the hold).

Guide: Creating Bookings — Days before due (api-swagger-create-booking-integration-no-days-before-due.png, settings-payments-when-to-show-due-card.png, bookings-detail-deposit-refund-limit-inherited.png). Operators: Payments — When to show payment as due and Bookings — Days before due.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no daysBeforeDueAsPayable)

Account Settings — Payments, When to show payment as due with Days before due date 10 days

Booking detail — Contract Info, Days before due (10) next to Due day, Due Month, and Deposit Refund Limit

Why didn't a marketplace booking use the check-in responsible I sent?​

Marketplace POST /{platform}-integration/bookings has no checkInResponsableId or checkOutResponsableId field. Check-in responsible and Check-out responsible stay empty (–) until an operator assigns a teammate. Partial listing JSON also omits those keys. There is no account-level or property-level default. platformProviderPaymentValue is channel commission for reconciliation — it does not name a teammate.

+ Create New → Booking can pick both at create. After import, Contract Info → Check-in & Check-out can still assign both for that reservation only. Until then, Operations → Check-in & Check-out → Filters → Assigned responsible → Without lists those marketplace stays as unassigned.

This is not Check-in times (clock times copy from account Booking Defaults). It is not checkInDate / checkOutDate (those calendar days are on the partner body). It is not the Operations toolbar Responsible filter (names already on a handover).

Guide: Creating Bookings — Check-in responsible (api-swagger-create-booking-integration-no-check-in-responsible.png, bookings-add-booking-modal.png, bookings-detail-contract-check-in-out-emails.png). Operators: Bookings — Check-in responsible and Operations — Assigned responsible.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no checkInResponsableId or checkOutResponsableId)

Add booking — Check-in responsible and Check-out responsible pickers (operator-only)

Booking detail — Contract Info, Check-in &amp; Check-out card with empty Check-in / Check-out responsible

Why didn't a marketplace booking use the lease purpose I sent?​

Marketplace POST /{platform}-integration/bookings has no leasePurpose field. Lease purpose stays empty (No lease purpose) until an operator or tenant selects an allowed chip. Partial listing JSON also omits that key. Settings → Categories → Lease purpose is a catalog of allowed values — it is not a default label copied onto imported stays. platformProviderPaymentValue is channel commission for reconciliation — it does not classify why the tenant is renting.

+ Create New → Booking can pick Lease purpose when the field is enabled. After import, Contract Info → Booking information can still set it for that reservation only. Make Lease Purpose mandatory does not reject channel create — when that toggle is on, the tenant must pick on the portal Your Details step before Next.

This is not Check-in responsible (teammates stay empty until assigned). It is not Tenant category (allowlisted channels can assign a default segment). It is not a chip auto-copied from Categories.

Guide: Creating Bookings — Lease purpose (api-swagger-create-booking-integration-no-lease-purpose.png, settings-categories-lease-purpose-section.png, bookings-add-booking-lease-purpose-dropdown.png). Operators: Bookings — Lease purpose and Settings → Categories — Lease purpose.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no leasePurpose)

Account Settings — Categories, Lease purpose enable/required toggles and allowed value chips

Add booking — Lease purpose searchable dropdown with account-configured options (operator-only)

Why didn't a marketplace booking use the Deposit Refund Limit I sent?​

Marketplace POST /{platform}-integration/bookings has no depositReturnDueDay field. Deposit Refund Limit stays blank and inherits the account Payments — Deposit Refund Limit on every read — Vivin does not copy a number onto the stay at create. Partial listing JSON also omits that key. There is no property-level Deposit Refund Limit. platformProviderPaymentValue is channel commission for reconciliation — it does not change when the hold is due back.

+ Create New → Booking also cannot pick it at create. After import, Contract Info → Booking information can still override Deposit Refund Limit for that reservation only. Blank keeps inheriting. 0 is a same-day override. Changing Payments still moves every booking that has no override.

This is not Deposit (the euro hold copied from listing JSON). It is not Days before due (that window is copied at create). It is not Deposit Refund Limit Reference (which date the term counts from — account-wide).

Guide: Creating Bookings — Deposit Refund Limit (api-swagger-create-booking-integration-no-deposit-refund-limit.png, settings-payments-tab-overview.png, bookings-detail-deposit-refund-limit-inherited.png). Operators: Bookings — Deposit Refund Limit and Payments — Payment deadlines.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no depositReturnDueDay)

Account Settings — Payments, Payment Deadlines with Deposit Refund Limit 10 days

Booking detail — Contract Info, Deposit Refund Limit showing the inherited 10-day term

Why didn't a marketplace booking use the booking tags I sent?​

Marketplace POST /{platform}-integration/bookings has no bookingTags field. Booking categories stay empty (No categories on Contract Info) until an operator picks chips. Partial listing JSON also omits that key. Settings → Categories → Bookings is a catalog of allowed values — it is not a default tag copied onto imported stays. platformProviderPaymentValue is channel commission for reconciliation — it does not label the stay.

+ Create New → Booking can pick Booking categories when the account has chips. After import, Contract Info → Booking information can still set them for that reservation only. Until then, Bookings → Booking categories → No booking category lists those marketplace stays. Emails → Communication Rules → Booking tags → Include only will not match an untagged marketplace stay.

This is not Tenant category (allowlisted channels can assign a default segment). It is not Lease purpose (why the tenant is renting). It is not listing Select tags (property and unit labels). It is not a chip auto-copied from Categories.

Guide: Creating Bookings — Booking tags (api-swagger-create-booking-integration-no-booking-tags.png, settings-categories-bookings-section.png, bookings-list-select-categories-no-category.png). Operators: Bookings — Booking tags and Settings → Categories — Bookings.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no bookingTags)

Account Settings — Categories, Bookings chip catalog (allowed labels, not a default copied onto new stays)

Bookings list — Booking categories menu with No booking category selected (empty tag list after marketplace import)

Why didn't a marketplace booking use the maintenance ticket opt-out I sent?​

Marketplace POST /{platform}-integration/bookings has no createCheckInMaintenanceTicket or createCheckOutMaintenanceTicket field. Automatic check-in/out tickets follow the property Maintenances tab. Partial listing JSON also omits those keys. There is no listing-level or account-level ticket default.

+ Create New → Booking can uncheck Create check-in ticket / Create check-out ticket when you turn off Use unit contract rents and other contract details. That skip is operator-only. After import, Contract Info cannot flip this snapshot. Cancel an unwanted automatic row in Operations → Tickets. Changing Maintenances later does not rewrite stays already imported. A partner flag cannot turn tickets on when the property has auto-create off.

This is not Per-booking maintenance ticket opt-out on Add booking (marketplace POST always uses the property rule). It is not Ignore unit preparation days. It is not Check-in responsible.

Guide: Creating Bookings — Maintenance tickets (api-swagger-create-booking-integration-no-maintenance-tickets.png, listings-property-edit-maintenances-tab.png, bookings-add-booking-maintenance-ticket-opt-out.png). Operators: Listings — Maintenances tab and FAQ — Skip automatic tickets for one booking.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no createCheckInMaintenanceTicket or createCheckOutMaintenanceTicket)

Property Maintenances — Create maintenance ticket at check-in and check-out (property default copied onto marketplace stays)

Add booking — Create check-in ticket and Create check-out ticket (operator-only skip; not on partner POST)

Why didn't a marketplace booking use the Ignore unit preparation days I sent?​

Marketplace POST /{platform}-integration/bookings has no ignoreListingPreparationDays field. Occupied nights and preparation nights already in listing unavailabilities still reject. Partial listing JSON also omits that key. There is no listing-level or account-level skip default.

+ Create New → Booking can tick Ignore unit preparation days so a manual stay starts in the previous booking’s Mid-term Prep / Short-term Prep buffer. That skip is operator-only. After import, Contract Info cannot flip this. Changing Booking Defaults later does not rewrite stays already imported. Same-day turnover (checkout = the next check-in) does not need this flag. If a channel POSTs dates that overlap a prep tail, the worker does not create the booking.

This is not Ignore unit preparation days on Add booking (marketplace POST always honours prep nights). It is not same-day turnover. It is not Allow check-in date in the past. It is not Maintenance tickets.

Guide: Creating Bookings — Ignore unit preparation days (api-swagger-create-booking-integration-no-ignore-preparation-days.png, settings-preferences-booking-defaults-times-preparation-card.png). Operators: Bookings — Ignore unit preparation days and FAQ — Why are the days after checkout grey on Add Booking?.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no ignoreListingPreparationDays)

Account Settings — Booking Defaults with Mid-term Prep and Short-term Prep (buffer copied into listing unavailabilities)

Why didn't a marketplace booking use the Allow check-in date in the past I sent?​

Marketplace POST /{platform}-integration/bookings has no ignoreAvailableFrom field. Honour listing JSON availableFrom on your marketplace. Partial listing JSON also omits that skip key (it does publish availableFrom). There is no listing-level or account-level skip default.

+ Create New → Booking can tick Allow check-in date in the past so a manual stay starts before the listing’s available-from month. That skip is operator-only. After import, Contract Info cannot flip this. Occupied nights still reject. On RoomLess, nights before availableFrom already appear in listing unavailabilities. Changing Available from later does not rewrite stays already imported.

This is not Allow check-in date in the past on Add booking (marketplace POST honours listing availableFrom). It is not Ignore unit preparation days. It is not same-day turnover. It is not Honour listing capacity and stay bounds.

Guide: Creating Bookings — Allow check-in date in the past (api-swagger-create-booking-integration-no-ignore-available-from.png, api-swagger-listing-dto-capacity-stay-bounds.png). Operators: Bookings — Allow check-in date in the past and FAQ — Honour listing Capacity and stay bounds.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no ignoreAvailableFrom)

Integration OpenAPI — ListingDto availableFrom, minStayPeriod, maxStayPeriod, and capacity

Why didn't a marketplace booking use the check-in date as contract start I sent?​

Marketplace POST /{platform}-integration/bookings has no useCheckInDateInContract or useCheckOutDateInContract field. Use check in date as contract start date and Use check out date as contract end date stay off until an operator ticks them on Change contract start date / Change contract end date. Partial listing JSON also omits those keys. There is no listing-level or account-level overlay default. Property Rental payment frequency still sets stored Start date / End date at create (for example a Monthly contract starts on the 1st).

+ Create New → Booking has no create-time checkbox. After import, Contract Info can still overlay that reservation only. The helper text is Without impact in the payments plan. Airbnb channel-manager stays keep Change contract start/end date locked.

This is not Contract type (the property billing cycle still copies at create). It is not Allow check-in date in the past. It is not Change move-in date.

Guide: Creating Bookings — Use check in date as contract start date (api-swagger-create-booking-integration-no-use-check-in-date-in-contract.png, bookings-detail-change-contract-start-date-modal.png, bookings-detail-change-contract-end-date-modal.png). Operators: Bookings — Use check in date as contract start date and Bookings — Changing contract dates and rent.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no useCheckInDateInContract or useCheckOutDateInContract)

Booking detail — Change contract start date modal with Use check in date as contract start date

Booking detail — Change contract end date modal with Use check out date as contract end date

Why did a marketplace booking send the onboarding email I tried to skip?​

Marketplace POST /{platform}-integration/bookings has no sendOnBoarding field. Vivin always treats the imported stay as Send onboarding email & contract on: it generates the contract (when a template exists) and queues the welcome email. Partial listing JSON also omits that key. There is no listing-level or account-level skip-on-import default.

+ Create New → Booking can skip — the checkbox defaults off. After import, Contract Info can still Send / Resend Onboarding email. Account Onboarding No trigger — disabled still skips the welcome email for every stay, including marketplace imports. Contract in onboarding email and the tenant’s category still control whether the PDF attaches.

This is not Send portal access (portal login only). It is not Resend on the Contract card (forces the PDF). It is not Use check in date as contract start date.

Guide: Creating Bookings — Send onboarding (api-swagger-create-booking-integration-no-send-onboarding.png, bookings-detail-contract-check-in-out-emails.png, bookings-detail-contract-section-resend.png). Operators: Bookings — Send onboarding email & contract and Emails — Onboarding.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no sendOnBoarding)

Booking detail — Contract Info Check-in &amp; Check-out card with Resend Onboarding email

Booking detail — Contract card with Preview, Regenerate, Resend, and Upload Signed Contract

Why didn't a marketplace booking use the custom contract rents I sent?​

Marketplace POST /{platform}-integration/bookings has no useListingValues field. Vivin always treats the imported stay as Use unit contract rents and other contract details on: monthly rent, Security deposit, Extra Charge / Extra Deposit, Confirmation payments, and Check-in payments copy from the unit and property. Partial listing JSON also omits that key. There is no listing-level or account-level custom-contract-on-import default.

+ Create New → Booking can turn the box off and type custom rent, fees, and contract details. After import, Contract Info can still change euro amounts for that reservation. platformProviderPaymentValue is channel commission for reconciliation — it does not replace unit contract rents.

This is not Rent / Deposit (those name the copied amounts). It is not Send onboarding. It is not Extra Charge from occupant headcount.

Guide: Creating Bookings — Use unit contract rents (api-swagger-create-booking-integration-no-use-listing-values.png, bookings-add-booking-empty-fixed-rent.png, api-swagger-listing-dto-rent-source-for-partner-post.png). Operators: Bookings — Use unit contract rents and FAQ — Empty fixed rent.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no useListingValues)

Add Booking — Custom contract details after turning off Use unit contract rents

Integration OpenAPI — ListingDto isRentFixed, rent, and rentsPerMonth (source copied when unit contract rents stay on)

Why didn't a marketplace booking use the Exclude from penalty fees I sent?​

Marketplace POST /{platform}-integration/bookings has no ignorePenaltyFees field. Exclude this booking from penalty fees stays off until an operator ticks it on Contract Info → Method of payments. Partial listing JSON also omits that key. There is no listing-level or account-level exclusion default. Account Payment Delay Penalties still apply.

+ Create New → Booking has no create-time checkbox. After import, Contract Info can still exclude that reservation only. Penalty Fee Communication Rules skip an excluded stay. Operators can still add a one-off extra charge on Payment Plan. Airbnb channel-manager stays keep the box locked.

This is not Payment Delay Penalties on Payments (those rules still apply unless excluded). It is not Ignore unit preparation days. It is not a Penalty Fee Communication Rule field.

Guide: Creating Bookings — Exclude from penalty fees (api-swagger-create-booking-integration-no-ignore-penalty-fees.png, settings-payments-tab-overview.png, bookings-detail-contract-method-of-payments.png). Operators: Bookings — Exclude this booking from penalty fees and Handling a Late Payment — Step 5.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no ignorePenaltyFees)

Account Settings — Payments with Payment Delay Penalties (account rules still apply unless Contract Info excludes the stay)

Booking detail — Contract Info Method of payments with Exclude this booking from penalty fees

Does POST /bookings set the tenant category?​

No. Marketplace POST /{platform}-integration/bookings has no booking-level tenant category field. Nested OpenAPI may list tenantCategoryId on CreateTenantDto — omit it (that is an operator UUID).

Allowlisted channels assign Default for integration-created tenants when the person is new or still has no category: Uniplaces, Inlife, RoomLess (Spacest), Housing Anywhere, Spotahome, Vivin Booking Engine, Edu Portugal, Erasmus Life Lisboa, Kiwi, Capital Rooms, Porta85, and Lisbeyond. A returning guest (same email or fiscal id) keeps their existing category.

+ Create New → Booking never auto-assigns a category — use Tenant Info. Channex (Airbnb / Booking.com), Idealista, and Coliving also skip this default.

Guide: Creating Bookings — Tenant category (api-swagger-create-booking-integration-no-tenant-category.png, api-swagger-create-tenant-dto-no-tenant-category.png, settings-tenant-categories-tab-when-enabled.png). Operators: FAQ — Assign tenant category for direct booking.

Integration OpenAPI — CreateBookingIntegrationDto booking fields (no tenant category)

Integration OpenAPI — CreateTenantDto identity and billing fields (no tenant category)

Why is the listing rent field higher than some months?​

When a unit uses variable monthly rent (isRentFixed: false), listing JSON rent is the highest month in rentsPerMonth, after platform markup. It is not January and not a leftover base from when the unit was created. Markup still does not apply to Extra Charge — FAQ — Extra Charge vs Markup.

Bill each stay month from rentsPerMonth. Use rent only as a headline if you cannot store twelve months. Uniplaces and Spotahome full catalogues use that same highest month as their headline (pricing.rents on Uniplaces). Housing Anywhere full sends monthlyPrices in cents instead.

This is not dual pricing / local rent cap — listing JSON also omits the cap — FAQ — Listing JSON has no local rent cap. Guide: Listings & Availability — Variable rent headline and Full listing feeds — Variable rent headline (api-swagger-listing-dto-variable-rent.png, api-swagger-uniplaces-pricing-rents.png). Operators: Listings — Rent Value.

Integration OpenAPI — ListingDto isRentFixed, rent, and rentsPerMonth

Integration OpenAPI — UniplacesFullFeedListingPricingDto rents (headline monthly rent)

Why does the full listing feed have more units than GET /listings?​

The two pulls are different sets of units, not two views of the same list.

Partial GET /listings only includes units with a Channels mapping for that marketplace. Full GET …/listings/full includes every listing on the account so the channel can create listings that are not linked yet. Those extra rows are keyed by the Vivin listing id (Uniplaces reference_id, Housing Anywhere listingReference, and so on). Save an external ID on Listings → Channels before you expect the unit on calendar/booking pulls or on POST /bookings.

A unit marked Excluded from feed on Integration listings is omitted from both pulls — that is not a Channels gap. Do not treat extra catalogue rows as a mapping defect. Inlife can still omit rows for unknown cities — FAQ — Listing missing from Inlife. Units without a usable positive rent are omitted from both pulls — FAQ — Listing JSON omits a unit with €0 rent. Guide: Full listing feeds — Which listings appear (api-swagger-uniplaces-partial-vs-full-listings.png).

Integration Swagger — Uniplaces GET /listings (partial, linked units) next to GET /landlordKey/listings/full (all listings)

Why is a listing missing from a marketplace pull?​

Open the unit Full integration → Integration listings. If that platform shows Excluded from feed, Vivin leaves the unit off that partner’s listing JSON — both the calendar/booking import and the full catalogue. The unit stays in Vivin. Default is Included in feed; a switch you never touched is on.

This is not a missing Channels ID. Unlinked units still appear on the full catalogue. It is also not Inlife’s city filter (full catalogue only) and not €0 rent (both pulls omit unpriced units).

Click Edit on the Full integrations card, turn the platform back to Included in feed, then Confirm or Save. Airbnb and Booking.com are not on this card — they stay in channel manager settings.

Guide: Integration listings and Listings & Availability — Integration listings (booking-engine-details-listing-integration-listings-tab.png).

Listing Details — Integration listings tab with per-platform Included in feed toggles

Why is a listing missing from the Inlife catalogue?​

Inlife’s full listing feed only publishes units whose property City (or Region) maps to a city Inlife supports. Unknown or blank cities are left out of the catalogue so Inlife can ingest the feed. The unit is still in Vivin, and it still appears on Inlife partial listing pulls used for calendars and booking import.

Open the property Full integration → Location & geography tab. Set City to a recognised name — Lisbon / Lisboa, Porto, Madrid, Barcelona, Rome / Roma, Milan / Milano, Seville / Sevilla, Valencia, Aveiro, or Braga. Accents and capitalisation do not matter. Neighborhood is not enough. An address suggestion picked on Setup → Address fills the same City field.

If City is already a recognised name, check that the unit has a usable rent (fixed monthly rent greater than 0, or a variable grid with every month greater than 0). That rent gate applies to every partner listing pull, not only Inlife — FAQ — Listing JSON omits a unit with €0 rent.

Guide: Full listing feeds — Recognised cities (booking-engine-details-property-location-geography-tab.png).

Property Full integration — Location &amp; geography with City, Region, and neighbourhood

How does Inlife identify a listing in the full feed?​

Inlife stores the channel key as propertyId_roomId (from import or a /house/{propertyId}/{roomId} listing URL). The full catalogue splits that string: listing id is the property segment, room.id is the room segment. Both must be underscore-free. Partial listing pulls and booking create still use the joined externalId. Guide: Full listing feeds — Inlife id and room.id (api-swagger-inlife-listing-id.png, api-swagger-inlife-room-id.png).

Integration Swagger — InlifeFullFeedListingDto with required underscore-free listing id

Integration Swagger — InlifeFullFeedRoomDto with required underscore-free room id

How do I turn on Instant Booking for partner feeds?​

On the property, open Full integration → Rules & host, select the Instant booking chip under Booking Engine Features, then Update. On each unit, open Full integration → Partner platforms and set Minimum age, Maximum age, and Instant booking — max days before check-in, then Update. Couples allowed is under the unit Room fixtures section. Guide: Instant Booking (property + unit) (booking-engine-details-property-instant-booking-toggle.png, booking-engine-details-listing-instant-booking-max-days.png, booking-engine-details-instant-booking-property-unit-flow.mp4).

Property Full integration — Instant booking selected under Booking Engine Features

Unit Full integration — Instant booking max days and age window on Partner platforms

Walkthrough: enable property Instant booking, then set unit age window and max days before check-in.

Do I need to update each channel separately when blocking dates? No. When you block dates in Vivin (whether manually, through a booking, or via any channel), all connected platforms are updated automatically. See How Calendar Synchronisation Works.

How do I set up Hostkit for Portuguese Fatura-Recibo invoicing?

  1. Open Account Settings → Integrations and add Hostkit under Other providers (no API key on the add dialog — keys are per listing). Connecting Hostkit is what turns invoicing on — FAQ — How do I turn invoicing on?.
  2. On the Hostkit card, open Listing keys, search for each unit if needed, paste the property API key from Hostkit, and Save per row (the modal loads about 20 listings per scroll chunk).
  3. Set Hostkit invoice series on Account Settings → Invoicing to match Hostkit Faturação → Séries (Vivin always requests document type FR).
  4. After chargeable payments are invoiced, use see invoice on Finance → Transactions allocation rows or Invoice_ PDF tiles on the booking Files tab. See Finance — Hostkit invoice links and Glossary — Hostkit. Only one invoicing provider (Hostkit, Invoice-xpress, or NetSuite) can be active per account.

Integrations — Hostkit connection card with Listing keys

Integrations — Hostkit API keys by listing modal (Configured and Not set rows)

Walkthrough: open Listing keys on the Hostkit card and review per-listing Configured / Not set rows before you paste keys.

Finance → Transactions — Draft allocation with Hostkit {series}/{id} ref and enabled see invoice

Booking detail — Files tab synthesised Hostkit Invoice_2025/42.pdf tile (Download, no Delete)

Walkthrough: after invoicing, open Finance see invoice or the booking Files Hostkit invoice tile.

How do I set up NetSuite for ERP invoicing?

  1. Open Account Settings → Integrations and add NetSuite under Other providers with Account ID, OAuth client ID, Certificate ID, and private key (PEM).
  2. On the NetSuite card, click Configure. For Invoice defaults, pick subsidiary, department, GL account, and base location from the live NetSuite lists when the dropdowns are populated; type render script / deploy ids (and terms / currency / payment method when those lists are unavailable for your account).
  3. Optionally add SII identification type map rows and Property class mappings — open Select a property, use Search properties… or scroll the list (infinite scroll), then pick a NetSuite class code and + Add (settings-integrations-netsuite-config-property-class-picker.png, settings-integrations-netsuite-property-class-picker-flow.mp4).
  4. Click Save configuration, then run Issue allocation / Invoice selected from Finance → Transactions. See Glossary — NetSuite and the Configure walkthrough (settings-integrations-netsuite-config-flow.mp4). NetSuite blocks Hostkit / Invoice-xpress until you remove the connection.

Hostkit invoice links or PDFs look wrong — what should I check? Confirm Hostkit invoice series on Account Settings → Invoicing matches the FR series you issue from in Hostkit Faturação → Séries. Hostkit reuses numeric sequence ids across series; Vivin tracks each document as {series}/{id} and fetches PDFs from Hostkit’s permalink for that pair. A series typo can cause invalid series errors on create or mismatched see invoice / Files attachments until Settings match your live Hostkit series. See Finance — Hostkit invoice links.

Why does Hostkit invoicing fail with “invoice series is not configured”? The Hostkit invoice series field on Account Settings → Invoicing is required before Vivin calls Hostkit to create a document — an empty or whitespace-only value is rejected in-product so invoices are not silently issued into Hostkit’s default series. Paste the exact FR series code from Hostkit Faturação → Séries, Save, then retry Issue allocation or Invoice selected on Finance → Transactions.

The tenant did not receive a final invoice receipt email — was invoicing skipped? Not necessarily. Issue allocation / Invoice selected persists the PDF on the booking and updates allocation Invoiced state before Vivin attempts the optional receipt email controlled on Preferences → Final invoices (receipts). Check Bookings → Files or Finance → Transactions first — when the document is there, invoicing succeeded and only delivery may have failed (tenant email missing, toggles off, or spam). Outbound mail failure does not roll back invoiced state; do not re-issue solely because the mailbox is empty. See Finance — Tenant invoice receipt email.

AI & Automation​

Pair with other FAQ sections

Chatbot and MCP answers pair with Settings & tenant communications (ChatBot settings under Account Settings), Bookings (Communication tab, Bot reasoning), Where do I read WhatsApp and email for one booking? (Communication vs global Inbox), WhatsApp per-booking messaging hub (symptom table for Inbox vs Bookings → Communication — inbox-module-triage-flow.mp4), Common Workflows — WhatsApp per-booking messaging.

What can the AI chatbot do? The chatbot provides 24/7 tenant support via WhatsApp and email (there is no tenant chat surface inside the Tenant Portal). It handles enquiries about payment status, contracts, maintenance, and move-in information. Complex issues are automatically escalated to your team. See Automation & AI.

Where can I ask the AI questions about my own portfolio? Use the AI Chat module (Tools > AI Assistant in the sidebar, or /ai-chat) to ask questions about occupancy, revenue, move-ins, and coliving overview. The VIVIN AI Assistant answers using your real data. Access is Vivin internal accounts only — other roles do not see this menu entry. WhatsApp Genius (staff phones linked on Users) shares the same Landlord MCP tools. Money answers use Finance-page figures (get-finance-overview, get-revenue-summary) — compare against Finance → Overview, not Analytics ADR/RevPAR (FAQ — Genius revenue vs Analytics). For one landlord’s monthly settlement totals without generating the PDF, see How do I ask for an owner settlement preview?. See AI Chat Module, Automation & AI — WhatsApp Genius, and bookmarkable routes under Management deep links.

How do I choose Short or Long AI Assistant answers?​

On Tools → AI Assistant, use the Short / Long control under New chat. Short keeps replies to a plain number or fact; Long adds a short explanation and breakdown when the tools return one. The choice is saved for your user until you change it. Typing explain / detail / breakdown (or short / just the number) in one message can override the saved mode for that reply only. See AI Chat — Answer mode (ai-chat-answer-mode-short-reply.png, ai-chat-answer-mode-long-reply.png, ai-chat-answer-mode-flow.mp4).

AI Assistant — Short reply with a plain active-bookings count

AI Assistant — Long reply with how-I-counted breakdown

What happens when I reach the AI Assistant monthly question limit?​

Some accounts cap how many questions Tools → AI Assistant accepts each calendar month. Near the limit, replies still answer and may append a short note such as 9/10 monthly assistant questions used. At the limit, the assistant explains that you have reached the monthly limit — questions resume at the start of the next month, or ask an administrator about a higher limit. Starting a new chat does not reset the counter. See AI Chat — Monthly question limit.

How do I find older AI Assistant conversations?​

Open Tools → AI Assistant. The left sidebar lists your threads in pages (about 50 at a time). Scroll that list until Load older conversations appears under your chats (above Examples), then click it to append the next batch. Repeat until the control disappears — every older page is then loaded for rename, archive, or open. If you never see the control, you have fewer than one page of conversations. See AI Chat — Load older conversations (ai-chat-load-older-conversations-button.png, ai-chat-load-older-conversations-flow.mp4).

AI Assistant — Load older conversations under the conversation list

Why is my new AI Assistant chat numbered past the visible list?​

New chat titles the row Conversation N from your account-wide conversation total, not from the threads currently in the sidebar. The list loads about 50 at a time, so a skip from Conversation 50 to Conversation 121 means you still have older pages to load — it is not a gap in your history. Rename with the pencil for a working title. See AI Chat — New chat titles from the full conversation count (ai-chat-empty-state-new-conversation.png).

AI Assistant — New chat titled Conversation 137 with numbered threads in the sidebar

Why don't I see Tools > AI Assistant (or /ai-chat)? The in-product AI Assistant for operators is available to management roles granted the AI / MCP permission (on by default for Admin and Super Admin). Roles without it use the rest of the platform without this entry point; opening /ai-chat directly shows a standard permission message. Tenant-facing automated support remains on WhatsApp and email, not inside the Tenant Portal. See AI Chat.

What is the difference between Landlord MCP and Tenant MCP? Both are Model Context Protocol servers in the VIVIN stack that call the same Core API as the management app, but they target different automation scopes. Landlord MCP is account-scoped — portfolio intelligence, listings, bookings, owners, payments, and related operator tools for integrations that act like a signed-in property manager. Tenant MCP is booking- and tenant-context scoped — tools for tenant-facing assistants (portal links, payment and contract context, chatbot rules, maintenance) when the conversation is about a specific reservation. Choose Landlord MCP for operator workflows; choose Tenant MCP when the client already knows which tenant or booking it is serving.

Integration Swagger UI — listings operations expanded with Try it out

Partner channels that push booking events into Vivin use inbound POST …/webhook routes on the Core API host — Housing Anywhere includes {landlordKey} in the path and echoes listingReference as listing_external_reference; Uniplaces uses a global POST /uniplaces-integration/webhook with offer_api_reference. See Webhooks & Notifications (api-swagger-housinganywhere-webhook-post.png, api-swagger-uniplaces-webhook-post.png), not MCP tool names.

How does the AI invoice reader work? Upload a utility bill and the AI automatically detects the utility type, identifies the correct property, and extracts the amount, consumption, and billing dates. See Utilities > AI Invoice Reader.

How do I see AI token usage for my account?​

Pair with other FAQ subsections

Token metering pairs with Glossary — AI usage ledger, AI usage API (GET /ai-usage, GET /ai-usage/summary), Portfolio KPI review — Step 7, and Automation & AI (assistant vs utility-bill features).

Vivin records each LLM call in an append-only ai_usage ledger (token counts and Vivin’s internal USD provider cost). There is no management-frontend screen for this today — operators with account_settings.module poll the Core API with a management JWT:

  • GET /ai-usage — paginated call log (newest first), with optional feature, from, and to filters
  • GET /ai-usage/summary — month-scoped aggregates by feature and model

landlord_chat covers AI Chat assistant turns; utility_bill_extraction covers Utilities — AI Invoice Reader PDF reads; booking_communication_summary covers Bookings — AI conversation summary (Communication → Summary); faq_generation covers Settings → FAQs FAQ Generator; ticket_priority_analysis covers Settings → Ticket priority Analyze tickets; cashflow_invoice_analysis covers Operations → Cash Flows — AI Invoice Analysis. Costs are internal metering — not tenant-facing invoices. Month-end review habit: Portfolio KPI review — Step 7. Full contract: AI usage API and Glossary — AI usage ledger.

Does Vivin change my prices automatically? No. Rent is under your control: set and bulk-edit monthly amounts in Sales > Pricing. Integrations propagate the availability and rates you configure; they do not replace your pricing decisions.

What kind of automation can I set up? Vivin supports automated booking-to-contract pipelines, payment reminders, invoice generation, check-in/check-out ticket creation, and bulk operations. Most automations are configured through Settings or property-level configuration. See Automation & AI.

Does the WhatsApp bot create tickets automatically? Yes. When the bot identifies a new issue that requires action, it automatically creates a ticket in the Operations module with the tenant's message, booking context, and any relevant history. If an existing ticket already covers the topic, the bot responds with that context instead of creating a duplicate. See Automatic Ticket Creation.

Will the WhatsApp bot respond to suppliers or contractors? If your WhatsApp business number is used for both tenant and supplier communications, the bot may respond to non-tenant messages. Consider using a dedicated number for tenant support to avoid this. See WhatsApp Support.

How do I audit why the WhatsApp bot sent a particular reply?​

On Bookings → booking detail → Communication, select the WhatsApp filter and find a mint Bot bubble (outbound message sent by the tenant chatbot). When Vivin stored internal reasoning for that automated reply, a compact Reasoning control appears under the message body — click it to expand the explanation the bot used before sending (italic text in parentheses). Only Bot messages include this toggle; tenant and human You bubbles do not. Use it to verify IF/THEN rules and persona behaviour without server logs. See Bookings — Communication tab (Bot reasoning) and Glossary — Bot reasoning (audit).

Bot reasoning (audit)​

Pair with other FAQ subsections

Bot audit pairs with ChatBot settings hub (edit Persona / IF/THEN after thread review), FAQ — WhatsApp per-booking messaging hub, and AI & Automation.

SymptomLikely causeFix
Bot gave a generic or wrong answerBroad IF/THEN If phraseExpand Reasoning → narrow rule at ChatBot settings
No Reasoning under Bot bubbleReasoning not stored for that sendNot a UI bug — adjust rules from message content; see ChatBot settings hub
Need to change tone for all channelsPersona missing or vagueChatBot — Persona — then verify on live thread
Bot still auto-replies on one bookingPause bot not toggledCommunication → WhatsApp when pause label is configured

Booking detail — Communication tab, Bot message with expanded Reasoning audit text under the reply

Walkthrough: expand Reasoning on a Bot bubble, then open ChatBot → Special Rules to tune IF/THEN rows after the thread audit.

ChatBot settings​

Pair with other FAQ subsections

ChatBot configuration pairs with Bot reasoning (audit) hub (thread audit after rule edits), FAQ — WhatsApp per-booking messaging hub, and AI & Automation.

SymptomLikely causeFix
Inbox greyed in sidebarChatbot not enabled or Bot Status DisconnectedBot Status → Connect WhatsApp until Connected (settings-chatbot-status-bot-disconnected.png)
Unlock your communication historyisTenantChatBotEnabled falseContact Vivin; then pair Bot Status
Bot replies on almost every messageCatch-all IF/THEN ruleReplace with specific If situations — IF/THEN rules or seed from AI Examples (settings-chatbot-ai-examples-flow.mp4)
ChatBot tab missing, cannot edit rulesYour role does not have the Chatbot permissionWho can edit ChatBot settings
Tenant never hears the bot is AI at the start of a threadIntroduce as AI on start is Off (default)ChatBot — Introduce as AI on start — distinct from AI Disclosure (answers only when asked)
WhatsApp composer missingOutbound not provisionedWhatsApp replies aren't available yet notice on Communication
QR expired before scanSession timed out on phoneRefresh QR code on Bot Status

Account Settings — ChatBot → Persona Setup with preset cards, style levels, preferences, and composed preview

Account Settings — ChatBot → Bot Status with tenant WhatsApp connection and Genius WhatsApp connection cards

Account Settings — ChatBot → Bot Status with Disconnected badge, amber reconnect callout, and Connect WhatsApp

Account Settings — ChatBot → Bot Status with Connected badge and live WhatsApp session

Account Settings — ChatBot → Bot Status with QR code and Awaiting scan badge during WhatsApp pairing

Walkthrough: from Disconnected, click Connect WhatsApp, confirm after the warning countdown, then scan the QR until Connected.
Walkthrough: Bot Status after a successful pair — Connected badge, green live-session callout, and disabled Connect WhatsApp.

What's the difference between AI Disclosure and Introduce as AI on start?​

Pair with other FAQ subsections

AI Disclosure (On by default on named presets) answers if a tenant asks whether they are talking to a person. Introduce as AI on start is Off until you turn it on: the assistant then identifies as AI at the beginning of a new conversation. The two toggles are independent — you can use one, both, or neither. Edit them on Account Settings → ChatBot → Persona Communication Preferences, then Save. See ChatBot — Introduce as AI on start.

Where do I read WhatsApp and email for one booking?​

When the tenant chatbot is enabled on your account, open the booking from Bookings and select the Communication tab in the detail sidebar. Use the WhatsApp pill for chat bubbles (tenant, Bot, and You), Labels, Pause bot (when configured), and the bottom composer to send replies from the management UI; use Email for read-only inbox-style rows you can expand (attachments preview/download when ingested); use Summary for an AI Communication report of WhatsApp + email history (Bookings — AI conversation summary). On channel-manager stays, an extra pill named Airbnb or Booking.com mirrors the OTA guest thread — How do I read and reply to Airbnb guest messages? and Why do channel-manager bookings show Airbnb or Booking.com?. Traffic matches the tenant’s phone or email on the booking. Use Refresh in the sidebar header to reload after new traffic.

SurfaceBest forReply from Vivin?
Bookings → CommunicationOne reservation with Payment Plan, Tickets, and Files contextWhatsApp yes (composer); Email read-only; Airbnb / Booking.com yes on channel-manager stays
Inbox (/inbox) or bell Inbox sub-tabCross-booking triage, unknown numbers, alert-driven entryWhatsApp yes; same conversation state as Communication
Dashboard bell → GeneralPayment/ticket/booking alerts — not message threadsN/A — switch to Inbox for WhatsApp pings
/notifications row New WhatsApp message from …Mixed alert inbox — message ping among payment rowsRow with link opens thread; bookingId only → open Communication — Notification row-click navigation

On Tools → Inbox, the browser tab reads VIVIN | Inbox (including /inbox?contact=…). The bell Inbox slide-over does not change the tab until you land on that route.

If you see Unlock your communication history, the chatbot integration is not active for the workspace yet — pair with ChatBot settings and Inbox — Chatbot gating. If Communication messages do not appear, use header Refresh — other booking tabs stay available (FAQ — Communication or Tickets won't open). While the tab stays open, Vivin polls about every 15 seconds for inbound WhatsApp/email; a floating N new messages pill appears when counts rise — click it to refetch and scroll to the newest item (Bookings — New messages while the tab is open).

Booking detail — Communication tab, WhatsApp filter with tenant / Bot / You bubbles and channel pills

Booking detail — Communication WhatsApp thread with floating 3 new messages pill above the composer

Inbox module — conversation list and thread composer for portfolio-wide WhatsApp triage

Short walkthrough: open Inbox from the sidebar, pick a conversation, reply, and jump to the booking Communication tab when you need reservation context.

See Bookings — Communication tab (bookings-detail-communication-tab-whatsapp-composer.png, bookings-detail-communication-tab-email-inbox.png, bookings-detail-communication-tab-summary-report.png, bookings-detail-communication-tab-new-messages-pill.png, bookings-communication-new-messages-pill-flow.mp4) and Inbox — Relationship to Bookings Communication.

How do I read and reply to Airbnb guest messages on a booking?​

Open a channel-manager booking from Bookings, then Communication and the pill named after the OTA — Airbnb or Booking.com. Vivin mirrors the live host↔guest thread: Guest bubbles on the left, Host on the right (soft pink on Airbnb, blue on Booking.com). Type in Reply to the guest on Airbnb… or Reply to the guest on Booking.com… and press Enter to send (or Shift+Enter for a new line). The OTA pill appears only on these stays and works even when the tenant chatbot is off — it does not use WhatsApp pairing. If you see copy about installing the Messages application, finish that one-time setup on your channel-manager Applications page so Vivin can mirror and send. Empty threads show No Airbnb guest messages yet for this reservation. (Booking.com stays use the same sentence with Booking.com.) See Bookings — Airbnb guest chat (bookings-detail-communication-tab-ota-real-ota.png, bookings-detail-communication-tab-airbnb-thread.png, bookings-detail-communication-tab-airbnb-bubbles.png, bookings-detail-communication-tab-airbnb-composer.png, bookings-communication-airbnb-reply-flow.mp4), Why do channel-manager bookings show Airbnb or Booking.com?, and Glossary — Airbnb guest chat.

Booking detail — Communication Airbnb filter with host welcome and Reply composer

Booking detail — Communication Airbnb guest and host bubbles

Walkthrough: open Communication → Airbnb on a channel-manager booking and draft a host reply.

How do I generate an AI summary of a booking’s WhatsApp and email? On Bookings → Communication, open the Summary pill. If nothing is stored yet, click Generate summary; if a report already exists, use Regenerate. The modal shows a free cost estimate and model choice (Sonnet 4.6 / Opus 4.8) before the paid run. The report is internal (tenants never see it) and meters to booking_communication_summary on AI usage. See Bookings — AI conversation summary (bookings-detail-communication-tab-summary-empty.png, bookings-detail-communication-tab-summary-run-modal.png, bookings-communication-summary-flow.mp4).

Booking detail — Communication report with overview, key topics, and pending items

How do I see why the bot sent a particular WhatsApp reply? On Bookings → Communication → WhatsApp, automated Bot bubbles can include a Reasoning control under the message when Vivin stored audit text with that reply. Click Reasoning to expand the internal explanation (italic text in parentheses). Tenant messages and human You replies do not show this control. Persona and IF/THEN rules are edited under Account Settings → ChatBot; reasoning is read-only on the thread. See Bookings — Bot reasoning and Glossary — Bot reasoning (audit).

Booking detail — Communication tab, Bot message with expanded Reasoning audit text under the reply

Services Marketplace​

Pair with other FAQ sections

Tenant add-on answers pair with Tenant Portal & Mobile App (catalogue preview) and Payments & Finance (charges on payment plan).

What services can I offer to tenants? You can offer any service through a customisable catalogue — common examples include cleaning packages, gym memberships, insurance, airport transfers, co-working access, parking, and more. See Services Marketplace.

How are service charges billed? Service charges are automatically added to the tenant's payment schedule and tracked alongside rent and other charges in the Finance module.

My service description is long (for example terms and conditions). What do tenants see? The catalogue card starts with about two lines. When the rest would overflow, tenants tap Show more (then Show less) on that card. Confirm request shows the full description (scroll the panel) — it does not use the two-line clamp. Put critical information at the beginning, or add the optional Link on the service in Settings > Services so tenants can open your full terms or detail page. See Tenant Portal — Show more and FAQ — How do tenants expand a long service description?.

Where do tenants see services they already ordered? Under Services → Order History. Monthly add-ons show Active; one-time add-ons show how many times they were ordered. Pending approval-gated requests stay in Awaiting approval until you decide. See Tenant Portal — Order History and FAQ — How do tenants see ordered services?.

Notifications​

Pair with other FAQ sections

This section complements Notifications & alerts — start there for bell vs /notifications, infinite scroll, and payment-alert opt-in.

Where can I see all my notifications? Use the Notifications module to view your full notification history. You can search, filter by All/Unread/Read, and mark notifications as read. On desktop Dashboard, the header bell shows unread count and opens a slide-over with General and Inbox sub-tabs (message pings on Inbox; payment/ticket/booking alerts on General) — no in-panel link to the full page. Open /notifications directly (bookmark or address bar) for the full module. For WhatsApp-only triage, use the bell Inbox sub-tab or the global Inbox workspace at /inbox. There is no dedicated Notifications item in the left sidebar. See Notifications Module.

Utilities​

Pair with other FAQ sections

Overage and AI reader answers pair with Properties & Listings (Bills Included ceilings), Payments & Finance (tenant charges on payment plan), Why is there a Covered row with Extra to charge of € 0,00? (Covered vs missing bill), Did a calendar block remove my Covered allocation? (Absorbed block vs Covered stay), What does the Upload PDF banner mean? (processed successfully / Already uploaded / Unconfirmed — check the Bills list), Does picking a second utility type close the Bills menu? (Select type stay-open), Does picking a second booking status close the Allocations menu? (Booking status stay-open), Why didn't my SIMAR water bill match the property? (Cód. Local vs meter number on Connections), How do I turn off a utility connection on a property? (Remove contract ID on Connections), How do I undo a mistaken utility allocation approval? (Approved → Pending on Allocations), Can I approve a utility overage from the booking? (Contract Values Approve allocation / Reject allocation), Why can't I approve a utility allocation after the deposit was refunded? (Deposit status → Refunded; Approve stays disabled), Why do rooms on different buildings show the same daily utility amount on Cost map? (shared-meter split), and When should I use Recalculate Allocations on Cost map? (rebuild pending, rejected, and Covered rows after bill corrections).

Why are tenant overage charges not being created? Overages require three things to be configured: (1) utility account IDs linked to the property, (2) Bills Included ceilings set on the property, and (3) utility types enabled in Settings > Utilities. Also ensure the bill is entered with the correct billing period. A Covered row with Extra to charge € 0,00 means the period was calculated and the tenant owes nothing — that is expected when consumption stayed inside the allowance, or when the unit has All bills included (No cap). See Entering Monthly Utility Bills and Why is there a Covered row with Extra to charge of € 0,00?.

Why is there a Covered row with Extra to charge of € 0,00?​

Covered means Vivin calculated the period and the tenant owes nothing. Extra to charge is € 0,00 on purpose — a real zero, not a missing bill and not the — used on Absorbed (calendar block) rows.

Open Utilities → Allocations and click the Covered scope card. Hover the teal Covered badge: either consumption stayed within the budget included in the rent, or the unit has All bills included. Expand the row for the teal banner (no bill is missing), Allocated cost (consumption assigned), Allowance for the period, and Bills included in the period. Covered rows have no checkbox and cannot be approved or rejected — they never appear in Pending.

A later bill for the same period can replace Covered with a Pending overage. A calendar block on the same unit does not remove the Covered stay — Did a calendar block remove my Covered allocation?. See Utilities — Covered periods and Glossary — Covered (utilities allocation).

Did a calendar block remove my Covered allocation?​

No. A calendar block (owner stay, maintenance hold) is an Absorbed row — Extra to charge —, no tenant. Covered is the booking’s calculated stay — Extra to charge € 0,00. Vivin keeps both for the same unit and month.

Open Utilities → Allocations. Click Covered for the tenant row, then Absorbed for the block. Overnight rebuilds and Recalculate Allocations follow the same rule: a block does not overwrite the booking’s Covered line.

A later bill for that stay and month can still replace Covered with a Pending overage. That is bill math, not the block. Do not Recalculate Allocations to check this — read the two scope cards.

See Utilities — Calendar blocks do not replace Covered (utilities-allocations-tab-list.png).

Utilities Allocations tab — Total allocated with Group by billing period and allocation list

How do I change Bills included on an existing booking?​

Open the booking → Contract Info → Booking information → pencil (edit). The Bills included field becomes a € number input — set the ceiling for this reservation only, then Update (or Cancel to discard). Changing it is inert for the payment plan: Vivin stores the new ceiling but does not regenerate scheduled lines or recalculate past overages. Property defaults stay unchanged for future bookings. See Bookings — Bills included ceiling.

Booking detail — Contract Info edit mode with Bills included € input

Walkthrough: Contract Info → Booking information edit mode — Bills included € field, then Cancel without saving.

How does the AI read my utility bills? Upload the bill document and the AI Invoice Reader extracts all relevant data automatically. For best results, ensure your property utility connections are configured with up-to-date account IDs so the AI can match bills to properties. See Utilities > AI Invoice Reader.

What does the Upload PDF banner mean?​

Pair with other FAQ subsections

N processed successfully (green) and Bills created successfully on the file mean the invoice is already on Received. Tenant overage rows on Allocations can still appear a moment later — Close and keep working.

Already uploaded (amber) means that statement is already on Received (same property, period, and bill number). Close without sending the same PDF again. A mixed batch can read 2 processed successfully, 1 already uploaded.

Unconfirmed — check the Bills list (amber) means the connection dropped while Vivin was saving. Open Received and search for that statement before you upload the file again.

The same banner appears on + Create New → Tools → Upload Utility Bills. Guide: Utilities — After you upload.

Does picking a second utility type close the Bills menu?​

No. Open Select type on Utilities → Bills, tick the first service, then tick a second service. The menu stays open with checks on both. Scope Select properties first when you want a known building in view (for example Casa Abel II), then tick Water and Electricity. Dismiss the menu when the chips under the toolbar look right. The ledger shows bills that match any of the types you picked. See Utilities — Select type stays open (utilities-bills-select-type-stays-open.png, utilities-bills-select-type-two-types.png, utilities-bills-select-type-two-chips.png, utilities-bills-select-type-stays-open-flow.mp4).

Utilities Bills — Select type still open with Water and Electricity both checked

Walkthrough: scope Casa Abel II, open Select type, tick Water, then tick Electricity without closing the menu.

Does picking a second booking status close the Allocations menu?​

No. Open Booking status on Utilities → Allocations, tick the first stay state, then tick a second stay state. The menu stays open with checks on both. Search a tenant first when you want a known stay in view, then tick Ongoing and Upcoming. Dismiss the menu when the chips under the toolbar look right. There is still no Refunded booking-status chip — use Deposit status for refunded deposits. See Utilities — Booking status stays open.

Why didn't my SIMAR water bill match the property?​

SIMAR (Loures e Odivelas) invoices label the supply location as Cód. Local or Código de Local — not the water meter number (Nº de Contador). Enter that local code (without leading zeros) in Utilities → Connections Water and in property setup Step 2. Example: Cód. Local: 0181474 → save 181474. The AI reader enforces the same rule on upload; if matching still fails, open the PDF, copy Cód. Local, and compare it to your Connections row. See Glossary — SIMAR water contract ID and Onboarding a New Property — Step 6.

How do I turn off a utility connection on a property?​

Pair with other FAQ subsections

Open Tools → Utilities → Connections, search the property, then click the teal toggle on the saved contract ID. Remove contract ID names that ID and explains that bills will no longer match it automatically. Choose Cancel to keep the connection, or Remove to clear it — the cell then shows No connection. To change an ID instead of clearing it, click the value, edit, and Save. See Utilities — Connections (utilities-connections-tab.png, utilities-connections-remove-confirm-modal.png, utilities-connections-remove-confirm-flow.mp4).

Utilities Connections — Remove contract ID confirmation naming the electricity ID, with Cancel and Remove

Walkthrough: search a property, turn a saved ID off, read Remove contract ID, then Cancel (demo does not clear the ID).

Can I approve a utility overage from the booking?​

Yes. Open the booking Contract Values tab (or Tenants → Contract Values). On All or Other, a Pending row labelled Extra bills value from July of 2026 (month and year of the bill) is the overage waiting for review. Hover for Consumed, Included in rent, and To approve. Click Approve allocation to post the tenant charge, or Reject allocation and confirm — Reject leaves the row on Utilities → Allocations. You need Approve payments.

These rows do not change category totals, Payment Plan, or the booking balance until you Approve. They hide if you click Rent, Deposit, or a Paid / Debt / Scheduled / Partial drill-down — click All to bring them back. The Other card shows N pending approval whenever any row is waiting. Finance → Contract Values (the portfolio table) does not list them. Undo a mistaken approval from Allocations → Approved, not from Contract Values. See Bookings — Pending utility allocations.

How do I undo a mistaken utility allocation approval?​

Pair with other FAQ subsections

Open Utilities → Allocations, click the Approved scope card, then use Undo approval on the row (or select charged rows and Undo selected). Confirm to return the allocation(s) to Pending and remove the generated tenant charge. Invoiced charges cannot be undone here — the UI blocks with "Cannot undo: the charge has already been invoiced." Use Finance → Transactions → Reject / Revert (and a credit note when needed) instead. The same finance.approve_payments permission gates undo as Approve / Reject. See Utilities — Allocations tab (utilities-allocations-approved-scope.png, utilities-allocations-undo-selected-bar.png, utilities-allocations-undo-approval-confirm-modal.png, utilities-allocations-undo-approval-flow.mp4).

Utilities Allocations — Undo approval confirmation modal (return to pending)

Why can't I approve a utility allocation after the deposit was refunded?​

On Utilities → Allocations (and on booking or tenant Contract Values), Approve stays disabled when that booking’s security deposit has already been refunded (or the refund was transferred). Hover the control to read Deposit already refunded — cannot be approved (Contract Values copy: The deposit was already refunded or transferred, so this allocation can no longer be approved. Use a manual charge for any amount still owed.). Reject remains available so you can clear the proposed row without charging the tenant. Filter Pending with Deposit status → Refunded on Allocations to find these rows. If the tenant still owes utility money, record a manual payment on the booking instead of approving the allocation. See Utilities — Deposit already refunded (utilities-allocations-deposit-status-refunded-filter.png, utilities-allocations-deposit-refunded-approve-tooltip.png, utilities-allocations-deposit-refunded-flow.mp4).

Utilities Allocations — disabled Approve tooltip Deposit already refunded — cannot be approved

Why do rooms on different buildings show the same daily utility amount on Cost map?​

That is the shared-meter split: one supplier bill, counted once, divided across occupied rooms on every building that shares the contract. Open Utilities → Cost map, use Select properties, and tick the whole group (the menu stays open while you pick). If a sibling is missing, the amber Shared utility connections detected banner stays up and the buildings you did select can show the whole day’s bill on their occupied rooms. After every sibling is in scope, each occupied room shows the same euro share. Hover a Total cell for the day total and occupied-room count. See Utilities — Shared meters count once (utilities-cost-map-shared-meter-one-building.png, utilities-cost-map-shared-meter-all-siblings.png, utilities-cost-map-shared-meter-room-share-tooltip.png, utilities-cost-map-shared-meter-split-flow.mp4).

Utilities Cost map — all sibling buildings in scope, same euro share on each occupied room

When should I use Recalculate Allocations on Cost map?​

Correct bills and connections first. If pending allocation rows still look wrong, open Utilities → Cost map and click Recalculate Allocations (refresh icon, next to Select properties) once. The rebuild can take a few minutes: the label becomes Recalculating... and the button stays disabled. You can keep working in other modules; if you return to Cost map before it finishes, the button still shows Recalculating.... If a rebuild is already running, another click does not start a second one. When it finishes, Vivin shows Deleted N, created M — that count is the successful finish. Cost map reloads by itself if you stayed on the tab after you clicked; otherwise reload when the button is idle so the matrix matches the new rows. Approved (charged) rows stay; pending, rejected, and Covered rows are rebuilt from your current bills. A calendar block on the same unit does not overwrite a booking’s Covered line — Did a calendar block remove my Covered allocation?. You need Approve payments. Owner-linked logins cannot run this account-wide rebuild. The Add Bill Upload PDF banner (processed successfully / Already uploaded) is a different summary — see What does the Upload PDF banner mean?. See Utilities — Recalculate Allocations (utilities-cost-map-recalculate-allocations-idle.png, utilities-cost-map-recalculate-allocations-toolbar.png, utilities-cost-map-recalculate-allocations-flow.mp4).

Utilities Cost map — Recalculate Allocations next to Select properties

FAQ subsection cross-reference​

Use the headings in this page for the topic you need. Related modules and workflows are linked from individual answers where they help the next step.

FAQ section cross-reference​

Use the headings in this page for the topic you need. Related modules and workflows are linked from individual answers where they help the next step.

Pair with other FAQ hub sections

Related below is the documentation map when troubleshooting spans setup, modules, concepts, workflows, or escalation paths.

Setup sequence after go-live​

Pair with other FAQ hub sections

Post-go-live pairing starts with Getting Started — Recommended Setup Sequence (steps 1–15) and Onboarding a New Property — Step 7 before setup defect tickets. When a step is blocked, continue to Support — Setup sequence escalation. Self-serve first: FAQ — Settings & tenant communications.

Documentation map & escalation​

Pair with other FAQ hub sections

Bookmark routes pair with FAQ — Navigation & shortcuts when answers point to wrong tabs. Missing records: Create New menu. UI-language mismatches: Interface language before translation defect tickets.

Operator habit hubs​

Day-to-day operator habits (lockout catch-up, pending receipts, payment triage, handoffs, and related playbooks) live on the Common Workflows habit hub.

Deep-link anchors for habit hubs

Lockout catch-up after password recovery​

Finance debt receivables triage​

Pending manual receipt approval​

Reject/revert mistaken receipts​

Notification row-click navigation​

Walkthrough media​

Pair with other FAQ hub sections

MP4 clips complement PNG screenshots on workflow and module guides — start at Common Workflows — Walkthrough media.

Portfolio segmentation by tenant category​

Pair with other FAQ hub sections

Segment filter questions pair with Finance debt receivables triage hub (segment-scoped Top debtors), Settings & tenant communications, Analytics (KPI workspace), and Occupancy KPI to block hygiene handoff hub (stale holds vs category-driven dips).

SymptomFix
Segment on Bookings but missing on Finance drawerLoad Contract Values or mirror Bookings / Tenants — FAQ — Finance tenant category filter parity
Stale results after Tenants → Tenant Info recategorizationReload ledger tabs; wait up to ~10 min on Overview — Finance tenant category cache refresh
Direct booking has wrong portal modulesAssign on Tenant Info before contract mail — FAQ — Assign tenant category for direct booking
Payment alerts cluster on one cohort/notifications row-click → Finance → Other filters → Tenant category before account-wide collections
Segment filters healthy but Occupancy still dipsOccupancy KPI to block hygiene handoff hub — stale holds, not category rules
Top debtors skewed to one segmentFinance debt receivables triage hub — add Tenant category filter on Overview / Contract Values first

Bookings list — Tenant categories toolbar menu with segments listed beside Booking categories

Tenants — toolbar tenant category filter with one segment active and narrowed directory

Walkthrough: Bookings → Tenant categories on one property → Finance → Contract Values → Other filters mirror → Tenants toolbar No category filter → Analytics for month-end segment review.

WhatsApp per-booking messaging​

Pair with other FAQ hub sections

Tenant messaging questions pair with Notification row-click navigation hub (message alerts on /notifications), AI & Automation, and the anchored FAQ subsection below.

Finance debt receivables triage​

Pair with other FAQ hub sections

Receivables surface choice pairs with Handling a Late Payment hub (collections Steps 1–6 after triage surfaces), Processing a New Booking hub (unpaid confirmation on Upcoming stays), Managing a Check-in hub (move-in shortfall before key handover), Managing a Check-out hub (departure arrears before deposit refund), Cancelling a Booking hub.

SymptomFix
Total Debt unchanged after Add PaymentApprove Pending rows first — Pending manual receipt approval hub
Top debtors still high after tenant paidDuplicate transfer approved — Reject/revert mistaken receipts hub — Revert duplicate (bookings-detail-transactions-revert-modal-info-banner.png)
Need ranked debtors with days overdueFinance → Overview → Debt Aging — Top debtors after pending queue clears and ledger duplicates are Reverted
Opened Income → In debt modal, need booking rowsUse Debt Aging buckets — not payment-line modal alone
Dashboard Total Debt not clickableHeadline only — open Finance → Overview
Payment overdue alert but portfolio rank neededNotification triage — Step 4 first — then Debt Aging (finance-overview-debt-aging-expanded-bucket.png)
Unpaid confirmation on Upcoming stayProcessing a New Booking hub — booking Payment Plan before portfolio Top debtors
Move-in shortfall before key handoverManaging a Check-in hub — Step 3 before Debt Aging
Departure arrears block Ready To RefundManaging a Check-out hub — Step 6 before deposit refund
Pre-cancel rent In Debt blocks voidCancelling a Booking hub — Step 2 before Step 4
Utility overage In Debt after bill cycleEntering Monthly Utility Bills hub — Step 4 — not rent Top debtors alone
Walkthrough: compare Total Debt and Uncovered Debt on Finance Overview, rank debtors in Debt Aging, then contrast the month-scoped Income → In debt modal.

Finance Income status drill-down​

Pair with other FAQ hub sections

Income chart segment questions pair with Finance debt receivables triage hub (Income → In debt modal is payment-line scope — use Debt Aging for booking rows), Cash flow forecast drill-down hub (collections history vs status segments), Pending manual receipt approval hub (Scheduled / In debt lag until Approve), Payments & Finance, and FAQ — Finance Income status drill-down.

SymptomFix
Opened Income → In debt modal, need ranked debtorsFinance → Overview → Debt Aging Top debtors — not payment-line modal alone (finance-overview-debt-aging-expanded-bucket.png)
Scheduled high but bank shows collectionsCash flow forecast All payments modal — Cash flow forecast drill-down hub (finance-overview-cash-flow-all-payments-modal.png)
Paid segment disagrees with month-end KPIsPortfolio KPI review — Step 7 — reconcile Income vs Analytics (finance-overview-income-drill-down-flow.mp4)
Same tenant under Paid and ScheduledExpected on a partly collected charge — FAQ — Why does the same tenant appear under both Paid and Scheduled on Income?
Confirmation month In debt before check-inProcessing a New Booking hub — Step 5 / Step 6
Move-in shortfall in wrong month segmentManaging a Check-in hub — Step 3 before Debt Aging
Departure charges block Ready To RefundManaging a Check-out hub — Step 6 + Debt Aging
Pre-cancel rent In Debt on Contract ValuesCancelling a Booking hub — Step 2 before Step 4
Utility overage In Debt after bill cycleEntering Monthly Utility Bills hub — Step 4 — not rent Top debtors alone
Income → In debt inflated after duplicate transferReject/revert mistaken receipts hub — Revert approved duplicate before re-reading segments (bookings-detail-transactions-revert-modal-info-banner.png)
Walkthrough: Paid / Scheduled / In debt segment drill-down — payment-line modal, View booking, then contrast Debt Aging Top debtors.

Cash flow forecast drill-down​

Pair with other FAQ hub sections

Cash-timing questions pair with Finance Income status drill-down hub (Income status segments vs cash-move dates), Pending manual receipt approval hub (past month bars lag until Approve), Payments & Finance, FAQ — Cash flow forecast drill-down, and Dashboard — Cash Flow Forecast (same hybrid Past / Expected series).

SymptomFix
Bank received cash but Income → Paid looks lowCash flow forecast All payments modal — collected cash on past bars, uncollected rent on future ones (finance-overview-cash-flow-all-payments-modal.png)
Opened Dashboard Cash Flow Forecast by mistakeBoth charts show the same hybrid series (collections behind, expected rent ahead) (dashboard-cash-flow-forecast-chart.png)
Scheduled high but bank shows collectionsCash flow forecast bar click — contrast Income segments on Finance Income status drill-down hub
Month bar missing a transfer tenant insists they paidPending manual receipt approval hub — Approve before Cash flow forecast month bars update (finance-transactions-pending-pill.png)
Month-end collections vs Analytics mismatchDay view on Cash flow forecast — Portfolio KPI review — Step 7 (finance-overview-cash-flow-drill-down-flow.mp4)
Confirmation payment not on current month barProcessing a New Booking hub — Step 5b before portfolio reads
Move-in deposit landed but wrong weekManaging a Check-in hub — Step 3 — toggle Day on Cash flow forecast
Departure refund blocked despite bank transferManaging a Check-out hub — Step 6 — All payments for final-week collections
Utility overage payment not visibleEntering Monthly Utility Bills hub — Step 4 — not rent Top debtors alone

Pending manual receipt approval​

Pair with other FAQ hub sections

Pending receipt questions pair with Finance debt receivables triage hub (Total Debt / In debt until Approve — not Debt Aging alone), Finance Income status drill-down hub (Scheduled / In debt lag until approval), Cash flow forecast drill-down hub (month bars lag until Approve), Reject/revert mistaken receipts hub (Reject duplicate while pending), Payments & Finance.

SymptomFix
Total Debt unchanged after Add PaymentAmber Pending chip → Approve payment / Approve selected — not Debt Aging (finance-transactions-pending-pill.png)
Manual Payments KPI non-zero but queue unclearKPI totals monthly manual in-payments including pending — card opens the month drill-down, not the pending-only queue; triage amber Pending on Finance → Transactions
Pending manual in-payment alert persistsRow-click → booking Transactions → Approve — Notification triage — Step 4
Income → Paid / Cash flow forecast bar lowApprove before segment or month bars update — Finance Income status drill-down hub / Cash flow forecast drill-down hub
Duplicate bank transfer recordedReject selected while pending — Reject/revert mistaken receipts hub (finance-transactions-bulk-reject-selected-bar.png)
Typed the wrong € on a real pending receiptPencil Edit amount then Approve — FAQ — Correct a pending transfer amount
Month-end KPIs disagree after lockoutLockout catch-up after password recovery + workflow Steps 5b / 6b
Confirmation transfer still PendingProcessing a New Booking hub — Step 5b before portal gates
Move-in receipt still Pending before key handoverManaging a Check-in hub — Step 3b before Step 4
Departure receipt still Pending before refundManaging a Check-out hub — Step 6b before Ready To Refund
Utility overage receipt still PendingEntering Monthly Utility Bills hub — Step 4b
Approve payments permission missing on ticketUsers and roles — Role permissions — self-serve before filing product defect

Payment notification (operator)​

SymptomFix
No email when tenant paysAccount Receive payment notifications + your Payment notification emails on /settings/personal — both layers required
Email but no in-app rowPreferences → In-app notifications → Payments master On + your Payments opt-out On
Teammate missing payment rowsThey need Payment notification emails on — in-app rows are per-PM audience scoped
Payment received but balance unchangedReceipt still pending — Pending manual receipt approval hub (not a broken notification)
Payment overdue opened Debt Aging too earlyPayment alert to receivables triage hub — row-click booking first
Upcoming alert bulk mark-read before triageConfirmation alert triage hub — contrast Upcoming vs Ongoing/Ended
Confused Pending manual in-payment vs Payment receivedFAQ — Pending manual in-payment on /notifications — third row type

Notifications module — row-click on a payment alert opens the related booking

Occupancy KPI to block hygiene handoff​

Pair with other FAQ hub sections

Occupancy dip questions pair with Analytics (KPI workspace) (Occupancy / RevPAR without rate change), Portfolio segmentation by tenant category hub (segment filters — not holds), Properties & Listings, FAQ — Vacant Units manual block, and Does picking a second Created by teammate close the Manual Blocks menu? (Created by stay-open).

SymptomFix
Occupancy / RevPAR dip without rate changePortfolio KPI review — Step 3 → Manual block hygiene — Step 1 (analytics-kpi-occupancy-tab.png)
Ranking concentrates on one unitManual block hygiene — Step 2 Search + row-click unit sidebar — not Sales → Pricing yet
Segment filters look healthy on Step 6Edit Settings → Tenant categories — not holds; contrast Portfolio segmentation by tenant category hub
Dashboard Vacant Units lower than AnalyticsPortfolio KPI review — Step 7 → Manual block hygiene — Step 5
Sales Multicalendar mystery blocks after go-liveOnboarding a New Property — Step 7 → Manual block hygiene — Step 4
Timeline overlap on channel importProcessing a New Booking — Step 1 — clear holds before Add booking
Calendar bars persist after Ended departureManaging a Check-out — Step 7 → Manual block hygiene — Step 4
Availability not restored after cancellation voidCancelling a Booking — Step 5 — Multicalendar before repricing
Unit looks vacant but collections triage shows arrearsHandling a Late Payment — Step 1 — distinguish holds from rent debt
Calendar edit blocked after hold cleanupManual block hygiene — Step 6 → Using in-app support

Processing a New Booking​

Pair with other FAQ hub sections

Confirmation workflow pairs with Managing a Check-in hub (Step 6 → arrival-week Steps 1–4), Notification triage (Steps 4–5 on Booking created / Payment received alerts), Pending manual receipt approval hub (Step 5b / Step 6b confirmation receipts — finance-transactions-pending-pill.png), Reject/revert mistaken receipts hub (duplicate confirmation transfers on Step 5b — `finance-transactions-bulk-reject-selected-bar.

SymptomStay on confirmationHand off to check-in
Contract unsignedProcessing a New Booking — Step 4Wait — portal gates block arrival prep
Portal modules hidden after Impersonate TenantStep 6 + Tenant category on Tenant InfoManaging a Check-in — Step 6 when category is already correct
Confirmation transfer still Pending after bank transferPending manual receipt approval hubStep 5b before Step 6 handoff / Step 3b for move-in bucket only
~7 days to move-in, planning ticketsStep 6 sanity checkManaging a Check-in — Step 1
Booking created / Payment received alertNotification triage — Step 4Step 5b / Step 6
Pending manual in-payment on Upcoming importPending manual receipt approval hub — row-click → ApproveStep 5b / Notification triage — Step 5 after balance clears
Month-end Pending on confirmation importsPending manual receipt approval hub — amber Pending chipStep 6b during Portfolio KPI review — Step 7
Tenant paid once, ledger shows duplicate confirmationReject/revert mistaken receipts hub — Reject while pending / Revert after ApproveStep 5b before Step 6 handoff
Deposit Partially paid after confirmation paymentPartly collected security deposit — not rent Partial PaidStep 5 — chase remaining before Step 6 handoff
Partial paid card empty after Step 5Deposit missing on Finance Deposits — toolbar date rangeClear date range selection on Finance → Deposits (finance-deposits-date-range-clear-flow.mp4) before deposit triage

Managing a Check-in​

Pair with other FAQ hub sections

Arrival-week workflow pairs with Onboarding a New Property — Step 7 (upstream property setup on new inventory — hub: Property setup to first arrival handoff; workflows-onboarding-property-wizard.mp4), Processing a New Booking hub (upstream Step 6 portal gates), Common Workflows — Confirmation alert triage (upstream alert-driven confirmation before arrival week), Managing a Check-out hub.

SymptomUpstream confirmation fixCheck-in step
Arrival listed but contract unsignedProcessing a New Booking — Step 4Not Step 4 until signed
Payment overdue before key handoverHandling a Late Payment — Step 1Step 3
Move-in receipt Pending after bank transferPending manual receipt approval hubStep 3b before Step 4 handover / Step 5b for confirmation bucket only
Pending manual in-payment on arrival-week importPending manual receipt approval hub — row-click → ApproveStep 3b / Notification triage — Step 5 after balance clears
Month-end Pending on move-in importsPending manual receipt approval hub — amber Pending chipStep 6b during Portfolio KPI review — Step 7
Tenant paid once, ledger shows duplicate move-inReject/revert mistaken receipts hub — Reject while pending / Revert after ApproveStep 3b before Step 4 handover
Portal access codes missingOnboarding — Access LockersStep 4
Same-day turnover on unitManaging a Check-out — Step 2 turnover ticketManaging a Check-in — Step 4 — hub: Same-day turnover coordination
Deposit Partially paid before key handoverPartly collected security deposit — not rent Partial PaidStep 3 — chase remaining before Step 4
Partial paid card empty at move-inDeposit missing on Finance Deposits — toolbar date rangeClear date range selection on Finance → Deposits (finance-deposits-date-range-clear-flow.mp4) before Step 3

Managing a Check-out​

Pair with other FAQ hub sections

Departure-week workflow pairs with Managing a Check-in hub (upstream Step 4 keys handed over), Cancelling a Booking hub (policy void vs completed stay — not Delete Booking), Handling a Late Payment hub (rent/fee arrears before Step 5.

SymptomUpstream check-in fixCheck-out step
Guest still Upcoming on departure weekManaging a Check-in — Step 4 not completedNot Step 5 until Ongoing
Deposit Partially paid at move-inPartly collected security depositStep 5 blocked
Unpaid rent/fee on Payment PlanHandling a Late Payment — Step 1 → Step 4Step 6 before Step 5
Final utility overage unpaidEntering Monthly Utility Bills — Step 4Step 6 — hub: Check-out final utilities
Departure transfer still Pending after bank transferPending manual receipt approval hubStep 6b before Step 5 refund / Step 4b for collections bucket only
Pending manual in-payment on departure-week importPending manual receipt approval hub — row-click → ApproveStep 6b / Notification triage — Step 5 after balance clears
Month-end Pending on departure importsPending manual receipt approval hub — amber Pending chipStep 6b during Portfolio KPI review — Step 7
Tenant paid once, ledger shows duplicate departureReject/revert mistaken receipts hub — Reject while pending / Revert after ApproveStep 6 / Step 6b before Step 5
Same-day turnover on unitManaging a Check-out — Step 2 before incoming arrivalFAQ — Same-day turnovers — hub: Same-day turnover coordination (bookings-timeline-day-week-month-and-sidebar.mp4)
Stay voided under policy, not completedCancelling a Booking hub — Canceled filterNot Step 7 — hub: Check-out vs cancellation
Older move-out missing on Finance → DepositsN/ADeposit missing on Finance Deposits — clear date range

Cancelling a Booking​

Pair with other FAQ hub sections

Cancellation workflow pairs with Managing a Check-out hub (completed stay → Ended vs policy void → Canceled), Handling a Late Payment hub (collections before Step 2 / Step 4), Cancel Booking vs Delete Booking.

| Symptom | Cancellation step | Check-out contrast | | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------- | | Tenant backs out before arrival | Step 4 refund-type dialog | Guest never Ongoing — not Managing a Check-out | | Mid-stay early termination | Steps 1–4 policy settlement | Step 7 only when stay completes | | Deposit refund after void | Step 3 | Step 5 for normal departure | | Settlement transfer still Pending after bank transfer | Pending manual receipt approval hub | Step 2a before Step 4 / Step 6b for month-end mesh only | Step 6b | | Pending manual in-payment on settlement import | Pending manual receipt approval hub — row-click → Approve | Step 2a / Notification triage — Step 5 after balance clears | Step 6b departure mesh | | Month-end Pending on settlement imports | Pending manual receipt approval hub — amber Pending chip | Step 6b during Portfolio KPI review — Step 7 | Step 6b | | Calendar still blocked | Step 5 + Manual block hygiene | Step 7 | | Unpaid rent/fee before Cancel booking | Handling a Late Payment — Step 1 → Step 4 | Step 2 before Step 4 | | Collections failed — last resort | Step 6 | Step 4 refund dialog | | Deposit Partially paid before void | Partly collected security deposit — not rent Partial Paid | Step 2 / Step 3 — settlement math on remaining before Step 4 | | Partial paid card empty at Step 3 | Deposit missing on Finance Deposits — toolbar date range | Clear date range selection on Finance → Deposits (finance-deposits-date-range-clear-flow.mp4) before Step 3 deposit settlement | | Tenant paid once, ledger shows duplicate settlement | Reject/revert mistaken receipts hub — Reject while pending / Revert after Approve | Step 2a / Step 6b before Step 4 | | Mistaken duplicate row | Delete Booking — not this hub | Cancel Booking vs Delete Booking |

Entering Monthly Utility Bills​

Pair with other FAQ hub sections

Monthly supplier billing pairs with Managing a Check-out hub (downstream Step 6 / Step 5 before deposit release — hub: Check-out final utilities handoff), Handling a Late Payment hub.

SymptomUtility bills stepCheck-out step
Final supplier bill missing at departureStep 2Step 6 blocked
Overage on Payment Plan, tenant has not paidStep 4Handling a Late Payment — Step 1 → Step 4
Overage on Canceled stay (not departure week)Step 4Step 1 — not rent cancellation mesh
Overage transfer still Pending after bank transferPending manual receipt approval hubStep 4b before Managing a Check-out — Step 6 / Handling a Late Payment — Step 4b for collections bucket only
Pending manual in-payment on overage importPending manual receipt approval hub — row-click → ApproveStep 4b / Notification triage — Step 5 after balance clears
Month-end Pending on overage importsPending manual receipt approval hub — amber Pending chipStep 4b during Portfolio KPI review — Step 7 — hub: Check-out final utilities handoff
Departure-week overage blocks refundStep 4Managing a Check-out — Step 6 before Step 5
End of Booking — charge not posted yetGlossary — End-of-Booking cost splitStep 7
Month-end Missing bills on portfolioStep 5Portfolio KPI review — Step 7
Upload banner Already uploadedAfter you upload / What does the Upload PDF banner mean?Close — that invoice is already on Received; do not send the same PDF again
Upload banner Unconfirmed — check the Bills listAfter you uploadOpen Received and search for the statement before you upload that file again
Tenant paid once, ledger shows duplicate overageReject/revert mistaken receipts hub — Reject while pending / Revert after ApproveStep 4b before Managing a Check-out — Step 6

Handling a Late Payment​

Pair with other FAQ hub sections

Collections workflow pairs with Entering Monthly Utility Bills hub (utility overage lines after Step 4), Cancelling a Booking hub (pre-cancel settlement before Step 4), Managing a Check-in hub.

SymptomTriage firstCollections step
Payment overdue alert on /notificationsRow-click → confirm balanceHandling a Late Payment — Step 1 → Step 3
Need portfolio-ranked debtorsFinance → Overview → Debt AgingStep 1 after you open a booking
Collections transfer still Pending after bank transferPending manual receipt approval hubStep 4b before Step 3 outreach / Step 6b for month-end mesh only
Pending manual in-payment on collections importPending manual receipt approval hub — row-click → ApproveStep 4b / Notification triage — Step 5 after balance clears
Month-end Pending on collections receiptsPending manual receipt approval hub — amber Pending chipStep 6b during Portfolio KPI review — Step 7
Tenant paid once, ledger shows duplicate collectionsReject/revert mistaken receipts hub — Reject while pending / Revert after ApproveStep 4b / Step 6b before Step 3 — re-triage Debt Aging
In Debt includes utility overage lineEntering Monthly Utility Bills — Step 4Step 1 — hub: Utility overage collections
In Debt blocks Cancel booking dialogStep 1 → Step 4Cancelling a Booking — Step 2 before Step 4
Departure-week Ready To Refund blocked by rent arrearsStep 1 on booking Payment PlanManaging a Check-out — Step 6 before Step 5
Amber Partial Paid on Payment Plan but shortfall is depositRent collections mesh — security deposit is separatePartly collected security deposit — open Deposit tab at Step 1
Partial paid card empty during portfolio triageToolbar date range on Finance → Deposits hides the stayDeposit missing on Finance Deposits — clear range before deposit vs rent contrast at Step 1
Last-resort cancel after collections failedStep 6Cancelling a Booking — Step 4

Handling a Late Payment collections​

Pair with other FAQ hub sections

Receivables triage surfaces answer “who owes?” — Handling a Late Payment Steps 1–6 answer “what do I do next?” Pair with Handling a Late Payment hub (full collections workflow), Finance debt receivables triage hub (Debt Aging / Top debtors before Step 3), Payment alert to receivables triage hub.

SymptomTriage surfaceCollections step
Need ranked debtors with days overdueFinance → Overview → Debt AgingStep 1 after you pick a booking
Payment overdue alert row-clickConfirm balance on opened bookingStep 3 after Step 2
Tenant paid but Total Debt unchangedPending manual receipt approval hubStep 4 / Step 4b
Tenant insists they paid twiceReject/revert mistaken receipts hubRe-open Debt Aging — not Step 3 until ledger is clean
Month-end Pending collections receiptsAmber Pending chipStep 6b mesh
Dashboard Total Debt not clickableFinance → OverviewStep 1
Partly collected deposit, not rent arrearsFinance → Deposits Partial paid cardPartly collected security deposit — not rent collections
Walkthrough: open an arrears booking, confirm Payment Plan overdue pills, use Communication for tenant outreach, record a manual receipt via Transaction (Add Payment modal), then approve pending rows when your role allows.

Credit note warning (reject/revert)​

Pair with other FAQ hub sections

Modal-banner flows pair with Reject/revert mistaken receipts hub, Bulk Hostkit invoicing hub (Issue credit notes Hostkit pacing), Pending manual receipt approval hub (Reject while pending vs invoiced Revert), Rent reduction after invoicing hub (external rent relief → same queue), Payments & Finance.

SymptomLikely causeFix
Red banner on Reject paymentCharge may already be invoicedConfirm duplicate is wrong — then Not issued credit note → Issue credit notes (N)
Blue info on Revert paymentApproved receipt tied to exported invoiceSame Finance → Transactions queue
Banner but no reversal rowsFilter wrong or batch already IssuedToggle Not issued credit note / Issued credit note pills; refresh ledger
Issue credit notes batch PendingHostkit rate limitFAQ — Bulk Hostkit invoicing slow — same pacing as Issue allocation
Confused with invoiced floor blockRent edit — not receipt cleanupInvoiced floor (rent) hub · Rent reduction after invoicing hub

Booking sidebar tab refresh​

Related hubs

Payment alert to receivables triage​

Pair with other FAQ hub sections
SymptomFix
Bulk Mark all as read before opening each rowNotification triage — Step 4 — row-click every payment overdue alert first (notifications-row-navigate-to-booking-detail.png)
Payment overdue on /notificationsRow-click → Payment Plan on opened booking — then Handling a Late Payment — Step 1 or Top debtors
Pending manual in-payment on alertTransactions → Approve — not Debt Aging until queue clears — Pending manual receipt approval
Payment received from tenant … still unreadTransactions — confirm ledger → Approve if still pending → Notification triage — Step 5
Total Debt high after alert triageAmber Pending on Finance → Transactions + Revert duplicate transfers — Finance debt receivables triage hub
Upcoming Booking created / Payment received insteadConfirmation alert triage hub — contrast Upcoming vs Ongoing/Ended payment overdue
Lockout-delayed payment overdue backlogResetting a Management User Password — Step 3 → Notification triage — Steps 4–5
Stale alerts after calendar hold cleanupManual block hygiene — Step 5 before bulk-clear
Month-end alert batch before KPI sign-offPortfolio KPI review — Step 7 — triage before Dashboard Total Debt read

Confirmation alert triage​

Pair with other FAQ hub sections
SymptomFix
Bulk Mark all as read before opening each rowNotification triage — Step 4 — row-click every Upcoming alert first (notifications-row-navigate-to-booking-detail.png)
Payment received but Payment Plan still unpaidProcessing a New Booking — Step 5b — transfer still pending (bookings-detail-transactions-approve-payment-modal.png)
Booking created on already-confirmed stayProcessing a New Booking — Step 6 — portal gates; not Managing a Check-in — Step 1 until ~7 days out
Pending manual in-payment on Upcoming importPending manual receipt approval hub — Approve before Notification triage — Step 5
Upcoming payment overdue before voidCancelling a Booking hub — Step 2 — contrast Payment alert to receivables triage
Month-end lingering Pending on confirmation importsProcessing a New Booking — Step 6b during Portfolio KPI review — Step 7
Stale Upcoming after calendar hold cleanupManual block hygiene — Step 5 before bulk-clear
Lockout-delayed confirmation backlogResetting a Management User Password — Step 3 catch-up mesh

Invoiced floor (rent)​

Pair with other FAQ hub sections

Invoiced-floor blocks pair with Rent reduction after invoicing hub (workflow mesh), Bulk Hostkit invoicing hub (Issue credit notes Hostkit pacing after external rent relief), Month-end invoicing (fixed date) hub (fixed Invoice date before first Issue allocation), Credit note warning (reject/revert) hub (receipt cleanup — distinct from rent edit blocks), Bookings.

SurfaceModal behaviourBest for
Contract Info → Change monthly rentMonths below exported totals clamp (blue Already invoiced months banner)Portfolio-wide repricing (bookings-detail-change-monthly-rent-modal.png)
Contract Values → Edit amountSave disabled when net below invoiced+draft totalsPer-line net edit (bookings-detail-contract-values-invoiced-floor-edit-amount.png)
Finance → Transactions Not issued credit noteBulk Issue credit notes (N) after external rent reliefPost-accounting queue (finance-transactions-bulk-selection-bar.png)
SymptomLikely causeFix
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Month saves at invoiced amount, not your lower entryInvoiced floor on exported monthChange monthly rent — other months still save at your amount
Save disabled under New net amountNet below invoiced+draft on lineExternal credit notes first
Need goodwill below exported rentAccounting alignment ruleIssue credit notes outside Vivin — then Issue credit notes (N)
Hostkit batch Pending on TransactionsHostkit API pacingFloor unrelated — check booking modals first
Red/blue banner on Reject / RevertReceipt cleanup — not rent floorCredit note warning (reject/revert) hub
Repricing after equal-month inferenceFixed rent on variable unitFAQ — Fixed rent on variable unit

Booking detail — Change monthly rent modal with Already invoiced months info banner

Booking Contract Values — Edit Payment Amount modal with Already invoiced helper and net-below-invoiced validation error

Walkthrough: open Contract Info → Change monthly rent, then Contract Values → Edit amount when Finance already exported rent.

Rent reduction after invoicing​

Pair with other FAQ hub sections

Invoiced-floor blocks pair with Bulk Hostkit invoicing hub (Issue credit notes Hostkit pacing after external rent relief — finance-transactions-bulk-selection-bar.png), Month-end invoicing (fixed date) hub (fixed Invoice date before first Issue allocation), Invoiced floor (rent) hub (definition + modal surfaces), Bookings, Payments & Finance.

SymptomSurfaceFix
Month saves at invoiced amount, not your lower entryContract Info → Change monthly rentBlue Already invoiced months banner — clamped months keep exported totals; other months save at your amount (bookings-detail-change-monthly-rent-modal.png)
Save disabled under New net amountContract Values → Edit amountRed inline validation — net would drop below invoiced+draft totals on that line (bookings-detail-contract-values-invoiced-floor-edit-amount.png)
Need goodwill discount below exported rentExternal accountingIssue credit notes or manual adjustments — Vivin will not persist lower nets on exported months
Hostkit Not issued credit note after rent reliefExternal credit note registered in VivinIssue credit notes (N) — same pacing as Bulk Hostkit invoicing (finance-transactions-bulk-selection-bar.png)
Repricing after equal-month inference on variable unitChange monthly rent reopenSame floor applies — pair FAQ — Fixed rent on variable unit
Batch stays Pending on TransactionsHostkit pacingFloor unrelated — check booking modals; Refresh Transactions before duplicate Hostkit run
Support ticket cites blocked rent cut below exported monthSelf-serve modal check skippedUsing in-app support — Rent reduction after invoicing before New Support Ticket modal
Lockout-delayed month-end repricing on live bookingsPassword recovery delayed repricingResetting a Management User Password — Step 3 → Contract Info → Change monthly rent (bookings-rent-reduction-invoiced-floor-flow.mp4)

Booking detail — Change monthly rent modal with Already invoiced months info banner

Booking Contract Values — Edit Payment Amount modal with Already invoiced helper and net-below-invoiced validation error

Walkthrough: open Contract Info → Change monthly rent, then Contract Values → Edit amount when Finance already exported rent.

Directory list refresh​

Related hubs

Pairs with Booking sidebar tab refresh hub (one booking tab) and FAQ — Directory list refresh (step-by-step).

Fixed invoice date reminder​

Pair with other FAQ hub sections

Amber banner surfaces pair with Month-end invoicing (fixed date) hub (save fixed Invoice date → bulk export → reset toggle), Bulk Hostkit invoicing hub (same toolbar beside Issue allocation), Hostkit hub, Payments & Finance, and Portfolio KPI review — Step 7.

SurfaceBanner layoutBest for
Finance → Transactions inline stripFull-width above searchConfirm saved date before filtering (finance-transactions-fixed-invoice-date-banner.png)
Finance → Transactions bulk toolbarCompact beside Issue allocationMonth-end bulk export (finance-transactions-bulk-toolbar-fixed-invoice-date-banner.png)
Transaction detail sidebarCompact above allocationsSingle-row Invoice selected (finance-transaction-detail-fixed-invoice-date-banner.png)
Settings → InvoicingToggle off + date pickerSource of truth — no banner until saved (settings-invoicing-invoice-date-toggle.png)
SymptomLikely causeFix
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
No amber banner on TransactionsUse today still on or date unsavedSave fixed date in Invoicing, reload Transactions
Banner shows wrong dateStale sessionRe-save Invoice date in Invoicing, hard-refresh Transactions
Bulk toolbar banner missingNo allocatable rows selectedTick rows with Pending / Failed invoicing
Issued invoices show wrong document dateFixed date still active after batchMonth-end invoicing (fixed date) hub — turn Use today back on
Bulk Pending with banner visibleHostkit API pacingBulk Hostkit invoicing hub — not a banner bug

Finance Transactions — amber custom invoice date banner above search and invoice filter pills

Finance Transactions — bulk toolbar with fixed invoice-date reminder beside Issue allocation

Finance Transactions — transaction detail sidebar with fixed invoice-date reminder above allocations

Month-end invoicing (fixed date)​

Pair with other FAQ hub sections

Fixed document-date batches pair with Fixed invoice date reminder hub (amber banner surfaces on Finance → Transactions), Bulk Hostkit invoicing hub (same Transactions bulk toolbar + Hostkit pacing), Payments & Finance, and month-end Portfolio KPI review — Step 7.

| Symptom | Fix | | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Wrong document date on issued invoices | Turn Use today as invoice date back on after batch — Invoicing — Default invoice date (finance-transactions-bulk-toolbar-fixed-invoice-date-banner.png) | | No amber banner on Transactions | Save fixed date with toggle off, reload Transactions (finance-transactions-fixed-invoice-date-banner.png) | | Bulk Pending for minutes | Hostkit pacing — not a date issue; see Bulk Hostkit invoicing hub (finance-transactions-bulk-selection-bar.png) | | Forgot to reset after month-end | Turn Use today as invoice date back on in Settings → Invoicing — next day's invoices otherwise use the saved fixed date (settings-invoicing-invoice-date-toggle.png) | | Month-end export blocked by Pending mesh | Confirmation or duplicate transfers still pending | Pending manual receipt approval — finish Pending mesh on workflow Step 6b before Issue allocation | | Lockout-delayed month-end export backlog | Password recovery delayed bulk export | Resetting a Management User Password — Step 3 → save fixed date → Finance → Transactions bulk toolbar | | Support ticket cites wrong document date | Self-serve toggle check skipped | Using in-app support — Month-end invoicing (fixed date) before New Support Ticket modal |

Account Settings — Invoicing section with Use today as invoice date off and Invoice date picker visible

Finance Transactions — amber custom invoice date banner above search and invoice filter pills

Finance Transactions — bulk toolbar with fixed invoice-date reminder beside Issue allocation

Hostkit​

Pair with other FAQ hub sections

Hostkit setup pairs with Bulk Hostkit invoicing hub (month-end Issue allocation pacing), Month-end invoicing (fixed date) hub (fixed Invoice date before bulk export), Credit note warning (reject/revert) hub (Not issued credit note queue after invoiced Reject / Revert), Payments & Finance, and Integrations & Distribution.

SurfaceSetup / retrieval behaviourBest for
Integrations → Hostkit → Listing keysServer search + ~20-row infinite scroll; per-row SavePer-listing API keys before first export
Invoicing → Hostkit invoice seriesRequired FR code from Hostkit Faturação → SériesAccount-wide series before document create
Finance → Transactions bulk toolbarIssue allocation / Invoice selected; Issue credit notes (N)Month-end export (finance-transactions-bulk-selection-bar.png)
Finance → Transactions allocation rowsee invoice opens Hostkit permalinkPost-export PDF retrieval
Booking → Files tabInvoice_ PDF tilesTenant-facing document copy
SymptomLikely causeFix
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Hostkit invoice series is not configured toastBlank FR seriesSave exact series — settings-invoicing-hostkit-series.png
Rows stay Failed after refreshMissing Listing keysIntegrations → Hostkit → Listing keys — search unit, paste key, Save
see invoice disabled or 404Series typo or wrong {series}/{id}Match Invoicing series to live Hostkit FR code
Batch stays Pending for minutesHostkit API pacingBulk Hostkit invoicing hub — refresh Transactions before re-issue
Not issued credit note after Reject / RevertInvoiced charge reversed in VivinIssue credit notes (N) — same Hostkit pacing
Wrong document date on issued invoicesFixed Invoice date still activeMonth-end invoicing (fixed date) hub

Account Settings Invoicing — Hostkit invoice series (FR) field

Finance Transactions — bulk selection bar with Issue allocation and Invoice selected actions

Bulk Hostkit invoicing​

Pair with other FAQ hub sections

Bulk Hostkit pacing pairs with Hostkit hub (setup surfaces + Listing keys / FR series), Glossary — Hostkit hub, Month-end invoicing (fixed date) hub (fixed Invoice date before bulk export — finance-transactions-bulk-toolbar-fixed-invoice-date-banner.png), Rent reduction after invoicing hub (invoiced floor → external credit notes → Issue credit notes — bookings-rent-reduction-invoiced-floor-flow.mp4), Reject/revert mistaken receipts hub.

| Symptom | Fix | | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Rows stay Pending / Failed for several minutes | Hostkit rate limit — Vivin paces per listing key — leave batch running; refresh Transactions before duplicate Issue allocation (finance-transactions-bulk-selection-bar.png) | | Same rows still Failed after refresh | Missing Listing keys or blank Hostkit invoice series — Integrations — Hostkit + Invoicing — Hostkit series (settings-invoicing-hostkit-series.png) | | Hostkit invoice series is not configured toast | Series field empty on account | Save the exact FR code from Hostkit Faturação → Séries | | Wrong document date on issued invoices | Fixed Invoice date still active | Month-end invoicing hub — turn Use today back on after batch (finance-transactions-bulk-toolbar-fixed-invoice-date-banner.png) | | Not issued credit note queue after Reject / Revert | Invoiced charge reversed in Vivin | Issue credit notes (N) — same Hostkit pacing as Issue allocation — Reject/revert mistaken receipts | | Change monthly rent clamped below exported total | Invoiced floor — not Hostkit slowness | Rent reduction after invoicing — external credit note first (bookings-rent-reduction-invoiced-floor-flow.mp4) | | Month-end export blocked by Pending receipts | Duplicate or confirmation transfers still pending | Pending manual receipt approval — finish Pending mesh on workflow Step 6b before Issue allocation | | Support ticket cites slow Hostkit batch | Self-serve pacing before escalation | FAQ — Bulk Hostkit invoicing slow — Using in-app support — New Support Ticket modal only after refresh + series/keys check | | Lockout-delayed month-end Issue allocation backlog | Password recovery delayed bulk export | Resetting a Management User Password — Step 3 → Finance → Transactions bulk toolbar |

Finance Transactions — bulk selection bar with Issue allocation and Invoice selected actions

Finance Transactions — bulk toolbar with fixed invoice-date reminder beside Issue allocation

Account Settings Invoicing — Hostkit invoice series (FR) field

Wrong tenant on a booking​

Pair with other FAQ hub sections

Wrong-profile questions pair with Cancel Booking vs Delete Booking hub (duplicate import row → Delete, not Change tenant), Bookings, Processing a New Booking hub (Step 1 import check, Step 6 confirmation), and FAQ — Wrong tenant on a booking hub.

Cancel Booking vs Delete Booking​

Pair with other FAQ hub sections

Cancel vs Delete pairs with Wrong tenant on a booking hub (Change tenant when profile link is wrong), Portfolio retirement decisions hub (building Archive vs reservation actions), Bookings, and FAQ — Cancel Booking vs Delete Booking.

Same-day turnover coordination​

SymptomFix
Incoming guest waiting but unit not readyManaging a Check-out — Step 2 turnover ticket before Managing a Check-in — Step 4 (operations-add-ticket-modal.png)
Same unit shows two bookings on Timeline Week scaleBookings — Timeline view — paste unit in toolbar Search (bookings-timeline-day-week-month-and-sidebar.mp4)
Outgoing tenant still In Debt on Payment PlanHandling a Late Payment — Step 1 → Check-out collections before refund before incoming key handover
Keys handed before outgoing checkout EndedManaging a Check-in — Step 4 only after outgoing Managing a Check-out — Step 7
Turnover ticket shows Draft far from due dateOperations → Tickets — assign tight due date before incoming arrival
Arrival/access alert before turnover ticket doneNotification triage — Step 4 row-click before bulk mark-read
Multicalendar gap on turnover daySales — Multicalendar Week scale overlap check
Lockout-delayed turnover catch-upResetting a Management User Password — Step 3 → Operations → Check-in & Check-out
Turnover coordination blocked after self-serve checksUsing in-app support — New Support Ticket modal — not tenant notify-landlord
Final utilities not posted before deposit release on turnover dayCheck-out final utilities handoff — outgoing Step 6 before incoming Step 4

New inventory to first booking handoff​

Pair with other FAQ hub sections

First-reservation questions pair with Setup sequence after go-live (steps 13–15 + Onboarding — Step 7), Processing a New Booking hub (Steps 1–6), Property setup to first arrival handoff (downstream arrival week), and Confirmation alert triage hub (first Booking created alerts).

Property setup to first arrival handoff​

Pair with other FAQ hub sections

First-arrival questions pair with New inventory to first booking handoff (upstream property wizard → first reservation), Managing a Check-in hub (Steps 1–4), Confirmation to check-in handoff (portal gates after first booking), and FAQ — Automatic check-in email.

Confirmation to check-in handoff​

Pair with other FAQ hub sections

Confirmation-week handoff pairs with Processing a New Booking hub (upstream Steps 5b / 6), Managing a Check-in hub (downstream Steps 1–4), Confirmation alert triage hub (alert-driven entry), Pending manual receipt approval hub (Step 5b / Step 3b mesh), and FAQ — Tenant contract signing blocked.

SymptomFix
Started Managing a Check-in — Step 1 weeks before move-inFinish Processing a New Booking — Step 6 portal gates first — arrival-week planning ~7 days out (booking-lifecycle-status-tabs-flow.mp4)
Tenant Portal Copy / Impersonate Tenant blockedProcessing a New Booking — Step 6 — contract + Tenant category; file support only after checklist (bookings-detail-contract-method-of-payments.png)
Contract not signed on Upcoming importStep 4 → Step 5 before Managing a Check-in — Step 4
Confirmation bank transfer still PendingProcessing a New Booking — Step 5b — distinct from move-in Step 3b (finance-transactions-pending-pill.png)
Move-in week but unpaid Payment Plan pillsHandling a Late Payment — Step 1 before Managing a Check-in — Step 4
Tenant category wrong on portalProcessing a New Booking — Step 2 / Tenant Info — Glossary — Tenant category
Deposit only partly collectedPartly collected security deposit — deposit shortfall vs rent Partial Paid on Payment Plan
Month-end lingering Pending on confirmation importsProcessing a New Booking — Step 6b during Portfolio KPI review — Step 7
Operations → Check-in & Check-out empty ~7 days outConfirm Upcoming portal gates on Step 6 — then scan Next 7 days (workflows-operations-check-in-out-planning-view.png)
Lockout-delayed Upcoming backlogResetting a Management User Password — Step 3 catch-up → Confirmation alert triage hub before handoff

Booking detail — Contract Info Method of payments with Tenant Portal copy and Impersonate Tenant

Operations — Check-in &amp; Check-out tab with Next 7 days and check-in rows for weekly planning

Check-in to check-out handoff​

Pair with other FAQ hub sections

Mid-stay handoff pairs with Managing a Check-in hub (upstream Step 4), Managing a Check-out hub (downstream Steps 1–7), Same-day turnover coordination (shared-unit one-day overlap), and Check-out final utilities handoff (final overages before refund).

SymptomFix
Started Managing a Check-out — Step 1 weeks before departureFinish Managing a Check-in — Step 4 first — departure-week planning ~7 days before checkout (operations-check-in-out-check-outs-next-7-days.png)
Still running check-in prep on Ongoing stayStep 5 confirms Ongoing — then scan Check-outs pill
Operations → Check-in & Check-out empty ~7 days outSwitch to Check-outs pill + Next 7 days — not Check-ins (operations-check-in-out-check-outs-next-7-days.png)
payment overdue on Ongoing stay at bellHandling a Late Payment — Step 1 before Managing a Check-out — Step 5
Deposit only partly collected at move-inPartly collected security deposit — deposit shortfall vs rent Partial Paid
Same-day turnover on shared unitSame-day turnover coordination — outgoing Step 2 before incoming Step 4
Booking still Ongoing after departure dayManaging a Check-out — Step 7 — not more check-in prep
Month-end Ongoing entering departure weekPortfolio KPI review — Step 7 → Check-outs pill
Lockout-delayed departure-week planningResetting a Management User Password — Step 3 catch-up → hub Lockout catch-up after password recovery

Operations — Check-in &amp; Check-out tab, Check-outs pill with Next 7 days and grouped departure rows

Bookings Timeline — Week scale with departure and arrival bars on one unit row

Walkthrough: Operations → Check-in & Check-out Check-outs pill + Next 7 days → Bookings → Timeline Week departure bar → return to Check-outs planning (Managing a Check-out — Step 1).

Check-out final utilities handoff​

Pair with other FAQ hub sections

Departure-week utility settlement pairs with Entering Monthly Utility Bills hub (Steps 2–4 posting), Managing a Check-out hub (Step 6 before Step 5), Utility overage collections.

SymptomSurfaceFix
Final utility overage unpaid on Payment PlanBooking Payment PlanStep 4 → Step 6 (bookings-detail-payment-plan-tab-schedule.png)
Ready To Refund blocked by overageBooking Deposit tabStep 4 → Step 1 → Step 6 (bookings-detail-deposit-tab-ready-to-refund-toggle.png)
Overage paid but Ready To Refund greyedBooking TransactionsStep 4b ↔ Step 6b (finance-transactions-pending-pill.png)
End of Booking — overage not visible yetCharge Time settingGlossary — End-of-Booking cost split — Step 7 then re-check Step 6
Month-end Missing bills on departing unitsUtilities → Bills Missing toggleStep 5 → Portfolio KPI review — Step 7 (utilities-bills-tab-missing-toggle.png)
Rent + utility both block Ready To RefundBooking Payment PlanUtility overage collections (utility line) · Check-out collections before refund (rent/fee lines)
Same-day turnover blocked by outgoing overageOperations → Check-in & Check-outOutgoing Step 6 before incoming Step 4 — hub: Same-day turnover coordination
Departure-week utility payment overdue alert/notifications row-clickStep 4 → Step 4 → Step 6
Support ticket cites final overage blocking Ready To RefundSelf-serve triage skippedUsing in-app support — Check-out final utilities handoff before New Support Ticket modal

Booking detail — Payment Plan tab with schedule rows to verify before deposit release

Utilities — Bills tab with Missing toggle showing expected-period gaps

Bookings — Deposit tab with Ready To Refund toggle enabled before the external bank transfer

Walkthrough: review calculated utility allocations, confirm overage lines on tenant Payment Plan, then verify settlement in Managing a Check-out — Step 6 before deposit release.

Check-out collections before refund​

Pair with other FAQ hub sections

Departure-week rent/fee arrears pair with Managing a Check-out hub (Step 6 before Step 5), Handling a Late Payment hub (collections Steps 1–4), Pending manual receipt approval hub.

SymptomSurfaceFix
Ready To Refund greyed / In Debt on rentBooking Payment PlanStep 1 → Step 4 → Step 6 (bookings-detail-payment-plan-tab-schedule.png)
Ready To Refund blocked on Deposit tabBooking Deposit tabStep 6 after collections — bookings-detail-deposit-tab-ready-to-refund-toggle.png
Tenant paid once, balance still UnpaidBooking TransactionsCheck-out ledger cleanup before refund — Revert duplicate
Unpaid line is utility overageBooking Payment PlanCheck-out final utilities handoff — not rent collections mesh
Departure transfer still PendingBooking TransactionsPending manual receipt approval hub — Step 6b (finance-transactions-pending-pill.png)
Shortfall is deposit collection, not rentFinance → DepositsPartly collected security deposit hub — Partial paid card
Portfolio Top debtors shows departure arrearsFinance → Contract ValuesStep 1 — In Debt filter (finance-contract-values-in-debt-filter.png)
Rent + utility both block Ready To RefundBooking Payment PlanUtility overage collections (utility line) · Check-out collections before refund (rent/fee lines)
Same-day turnover blocked by outgoing arrearsOperations → Check-in & Check-outOutgoing Step 6 before incoming Step 4 — hub: Same-day turnover coordination
Departure-week payment overdue alert/notifications row-clickStep 4 → Step 1 → Step 6
Support ticket cites Ready To Refund blocked by arrearsSelf-serve triage skippedUsing in-app support — Check-out collections before refund before New Support Ticket modal

Booking detail — Payment Plan tab with rent/fee schedule rows blocking deposit release

Finance Contract Values — In Debt filter highlighting departure-week rent arrears

Bookings — Deposit tab with Ready To Refund toggle enabled before the external bank transfer

Walkthrough: verify Payment Plan arrears, collect departure-week rent on Handling a Late Payment, then confirm settlement in Managing a Check-out — Step 6 before deposit release.

Check-out ledger cleanup before refund​

Pair with other FAQ hub sections

Duplicate-transfer cleanup pairs with Reject/revert mistaken receipts hub (Revert approved duplicate before collections — bookings-detail-transactions-revert-modal-info-banner.png, bookings-payment-row-actions-flow.mp4), Managing a Check-out hub (Step 6 / Step 6b — finance-transactions-bulk-reject-selected-bar.png), Pending manual receipt approval hub.

SymptomSurfaceLikely wrong pathFix
Ready To Refund blocked despite tenant paidBooking Deposit tabHandling a Late Payment — Step 3 outreachTransactions → Revert duplicate — Reject/revert mistaken receipts hub
In Debt after tenant paid departure rentBooking TransactionsCollections outreachRevert duplicate — not Step 3 until ledger clean
Top debtors still high after tenant paidFinance → Contract ValuesReal arrears collectionsCheck-out collections before refund — confirm duplicate pair on Transactions
Two identical transfers, one PendingFinance → TransactionsRevert on approved rowPending manual receipt approval hub — Reject pending duplicate first
Two identical transfers, both approvedBooking TransactionsCollections Step 3Revert payment on duplicate — Reject/revert mistaken receipts hub
Est. Refund inflated by duplicateBooking Deposit tabExternal bank transfer anywayRevert duplicate before Step 5
Red / blue modal after Reject / RevertBooking TransactionsSkip credit-note queueIssue credit notes — Bulk Hostkit invoicing hub pacing
Unpaid rent line on Payment PlanBooking Payment PlanLedger cleanup meshCheck-out collections before refund — tenant has not paid
Utility overage shows UnpaidBooking Payment PlanLedger cleanup meshCheck-out final utilities handoff — unpaid overage line, not duplicate transfer
Duplicate Pending manual in-payment during departure week/notifications row-clickApprove both rowsStep 4 → Reject selected
Support ticket — tenant paid but Ready To Refund blockedSelf-serve triage skippedFile ticket firstUsing in-app support — Check-out ledger cleanup before refund

Booking detail Transactions — Revert payment confirmation with blue invoice follow-up info banner

Finance Transactions — bulk selection bar with Approve selected and Reject selected

Bookings — Deposit tab with Ready To Refund toggle enabled before the external bank transfer

Walkthrough: open booking Transactions row actions, review Reject payment / Revert payment modals, then confirm Ready To Refund on the Deposit tab after duplicate cleanup.
Walkthrough: Finance → Transactions Reject selected on duplicate Pending rows, Revert payment on an approved duplicate (clip closes without confirming), then Finance → Deposits → Deposit Ready To Refund after ledger cleanup.

Cancellation collections before void​

Pair with other FAQ hub sections

Pre-cancel rent/fee arrears pair with Cancelling a Booking hub (Step 2 before Step 4 — bookings-cancel-booking-modal-refund-types.png, workflows-cancel-booking-refund-modal-flow.mp4), Handling a Late Payment hub (collections Steps 1–4 — finance-contract-values-in-debt-filter.png), Check-out vs cancellation.

SymptomSurfaceLikely wrong pathFix
Cancel booking blocked by In DebtBooking Contract InfoManaging a Check-out departure meshCancelling a Booking — Step 2 — policy void, not Ended stay
Unpaid rent/fee line on Payment PlanBooking Payment PlanCancel booking without settlementSteps 1–4 → Step 2 before Step 4
Top debtors still high before void queueFinance → Contract ValuesBatch Cancel booking without triageFinance debt receivables triage hub — filter In Debt before void
Unpaid utility overage on Canceled stayBooking Payment PlanRent pre-cancel meshEntering Monthly Utility Bills — Step 4 + Handling a Late Payment — Step 1
Settlement receipt Pending at cancelBooking TransactionsCollections Step 3Step 2a / Pending manual receipt approval hub
Tenant paid once, balance still UnpaidBooking TransactionsCollections outreachCheck-out ledger cleanup before refund — Revert duplicate during Step 2
Tenant backs out before arrivalBooking Payment PlanDeparture-week Step 6Managing a Check-in hub move-in arrears → Cancelling a Booking — Step 4
Pre-cancel payment overdue alert on Upcoming stay/notifications row-clickBulk mark-read before triageStep 4 → Step 1 → Step 2
Support ticket cites In Debt blocking Cancel bookingSelf-serve triage skippedFile ticket firstUsing in-app support — Cancellation collections before void
Lockout-delayed pre-cancel collections backlogPassword recovery delayed triageCancel booking without catch-upResetting a Management User Password — Step 3 → Step 2
Month-end pre-cancel arrears at KPI sign-offFinance → Contract ValuesPolicy void batch with open In DebtPortfolio KPI review — Step 7 — settle before void queue

Finance Contract Values — In Debt filter highlighting pre-cancel rent arrears

Booking detail — Payment Plan tab with rent/fee schedule rows blocking Cancel booking

Bookings — Cancel booking dialog with full refund, no refund, and partial refund options

Booking detail Transactions — Approve payment modal for settlement receipts before void

Walkthrough: settle Payment Plan arrears on Cancelling a Booking — Step 2, then open Contract Info → Cancel booking and review refund types on Step 4 (clip closes without confirming).
Walkthrough: triage pre-cancel arrears on Finance → Contract Values (In Debt filter), confirm Payment Plan and Communication on the booking, then open Cancel booking refund types on Contract Info (clip closes without confirming).

Deposit lifecycle status​

Pair with other FAQ hub sections

Deposit-lifecycle vocabulary pairs with Payments & Finance, Partly collected security deposit (Partial Paid shortfall), Deposit dispute hub (Disputed freeze), Deposit missing on Finance Deposits (lifecycle card counts scoped to toolbar date range), Managing a Check-out hub.

SymptomLikely wrong pathFix
Lifecycle pill Partial Paid but rent line also amberRent Payment Plan vs depositOpen booking Deposit tab — security deposit shortfall — Partly collected security deposit
Partial paid lifecycle card shows zero rowsToolbar date range excludes the stayDeposit missing on Finance Deposits — clear range first
Ready To Refund toggle disabled at departureRent/fee arrears on Payment PlanCheck-out collections before refund — not deposit shortfall alone
Refund / Mark refunded greyed on Deposit tabActive Disputed freezeDeposit dispute hub — Resolve Dispute after internal review
Pill stuck on Fully Paid at check-outReady To Refund step requiredManaging a Check-out — Step 5 — toggle Ready To Refund
Month-end KPI finds wrong lifecycle mixCard counts scoped to date windowPortfolio KPI review — Step 7 — clear toolbar range first
Deposit shortfall at confirmation or move-inDeparture inspection meshProcessing a New Booking — Step 5 / Managing a Check-in — Step 3
Partially paid badge or lifecycle pill defectsProduct defect after self-serve triageUsing in-app support — Deposit lifecycle status — Finance module ticket

Finance Deposits — Deposit lifecycle status row with Partial paid, Ready to refund, and Refunded cards

Booking detail — Deposit tab with lifecycle pill and Initial Deposit row

Booking detail — Deposit tab Ready To Refund toggle after charges are settled

Walkthrough: Finance → Deposits Deposit lifecycle status cards — portfolio triage across Ready to refund, Refunded, and Not paid with row-open to booking Deposit tab.
Walkthrough: toggle Ready To Refund on the booking Deposit tab, then Mark refunded on Finance → Deposits after the external bank transfer.

Deposit dispute​

Pair with other FAQ hub sections

Contested deposit retention pairs with Managing a Check-out hub (Step 5 — deposit-dispute-mark-and-resolve-flow.mp4), Cancelling a Booking hub (Step 3), Partly collected security deposit.

SymptomSurfaceLikely wrong pathFix
Refund / Mark refunded greyed on Deposit tabBooking Deposit tabCheck-out collections before refund rent meshResolve Dispute after internal review — Step 5
Mark as Disputed missing on booking Deposit tabBooking Deposit tabPartly collected shortfall meshEnable deposit disputes + bookings.dispute on role
Mark disputed chip missing on Finance → DepositsFinance → Deposits toolbarAssuming no deposit recordDeposit missing on Finance Deposits — clear date range first
Deposit not Fully Paid yetBooking Deposit tab lifecycle pillDispute freeze on partial collectionPartly collected security deposit — collect shortfall first
Tenant contests retention during cancellationBooking Deposit tab on CanceledManaging a Check-out hub departure meshCancelling a Booking — Step 3 — Mark as Disputed before Mark refunded
Ready To Refund blocked despite settled chargesBooking Deposit tabRent In Debt on Payment PlanResolve Dispute — not Check-out collections before refund
Month-end KPI finds contested refundsFinance → Deposits Disputed cardBulk Mark refunded without reviewPortfolio KPI review — Step 7 — Disputed filter
Tenant WhatsApp contest before operator actionInbox threadChat reassurance without ledger checkOpen booking Deposit tab — confirm Disputed state before reply
Lockout-delayed dispute backlogPassword recovery delayed triageMark refunded without catch-upResetting a Management User Password — Step 3 → Finance → Deposits Disputed filter
Support ticket — refund blocked by disputeSelf-serve triage skippedFile ticket firstManaging a Check-out — Step 5 before filing

Bookings — Deposit tab with Mark as Disputed beside Refund on a fully collected deposit

Bookings — Deposit tab Refund Disputed with dispute warning and Resolve Dispute (refund blocked)

Finance Deposits — Mark disputed row chip on a fully collected deposit

Finance Deposits — Resolve dispute row chip while the deposit lifecycle is Disputed

Walkthrough: Mark as Disputed on the booking Deposit tab, review the blocked Refund state, spot the matching Resolve dispute row on Finance → Deposits, then Resolve Dispute to restore the refund queue.

Utility overage collections​

Pair with other FAQ hub sections

Utility overage arrears pair with Entering Monthly Utility Bills hub (upstream Steps 2–4), Handling a Late Payment hub (collections Steps 1–4), Check-out final utilities handoff (departure-week subset), Pending manual receipt approval hub (Step 4b overage receipts — finance-transactions-pending-pill.png), Reject/revert mistaken receipts hub.

SymptomSurfaceFix
In Debt includes utility-type line on Contract ValuesFinance → Contract Values In Debt filterStep 4 → Step 1 (finance-contract-values-in-debt-filter.png)
Payment overdue alert after monthly bill cycle/notifications row-clickStep 4 before Step 1 (notifications-row-navigate-to-booking-detail.png)
Overage line not on Payment Plan yetUtilities → AllocationsStep 2 → Step 4 — not collections until charge posts (utilities-allocations-row-breakdown-expanded.png)
Overage receipt still Pending at month-endFinance → Transactions / booking TransactionsStep 4b (bookings-detail-transactions-approve-payment-modal.png, finance-transactions-pending-pill.png)
Tenant insists they paid — duplicate on ledgerBooking TransactionsReject/revert mistaken receipts hub — Reject while pending / Revert after Approve on Step 4b
End of Booking — line not visible yetCharge Time settingGlossary — End-of-Booking cost split — wait until Managing a Check-out — Step 7
Rent line mistaken for utility overageBooking Payment PlanCheck-out collections before refund — rent In Debt contrast, not utility mesh alone
Support ticket cites utility overage on Payment PlanSelf-serve triage skippedUsing in-app support — Utility overage collections before New Support Ticket modal
Lockout-delayed overage payment overdue backlogPassword recovery delayed triageResetting a Management User Password — Step 3 → Step 4 (utilities-allocations-review-flow.mp4)

Utilities Allocations — expanded row breakdown showing tenant overage per stay

Finance Contract Values — In Debt filter highlighting utility overage lines

Walkthrough: post supplier bills in Utilities, verify overage on Allocations, then collect on booking Payment Plan.

Check-out vs cancellation​

Pair with other FAQ hub sections

Lifecycle exit questions pair with Managing a Check-out hub (completed stay → Ended), Cancelling a Booking hub (policy void → Canceled), Cancel Booking vs Delete Booking hub (real void vs mistaken row), Check-out collections before refund (departure-week arrears on Ended path), Cancellation collections before void.

SymptomLikely wrong pathFix
Guest never moved in but operator ran check-out flowManaging a Check-out EndedCancelling a Booking — Step 4 → Canceled filter
Mid-stay policy void but operator used EndedStep 7 on voided stayCancelling a Booking — Step 4 — hub: Check-out vs cancellation
Completed stay but Cancel booking was usedCanceled filter + refund dialogManaging a Check-out — Step 7 — Ended status
Mistaken Add booking / training duplicateCancel booking or check-outDelete Booking — Cancel Booking vs Delete Booking
Ready To Refund blocked on policy voidCheck-out collections before refund meshCancellation collections before void — Step 2 before Step 4
Utility overage on Canceled stayManaging a Check-out — Step 6Entering Monthly Utility Bills — Step 4

Portfolio retirement decisions​

Pair with other FAQ hub sections

Portfolio retirement pairs with Cancel Booking vs Delete Booking hub (reservation void vs soft-archive — workflows-cancel-booking-refund-modal-flow.mp4), Properties & Listings, Bookings, and Payments & Finance (ledger visibility after soft-archive).

Deposit missing on Finance Deposits​

Pair with other FAQ hub sections

Missing deposit rows pair with Payments & Finance, Why do I not see a deposit on Finance Deposits?, Partly collected security deposit (Partial paid card empty until range clears), Lockout catch-up after password recovery (older move-outs missed during lockout), Processing a New Booking hub.

SymptomLikely causeFix
Row on booking Deposit but missing on Finance → DepositsDefault ~3 months toolbar date rangeClear date range selection or widen from / to, then Search (finance-deposits-date-range-clear-flow.mp4)
Mark disputed / Resolve dispute chips missingDispute actions only render on visible rowsClear or widen toolbar range before portfolio dispute triage
Lifecycle card counts look too lowCards scope to the active date windowClear range before month-end deposit sign-off — Portfolio KPI review — Step 7
Partial paid card empty but booking Deposit shows shortfallRange excludes the stay — not “no shortfalls”Clear range first, then Partly collected security deposit
Older move-outs surfaced during lockout catch-upDelayed refund/dispute triageLockout catch-up after password recovery — Clear toolbar range before Partial paid card

Finance Deposits — default date range on the toolbar (about the last three months)

Finance Deposits — date range cleared so portfolio triage includes older move-outs

Walkthrough: open Finance → Deposits with the default toolbar range, click Clear date range selection, then review the widened portfolio table.
Walkthrough: booking Deposit tab shows deposit data → Finance → Deposits default toolbar range with tenant search (row hidden) → Clear date range selection → portfolio row appears.

Partly collected security deposit​

Pair with other FAQ hub sections

Deposit shortfalls pair with Payments & Finance, How do I find bookings where the security deposit is only partly collected?, Deposit missing on Finance Deposits (Partial paid card empty until toolbar range clears), Deposit dispute hub (shortfall vs dispute freeze contrast), Handling a Late Payment hub.

SymptomLikely wrong pathFix
Amber badge on Payment Plan rent lineRent collections meshOpen booking Deposit tab — security deposit, not scheduled rent
Partial paid lifecycle card shows zero rowsToolbar date range excludes the stayDeposit missing on Finance Deposits — clear range first
Ready To Refund toggle disabled at departureRent/fee arrears on Payment PlanCheck-out collections before refund — not deposit shortfall alone
Deposit shortfall at move-inDeparture inspection meshManaging a Check-in — Step 3 — chase remaining before key handover
Partially paid badge or partial filter wrongProduct defect after self-serve triageUsing in-app support — Partly collected security deposit — Finance module ticket

Finance Deposits — Partial paid lifecycle card selected, narrowing rows to partly collected deposits

Booking detail — Deposit tab Initial Deposit row with amber Partially paid badge and remaining helper

Walkthrough: click the Partial paid lifecycle card on Finance → Deposits, open a partly collected row, then review the amber Partially paid badge on the booking Deposit tab.

Key glossary terms​

Concepts & integrations​

Pair with other FAQ hub sections

Concept escalations pair with API Reference for partner HTTP (distinct from Vivin support tickets). Tenant-facing issues: Tenant Portal + FAQ — Tenant Portal & Mobile App. External AI: Landlord MCP vs Tenant MCP.

Settings that shape troubleshooting​

Self-serve workflows​

Pair with other FAQ hub sections

Deeper workflow reads​

Module documentation hubs​

Pair with other FAQ hub sections