Skip to main content

Notifications

First-time workspace setup

Tune alert categories under Preferences — In-app notifications during setup steps 1–12, then triage the Dashboard bell and /notifications after steps 13–15 go live — Notification triage. Lockout catch-up: Getting Started — Lockout catch-up after password recovery. Workflow pairing: Modules — Setup sequence after go-live.

The Notifications module is your central inbox for in-app alerts. It displays all notifications sent by the platform: new bookings, payment events, ticket updates, and other important events. You can search, filter, and mark notifications as read to stay on top of what matters.

Pair with other modules

Reply to WhatsApp rows via Inbox; compare with Dashboard bell slide-over before opening /notifications. When payment overdue Payments rows cluster on one tenant category, scope Bookings — Other filters tenant category or Finance — Tenant category filter before account-wide reminder or portal changes — see Glossary — Tenant category. Internal LLM token spend is not listed in this inbox — during Portfolio KPI review — Step 7 poll AI usage API (GET /ai-usage/summary; landlord_chat, utility_bill_extraction). Section-to-doc pairing: Notifications section cross-reference. Hub tab matrix: Modules — Module cross-reference.

User Roles and Access

RoleAccess
Property ManagerFull access — view, search, filter, and mark notifications as read
AdminFull access
ViewerTypically read-only; access depends on account configuration

Prerequisites

  • An active Vivin account
  • Access to the management frontend (platform.vivin.app)
Direct access

Open the Notifications module at platform.vivin.app/notifications. See Deep Links — Notifications for the bookmarkable route, how it compares to the Dashboard bell slide-over, and the Deep Links index for other management routes.

Key Workflows

Pair with other Notifications sections

Daily triage starts with Notification triage — use search and read-status pills here, then row-click into Bookings or Finance when alerts need follow-up. Full pairing matrix: Notifications section cross-reference.

Viewing Notifications

  1. Open the full Notifications module by navigating directly to /notifications
  2. Notifications are listed in reverse chronological order (newest first)
  3. Each notification shows:
    • Summary — short title or subject
    • Content — full message body
    • Status — Unread or Read
    • Date — when the notification was created

Filtering and Searching

Pair with other Notifications sections

Search and filter pills pair with Deep Links — Notifications (bookmark is always /notifications — pills are in-page only) and Notification triage — Step 5 when you clear unread after triage. Full pairing matrix: Notifications section cross-reference.

  • Filter by status — Use the All, Unread, or Read buttons to filter the list
  • Search — Type in the search box to find notifications by summary or content text (debounced; pause briefly after typing before expecting the list to update)
  • Mark all as read — Click Mark all as read to clear the unread state for all notifications

With All selected, a search term narrows the list to rows whose summary or body matches (counts in the totals line update to match):

Notifications module — All filter with search text narrowing the list

When nothing matches the active filter and search together, the list shows No notifications found for the selected filters. — switch pills or clear search before assuming data is missing:

Notifications module — empty state after search with no matching rows

Screenshot freshness

Search results and empty-state captures refreshed 2026-06-17 03:10 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-notifications-search-screenshots.ts).

Dashboard bell vs. full module

Pair with other Notifications sections

Bell Inbox sub-tab pairs with Inbox module; General payment rows pair with Handling a Late Payment — Step 1. Full pairing matrix: Notifications section cross-reference.

Dashboard notification slide-over vs. full Notifications module

On desktop, the Dashboard (/) shows a bell in the page header (next to the title). Clicking it opens a Notifications slide-over from the right with General and Inbox sub-tabs (#1812): General holds payment, ticket, and booking alerts; Inbox holds inbound WhatsApp and email message pings (one notification per conversation, coalesced when new messages arrive). Each sub-tab has its own unread badge; Mark all as read clears only the active sub-tab. Inbox rows with a backend link navigate straight to the conversation (for example /inbox?contact=… or a booking Communication deep link) and mark the row read — other rows open Notification detail inside the panel. The slide-over scrolls with infinite load, Mark all as read, and footer totals. It does not include search or All / Unread / Read filters, and General rows without a link do not jump to Bookings, Tenants, or Listings from the bell alone.

Inbox sub-tab row labels (#1812) — summaries are conversation-scoped, not one row per message:

ChannelSummary (English UI)Body preview
WhatsAppNew WhatsApp message from {tenant name} when the phone matches a tenant; otherwise New WhatsApp message from +{digits}Last inbound message text (or New WhatsApp message)
EmailNew email from {sender} — display name when present, otherwise the From addressGmail snippet or subject

A new inbound message on an existing thread bumps that row to the top and marks it unread again instead of inserting a duplicate. The full /notifications page lists Inbox and General rows together (no category pill) — use the bell Inbox sub-tab when you only want message triage. See Inbox — Dashboard bell.

When the account tenant chatbot is not enabled (isTenantChatBotEnabled), the Inbox sub-tab is greyed out and cannot be selected — hover shows Activate the Chatbot to get tenant messages right here. General remains fully usable. The same flag gates Tools → Inbox and Bookings → Communication; see Inbox — Chatbot gating and ChatBot settings — Inbox and Dashboard bell gating.

The bell is not added to other modules’ page headers in the current layout, and it is not shown on narrow (mobile) viewports. The left sidebar lists Inbox under Tools (/inbox) on desktop when your role includes Bookings access — see Inbox module.

Dashboard bell — Inbox sub-tab with WhatsApp / email channel icons

Bell Inbox sub-tab capture refreshed 2026-06-17 14:15 UTC (npx tsx tools/capture-notifications-dashboard-bell-inbox-tab-screenshot.ts — develop NotificationsPanel #1812).

Dashboard bell — disabled Inbox sub-tab when tenant chatbot is off

Bell Inbox chatbot-disabled capture refreshed 2026-06-17 18:05 UTC (npx tsx tools/capture-notifications-dashboard-bell-inbox-chatbot-disabled-screenshot.ts).

For search, read-status filters, full General history, and one-click entity navigation from payment/ticket rows, open the Notifications module directly — for example platform.vivin.app/notifications or your bookmarked /notifications URL. See Deep Links > Notifications.

Payment received alerts (email + in-app)

Pair with other Notifications sections

Payment-received rows pair with Settings — Preferences masters and Finance — Pending manual payments when receipts stay pending after row-click. Full pairing matrix: Notifications section cross-reference.

Operator payment-received alerts

When a tenant payment is received, opted-in operators can get both a mailbox email and an in-app row in this history (Dashboard bell and /notifications). Delivery requires both layers on for each recipient:

  1. AccountPreferences → Notifications & Emails: Receive payment notifications.
  2. YouPersonal Settings (/settings/personal): Payment notification emails — the same toggle controls your email and whether you see in-app payment-received rows.

Row shape: summary like Payment received from tenant …; body includes amount, listing, and property. When bookingId is set, clicking the row on /notifications opens the booking sidebar (see Open the related booking, tenant, or listing).

Audience scoping: in-app rows are created with a per-user audience list — only property managers who opted in on Payment notification emails see them. Teammates who did not opt in will not see those rows (and their unread counts differ). Legacy rows with no audience list remain visible to every signed-in user on the account.

See Glossary — Payment notification (operator), Notification triage — Step 4, and Handling a Late Payment — Step 4b when the receipt still shows pending after row-click navigation.

Payment overdue alerts (in-app)

Pair with other Notifications sections

Overdue Payments rows pair with Finance — Tenant category filter and Bookings — Other filters tenant category when alerts cluster on one segment — see Glossary — Tenant category. Full pairing matrix: Notifications section cross-reference.

Operator payment-overdue alerts

When a scheduled charge is overdue or a booking balance triggers an operator alert, in-app rows under the Payments category can appear on /notifications and the Dashboard bell (subject to the same In-app notification preferences masters and personal opt-outs as payment-received rows).

Row-click navigation: when bookingId (or tenantId / listingId / propertyId) is set, clicking the row on /notifications opens the related entity — then continue collections on Handling a Late Payment — Step 1. When overdue rows cluster on one tenant category, add Finance — Tenant category filter or Bookings — Other filters tenant category before you chase every alert individually — see Glossary — Tenant category. See Notification triage — Step 4 and Glossary — Payment notification (operator).

In-app notification preferences

Account masters + personal opt-outs (#1862)

Operator in-app rows on the Dashboard bell and /notifications are grouped into four categories. Each category is controlled by two layers:

  1. AccountPreferences → In-app notifications: master switches (Payments, Service requests, Scheduled bookings, Inbox messages). When a master is Off, no user sees that category in-app.
  2. YouPersonal Settings → Your in-app notifications: per-user opt-out toggles (default On). Turning a toggle Off hides that category for your session only.
CategoryExample row summariesExtra gate for Payments only
PaymentsPayment received from tenant …Also requires account Receive payment notifications and your Payment notification emails audience opt-in — see Payment received alerts
Service requestsPortal service order / cancellation summariesService-order emails use Service subscription emails on Personal Settings (separate from in-app)
Scheduled bookingsScheduled import or booking job success / failure
Inbox messagesNew WhatsApp message from …, New email from …, chatbot handoff pingsDashboard bell Inbox sub-tab when Chatbot is enabled

Legacy rows with no eventType remain visible unless filtered by search or read-status pills. Preference lookup errors fail open (rows stay visible) so a transient API issue does not blank the module.

Pending manual in-payments (approval queue)

When someone records a manual in-payment on Finance → Add Payment or a booking Transactions tab, the receipt often stays pending until a user with Approve payments confirms it. Until approval, Total Debt, Contract Values, and Payment Plan pills may still show the old balance even though the bank deposit arrived — and a Pending manual in-payment row may remain on /notifications until ledger approval clears.

Triage from TransactionsFinance → Overview shows a Manual Payments KPI for the selected month (€ total + transaction count for all manual rails, including pending). Clicking the card opens the month drill-down of all manual rails — it does not isolate the approval queue. Open Finance → Transactions (Pending pill, row icons, or Approve selected / Reject selected bulk bar) to approve. Ledger Reject is bulk-only — there is no per-row reject icon on Finance. Reject and Revert modals warn about credit notes when Finance may already have invoiced the charge. Hub matrix: Common Workflows — Pending manual receipt approval.

Finance Overview — Manual Payments KPI beside Total Debt (monthly manual total; triage pending rows on Transactions)

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

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

After you approve or reject from the booking sidebar or ledger, return to /notifications and Mark as read on any related payment alerts when balances look correct. Full operator rhythm: Notification triage — Step 4, Notification triage — Step 5, FAQ — Manual receipt still pending, FAQ — Pending manual in-payment on /notifications, Finance — Pending manual payments, Bookings > Transactions — Row actions, Payment Allocation — Pending manual approval (month-end habit), and Payment Allocation — Correcting mistaken receipts.

Marking Individual Notifications as Read

For unread notifications, click Mark as read to update the status. This helps you track which items you have already reviewed.

Pair with other Notifications sections

Row-click navigation pairs with Notification triage — Step 4 and Glossary — Notification row navigation — bell General rows without link stay in-panel only. Full pairing matrix: Notifications section cross-reference.

On the full Notifications page (/notifications), clicking a row does more than update read status when the platform attached a navigation target:

  1. If the row is still Unread, it is marked read in the background (no success toast on row click alone — same as before).
  2. The app then navigates to the related workspace when possible, using the first match in this order:
    • link — backend-provided deep link (when present)
    • bookingId/bookings/list/:bookingId
    • tenantId/tenants/:tenantId
    • listingId/listings/unit/:listingId
    • propertyId/listings/property/:propertyId

If none of those fields are set, the row is marked read when applicable but you stay on the inbox — use Mark as read when you only want to clear unread without leaving the page.

This behaviour applies to the full module only. On desktop Dashboard, the header bell slide-over opens Notification detail inside the panel for General rows without a deep link, or navigates directly when the row carries a link (Inbox message notifications jump to /inbox or booking Communication). Use /notifications when you want search, filters, and one-click triage into Bookings, Tenants, or Listings from General payment and ticket rows.

Notifications module — inbox row ready to open the related booking

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

Walkthrough: on /notifications, click a row with a bookingId — the app opens the booking detail sidebar (same clip as Notification triage — Step 4).
Screenshot freshness

Row-click triage captures refreshed 2026-06-20 15:08 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-notifications-row-navigation.ts — publication-clean bookingId row, not default Inbox WhatsApp row). Walkthrough MP4 added 2026-06-20 15:08 UTC (tools/record-notifications-row-navigation-mp4.ts).

Hub matrix: Common Workflows — Notification row-click navigation. See FAQ — Notification row-click navigation, Glossary — Notification row navigation, Notification triage — Step 4, Deep Links — Notifications, Bookings, Tenants, Listings, Portfolio KPI review — Dashboard Total Debt subtitle, and Deep Links — Broken entity deep links when a target id no longer exists.

Notification Types

Notifications can relate to:

CategoryExamples
BookingsNew booking created, booking confirmed, cancellation
PaymentsPayment received, payment overdue, deposit returned
TicketsNew ticket created, ticket assigned, ticket resolved
SystemAccount updates, integration alerts

On desktop Dashboard, the header bell shows an unread badge when applicable and opens the slide-over for recent notifications. The full Notifications page at /notifications is where you search, filter by read status, and review complete history.

Interface Overview

Pair with other Notifications sections

Toolbar controls pair with Settings — Interface Language — Your in-app notifications opt-outs and Glossary — Notification read actions for Mark all as read toasts. Full pairing matrix: Notifications section cross-reference.

The full Notifications page is a single column inside the main content area (there is no extra sub-navigation beyond the filter pills).

Toolbar row

  • Search — Text field above the list; matches against notification summary and body (search is debounced, so pause briefly after typing before expecting results).
  • Mark all as read — Enabled when there is at least one unread item; disabled when every item is already read or while the request is in progress. On success, a toast confirms All notifications marked as read.; on failure, an error toast asks you to retry and unread badges stay unchanged (see Glossary — Notification read actions).

List load and read actions

Pair with other Notifications sections

Load failures pair with FAQ & Troubleshooting — distinct from filter-empty states when the fetch succeeded but nothing matches. Full pairing matrix: Notifications section cross-reference.

Initial load failure — If the first notifications request fails, the page shows Failed to load notifications. in red inside the main panel with a Try again control (not the empty-state copy). This is distinct from No notifications found for the selected filters. when the fetch succeeded but nothing matches.

Notifications module — initial load failure with Try again control

Screenshot freshness

Load-failure capture refreshed 2026-06-16 22:07 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-notifications-module-load-failure.ts — simulates GET /notifications failure after a successful first load by switching to the Unread filter).

Per-row Mark as read — The explicit Mark as read control shows success or error toasts. Row click still marks unread items in the background without a success toast when navigation or in-panel detail is the primary action (Dashboard bell detail view behaves the same).

Mark all as read — Available on the full page and in the Dashboard bell slide-over. While the request runs, the control is disabled. Failures surface as a toast; retry after connectivity improves.

Filters and counts

  • All / Unread / Read — Pill-style toggles; the active pill uses the primary teal styling. The visible words on each pill follow your Interface language; behaviour is the same in every locale.
  • Totals line — Shows how many notifications match the current query and how many are still unread (wording follows your interface language).

Why counts differ between teammates: booking, ticket, and most system rows are account-wide — every signed-in user with access sees the same history. Payment received rows are scoped to opted-in property managers only (see Payment received alerts above). If your bell badge or unread total does not match a colleague’s, check whether you both enabled Payment notification emails on /settings/personal and whether the account Receive payment notifications switch is on.

Notification rows

Each row is one notification. Unread items show an Unread badge; read items show Read. The body text preserves line breaks where the platform stored them. Mark as read appears on unread rows when you want to clear unread without navigating away.

On this full page, clicking the row marks unread items read (when applicable) and, when the notification includes a target, opens the related booking, tenant, or listing — see Open the related booking, tenant, or listing. Use Mark as read when you only need to update status and stay in the inbox.

The Dashboard header bell slide-over is a lighter variant of the same inbox (no read-status pills inside the panel), with General and Inbox sub-tabs when the WhatsApp global inbox release is active — see Inbox module. General rows without a link open in-panel detail only; use /notifications when you want search, filters, and one-click triage into Bookings, Tenants, or Listings from payment and ticket alerts.

Dashboard bell slide-over loading (infinite scroll)

The compact panel is also server-paged. The first open loads a batch of rows (enough for a quick scan); when you scroll near the bottom of the panel’s list, the app fetches the next batch automatically. While the next batch loads, skeleton rows appear at the bottom of the slide-over list (same row shape as the full /notifications page, but inside the narrower panel). The panel does not show an End of list line — keep scrolling until the footer total count matches what you expect, or open /notifications when you need filters, search, and the explicit end-of-history marker.

Dashboard — notifications bell slide-over scrolled with list history and footer totals (scroll to load more; skeleton rows match the full-page pattern below)

Click a row to open Notification detail inside the panel (summary, body, created time). The header title becomes Notification Detail, the General / Inbox sub-tabs hide, and the back arrow (←) beside the title returns you to the list for the same sub-tab. Opening a row that is still Unread marks it read (without a success toast on row click alone). The bell panel does not route to Bookings, Tenants, or Listings — open /notifications for that workflow.

Dashboard — notifications bell slide-over on Notification detail with Summary, Content, and Created at

Screenshot freshness

Bell Notification detail capture refreshed 2026-06-18 17:00 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-notifications-bell-detail.ts — panel-scoped clone check).

Read status and list queries

Pair with other Notifications sections

Read-status pills pair with teammate payment-received audience scoping — check Personal Settings — Payment notification emails when bell badges differ between colleagues. Full pairing matrix: Notifications section cross-reference.

The All, Unread, and Read pills are mutually exclusive: only one read-status filter applies at a time, together with whatever you typed in search (after the short debounce). Changing the pill replaces the underlying list query and starts again from the first page of results, so you always see one coherent slice — every matching notification, only unread rows, or only rows already marked read.

The totals line under the toolbar reflects that same combination (filter + search), not a second hidden query. If you pick Read and see no rows, either nothing read matches your search yet or your history is still entirely unread; switch to All or clear search to confirm what exists before assuming data is missing.

History loading (infinite scroll)

Pair with other Notifications sections

Infinite scroll pairs with Dashboard bell skeleton loading — use /notifications when you need End of list, search, and read-status filters together. Full pairing matrix: Notifications section cross-reference.

The notification list is server-paged like other large directories. The first request loads a batch of rows; as you scroll near the bottom of the scrollable list (inside the bordered panel), the app fetches the next batch automatically. While the next batch loads, compact skeleton rows appear at the bottom of that panel:

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

When every notification matching the current filter + search is loaded, an End of list line appears below the list. Changing the All / Unread / Read pill or the search box clears the list and starts again from the first batch.

Notifications module — full history scrolled to the end with the End of list marker

Screenshot freshness

End of list capture refreshed 2026-06-22 03:25 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-notifications-module-end-of-list-screenshot.ts — mocks a 25-row paginated history so the marker appears without scrolling 3600+ live rows).

Screenshots

Full Notifications page (/notifications) — All filter, search, Mark all as read, and totals line:

Notifications module — full history with All filter

Unread filter narrows the list to items still marked unread (counts update in the totals line):

Notifications module — Unread filter

Read filter shows only notifications already marked read (same search and Mark all as read row; the Read pill uses the primary teal active styling when selected). When nothing matches, you see the standard empty state (“no notifications for the selected filters”) — that is still a valid Read filter outcome.

Notifications module — Read filter with read-only rows and totals line

When no notifications match the current filter (for example you have no read items yet, or search text matches nothing), the list area shows the standard empty state: No notifications found for the selected filters. That is expected behaviour — switch back to All or Unread, clear the search box, or wait for new events. See the search empty-state capture above.

Bookmarks and filters

The URL is always /notifications. All, Unread, and Read are in-page only; a bookmark cannot open the module already filtered to Read. See Deep Links — Notifications.

Dashboard (desktop) — bell in the page header opens the slide-over (scroll the list to load more history; footer shows total and unread):

Dashboard — notifications bell slide-over open with scrollable history and Mark all as read

Bell General slide-over list capture refreshed 2026-06-22 01:20 UTC (VIVIN_DOCS_BASE_URL=http://localhost:5173 VIVIN_DOCS_RECORD_API=$VITE_API_BASE_URL npx tsx tools/capture-notifications-dashboard-bell-slideover-open-screenshot.ts).

Walkthrough: Dashboard bell slide-over → Mark all as read → close → full /notifications page → Unread and Read filters.

Notifications guide subsection index

Pair with other Notifications module guide sections

This index pairs Notifications triage sections with Related subsections — use it when bell General rows disagree with full /notifications search or read-status pills. Full pairing matrix: Notifications section cross-reference.

SubsectionWhen to open itPair with
Key Workflows — Filtering and SearchingSearch, read pills, and Mark all as readNotification triage, Deep Links — Notifications
Dashboard bell vs. full moduleBell slide-over vs /notificationsInbox module, Settings > Chatbot — Inbox gating
Payment received alertsReceipt and pending-manual rowsSettings > Preferences — Notifications & emails, Finance — Pending manual payments, FAQ — Pending manual in-payment on /notifications, Glossary — Payment notification (operator)
Pending manual in-payments (approval queue)Operator-recorded receipts still pending until approvalFAQ — Pending manual in-payment on /notifications, FAQ — Manual receipt still pending, Notification triage — Step 4, Bookings > Transactions — Row actions, Payment Allocation — Pending manual approval
Payment overdue alerts (in-app)Payments category overdue chargesHandling a Late Payment — Step 1, Finance — Tenant category filter
Open the related booking, tenant, or listingRow-click navigation from General rowsFAQ — Notification row-click navigation, Glossary — Notification row navigation, Notification triage — Step 4, Deep Links — Notifications, Dashboard — Notifications bell (desktop), Handling a Late Payment — Step 1
Interface Overview — List load and read actionsLoad failures and read toastsGlossary — Notification read actions, FAQ — list page load failures
Read status and list queriesAll / Unread / Read pills and infinite scrollSettings > Interface Language — Your in-app notifications
Notification TypesCategory reference for bell and module rowsBookings module, Operations — Tickets tab
Deeper workflow readsStep-by-step procedures in this moduleCommon Workflows hub subsection index, Notification triage
Lockout catch-up after password recoverySign-in restored; module backlog accumulatedCommon Workflows — Lockout catch-up, Getting Started — Lockout catch-up, Resetting a Management User Password — Step 3
Pending manual receipt approvalRecorded bank transfers still pending until Approve paymentsCommon Workflows — Pending manual receipt approval, Finance — Pending manual payments, FAQ — Manual receipt still pending
Reject/revert mistaken receiptsDuplicate or wrong-booking receipts after ApproveCommon Workflows — Reject/revert mistaken receipts, Payment Allocation — Correcting mistaken receipts, Glossary — Credit note (payment reject/revert)
Confirmation alert triageUpcoming Booking created / Payment received row-clickCommon Workflows — Confirmation alert triage, Notification triage — Confirmation alert triage, FAQ — Processing a New Booking hub (notifications-row-navigate-to-booking-detail.png, notifications-row-navigation-flow.mp4)
Booking sidebar tab load failuresPayment alert row-click; Communication / Tickets tab redCommon Workflows — Booking sidebar tab load failures, Notification triage — Step 4, FAQ — Communication or Tickets load failure (notifications-row-navigate-to-booking-detail.png, bookings-detail-communication-tab-whatsapp-thread.png)
Portfolio segmentation by tenant categoryReview one tenant segment across modulesCommon Workflows — Portfolio segmentation, Settings > Tenant categories, Finance — Tenant category filter, Tenants — Tenant category filter
Finance debt receivables triagePayments alert batches before portfolio Debt Aging when you need ranked debtorsCommon Workflows — Finance debt receivables triage, Finance — Finance debt receivables triage, FAQ — Finance debt receivables triage hub, Payment alert to receivables triage, Payment overdue alerts (in-app) (finance-overview-debt-aging-expanded-bucket.png, finance-overview-debt-aging-walkthrough-flow.mp4)
Finance Income status drill-downPayments alert batches before you read Income segments for portfolio rankCommon Workflows — Finance Income status drill-down, Finance — Income status drill-down, FAQ — Finance Income status drill-down hub, Payment alert to receivables triage, Payment overdue alerts (in-app) (finance-overview-income-status-in-debt-modal.png, finance-overview-income-drill-down-flow.mp4)
Cash flow forecast drill-downPayments alert batches before you read Cash flow forecast collections historyCommon Workflows — Cash flow forecast drill-down, Finance Income status drill-down, Finance — Income chart and cash flow forecast, FAQ — Cash flow forecast drill-down hub, Payment alert to receivables triage, Payment overdue alerts (in-app) (finance-overview-cash-flow-all-payments-modal.png, finance-overview-cash-flow-day-view.png, finance-overview-cash-flow-drill-down-flow.mp4)
Notifications section cross-referencePer-section pairing matrixModule cross-reference, Inbox guide subsection index

Notifications section cross-reference

Use this table when one Notifications section or control naturally leads into another module, workflow, or concept — each row links to the docs you should read before or after acting in that section.

Notifications sectionPair with these docs
User Roles and AccessSettings > Users and roles
Key Workflows — Filtering and SearchingNotification triage (workflow), Deep Links — Notifications
Dashboard bell vs. full moduleInbox module, Settings > Chatbot — Inbox gating, Notifications — Payment overdue alerts, Bookings — Other filters tenant category, Finance — Tenant category filter
Payment received alertsSettings > Preferences — Notifications & emails, Finance — Pending manual payments, FAQ — Pending manual in-payment on /notifications, Pending manual in-payments (approval queue), Glossary — Payment notification (operator)
Pending manual in-payments (approval queue)FAQ — Pending manual in-payment on /notifications, FAQ — Manual receipt still pending, Glossary — Pending manual in-payment (Finance), Notification triage — Step 4, Notification triage — Step 5, Bookings > Transactions — Row actions, Finance — Pending manual payments, FAQ — Dashboard Total Debt subtitle
Payment overdue alerts (in-app)Handling a Late Payment — Step 1, Finance — Tenant category filter, Bookings — Other filters tenant category, Tenants — Tenant category filter, Glossary — Tenant category
Open the related booking, tenant, or listingFAQ — Notification row-click navigation, Glossary — Notification row navigation, Notification triage — Step 4, FAQ — Pending manual in-payment on /notifications, Pending manual in-payments (approval queue), Bookings > Transactions — Row actions, Portfolio KPI review — Dashboard Total Debt subtitle, Finance — Tenant category filter, Bookings — Other filters tenant category
Notification TypesBookings module, Finance module, Operations — Tickets tab, Notifications — Payment overdue alerts, Finance — Tenant category filter, Bookings — Other filters tenant category
Interface Overview — List load and read actionsGlossary — Notification read actions, FAQ — list page load failures
Read status and list queriesSettings > Interface Language — Your in-app notifications
ScreenshotsGetting Started — Interface layout, Dashboard module

Pair with other Notifications module guide sections

Related below links this module to settings, concepts, workflows, and escalation paths. Pair Documentation map & escalation with Modules hub — Documentation map & escalation; pair Upstream & downstream workflows with Common Workflows — Workflow cross-reference. Topic-to-section pairing in sections above: Notifications guide subsection index · Notifications section cross-reference. Full hub matrix: Module cross-reference · Modules hub subsection index.

Documentation map & escalation

Pair with other Notifications module guide sections

Upstream & downstream workflows

Pair with other Notifications module guide sections

Deeper workflow reads

Pair with other Notifications module guide sections

Workflow reads pair with Common Workflows hub subsection index and Workflow cross-reference. Each workflow sub-guide reciprocates with [Deeper workflow reads](../modules/notifications/index.md#deeper-workflow-reads) anchors on Module documentation hubs bullets — hub parity: Modules hub — Deeper workflow reads. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Settings that shape Notifications

Pair with other Notifications module guide sections

Deeper concept reads

Pair with other Notifications module guide sections

Operator modules (pairing surfaces)

Pair with other Notifications module guide sections

Lockout catch-up after password recovery

Pair with other Notifications module guide sections

Pending manual receipt approval

Pair with other Notifications module guide sections

Reject/revert mistaken receipts

Check-out ledger cleanup before refund

Pair with other Notifications module guide sections

Utility overage collections

Pair with other Notifications module guide sections

payment overdue alerts after monthly bill cycles often cite utility overage lines — row-click to Payment Plan before collections. Hub parity: Common Workflows — Utility overage collections. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Cancellation collections before void

Pair with other Notifications module guide sections

Check-out collections before refund

Pair with other Notifications module guide sections

Handling a Late Payment collections

Pair with other Notifications module guide sections

payment overdue alert batches on /notifications pair with Payment alert to receivables triage before Handling a Late Payment Steps 1–6. Hub parity: Common Workflows — Handling a Late Payment collections hub. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Check-out vs cancellation

Pair with other Notifications module guide sections

Departure-week vs pre-cancel alerts on /notifications need lifecycle context before you open Managing a Check-out or Cancelling a Booking. Hub parity: Common Workflows — Check-out vs cancellation. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Deposit missing on Finance Deposits

Pair with other Notifications module guide sections

Deposit-related /notifications row-click usually lands on Bookings first — clear Finance → Deposits toolbar date range when the portfolio row is filtered out after you verify booking Deposit tab data. Hub parity: Common Workflows — Deposit missing on Finance Deposits. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Notification row-click navigation

Pair with other Notifications module guide sections

Row-click on /notifications pairs with Notification triage — Step 4 before bulk Mark all as read — hub parity: Common Workflows — Notification row-click navigation. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Payment alert to receivables triage

Pair with other Notifications module guide sections

Payments category row-click on /notifications pairs with Notification triage — Step 4 before portfolio Debt Aging — hub parity: Common Workflows — Payment alert to receivables triage. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Month-end invoicing (fixed date)

Pair with other Notifications module guide sections

Alert cleanup on /notifications before month-end bulk Issue allocation — pair Notification triage — Step 5 with fixed Invoice date saved in Settings → Invoicing. Hub parity: Common Workflows — Month-end invoicing (fixed date). Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Bulk Hostkit invoicing

Pair with other Notifications module guide sections

Clear payment received / Pending manual in-payment alerts before month-end bulk Issue allocation — row-click lands on booking Transactions for approval first. Hub parity: Common Workflows — Bulk Hostkit invoicing. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Directory list load failures

Pair with other Notifications module guide sections

/notifications first-fetch failures show Failed to load notifications. + Try again in the main panel — use Retry before Notification triage — Step 4 row-click opens a booking. Hub parity: Common Workflows — Directory list load failures. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Partly collected security deposit

Pair with other Notifications module guide sections

Booking sidebar tab load failures

Pair with other Notifications module guide sections

Notification triage — Step 4 row-click opens a booking — if Communication or Tickets fails inside the sidebar, use tab Refresh / Retry while other tabs stay usable. Whole /notifications Failed to load notifications. is Directory list load failures — not tab-scoped recovery. Hub parity: Glossary — Booking sidebar tab load failures hub · Common Workflows — Booking sidebar tab load failures. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Finance debt receivables triage

Pair with other Notifications module guide sections

Payments alert batches on /notifications pair with Payment alert to receivables triage before portfolio Debt Aging when you need ranked debtors. Hub parity: Common Workflows — Finance debt receivables triage. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Finance Income status drill-down

Pair with other Notifications module guide sections

Payments alert batches pair with Payment alert to receivables triage before you read Income segments for portfolio rank. Hub parity: Common Workflows — Finance Income status drill-down. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Cash flow forecast drill-down

Pair with other Notifications module guide sections

Payment received alert batches pair with Cash flow forecast to confirm portfolio collections after single-booking triage. Hub parity: Common Workflows — Cash flow forecast drill-down. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Confirmation alert triage

Pair with other Notifications module guide sections

Upcoming Booking created / Payment received / Pending manual in-payment rows on /notifications row-click into Bookings — finish Processing a New Booking — Step 5b / Step 6 before bulk-clear. Canonical path: Notification triage — Confirmation alert triage. Hub parity: Common Workflows — Confirmation alert triage. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

New inventory to first booking handoff

Pair with other Notifications module guide sections

First Booking created / Payment received alerts on go-live inventory row-click into Bookings — finish Onboarding — Step 7 before Processing a New Booking — Step 5b / 6 and bulk Mark all as read. Hub parity: Common Workflows — New inventory to first booking handoff. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Property setup to first arrival handoff

Pair with other Notifications module guide sections

Arrival-week payment overdue and access alerts on first go-live reservations row-click into Bookings / Operations — finish Onboarding a New Property — Step 7 before you bulk Mark all as read. Hub parity: Common Workflows — Property setup to first arrival handoff. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Confirmation to check-in handoff

Pair with other Notifications module guide sections

/notifications row-click on Upcoming Booking created / Payment received alerts opens Bookings — finish Processing a New Booking — Step 5b / Step 6 before ~7-day arrival planning. Hub parity: Common Workflows — Confirmation to check-in handoff. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Check-in to check-out handoff

Pair with other Notifications module guide sections

/notifications payment overdue row-click on Ongoing stays during departure week should open Managing a Check-out — Step 1 — not revisit Managing a Check-in prep after keys handed over. Hub parity: Common Workflows — Check-in to check-out handoff. Full pairing matrix: notifications-section-cross-reference · Module cross-reference.

Check-out final utilities handoff

Pair with other Notifications module guide sections

Departure-week utility payment overdue alerts on /notifications pair with Notification triage — Check-out final utilities handoff (Step 4 row-click) before Managing a Check-out — Step 6. Hub parity: Common Workflows — Check-out final utilities handoff. Distinct from Check-out collections before refund (rent/fee alerts). Full pairing matrix: notifications-section-cross-reference · Module cross-reference.

Same-day turnover coordination

Pair with other Notifications module guide sections

Arrival/access /notifications alerts during turnover week pair with Notification triage — Same-day turnover coordination (Step 4 row-click) before bulk Mark all as read — hub parity: Common Workflows — Same-day turnover coordination. Full pairing matrix: notifications-section-cross-reference · Module cross-reference.

Occupancy KPI to block hygiene handoff

Pair with other Notifications module guide sections

WhatsApp per-booking messaging

Pair with other Notifications module guide sections

Messages category New WhatsApp message from … rows on /notifications pair with bell Inbox or Bookings → Communication — finish row-click triage before bulk Mark all as read. Hub parity: Glossary — WhatsApp per-booking messaging hub · Common Workflows — WhatsApp per-booking messaging. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Bot reasoning (audit)

Pair with other Notifications module guide sections

Canonical /notifications bot-related alert rows. Hub parity: Glossary — Bot reasoning (audit) hub · Common Workflows — Bot reasoning (audit). Full pairing matrix: Notifications section cross-reference · Module cross-reference.

ChatBot settings

Pair with other Notifications module guide sections

Account Settings → ChatBot pairs with Communication thread review — canonical /notifications bot-related alert rows. Hub parity: Glossary — ChatBot settings hub · Common Workflows — ChatBot settings. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Rent reduction after invoicing

Pair with other Notifications module guide sections

Payment overdue or Payment received row-click may land on a booking whose confirmation month is already invoiced — finish Transactions → Approve and Contract Info → Change monthly rent before bulk mark-read. Pair Bulk Hostkit invoicing when relief needs Not issued credit note rows. Hub parity: Common Workflows — Rent reduction after invoicing. Full pairing matrix: Notifications section cross-reference · Module cross-reference.

Portfolio segmentation by tenant category

Pair with other Notifications module guide sections

Key glossary terms

Pair with other Notifications module guide sections

API & companion guides

Pair with other Notifications module guide sections

Module documentation hubs

Pair with other Notifications module guide sections
  • Notifications module — Full /notifications history with search, filters, and row-click navigation (this page)
  • Utilities module — Bills Included ceiling model, Connections, AI bill upload, and tenant overage charges on payment plans (hub)
  • Operations module — Maintenance tickets, cash flows, check-in/out coordination, Draft ticket queues, and linked cash flows (hub)
  • Dashboard module — Post-login Today, Total debt, Vacant Units, and forecast KPI snapshot with bell notification triage (hub)
  • Analytics module — Month-range portfolio KPI charts (Overview, Revenue, Occupancy, ADR, RevPAR, Maintenance) with rankings and heatmaps (hub)
  • Listings module — Property wizard, Channels tab, Archived inventory, and unit management (hub)
  • Properties workspace — Legacy /properties URL redirects into Listings (hub)
  • Booking engine details — Rich marketplace payload editor via the Full integration pill (hub)
  • Finance module — Portfolio ledgers (Overview, Income, Contract Values, Transactions, Payouts, Deposits) with payment approval and deposit settlement (hub)
  • Tenants module — Tenant directory, profile sidebars, With Debt segmentation, and table expand for linked bookings (hub)
  • Sales module — Portfolio availability, monthly rent editing, and channel manager connections (hub)
  • Inbox module — Portfolio-wide WhatsApp workspace with Dashboard bell Inbox sub-tab deep links (hub)
  • AI Chat module — Vivin-internal AI Assistant using Landlord MCP tools for portfolio Q&A (hub)
  • Audit module — Portfolio-wide Manual Blocks and Discounts contract-value review (hub)
  • Account Settings — Workspace-wide financial policies, templates, integrations, and operational defaults (hub)
  • API Reference hub — Partner HTTP contracts, Swagger onboarding, and partial vs full feeds (hub)