Webhooks & Notifications
Provision outbound webhook URLs and inbound signing secrets with [email protected] after Getting Started — Recommended Setup Sequence steps 11–15 and Onboarding a New Property — Step 7 — callbacks assume live externalId mapping (Property & Unit Mapping) and stable partial listing shapes (Listings & Availability). Steps 11–12 (Integrations, Tenant categories default for integrations) should be set before high-volume booking.* traffic. Guide pairing after go-live: Setup sequence after go-live (hub: API Reference — Setup sequence after go-live).
Start with Inbound vs outbound and Webhook Events, then Webhook Configuration and Inbound partner webhooks (Vivin receives) for signing. Event timing follows the enqueue pipeline in Booking Lifecycle & Validations. listing.updated and unavailability.* payloads align with Listings & Availability; inbound partner posts reuse signing from Authentication. Non-linear operator habits (Lockout catch-up, Pending manual receipt approval, Reject/revert mistaken receipts, Portfolio segmentation by tenant category, Notification row-click navigation, Payment alert to receivables triage, Confirmation alert triage, Finance debt receivables triage, Handling a Late Payment collections, Finance Income status drill-down, Cash flow forecast drill-down) have matching Related subsections below. Full pairing matrix: Webhooks & Notifications section cross-reference · API Reference — API guide cross-reference.
Vivin supports outbound integration webhooks for partner platforms that need real-time updates instead of polling listing and booking data.
Operators see booking, payment, and ticket alerts in the management Notifications module (/notifications) and the Dashboard bell slide-over — including payment overdue rows that row-click into Handling a Late Payment — Step 1. Those are in-app history rows, not HTTP callbacks to your servers. This page covers API integration webhooks only.
Inbound vs outbound
Outbound booking.* timing follows Booking Lifecycle & Validations. Inbound HA/Uniplaces routes share Bearer auth with Authentication. Full endpoint map: Webhooks & Notifications section cross-reference.
| Direction | Who calls whom | Examples |
|---|---|---|
| Outbound (Vivin → you) | Vivin POSTs to the HTTPS endpoint you provide during onboarding | booking.created, listing.updated, unavailability.* in the Webhook Events table |
| Inbound (partner → Vivin) | A channel posts to Vivin’s integration routes | Housing Anywhere and Uniplaces POST …/{landlordKey}/webhook (integration Swagger on your API host) |
Configure outbound URLs and auth with the Vivin team. Inbound paths and secrets are documented per integration (for example UNIPLACES_WEBHOOK_X_API_KEY on Uniplaces webhooks).
Delivery path
flowchart LR
Vivin[Vivin Core]
EP[Your HTTPS webhook endpoint]
Vivin -->|"POST signed payload"| EP
Your endpoint should accept HTTPS POST requests on the URL agreed during onboarding, validate Vivin’s authentication (shared secret header, Basic auth, or the method you configured), and return a 2xx response quickly; process heavy work asynchronously so Vivin can retry safely on transient failures.
Webhook Events
unavailability.* payloads mirror partial ListingDto rows — Listings & Availability. Polling fallback when outbound is unavailable: Polling as an Alternative. Full endpoint map: Webhooks & Notifications section cross-reference.
The following events can be pushed to your platform if a webhook endpoint is configured:
| Event | Description | When it fires |
|---|---|---|
booking.created | A new booking was created on a listing mapped to your platform | Booking created from any source (Vivin UI, another platform, booking engine) |
booking.cancelled | A booking was cancelled | Property manager or tenant cancels via Vivin |
listing.updated | Listing pricing or availability changed | Property manager updates rent, dates, or availability |
unavailability.created | New calendar block added | Manual block or booking from another channel |
unavailability.removed | Calendar block removed | Booking cancelled or manual block removed |
Webhook Configuration
Provision outbound URLs with Vivin during onboarding — see Get Help & Support. Inbound Channex uses revisions feed, not POST …/webhook — Channex booking revisions feed. Full endpoint map: Webhooks & Notifications section cross-reference.
Webhook endpoints are configured during onboarding by the Vivin team. Provide:
- Endpoint URL - HTTPS endpoint on your platform that accepts POST requests
- Events - Which events you want to receive
- Authentication - How Vivin should authenticate to your endpoint (e.g. shared secret header, Basic auth)
Webhook Payload Format
{
"event": "booking.created",
"timestamp": "2026-04-20T10:30:00.000Z",
"data": {
"externalId": "abc-123",
"bookingId": "vivin-booking-uuid",
"checkInDate": "2026-09-01",
"checkOutDate": "2027-01-31",
"status": "confirmed"
}
}
Inbound partner webhooks (Vivin receives)
landlordKey on inbound paths must match account stored key — Full listing feeds — landlordKey. Try payloads in Integration Swagger per Try requests in Swagger. Full endpoint map: Webhooks & Notifications section cross-reference.
Channels that push booking lifecycle events into Vivin use integration-scoped routes on your Core API host (same host as GET /listings and POST /bookings). Each route is documented in its own integration Swagger UI:
| Integration | Swagger UI path | Inbound webhook route |
|---|---|---|
| Housing Anywhere | {API host}/housinganywhere-integration | POST /housinganywhere-integration/{landlordKey}/webhook |
| Uniplaces | {API host}/uniplaces-integration | POST /uniplaces-integration/{landlordKey}/webhook |
Replace {API host} with your environment base URL (for example the host your management app uses for API calls). {landlordKey} is the account’s stored landlord key — it must match the account that owns the listing referenced in the payload (same pattern as Uniplaces / Housing Anywhere full-feed URLs).
Channex booking revisions feed
Channex inbound bookings use Channex’s booking revisions feed (PMS polling pattern), not an operator-configured POST …/webhook route on Vivin like Housing Anywhere or Uniplaces.
| Topic | Detail |
|---|---|
| Direction | Channex → Vivin (Vivin pulls unacknowledged revisions on a schedule) |
| Mapping | Each Vivin unit needs listing_integration.channexMapping with Channex propertyId, roomTypeId, and ratePlanId UUIDs — provisioned with Vivin support, not self-serve on Listings > Channels |
| Creates | New confirmed revisions queue a Channex booking import when customer.mail and stay dates are present |
| Cancels | Cancelled revisions cancel the matching active Vivin booking when found |
| Modified | Modified revisions are acknowledged on the Channex side only — Vivin does not auto-apply date or amount changes yet |
| Partner API | Channex partners can still GET /channex-integration/listings and POST /channex-integration/bookings per API Reference |
Operator setup: enable Channex under Settings > Integrations and confirm UUID mapping with your Vivin contact. See also Integrations (concepts).
Housing Anywhere
Housing Anywhere posts paid and cancelled booking notifications. Vivin maps notification_type (for example booking_paid) and listing references such as listing_external_reference to the correct account listing, then queues or idempotently accepts the booking.
| Topic | Detail |
|---|---|
| Method & path | POST /housinganywhere-integration/{landlordKey}/webhook |
| Auth | Authorization: Bearer with the same Housing Anywhere integration secret as other HA routes (HOUSINGANYWHERE_INTEGRATION_SECRET). Inbound signing/HMAC hardening is tracked internally (VIVIN#797). |
| Payload | Partner JSON — see HousingAnywhereWebhookDto in Swagger (notification_type, booking_id, dates, listing_external_reference, tenant contact fields, amounts in cents). |
| Response | { "ok": true, "message": "…" } when accepted or treated as a no-op |

Uniplaces
Uniplaces sends lifecycle events (for example booking paid, booking cancelled) with an event discriminator and offer/listing identifiers that map to Vivin externalId values.
| Topic | Detail |
|---|---|
| Method & path | POST /uniplaces-integration/{landlordKey}/webhook — {landlordKey} must be the account’s stored landlordKey (not the integration email used on some full-feed poll URLs). See Full listing feeds — landlordKey. |
| Auth | Authorization: Bearer (integration JWT, same family as other Uniplaces sync-out routes) and/or x-api-key when UNIPLACES_WEBHOOK_X_API_KEY is configured server-side |
| Payload | Partner JSON — see UniplacesWebhookDto in Swagger (event, offer_id, booking_id / booking_Id, guest fields, move dates, optional booking_total in cents). Event names may use hyphens or underscores (booking-paid vs booking_paid). |
| Response | { "ok": true, "message": "…" } on success — see Actioned vs acknowledged below |
Actioned events — Vivin creates a booking on payment-style events (booking-paid, booking_paid, payment_confirmed, and normalized variants) and cancels on cancel/reject events (booking-cancelled, booking-canceled, booking-rejected, and normalized variants).
Acknowledged without action — Every other Uniplaces lifecycle event (booking-created, booking-accepted, booking-confirmed, booking-discarted, booking-payment-expired, booking-expired, and so on) returns HTTP 200 with { "ok": true, "message": "Ignored Uniplaces event: …" }. Vivin logs and acknowledges them so Uniplaces does not treat the delivery as failed and disable the webhook. Vivin only imports bookings on payment and removes them on cancel/reject — earlier lifecycle signals are intentionally no-ops.

Open the integration Swagger URLs above, use Authorize with your integration Bearer token (see Authentication), expand the webhook POST operation, and use Try it out with a sandbox payload before wiring the partner’s production callback URL.
Platform-Specific Webhooks (summary)
| Platform | Direction | Format |
|---|---|---|
| Housing Anywhere | Inbound → Vivin | Partner notification_type payload at POST …/{landlordKey}/webhook (see above) |
| Uniplaces | Inbound → Vivin | Partner event payload at POST …/{landlordKey}/webhook (see above) |
| Channex | Inbound → Vivin | Vivin polls Channex booking revisions feed (see Channex booking revisions feed) — not a Vivin-hosted inbound webhook |
| Your platform (onboarding) | Outbound ← Vivin | Standard Vivin envelope in Webhook Payload Format (event, timestamp, data) |
Polling as an Alternative
Compare updatedAt on partial pulls — Listings & Availability — Sync Strategy. Retry policy when your endpoint returns 5xx: Error Handling. Full endpoint map: Webhooks & Notifications section cross-reference.
If your platform does not support incoming webhooks, you can poll the GET /listings endpoint at regular intervals (recommended: every 15-30 minutes) to detect changes in pricing, availability, and calendar blocks. Compare the updatedAt timestamp to identify modified listings since your last sync.
Webhooks provide near-real-time updates (seconds) while polling introduces a delay equal to your polling interval. For availability-critical integrations, webhooks are strongly recommended to minimize double-booking risk.
Webhooks & Notifications section cross-reference
Use this table when one webhook topic naturally leads into another API guide, operator UI, or downstream workflow — each row links to the docs you should read before or after wiring callback handlers.
| Lockout catch-up after password recovery | Webhook alert backlog after sign-in recovery | Common Workflows — Lockout catch-up, Notification triage, Management session |
| Pending manual receipt approval | Webhook imports with pending receipts | Common Workflows — Pending manual receipt approval, Booking Lifecycle & Validations, Finance — Pending manual payments |
| Reject/revert mistaken receipts | Duplicate webhook deliveries | Common Workflows — Reject/revert mistaken receipts, Cancelling a Booking, Payment Allocation — Correcting mistaken receipts |
| Portfolio segmentation by tenant category | Segment triage on webhook imports | Common Workflows — Portfolio segmentation, Settings > Tenant categories, Bookings — Other filters |
| Notification row-click navigation | Webhook events vs /notifications row-click | API Reference — Notification row-click navigation, Common Workflows — Notification row-click navigation, Notifications module — Notification row-click navigation |
| Payment alert to receivables triage | booking.* events vs payment overdue | API Reference — Payment alert to receivables triage, Common Workflows — Payment alert to receivables triage, Handling a Late Payment — Step 1 |
| Confirmation alert triage | Inbound events vs confirmation alerts | API Reference — Confirmation alert triage, Common Workflows — Confirmation alert triage, Processing a New Booking — Step 5b |
| Finance debt receivables triage | Webhook imports vs Debt Aging | API Reference — Finance debt receivables triage, Common Workflows — Finance debt receivables triage, Finance module — Finance debt receivables triage |
| Handling a Late Payment collections | Webhook batch payment overdue → collections Steps 1–6 |
| Finance Income status drill-down | Event timing vs Income segments | API Reference — Finance Income status drill-down, Common Workflows — Finance Income status drill-down, FAQ — Finance Income status drill-down hub |
| Cash flow forecast drill-down | Callback lag vs forecast bars | API Reference — Cash flow forecast drill-down, Common Workflows — Cash flow forecast drill-down, FAQ — Cash flow forecast drill-down hub |
Related
Related below links outbound events and inbound signing to setup, companion API guides, operator workflows, and escalation paths. Pair Setup sequence after go-live with Getting Started — Recommended Setup Sequence; pair Companion API guides with API Reference hub. Topic-to-guide pairing in sections above: Webhooks & Notifications section cross-reference. Full hub matrix: API guide cross-reference.
Setup sequence after go-live
Complete Account Settings — Recommended setup order before partner traffic. Hub parity: API Reference — Setup sequence after go-live. Full pairing matrix: Webhooks & Notifications section cross-reference · API guide cross-reference.
- Setup steps 1–10 — Complete operator workspace basics (Recommended setup order) before requesting partner Bearer keys; property managers automating outside the browser use Management session authentication after step 3 (Users)
- Setup steps 11–12 (Integrations, Integration field capability, Tenant categories default for integrations) — Channel credentials, calendar horizons, and payload field expectations before
[email protected]onboarding; operator context: Integrations & Distribution - Setup step 13 (Listings) — Property wizard,
externalIdmapping, and Channels tab before first partner listing reads or writes - Setup steps 14–15 (Bookings, Tenants) — Validate imported reservation shape and tenant segments after partner traffic
- After steps 13–15 — Onboarding a New Property — Step 7 go-live verification before escalating partner pull, webhook, or mapping defects
- During onboarding — provision outbound webhook URLs and inbound signing secrets with
[email protected]; after go-live pairbooking.*events with Processing a New Booking and calendar events with Manual block hygiene - Partner credential requests — Email
[email protected](distinct from in-app Vivin support tickets in Get Help & Support)
Documentation map & escalation
Documentation-map bullets pair with Introduction — Section cross-reference and FAQ — Section cross-reference. Full pairing matrix: Webhooks & Notifications section cross-reference.
- Getting Started — Recommended Setup Sequence before partner HTTP traffic; hub parity: API Reference — Setup sequence after go-live
- API Reference hub — Hub pairing matrix across integration guides; hub parity: Setup sequence after go-live
- Get Help & Support — Provision outbound webhook URLs and inbound signing secrets (hub: Setup sequence after go-live)
- FAQ & Troubleshooting — Partner delivery and signature verification questions (hub: Setup sequence after go-live)
- Glossary — Webhook — One-line definition with a link back here
Companion API guides
Companion guides share Bearer authorization or error shapes with this page — start from API Reference hub. Full pairing matrix: Webhooks & Notifications section cross-reference.
- Booking Lifecycle & Validations — Validation steps before a booking record is created from the integration API
- Creating Bookings — How
POST …/bookingsis queued and what happens after a successful run - Listings & Availability — Polling
GET /listingswhen you cannot accept inbound webhooks; partial pulls whoseunavailabilitieschange triggerunavailability.*events - Full listing feeds — Partner-shaped publish payloads that emit
listing.updatedwebhook events - iCal feeds — Outbound calendar URLs when partners poll instead of accepting
unavailability.*webhooks - Authentication — Bearer tokens and scopes for integration traffic
- Error Handling — When your webhook endpoint should return retryable
5xxvs permanent4xx - Property & Unit Mapping — External listing keys before enqueueing
POST …/bookings - Booking engine integration — White-label reservation webhooks when
POST /bookingssucceeds on engine traffic - Management session — Operator JWT patterns when testing webhook handlers against Core API
- AI usage — Operator-only LLM ledger (not partner integration Bearer keys)
Upstream & downstream workflows
Workflow bullets pair with Common Workflows — Workflow cross-reference after partner traffic lands in the management app. Full pairing matrix: Webhooks & Notifications section cross-reference.
- Processing a New Booking — Operator follow-up after
booking.createdwebhook imports - Handling a Late Payment — Step 1 — Collections when webhook-driven imports create unpaid schedules; upstream path from Notifications — Payment overdue alerts
- Notification triage — Clear booking-import alerts after verifying Channels linkage (operator UI, not partner HTTP)
- Manual block hygiene — Calendar holds that change
unavailability.*webhook payloads partners must reconcile - Managing a Check-out & Deposit Refund — Departure workflow when
booking.cancelledor calendar webhooks lag after Ended status - Entering Monthly Utility Bills — Operator overage workflow after
listing.updatedwebhooks changebillsIncludedMaxValueceilings
Operator UI & settings
Operator UI rows validate the same inventory and permissions behind integration HTTP — pair with Account Settings — Tab cross-reference. Full pairing matrix: Webhooks & Notifications section cross-reference.
- Settings > Integrations — Enable platforms and Channex before webhook traffic matches live inventory
- Settings > Tenant categories — Default segment applied to integration-created tenants
- Settings > Preferences — In-app notifications — Operator inbox alerts (distinct from partner HTTP webhook callbacks)
- Settings > Emails — Lifecycle and payment Communication Rules for webhook-created bookings
- Notifications (module) — In-app operator notification inbox (not HTTP webhooks)
- Property & listing details (booking engine) — Payload fields full-feed partners ingest after
GET …/listings/full
Deeper concept reads
Concept reads pair with Concepts hub subsection index and Concept cross-reference. Full pairing matrix: Webhooks & Notifications section cross-reference · API guide cross-reference.
- Booking Lifecycle — How operators see computed timeline status in the management app; distinct from webhook
eventnames (section cross-reference; Deeper API reads; hub) - Integrations (concepts) — Channel manager and partial partner listing surfaces that complement webhooks (section cross-reference; Deeper API reads; hub)
- Payment Allocation — Two-layer receipts, invoiced-floor rent edits, and credit note reject/revert warnings (section cross-reference; Deeper API reads; hub)
- Tenant Portal — Webhook-driven booking events may trigger tenant portal access and payment schedule updates (section cross-reference; Deeper API reads; hub)
- FAQ — Tenant contract signing blocked — No PDF yet, mandatory Your Details gates, category locks, or Lease purpose; portal signing vs paper upload on Contract Info
Deeper workflow reads
Workflow reads pair with Common Workflows hub subsection index and Workflow cross-reference. Each workflow sub-guide also has its own Deeper API reads subsection with reciprocal companion API anchors — hub parity: API Reference — Deeper workflow reads. Full pairing matrix: Webhooks & Notifications section cross-reference · API guide cross-reference.
- Processing a New Booking — Operator follow-up after
booking.createdwebhook imports (section cross-reference; Deeper API reads; hub) - Handling a Late Payment — Collections when webhook-driven imports create unpaid schedules (section cross-reference; Deeper API reads; hub)
- Notification triage — Clear booking-import alerts after verifying Channels linkage (operator UI, not partner HTTP) (section cross-reference; Deeper API reads; hub)
- Manual block hygiene — Calendar holds that change
unavailability.*webhook payloads partners must reconcile (section cross-reference; Deeper API reads; hub) - Managing a Check-out & Deposit Refund — Departure workflow when
booking.cancelledor calendar webhooks lag after Ended status (section cross-reference; Deeper API reads; hub) - Entering Monthly Utility Bills — Operator overage workflow after
listing.updatedwebhooks changebillsIncludedMaxValueceilings (section cross-reference; Deeper API reads; hub) - Portfolio KPI review — Inbound channel events that explain KPI drift vs operator filters (section cross-reference; Deeper API reads; hub)
- Using in-app support — Partner callback defects distinct from operator in-app alert triage (section cross-reference; Deeper API reads; hub)
Lockout catch-up after password recovery
Outbound booking.* events may queue during operator lockout — triage in-app alerts after sign-in recovery before replaying callbacks. Hub parity: Common Workflows — Lockout catch-up after password recovery. Full pairing matrix: webhooks--notifications-section-cross-reference · API guide cross-reference.
- Common Workflows — Lockout catch-up after password recovery — Hub matrix when webhook-driven alerts accumulated during lockout
- Getting Started — Lockout catch-up after password recovery — Canonical operational backlog mesh
- Notification triage — Row-click routes from
/notificationsafter recovery - Upstream & downstream workflows — Operator follow-up after
booking.created - Management session authentication — Refresh JWT before operator callback investigation scripts
Pending manual receipt approval
booking.* webhooks do not encode receipt approval state — pair with Finance — Pending manual payments. Hub parity: Common Workflows — Pending manual receipt approval. Full pairing matrix: webhooks--notifications-section-cross-reference · API guide cross-reference.
- Common Workflows — Pending manual receipt approval — Hub matrix when webhook-imported stays await Approve payments
- Booking Lifecycle & Validations — Event timing vs enqueue pipeline
- Processing a New Booking — Operator confirmation after
booking.created - Finance — Pending manual payments — Amber Pending chip
- Payment Allocation — Two-layer model behind approval lag
Reject/revert mistaken receipts
Duplicate booking.created deliveries pair with Cancelling a Booking and receipt Reject / Revert. Hub parity: Common Workflows — Reject/revert mistaken receipts. Full pairing matrix: webhooks--notifications-section-cross-reference · API guide cross-reference.
- Common Workflows — Reject/revert mistaken receipts — Hub matrix when duplicate webhook imports need receipt cleanup
- Cancelling a Booking — Void duplicate reservations after double delivery
- Payment Allocation — Correcting mistaken receipts — Two-layer model for webhook imports
- Finance — Row actions on in-payment rows — Portfolio Reject selected
- Glossary — Credit note (payment reject/revert) — Accounting follow-up on invoiced receipts
Portfolio segmentation by tenant category
Webhook payloads include booking ids — segment operator triage with Bookings — Other filters. Hub parity: Common Workflows — Portfolio segmentation by tenant category. Full pairing matrix: webhooks--notifications-section-cross-reference · API guide cross-reference.
- Common Workflows — Portfolio segmentation by tenant category — Hub matrix when webhook imports cluster on one segment
- Settings > Tenant categories — Default for integration-created tenants on
booking.*imports - Bookings — Other filters — Tenant category on webhook-driven triage
- Glossary — Tenant category — Definition and Finance filter parity
- FAQ — Finance tenant category filter parity — Finance cache-built option list
Notification row-click navigation
Outbound booking.* webhooks complement /notifications row-click — operators still triage in-app rows when callbacks lag. Hub parity: API Reference — Notification row-click navigation. Full pairing matrix: Webhooks & Notifications section cross-reference · API guide cross-reference.
- API Reference — Notification row-click navigation — Hub matrix (
notifications-module-row-click-target.png,notifications-row-navigation-flow.mp4) - Common Workflows — Notification row-click navigation — Operator procedure hub
- Notifications module — Notification row-click navigation — Canonical
/notificationsinbox pairing - FAQ — Notification row-click navigation hub — Symptom table
Payment alert to receivables triage
Webhook-driven imports surface payment overdue in-app rows — row-click into booking Transactions before Debt Aging. Hub parity: API Reference — Payment alert to receivables triage. Full pairing matrix: Webhooks & Notifications section cross-reference · API guide cross-reference.
- API Reference — Payment alert to receivables triage — Hub matrix (
notifications-row-navigate-to-booking-detail.png,notifications-row-navigation-flow.mp4) - Common Workflows — Payment alert to receivables triage — Operator procedure hub
- Handling a Late Payment — Step 1 — Collections follow-through after row-click
- FAQ — Payment alert to receivables triage hub — Symptom table
Confirmation alert triage
booking.created webhooks often pair with Upcoming confirmation alert triage — callbacks do not approve confirmation receipts. Hub parity: API Reference — Confirmation alert triage. Full pairing matrix: Webhooks & Notifications section cross-reference · API guide cross-reference.
- API Reference — Confirmation alert triage — Hub matrix (
notifications-row-navigate-to-booking-detail.png,bookings-detail-transactions-approve-payment-modal.png) - Common Workflows — Confirmation alert triage — Operator procedure hub
- Processing a New Booking — Step 5b / Step 6 — Canonical confirmation gates
- FAQ — Confirmation alert triage hub — Symptom table
Finance debt receivables triage
High-volume webhook imports inflate receivables — triage Top debtors after row-click when callback batches backlog. Hub parity: API Reference — Finance debt receivables triage. Full pairing matrix: Webhooks & Notifications section cross-reference · API guide cross-reference.
- API Reference — Finance debt receivables triage — Hub matrix (
finance-overview-income-chart-debt-aging.png,finance-overview-debt-aging-walkthrough-flow.mp4) - Common Workflows — Finance debt receivables triage — Operator procedure hub
- Finance module — Finance debt receivables triage — Debt Aging canonical surface
- FAQ — Finance debt receivables triage hub — Symptom table
Handling a Late Payment collections
booking.* webhook events that enqueue payment overdue in-app rows still need operator Handling a Late Payment — Steps 1–6 after receivables triage. Hub parity: Common Workflows — Handling a Late Payment collections hub. Full pairing matrix: webhooks--notifications-section-cross-reference · API guide cross-reference.
- API Reference — Handling a Late Payment collections — Hub matrix
- Common Workflows — Handling a Late Payment collections hub — Operator procedure hub
- Payment alert to receivables triage — Alert row-click before collections
- Finance debt receivables triage — Top debtors after webhook batch
- Handling a Late Payment — Step 1 — Collections follow-through
- FAQ — Handling a Late Payment collections hub — Symptom table
Finance Income status drill-down
Webhook enqueue timing may skew Income → Scheduled — segment-click reconcile after inbound partner posts settle. Hub parity: API Reference — Finance Income status drill-down. Full pairing matrix: Webhooks & Notifications section cross-reference · API guide cross-reference.
- API Reference — Finance Income status drill-down — Hub matrix (
finance-overview-income-status-in-debt-modal.png,finance-overview-income-drill-down-flow.mp4) - Common Workflows — Finance Income status drill-down — Operator procedure hub
- Finance module — Income status drill-down — Canonical Finance → Overview surface
- FAQ — Finance Income status drill-down hub — Symptom table
Cash flow forecast drill-down
Webhook payment events vs Cash flow forecast collections bars — operator approval still gates month-bar updates. Hub parity: API Reference — Cash flow forecast drill-down. Full pairing matrix: Webhooks & Notifications section cross-reference · API guide cross-reference.
- API Reference — Cash flow forecast drill-down — Hub matrix (
finance-overview-cash-flow-all-payments-modal.png,finance-overview-cash-flow-day-view.png,finance-overview-cash-flow-drill-down-flow.mp4) - Common Workflows — Cash flow forecast drill-down — Operator procedure hub
- Finance module — Cash flow forecast drill-down — Canonical Finance → Overview surface
- FAQ — Cash flow forecast drill-down hub — Symptom table
Key glossary terms
Glossary rows pair with Glossary cluster cross-reference and receipt-dispute workflows. Full pairing matrix: Webhooks & Notifications section cross-reference.
-
Glossary — Credit note (payment reject/revert) — Operator reject/revert on imported booking payments already invoiced
-
Glossary — Deposit lifecycle status —
booking.*webhooks fire on lifecycle changes; deposit refund states are not partner-writable via HTTP -
Glossary — End-of-Booking cost split — Charge Time → End of Booking splits daily overage across every occupied unit; still-staying roommates stay in the denominator (#2111)
-
Glossary — Change history — Operator-initiated edits on Listings setup and Bookings Changelog; create-time defaults excluded (#2093)
-
FAQ — Booking Changelog scope — Operator-initiated edits only; create-time defaults excluded (#2093)
-
Glossary — Archived booking ledger visibility — Delete Booking hides manual/provider_platform rows on Finance → Transactions; vIBAN and credit card stay visible (#1897)
-
Bookings — Provider platform payment — Non-rejected provider platform in-payment blocks Delete Booking until Reject or assign (#2076)
-
FAQ — Delete Booking on integration reservation — Clear pending provider platform in-payment with Reject or assign before soft-archive (#2076)
-
Listings — Property edit sidebar pills — Setup / Full integration / Photos pills on property and unit edit sidebars; replaced the old Go to details shortcut (#2082)
-
Glossary — Finance tenant category cache refresh — Recategorizing a tenant on Tenants → Tenant Info force-refreshes Finance caches so Contract Values, Overview, and Deposits filters match within seconds (#2088)
-
FAQ — Assign tenant category for direct booking — Add booking has no category field; assign on Tenants → Tenant Info or + Create New → Tenant before contract mail
-
Glossary — SIMAR water contract ID — SIMAR (Loures e Odivelas) water bills use Cód. Local in Connections — not Nº de Contador; leading zeros stripped (#2110)
-
FAQ — SIMAR water bill property match — Cód. Local in Connections — not Nº de Contador; strip leading zeros (#2110)
-
Glossary — Per-booking maintenance ticket opt-out — Add booking checkboxes skip automatic CI/CO tickets for one reservation only; property rule unchanged (#1140)
-
FAQ — Cancel Booking vs Delete Booking — Cancel for real stays with settlement; Delete soft-archives mistaken/test rows (#1897 / #2076)
-
Glossary — Archived property — Archive retires a building to Listings → Archived without deleting bookings; distinct from Delete Booking (reservation soft-archive) — Listings — Archived properties
-
FAQ — Archive a property — Edit property sidebar Archive / Unarchive on Listings; building-level — not Delete Booking or Cancel booking
-
FAQ — Portfolio retirement decisions — Archive property (building) vs Cancel booking vs Delete Booking (reservation soft-archive) — three-way decision table
-
Finance — Deposit lifecycle status cards — Deposit lifecycle status row on Finance → Deposits; click Partial paid for collection shortfalls (#2091)
-
FAQ — Partly collected security deposit — Paid above zero but below Amount on booking Deposit; Partial paid card on Finance → Deposits (#2090 / #2091)
-
Finance — Deposit status filter — Other filters → Deposit status multi-select on Bookings and Finance (#2090)
-
Operations — Tickets toolbar search — Paste the full sequential ticket ID (for example
S259,T27) in toolbar Search (#2074) -
FAQ — Find a ticket by its ID — Paste the full sequential ticket ID (for example
S259,T27) in Operations → Tickets toolbar Search (#2074) -
FAQ — Skip automatic check-in/out tickets for one booking — Turn off Use unit contract rents and other contract details on Add booking to reveal CI/CO ticket checkboxes (#1140)
-
FAQ — Same-day turnovers — Check-out + check-in on one unit same day: Operations → Check-in & Check-out, Timeline / Multicalendar, turnover tickets
-
FAQ — Manual payments after Delete Booking — Delete Booking hides manual/provider_platform rows on Finance → Transactions; vIBAN and credit card stay visible (#1897)
-
Glossary — Directory list load failures — First-fetch directory failures show Retry / Try again; distinct from filter-empty states and booking-sidebar tab errors
-
Glossary — Vacant Unit Preference — Include manual blocks counts operator holds as free on Dashboard / Sales vacancy surfaces (#1427)
-
FAQ — Communication or Tickets load failure — Tab-scoped Refresh (Communication) or Retry (Tickets); other booking sidebar tabs stay usable
-
Operations — Property-level ticket search — Property-name matches share the top relevance tier with unit hits; building-scoped rows float first under an active Property filter (#2089)
-
Glossary — Deposit dispute — Check-out deposit retention surfaced in operator follow-up after webhook-driven imports
-
FAQ — AI token usage — Poll GET /ai-usage / GET /ai-usage/summary with management JWT;
landlord_chat+utility_bill_extraction; no management UI screen yet -
FAQ — Automatic check-in email — Trigger matrix, 15-day cutoff, paper upload vs portal signing, Nuki-only toggle, Send / Resend on Contract Info
-
FAQ — WhatsApp and email per booking — Bookings → Communication tab when tenant chatbot is enabled; Inbox for portfolio-wide triage
-
FAQ — Deposit missing on Finance Deposits — Default ~3 months date range; clear or widen before triaging older move-outs or dispute row actions
-
FAQ — Pending manual in-payment on /notifications — Alert persists until Approve payments clears Finance or booking Transactions
-
FAQ — Uncovered Debt KPI — Finance Total Debt minus deposit offsets; pair with Debt Aging and In debt drill-down
-
FAQ — Dashboard Total Debt subtitle — Post-login Total Debt card headline vs >15 days subtitle; ongoing bookings only
-
FAQ — Analytics (KPI workspace) — Portfolio KPIs vs Sales/Listings/Dashboard; load-failure Try again
-
Invoiced floor (rent) — Rent edits blocked below exported invoice totals on live imported bookings
-
FAQ — Bulk Hostkit invoicing slow — Vivin paces Hostkit API calls and retries HTTP 429 during bulk Issue allocation / Invoice selected; refresh Transactions before re-issuing
-
FAQ — Bulk Hostkit invoicing hub — Symptom table + per-guide mesh
-
FAQ — Lower rent below invoiced — Change monthly rent clamps and Contract Values → Edit amount blocks net below exported invoice totals; use credit notes in accounting when you truly need a reduction
-
Glossary — Fixed invoice date — Account-wide Invoice date before bulk Issue allocation / Invoice selected; amber banner on Finance → Transactions until you turn Use today as invoice date back on
-
FAQ — Month-end invoicing (fixed date) hub — Symptom table + toggle reset after batch
-
FAQ — Reject or revert an incoming payment — Reject pending rows or Revert confirmed ones; Finance → Transactions uses Reject selected bulk-only; modals warn about credit notes when Finance already invoiced
-
FAQ — Manual receipt still pending — Operator-recorded receipts stay pending until Approve payments; triage on Finance → Transactions (Pending chip) or booking Transactions; Total Debt and Manual Payments KPI lag until approval
-
FAQ — Finance Income status drill-down hub — Symptom table for segment vs Debt Aging
-
FAQ — Finance Income status drill-down — Overview Income chart (Paid / Scheduled / In debt); click a segment for month-scoped payment-line modal; Debt Aging for booking-level receivables
-
FAQ — Cash flow forecast drill-down hub — Symptom table for collections vs Income / Dashboard
-
FAQ — Cash flow forecast drill-down — Month / Day bar-click habit
-
FAQ — Permission denied toast — Red You do not have permission to perform this action. toast when RBAC blocks a save; fix in Users → Role Permissions
-
FAQ — Phone shows Operations only — Mobile phone user agent locks operators with Operations access to
/operations; iPads and narrow desktop browsers keep the full module list -
FAQ — Notification row-click navigation — On
/notifications, row click marks unread then openslink,bookingId,tenantId,listingId, orpropertyId(first match); Dashboard bell General rows stay in-panel unlesslinkis set -
FAQ — Bookings that owe money — Top debtors and overdue buckets on Finance → Overview; Total Debt KPI is not a table
-
FAQ — Fixed rent on variable unit — Variable listing + equal rent every contract month → booking stores fixed headline Monthly rent; payment plan unchanged
Module documentation hubs
Module hubs pair with Modules — Module cross-reference for screen-by-screen operator follow-up. Full pairing matrix: Webhooks & Notifications section cross-reference.
- Inbox module — WhatsApp threads when webhook-driven imports generate tenant message notifications (hub)
- Listings module — Property wizard, Channels tab, and unit management (hub)
- Finance module — Portfolio ledgers with payment approval and deposit settlement (hub)
- Tenants module — Tenant directory and profile sidebars for imported stays (hub)
- Sales module — Portfolio availability and channel manager connections (hub)
- Audit module — Portfolio-wide Manual Blocks and Discounts contract-value review (hub)
- Dashboard module — Post-login KPI snapshot with bell notification triage (hub)
- Analytics module — Month-range portfolio KPI charts with rankings and heatmaps (hub)
- Properties workspace — Legacy
/propertiesURL redirects into Listings (hub) - Booking engine details — Rich marketplace payload editor via the Full integration pill (hub)
- Utilities module — Bills Included ceiling model and tenant overage charges (hub)
- Operations module — Maintenance tickets, cash flows, and check-in/out coordination (hub)
- Notifications module — Full
/notificationshistory with search and filters (hub); Payment overdue alerts when webhook-driven imports leave unpaid schedules - AI Chat module — Vivin-internal AI Assistant using Landlord MCP tools (hub)
- Account Settings — Workspace-wide financial policies, templates, integrations, and operational defaults (hub)