Booking Lifecycle & Validations
Understand post-import behaviour after Getting Started — Recommended Setup Sequence step 14 (Bookings) — partner POST /bookings returns 201 enqueue, then validations run asynchronously (Creating Bookings). Steps 11–12 (Tenant categories default for integrations, Emails lifecycle rules) shape portal and outreach on imported stays; finish Onboarding a New Property — Step 7 before you debug lifecycle mismatches in production. Guide pairing after go-live: Setup sequence after go-live (hub: API Reference — Setup sequence after go-live).
Start with Submission Flow and Processing Pipeline after 201 from Creating Bookings. Pair async outcomes with booking.* events in Webhooks & Notifications and business-rule failures in Error Handling. Calendar propagation and pricing rules: Calendar Propagation and Pricing Calculation. 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: Booking Lifecycle & Validations section cross-reference · API Reference — API guide cross-reference.
This page describes what happens inside Vivin after you submit a booking via the API, what validations are enforced, and how the booking progresses through its lifecycle.
Use Integration Swagger on your API host to expand your platform’s bookings group, open POST …/bookings, and review queue status fields and validation error models. See Creating Bookings, API Reference index, and Authentication.

Read the 201 response description in Swagger: it documents the scheduled create-booking job acknowledgement, not the final Booking entity — matching the pipeline below.
Submission Flow
201 Created acknowledges enqueue only — request shape in Creating Bookings — Response. Prefer booking.* webhooks over polling — Webhooks & Notifications. Full endpoint map: Booking Lifecycle & Validations section cross-reference.
Your Platform Vivin
───────────── ─────
│ │
│ POST /bookings │
│ ──────────────────────────────────► │
│ │ 1. Validate authentication
│ │ 2. Queue booking for processing
│ 201 Created (booking reference) │
│ ◄────────────────────────────────── │
│ │ 3. Look up listing by externalId
│ │ 4. Validate availability
│ │ 5. Validate booking windows
│ │ 6. Validate stay duration
│ │ 7. Create booking record
│ │ 8. Block dates on all channels
│ │ 9. Generate payment schedule
│ │ 10. Trigger contract generation
│ │ 11. Send notifications
Processing Pipeline
externalId lookup failures trace to Property & Unit Mapping. Availability fields come from Listings & Availability partial pulls. Full endpoint map: Booking Lifecycle & Validations section cross-reference.
Step 1: Queuing
When your booking request is received, it is placed in an asynchronous processing queue (ScheduledCreateBooking). This ensures:
- Your API call returns quickly (you don't wait for all validations)
- Bookings are processed in order
- Failed bookings can be retried
Each queued booking has a status:
| Status | Meaning |
|---|---|
New | Queued, waiting to be processed |
Success | Booking was created successfully |
Failed | Booking failed validation or processing |
Step 2: Listing Resolution
Vivin looks up the listing using:
- Your
externalId+ your platform identifier - If no match is found, returns an error
For studio/single-unit properties, a fallback lookup by property ID is attempted if the full ID doesn't match.
Step 3: Availability Validation
The system checks that the requested dates (checkInDate to checkOutDate) do not overlap with any existing:
- Confirmed bookings on this listing
- Manual unavailability blocks set by the property manager
- Calendar blocks from other connected platforms (Airbnb, Booking.com, etc.)
If there is any overlap, the booking is rejected.
Step 4: Booking Window Validation
If the listing has booking windows configured, Vivin checks that:
- The
checkInDatefalls within the allowed start-date range (minStartDatetomaxStartDate) - The
checkOutDatefalls within the allowed end-date range (minEndDatetomaxEndDate)
Step 5: Stay Duration Validation
Vivin checks that the booking duration respects:
- Minimum stay period (
minStayPeriodin months) - Maximum stay period (
maxStayPeriodin months)
Step 6: Booking Creation
If all validations pass, Vivin:
- Creates the booking record with status
confirmed - Creates or links the tenant - if a tenant with the same email already exists in the account, the existing record is linked; otherwise a new tenant is created
- Generates the payment schedule based on the listing's pricing configuration (fixed or variable monthly rents, admin fee, deposit, cleaning fee)
- Blocks the dates as an unavailability on the listing, which propagates to all other connected platforms on the next sync cycle
- Triggers contract generation if the property manager has configured auto-generation (via N8N webhook or similar)
- Sends notifications to the property manager (email, in-app)
Validation Summary
HTTP status mapping for failures: Error Handling (400, 404, 409, 422). Duplicate bookingId: Creating Bookings — Response. Full endpoint map: Booking Lifecycle & Validations section cross-reference.
| Validation | When it fails |
|---|---|
| Authentication | Invalid or missing Bearer token |
| Listing lookup | externalId does not match any mapped listing for your platform |
| Availability | Requested dates overlap with an existing booking or calendar block |
| Booking window | Check-in or check-out dates fall outside the configured booking window |
| Stay duration | Stay is shorter than minStayPeriod or longer than maxStayPeriod |
| Duplicate | A booking with the same bookingId already exists (no error - silently deduped) |
Booking Statuses in Vivin
After creation, a booking can move through the following statuses within Vivin:
| Status | Description |
|---|---|
confirmed | Booking is active and dates are blocked |
checked_in | Tenant has moved in |
checked_out | Tenant has moved out |
cancelled | Booking was cancelled - dates are released |
Calendar Propagation
iCal subscribers poll on their own schedule — iCal feeds. Partial availability refresh: Listings & Availability. Full endpoint map: Booking Lifecycle & Validations section cross-reference.
When a booking is created from your platform:
- Immediate: The dates are marked as unavailable on the Vivin listing
- Next sync cycle (minutes): All other connected platforms (HousingAnywhere, Spotahome, Airbnb, etc.) receive updated availability through their respective sync mechanisms
- iCal subscribers: Calendar export is updated and available on next poll
This ensures that a booking on your platform automatically blocks the dates everywhere else, preventing double-bookings across the entire distribution network.
Pricing Calculation
Pricing fields originate from partial ListingDto rows — Listings & Availability — Field Reference. Operator reconciliation: Finance — Contract Values. Full endpoint map: Booking Lifecycle & Validations section cross-reference.
Vivin calculates the booking's financial terms based on the listing configuration at the time of booking creation:
| Component | How it's calculated |
|---|---|
| Monthly rent | From rentsPerMonth (variable) or rent (fixed). Partial months are pro-rated. |
| Extra tenant surcharge | extraPricePerTenant × numberOfExtraTenants × months |
| Admin fee | One-time adminFeeValue |
| Cleaning fee | One-time cleaningFeeValue |
| Deposit | depositValue (held, not invoiced as income) |
| Platform commission | Recorded from platformProviderPaymentValue for reconciliation |
The generated payment schedule determines what the tenant owes and when, driving invoice generation and payment tracking within Vivin.
Management app vs integration API wording
The management frontend (Bookings module, Dashboard, and related docs) exposes a computed timeline status (bookingStatus: upcoming, current, ended, canceled) derived from dates and cancellation — see Booking Lifecycle. That model is what operators filter and sort on in the UI.
This page’s integration tables (confirmed, checked_in, checked_out, queue states) describe the partner booking pipeline and stored integration fields after POST …/bookings runs. The two vocabularies answer different questions: “what did the API accept and record?” versus “where is this stay on the calendar today in the hub?”. When you map events to your own systems, rely on Integration Swagger response schemas on your API host for the exact fields your platform receives.
Booking Lifecycle & Validations section cross-reference
Use this table when one validation 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 POST …/bookings enqueue handling.
| Lockout catch-up after password recovery | Validated import backlog after sign-in recovery | Common Workflows — Lockout catch-up, Booking lifecycle, Webhooks & Notifications | | Pending manual receipt approval | Validated stays with pending move-in receipts | Common Workflows — Pending manual receipt approval, Managing a Check-in — Step 3b, Finance — Pending manual payments | | Reject/revert mistaken receipts | Duplicate validated imports | Common Workflows — Reject/revert mistaken receipts, Cancelling a Booking, Payment Allocation — Correcting mistaken receipts | | Portfolio segmentation by tenant category | Segment triage on validated bookings | Common Workflows — Portfolio segmentation, Settings > Tenant categories, Bookings — Other filters | | Notification row-click navigation | Validation failures vs alert 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 | Computed Ongoing/Ended vs overdue alerts | API Reference — Payment alert to receivables triage, Common Workflows — Payment alert to receivables triage, Handling a Late Payment — Step 1 | | Confirmation alert triage | Upcoming validation vs confirmation alerts | API Reference — Confirmation alert triage, Common Workflows — Confirmation alert triage, Processing a New Booking — Step 5b | | Finance debt receivables triage | Lifecycle status vs Top debtors rank | API Reference — Finance debt receivables triage, Common Workflows — Finance debt receivables triage, Finance module — Finance debt receivables triage | | Handling a Late Payment collections | Integration surface vs operator collections Steps 1–6 | | Finance Income status drill-down | Status filters 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 | Departure-week collections on 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 enqueue validation rules 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: Booking Lifecycle & Validations 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: Booking Lifecycle & Validations 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
- After
POST /bookings— monitor the enqueue pipeline and optional Webhooks & Notificationsbooking.*events; operator follow-up in Processing a New Booking once background validation creates the payment schedule - 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: Booking Lifecycle & Validations 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 — Escalate async validation failures or queue stuck states via
[email protected](hub: Setup sequence after go-live) - FAQ & Troubleshooting — Operator vs integration lifecycle vocabulary questions (hub: Setup sequence after go-live)
- Glossary — Term definitions used across API and operator docs (hub: Setup sequence after go-live)
Companion API guides
Companion guides share Bearer authorization or error shapes with this page — start from API Reference hub. Full pairing matrix: Booking Lifecycle & Validations section cross-reference.
- Creating Bookings — Request body, endpoint shape, and Swagger tips
- Listings & Availability — Partial
GET /listingsavailability checks beforePOST …/bookingsaccepts a payload - Webhooks & Notifications — Push
booking.*andunavailability.*events when Vivin configures a callback for your platform - Error Handling — HTTP status mapping for validation and conflict failures
- Property & Unit Mapping —
externalIdlookup failures before availability checks run - iCal feeds — Calendar subscriber delays that can make availability validation look stale immediately after enqueue
- Booking engine integration — White-label
POST /bookingsuses the same validation pipeline and queue states - Full listing feeds — Partner publish fields validated separately from booking enqueue rules
- Authentication — Bearer token required on every
POST …/bookingscall - AI usage — Operator JWT ledger when reconciling import volume with internal LLM spend (integration Bearer keys return
401)
Upstream & downstream workflows
Workflow bullets pair with Common Workflows — Workflow cross-reference after partner traffic lands in the management app. Full pairing matrix: Booking Lifecycle & Validations section cross-reference.
- Processing a New Booking — Operator workflow after background validation creates the booking and payment schedule
- Managing a Check-in — Post-validation arrival workflow once background processing succeeds
- Managing a Check-out & Deposit Refund — Departure and deposit settlement after background validation creates the payment schedule
- Cancelling a Booking — Operator workflow when background validation creates a booking that must be voided
- Handling a Late Payment — Step 1 — Collections when validation succeeds but confirmation payment is still outstanding; upstream path from Notifications — Payment overdue alerts
- Portfolio KPI review — Month-end pass when imported bookings skew occupancy or debt KPIs
- Notification triage — Clear import alerts after
booking.createdwebhook or operator confirmation - Manual block hygiene — Audit pass when availability validation fails because stale manual holds remain on the unit
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: Booking Lifecycle & Validations section cross-reference.
- Bookings module — How lifecycle appears in lists, tabs, and the booking sidebar
- Finance — Contract Values — Operator reconciliation after background validation creates the payment schedule
- Sales — Multicalendar — Visual calendar when validation fails on overlapping blocks
- Settings > Preferences — Auto-cancel unpaid move-in — Account backstop after validation creates unpaid move-in requirements
- Settings > Invoicing & Payments — Fee labels and payment priorities on schedules background validation creates
- Settings > Preferences — In-app notifications — Integration import alerts after background validation creates bookings
- Settings > Emails — Lifecycle check-in triggers evaluate after validation queue imports succeed
- Property & listing details (booking engine) — Partner publish fields validated separately from booking enqueue rules
Deeper concept reads
Concept reads pair with Concepts hub subsection index and Concept cross-reference. Full pairing matrix: Booking Lifecycle & Validations section cross-reference · API guide cross-reference.
- Booking Lifecycle — Operator-facing computed statuses and rules (no
pendingstate) (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)
- Integrations (concept) — Operator channel setup context before availability validation runs on mapped units (section cross-reference; Deeper API reads; hub)
- Tenant Portal — Tenant-facing payment schedule and portal access after validated imports create bookings (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
- Services Marketplace — Ancillary charges on tenant payment plans after validated booking creation (section cross-reference; Deeper API reads; hub)
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: Booking Lifecycle & Validations section cross-reference · API guide cross-reference.
- Processing a New Booking — Operator workflow after background validation creates the booking and payment schedule (section cross-reference; Deeper API reads; hub)
- Managing a Check-in — Post-validation arrival workflow once background processing succeeds (section cross-reference; Deeper API reads; hub)
- Managing a Check-out & Deposit Refund — Departure and deposit settlement after background validation creates the payment schedule (section cross-reference; Deeper API reads; hub)
- Cancelling a Booking — Operator workflow when background validation creates a booking that must be voided (section cross-reference; Deeper API reads; hub)
- Handling a Late Payment — Collections when validation succeeds but confirmation payment is still outstanding (section cross-reference; Deeper API reads; hub)
- Portfolio KPI review — Month-end pass when imported bookings skew occupancy or debt KPIs (section cross-reference; Deeper API reads; hub)
- Notification triage — Clear import alerts after
booking.createdwebhook or operator confirmation (section cross-reference; Deeper API reads; hub) - Manual block hygiene — Audit pass when availability validation fails because stale manual holds remain on the unit (section cross-reference; Deeper API reads; hub)
Lockout catch-up after password recovery
Async validation jobs may complete during operator lockout — reconcile Upcoming / Ongoing filters after sign-in recovery. Hub parity: Common Workflows — Lockout catch-up after password recovery. Full pairing matrix: booking-lifecycle--validations-section-cross-reference · API guide cross-reference.
- Common Workflows — Lockout catch-up after password recovery — Hub matrix when validated imports accumulated during lockout
- Getting Started — Lockout catch-up after password recovery — Canonical operational backlog mesh
- Booking lifecycle — Computed list filters operators reconcile after recovery
- Webhooks & Notifications —
booking.created/booking.failedbacklog - Notification triage — Clear validation alerts before status-filter reads
Pending manual receipt approval
Successful validation creates payment schedules; move-in receipts may still await Approve payments — pair with Payment Allocation. Hub parity: Common Workflows — Pending manual receipt approval. Full pairing matrix: booking-lifecycle--validations-section-cross-reference · API guide cross-reference.
- Common Workflows — Pending manual receipt approval — Hub matrix when validated Upcoming stays show pending move-in lines
- Creating Bookings — Enqueue vs final booking distinction
- Managing a Check-in — Step 3b — Arrival-week approval habit
- Finance — Pending manual payments — Amber Pending chip
- Payment Allocation — Two-layer model behind approval lag
Reject/revert mistaken receipts
Failed validation vs duplicate successful imports pair with Cancelling a Booking and receipt Reject / Revert. Hub parity: Common Workflows — Reject/revert mistaken receipts. Full pairing matrix: booking-lifecycle--validations-section-cross-reference · API guide cross-reference.
- Common Workflows — Reject/revert mistaken receipts — Hub matrix when duplicate validated imports need receipt cleanup
- →
canceled— Explicit cancel path distinct from reject/revert - Cancelling a Booking — Void duplicate imports after validation succeeds twice
- Error Handling — Async validation
400s vs operator receipt cleanup - Glossary — Credit note (payment reject/revert) — Accounting follow-up on invoiced receipts
Portfolio segmentation by tenant category
Validation assigns integration-default tenant category — pair with Settings > Tenant categories before high import volume. Hub parity: Common Workflows — Portfolio segmentation by tenant category. Full pairing matrix: booking-lifecycle--validations-section-cross-reference · API guide cross-reference.
- Common Workflows — Portfolio segmentation by tenant category — Hub matrix when validated imports cluster on one segment
- Settings > Tenant categories — Default for integration-created tenants
- Bookings — Other filters — Tenant category after validation
- Tenant Portal — Portal access by tenant category — Segment gates on validated stays
- Glossary — Tenant category — Definition and Finance filter parity
Notification row-click navigation
Async validation 400s are distinct from /notifications row-click — operators triage import alerts only after enqueue succeeds. Hub parity: API Reference — Notification row-click navigation. Full pairing matrix: Booking Lifecycle & Validations 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
Computed Ongoing/Ended statuses drive payment overdue row-click targets — confirm Payment Plan on the opened booking before Debt Aging. Hub parity: API Reference — Payment alert to receivables triage. Full pairing matrix: Booking Lifecycle & Validations 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
Upcoming computed status pairs with Booking created alert triage — validation success does not approve confirmation receipts. Hub parity: API Reference — Confirmation alert triage. Full pairing matrix: Booking Lifecycle & Validations 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
Ongoing/Ended stays drive Top debtors after Payment alert to receivables triage — review lifecycle on the opened booking first. Hub parity: API Reference — Finance debt receivables triage. Full pairing matrix: Booking Lifecycle & Validations 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
Partner integration reads on Booking Lifecycle Validations do not replace operator collections — payment overdue in-app rows still need Handling a Late Payment — Steps 1–6 after receivables triage. Hub parity: Common Workflows — Handling a Late Payment collections hub. Full pairing matrix: booking-lifecycle-validations-section-cross-reference · API guide cross-reference.
- API Reference — Handling a Late Payment collections — Hub matrix (
finance-overview-income-chart-debt-aging.png,notifications-row-navigate-to-booking-detail.png) - Common Workflows — Handling a Late Payment collections hub — Operator procedure hub
- Payment alert to receivables triage — payment overdue alert before collections
- Finance debt receivables triage — Debt Aging before tenant outreach
- Handling a Late Payment — Step 1 — Collections follow-through
- FAQ — Handling a Late Payment collections hub — Symptom table
Finance Income status drill-down
Computed Ongoing/Ended statuses shape which bookings appear in Income → In debt month-scoped modals — booking-level rank stays on Debt Aging. Hub parity: API Reference — Finance Income status drill-down. Full pairing matrix: Booking Lifecycle & Validations 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
Departure-week approved collections on Cash flow forecast bars reflect lifecycle timing — distinct from Income status segments. Hub parity: API Reference — Cash flow forecast drill-down. Full pairing matrix: Booking Lifecycle & Validations 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: Booking Lifecycle & Validations section cross-reference.
-
Glossary — Credit note (payment reject/revert) — Reject/revert follow-up when mistaken import receipts were already invoiced
-
Glossary — Invoiced floor (rent) — Rent edits blocked below exported invoice totals after background validation completes
-
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
-
Glossary — Deposit lifecycle status — Async enqueue creates deposit schedule lines;
depositStatuspill transitions are operator UI after booking exists -
Glossary — End-of-Booking cost split — Charge Time → End of Booking splits daily overage across every occupied unit; still-staying roommates stay in the denominator (#2111)
-
Glossary — Change history — Operator-initiated edits on Listings setup and Bookings Changelog; create-time defaults excluded (#2093)
-
FAQ — Booking Changelog scope — Operator-initiated edits only; create-time defaults excluded (#2093)
-
Glossary — Archived booking ledger visibility — Delete Booking hides manual/provider_platform rows on Finance → Transactions; vIBAN and credit card stay visible (#1897)
-
Bookings — Provider platform payment — Non-rejected provider platform in-payment blocks Delete Booking until Reject or assign (#2076)
-
FAQ — Delete Booking on integration reservation — Clear pending provider platform in-payment with Reject or assign before soft-archive (#2076)
-
Listings — Property edit sidebar pills — Setup / Full integration / Photos pills on property and unit edit sidebars; replaced the old Go to details shortcut (#2082)
-
Glossary — Finance tenant category cache refresh — Recategorizing a tenant on Tenants → Tenant Info force-refreshes Finance caches so Contract Values, Overview, and Deposits filters match within seconds (#2088)
-
FAQ — Finance tenant category filter parity — Finance Other filters drawer lists segments on cached bookings only; mirror Bookings / Tenants when a segment is missing
-
FAQ — Assign tenant category for direct booking — Add booking has no category field; assign on Tenants → Tenant Info or + Create New → Tenant before contract mail
-
Glossary — SIMAR water contract ID — SIMAR (Loures e Odivelas) water bills use Cód. Local in Connections — not Nº de Contador; leading zeros stripped (#2110)
-
FAQ — SIMAR water bill property match — Cód. Local in Connections — not Nº de Contador; strip leading zeros (#2110)
-
Glossary — Per-booking maintenance ticket opt-out — Add booking checkboxes skip automatic CI/CO tickets for one reservation only; property rule unchanged (#1140)
-
FAQ — Cancel Booking vs Delete Booking — Cancel for real stays with settlement; Delete soft-archives mistaken/test rows (#1897 / #2076)
-
Glossary — Archived property — Archive retires a building to Listings → Archived without deleting bookings; distinct from Delete Booking (reservation soft-archive) — Listings — Archived properties
-
FAQ — Archive a property — Edit property sidebar Archive / Unarchive on Listings; building-level — not Delete Booking or Cancel booking
-
FAQ — Portfolio retirement decisions — Archive property (building) vs Cancel booking vs Delete Booking (reservation soft-archive) — three-way decision table
-
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 after imported stays end
-
Glossary — Invoiced floor (rent) — Post-import rent edits clamped below exported invoice totals on live bookings
-
FAQ — AI token usage — Poll GET /ai-usage / GET /ai-usage/summary with management JWT;
landlord_chat+utility_bill_extraction; no management UI screen yet -
FAQ — Automatic check-in email — Trigger matrix, 15-day cutoff, paper upload vs portal signing, Nuki-only toggle, Send / Resend on Contract Info
-
FAQ — WhatsApp and email per booking — Bookings → Communication tab when tenant chatbot is enabled; Inbox for portfolio-wide triage
-
FAQ — Deposit missing on Finance Deposits — Default ~3 months date range; clear or widen before triaging older move-outs or dispute row actions
-
FAQ — Pending manual in-payment on /notifications — Alert persists until Approve payments clears Finance or booking Transactions
-
FAQ — Uncovered Debt KPI — Finance Total Debt minus deposit offsets; pair with Debt Aging and In debt drill-down
-
FAQ — Dashboard Total Debt subtitle — Post-login Total Debt card headline vs >15 days subtitle; ongoing bookings only
-
FAQ — Analytics (KPI workspace) — Portfolio KPIs vs Sales/Listings/Dashboard; load-failure Try again
-
FAQ — Lower rent below invoiced — Change monthly rent clamps and Contract Values → Edit amount blocks net below exported invoice totals; use credit notes in accounting when you truly need a reduction
-
Glossary — Fixed invoice date — Account-wide Invoice date before bulk Issue allocation / Invoice selected; amber banner on Finance → Transactions until you turn Use today as invoice date back on
-
FAQ — Month-end invoicing (fixed date) hub — Symptom table + toggle reset after batch
-
FAQ — Reject or revert an incoming payment — Reject pending rows or Revert confirmed ones; Finance → Transactions uses Reject selected bulk-only; modals warn about credit notes when Finance already invoiced
-
FAQ — 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: Booking Lifecycle & Validations section cross-reference.
- Audit module — Manual blocks that can cause availability validation failures across channels (hub)
- Tenants module — Operator enrichment when validation creates thin tenant profiles on high-volume imports (hub)
- Finance module — Portfolio ledgers and Deposits tab refund queue once validated imports reach Ended status (hub)
- Utilities module — Operator overage billing after validated stays exceed
billsIncludedMaxValueceilings from partial pulls (hub) - Operations module — Maintenance tickets, cash flows, and check-in/out coordination (hub)
- Dashboard module — Post-login KPI snapshot with bell notification triage (hub)
- Analytics module — Month-range portfolio KPI charts with rankings and heatmaps (hub)
- Listings module — Property wizard, Channels tab, and unit management (hub)
- Properties workspace — Legacy
/propertiesURL redirects into Listings (hub) - Booking engine details — Rich marketplace payload editor via the Full integration pill (hub)
- Sales module — Portfolio availability and channel manager connections (hub)
- Inbox module — Portfolio-wide WhatsApp workspace (hub)
- Notifications module — Full
/notificationshistory with search and filters (hub); Payment overdue alerts when validated 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)