Skip to main content

Booking Lifecycle

First-time workspace setup

Read this concept after Getting Started — Recommended Setup Sequence step 14 Bookings before you rely on list status filters or Timeline for occupancy decisions. Payment vocabulary pairs with setup step 5 Invoicing & Payments. First reservation workflow: Processing a New Booking. Concept pairing: Concepts — Setup sequence after go-live.

Every booking in Vivin has a computed lifecycle status. The platform does not use a pending booking status, and normal timeline status changes are driven by booking dates plus cancellation state.

Pair with other concepts

Scheduled charges and receipt allocation follow Payment Allocation; tenant contract signing and check-in triggers pair with Tenant Portal (including Portal access by tenant category); channel-imported reservations pair with Integrations & Distribution; booking-scoped external AI clients pair with Tenant MCP. Portfolio operators poll AI usage API (landlord_chat) when AI Chat assists lifecycle triage during Portfolio KPI review. Topic-to-module pairing: Booking Lifecycle section cross-reference. Full pairing matrix: Concepts — Concept cross-reference.

Status Overview

Product Value (bookingStatus)UI Label (where applicable)Meaning
upcomingUpcomingBooking start/check-in date is in the future and the booking is not canceled
currentOngoingBooking is active today (between start/check-in and end/check-out dates)
endedEndedBooking end/check-out date has already passed
canceledCanceledBooking was canceled (cancellation type set)

How Status Is Computed

Status is computed in this order:

  1. If the booking has a cancellation type, status is canceled.
  2. Otherwise, if the configured end date is before today, status is ended.
  3. Otherwise, if the configured start date is after today, status is upcoming.
  4. Otherwise, status is current.

Date basis is account-configurable (contract dates or move dates), so "start/end" may come from contract dates or check-in/check-out dates depending on your account settings.

Status Flow

upcoming -> current -> ended
\ \ \
\ \ \
+-------> canceled

Cancellation can be applied from any non-canceled state. Once canceled, status remains canceled.

Where you see lifecycle in the product

The Bookings module uses list filters and tabs that line up with timeline status (for example All versus views that emphasize stays active on today’s date). Row labels and filters reflect upcoming, active stays (often labeled Ongoing in the UI), ended, and canceled, depending on your workspace configuration.

Bookings list — All tab with mixed lifecycle rows

Bookings list — Ongoing tab focusing on stays active today

Bookings list — Upcoming filter with reservations that have not yet started

Bookings list — Ended tab with completed stays

Bookings list — Cancelled tab after explicit cancellation

Walkthrough: on the Bookings list, step through All, Ongoing, Upcoming, Ended, and Cancelled status filters to see how each lifecycle slice narrows the table.

Timeline view

The Timeline layout at /bookings/timeline draws ongoing and upcoming stays as coloured bars per unit (green/teal styling). Ended and canceled reservations are not shown on the chart — use the list view or search when you need those records. Status filter cards still apply, but the Canceled card is disabled on Timeline because those rows are omitted from the Gantt. The chart paginates unit rows on scroll (about 50 listings per batch) and loads booking bars only for listings already visible — see Bookings > Loading unit rows.

Bookings — Timeline view (Day scale) with unit rows and booking bars

Click a bar to open the same booking detail sidebar as on the list; the URL becomes /bookings/timeline/<bookingId> for bookmarking. See Bookings > Timeline view for Week / Month scales, the Only bookings toggle (calendar blocks), and the walkthrough video.

Same-day turnover overlap

When a check-out and check-in share one unit on the same calendar day, paste the unit in toolbar Search and use Week or Month scale to see both bars on one row — or use Sales → Multicalendar for the same Gantt from Sales context. See Glossary — Same-day turnover.

Walkthrough: Timeline view — switch Day / Week / Month, toggle Only bookings, open a booking bar to the detail sidebar, then close.

For column and filter behaviour on the list, see the Bookings module. List and Timeline pairing matrix: Booking Lifecycle section cross-reference.

What Triggers Status Changes

upcoming -> current

Occurs automatically when the relevant start date is reached.

current -> ended

Occurs automatically when the relevant end date passes.

Any non-canceled status -> canceled

Occurs when a cancellation is processed (sets cancellation type and applies cancellation rules).

Key Rules

Summary
  1. Timeline statuses are computed, not manually advanced. You do not manually set upcoming, current, or ended.
  2. Cancellation is an explicit action. A booking becomes canceled only when the cancellation workflow is executed.
  3. No pending booking status exists in the implemented model.
  4. Payment schedules are created at booking creation. See Payment Allocation for details.
  5. Soft-archive is separate from cancel. Delete Booking removes mistaken stays from default lists without changing the computed timeline status to canceled; Finance → Transactions then hides manual/provider_platform rows for that reservation while keeping vIBAN and credit card rails (#1897). Decision tables: FAQ — Portfolio retirement decisions (building Archive vs Cancel vs Delete) and FAQ — Cancel Booking vs Delete Booking. Ledger triage: FAQ — Manual payments after Delete Booking. See Glossary — Archived booking ledger visibility and Glossary — Archived property.

Booking Lifecycle section cross-reference

Use this table when one lifecycle topic naturally leads into operator configuration, a module view, or a turnover workflow — each row links to the docs you should read before or after the primary status.

| Lifecycle topic | Pair with these docs | | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Status overview | Glossary — Booking, API — Booking lifecycle validations, Tenant Portal — Home | | How status is computed | Settings > Preferences — Booking defaults, Bookings > Contract Info (contract vs occupancy dates) | | List status filters | Bookings module, Tenants module (activity filters), Deep Links — Bookings, Notifications — Payment overdue alerts (Ongoing filter slice) | | Timeline view | Bookings — Timeline, Sales — Multicalendar, Manual block hygiene | | upcomingcurrent | Managing a Check-in, Settings > Emails (check-in triggers), Tenant Portal — Contract signing | | current (Ongoing) collections | Handling a Late Payment — Step 1, Notifications — Payment overdue alerts, Finance — Debt Aging, Notification triage | | currentended | Managing a Check-out, Finance > Deposits, Glossary — Deposit lifecycle status, Glossary — Deposit dispute | | canceled | Cancelling a Booking, Payment Allocation — Reject/revert | | Soft-archive (Delete Booking) | FAQ — Cancel Booking vs Delete Booking, Bookings — Delete Booking (soft archive), Finance — Archived bookings on the ledger, Glossary — Archived booking ledger visibility (#1897 / #2076) | | Payment schedule at create | Payment Allocation, Processing a New Booking, Integrations & Distribution (imported reservations) | | Partly collected security deposit | Finance — Deposit lifecycle status cards, Bookings — Deposit tab, FAQ — Partly collected security deposit, Glossary — Deposit lifecycle status, Common Workflows — Partly collected security deposit (distinct from Partial Paid rent on Payment Plan) | | Tenant MCP automation | Tenant MCP (booking-scoped external clients), Tenant Portal (portal links and self-service), Automation & AI (chatbot vs MCP), Bookings — Communication tab | | Lockout catch-up after password recovery | Sign-in restored; concept validation backlog accumulated | Common Workflows — Lockout catch-up, Getting Started — Lockout catch-up, Resetting a Management User Password — Step 3 | | Pending manual receipt approval | Recorded bank transfers still pending until Approve payments | Common Workflows — Pending manual receipt approval, Finance — Pending manual payments, FAQ — Manual receipt still pending | | Reject/revert mistaken receipts | Duplicate or wrong-booking receipts after Approve | Common Workflows — Reject/revert mistaken receipts, Payment Allocation — Correcting mistaken receipts, Glossary — Credit note (payment reject/revert) | | Portfolio segmentation by tenant category | Review one tenant segment across modules | Common Workflows — Portfolio segmentation, Settings > Tenant categories, Finance — Tenant category filter, Tenants — Tenant category filter | | Notification row-click navigation | /notifications row-click into lifecycle module routes | Concepts — Notification row-click navigation, Common Workflows — Notification row-click navigation, Notifications module — Notification row-click navigation | | Payment alert to receivables triage | Ongoing/Ended payment overdue on lifecycle concepts | Concepts — Payment alert to receivables triage, Common Workflows — Payment alert to receivables triage, Handling a Late Payment — Step 1 | | Confirmation alert triage | Upcoming confirmation alerts on new reservations | Concepts — Confirmation alert triage, Common Workflows — Confirmation alert triage, Processing a New Booking — Step 5b |


Pair with other Booking Lifecycle guide sections

Related below links this concept to modules, workflows, settings, and escalation paths. Pair Documentation map & escalation with Concepts hub — Documentation map & escalation; pair List views, Timeline, and portfolio context with Bookings — Timeline. Topic-to-section pairing in sections above: Booking Lifecycle section cross-reference. Full hub matrix: Concept cross-reference.

Documentation map & escalation

Pair with other Booking Lifecycle guide sections
Pair with other Booking Lifecycle guide sections

List views, Timeline, and portfolio context

Pair with other Booking Lifecycle guide sections

List views, Timeline, and portfolio context bullets pair with the matching topic rows in Booking Lifecycle section cross-reference above. Full pairing matrix: Concept cross-reference.

Turnover, cancellation, and collections workflows

Pair with other Booking Lifecycle guide sections

Turnover, cancellation, and collections workflows bullets pair with the matching topic rows in Booking Lifecycle section cross-reference above. Full pairing matrix: Concept cross-reference.

Tenant experience, integrations, and API contracts

Pair with other Booking Lifecycle guide sections

Tenant experience, integrations, and API contracts bullets pair with the matching topic rows in Booking Lifecycle section cross-reference above. Full pairing matrix: Concept cross-reference.

Deeper workflow reads

Pair with other Booking Lifecycle guide sections

Workflow reads pair with Common Workflows hub subsection index and Workflow cross-reference. Each workflow sub-guide reciprocates with [Deeper workflow reads](../concepts/booking-lifecycle.md#deeper-workflow-reads) anchors on Booking Lifecycle bullets — hub parity: Concepts hub — Deeper workflow reads. Full pairing matrix: Booking Lifecycle section cross-reference · Concept cross-reference.

Deeper concept reads

Pair with other Booking Lifecycle guide sections

Deeper API reads

Pair with other Booking Lifecycle guide sections

Lockout catch-up after password recovery

Pair with other Booking Lifecycle guide sections

Pending manual receipt approval

Pair with other Booking Lifecycle guide sections

Reject/revert mistaken receipts

Pair with other Booking Lifecycle guide sections

Partly collected security deposit

Pair with other Booking Lifecycle guide sections

Deposit shortfalls during Upcoming confirmation pair with Payment Allocation and Finance — Deposits. Hub parity: Common Workflows — Partly collected security deposit. Full pairing matrix: booking-lifecycle-section-cross-reference · Concept cross-reference.

Portfolio segmentation by tenant category

Pair with other Booking Lifecycle guide sections

Notification row-click navigation

Pair with other Booking Lifecycle guide sections

Computed Upcoming / Ongoing filters pair with Notification triage — Step 4 after /notifications row-click — finish on the correct booking tab before bulk mark-read. Hub parity: Concepts — Notification row-click navigation. Full pairing matrix: Booking Lifecycle section cross-reference · Concept cross-reference.

Payment alert to receivables triage

Pair with other Booking Lifecycle guide sections

Ongoing/Ended payment overdue row-click opens bookings in this lifecycle model — review Payment Plan and Transactions before portfolio Debt Aging. Hub parity: Concepts — Payment alert to receivables triage. Full pairing matrix: Booking Lifecycle section cross-reference · Concept cross-reference.

Confirmation alert triage

Pair with other Booking Lifecycle guide sections

Upcoming Booking created / Payment received alerts pair with Processing a New Booking — Step 5b — toggling alert categories does not approve confirmation receipts. Hub parity: Concepts — Confirmation alert triage. Full pairing matrix: Booking Lifecycle section cross-reference · Concept cross-reference.

Finance debt receivables triage

Pair with other Booking Lifecycle guide sections

Ongoing/Ended stays drive Top debtors after Payment alert to receivables triage — review Payment Plan on the opened booking before portfolio Debt Aging sign-off. Hub parity: Concepts — Finance debt receivables triage. Full pairing matrix: Booking Lifecycle section cross-reference · Concept cross-reference.

Finance Income status drill-down

Pair with other Booking Lifecycle guide sections

Computed Ongoing/Ended statuses shape which bookings appear in Income → In debt month-scoped payment-line modals — booking-level rank stays on Debt Aging. Hub parity: Concepts — Finance Income status drill-down. Full pairing matrix: Booking Lifecycle section cross-reference · Concept cross-reference.

Cash flow forecast drill-down

Pair with other Booking Lifecycle guide sections

Departure-week approved collections on Cash flow forecast bars reflect lifecycle timing — distinct from Income status segments and Dashboard rent due chart. Hub parity: Concepts — Cash flow forecast drill-down. Full pairing matrix: Booking Lifecycle section cross-reference · Concept cross-reference.

Key glossary terms

Pair with other Booking Lifecycle guide sections

Glossary rows pair with Glossary cluster cross-reference and concept pages that cite the same terms. Full pairing matrix: Booking Lifecycle section cross-reference · Concept cross-reference.

Module documentation hubs

Pair with other Booking Lifecycle guide sections