Skip to main content

Manual block hygiene

Ask AI Chat “Where do I open Audit under Tools to review manual blocks for Manual block hygiene — use the Manual Blocks tab with Reason and End columns, Created by filter, and unit Calendar edits (English labels — Tools, Audit, Manual Blocks, Discounts, Created by, Reason, End, Listings, Calendar — Common Workflows Manual block hygiene — product navigation only, no account data)?” — then open Tools → Audit → Manual Blocks (ai-chat-product-context-manual-block-hygiene-reply.png, ai-chat-product-context-manual-block-hygiene-flow.mp4). The assistant typically says Tools → Audit → Manual Blocks, then points at Reason / End, Created by, and unit Calendar edits in Listings. Same grounding external MCP clients get from get-vivin-context-properties-listings (or get-vivin-context-overview). Distinct from the broader Audit module map (“where do I open Audit to review manual blocks and discounts…?”) and from the Common Workflows hub product maps.

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

Walkthrough: ask AI Assistant where to run Manual block hygiene, then open Tools → Audit → Manual Blocks, expand Why audit manual blocks?, and open the Created by filter (close without changing filters).
First-time workspace setup

Run when occupancy looks suppressed after Listings calendars are live (setup step 13) — manual blocks live on unit Calendar in Listings. Complete Getting Started — Recommended Setup Sequence steps 1–15 and Onboarding a New Property — Step 7 before hygiene on newly onboarded inventory. Lockout catch-up: Getting Started — Lockout catch-up after password recovery.

Finding your way in this guide

Use this workflow when availability looks worse than demand and you suspect forgotten manual blocks (operator-added unavailabilities) are suppressing occupancy, Vacant Units, or channel calendars. Before you clear holds, confirm Preferences → Vacant Unit Preference — Include manual blocks deliberately keeps manually blocked units on Dashboard / Sales vacancy surfaces; Default excludes them. Manual blocks produce no income; vague reasons and date ranges that should have ended are common after maintenance, owner stays, or staff turnover.

Pair with other workflows

Reconcile occupancy with Common Workflows — Occupancy KPI to block hygiene handoff (upstream Portfolio KPI review — Step 3 dip signal; analytics-kpi-occupancy-tab.png) and Portfolio KPI review after clearing holds; on newly onboarded inventory, pair with Onboarding a New Property. When Step 5 — Reconcile Sales and Dashboard uses Landlord MCP or AI Chat for vacancy reads, poll AI usage API (landlord_chat) during Portfolio KPI review — Step 7 — internal USD cost only, not tenant billing.

Prerequisites
  • Listings module permission (same guard as Tools → Audit)
  • Familiarity with unit Calendar in Listings — blocks are created with Add unavailability and removed from the manual row on that calendar

When to run this pass​

SignalWhere you notice itWhat to check in Audit
Free-room count lower than expectedDashboard Vacant Units or Today KPI (manual blocks segment in subtitle)Blocks whose End is still in the future but the hold reason is obsolete
Occupancy / RevPAR dip without a rate changeAnalytics Occupancy or RevPAR rankingConcentrated blocks on one property or unit in the season you are reporting; when the dip tracks one tenant segment rather than forgotten holds, continue Portfolio KPI review — Step 6 before you edit rates account-wide
Sales shows blocked days you do not recognizeSales → Multicalendar or unit calendarCross-check the same unit in Audit before editing channel pricing
After staff changesDeparted operator still listed as Created byFilter Created by to their account and clear unclear holds

Pair this habit with Common Workflows — Occupancy KPI to block hygiene handoff when Portfolio KPI review — Step 3 Occupancy Ranking looks hold-suppressed, and with Portfolio KPI review — Step 7 when month-end KPIs disagree with live vacancy.

Step 1 — Open Audit and read the checklist​

Pair with other Manual block hygiene steps

Audit entry pairs with Audit module, Deep Links — Audit, and get-vacant-units-next-month on Landlord MCP as a portfolio signal before you open the table. Downstream: Step 2 (filters) and Step 3 (row scan).

Portfolio signal before Audit

Account-scoped Landlord MCP get-vacant-units-next-month and get-booking-summary can surface occupancy dips that suggest forgotten holds — use them as a signal to open Audit, not as a substitute for the Manual Blocks table. Booking-scoped Tenant MCP get-listing-calendar answers tenant WhatsApp threads about blocked dates; route those escalations here with notify-landlord when the hold is unclear (Step 3).

  1. Go to Tools → Audit (or /audit / /audit/manual-blocks).
  2. Expand Why audit manual blocks? when onboarding operators or running a seasonal pass — it lists what to look for (vague Reason text, End dates that should have passed, missing context after maintenance).

Audit — expanded “Why audit manual blocks?” guidance above the Manual Blocks table

The Manual Blocks table is server-paged (20 rows at a time). The Blocked nights per month chart beside the table reflects all rows matching your filters, not only the loaded page — use it to spot months with unusually high hold volume before you scroll the full list.

Audit — Blocked nights per month chart beside the Manual Blocks table (side-by-side layout)

Step 2 — Narrow the portfolio​

Pair with other Manual block hygiene steps

Portfolio narrowing pairs with Audit — Toolbar and filters, Created by multi-select after staff turnover (Created by stays open), and Glossary — Audit Manual Blocks (Created by). Upstream: Step 1. Downstream: Step 3.

Apply filters so the table and chart focus on the period or team you care about:

ControlTypical use in this workflow
SearchProperty name, unit name, or a keyword from old Reason text (for example maintenance, owner)
Date rangeOverlap window for the upcoming season or the month where Analytics occupancy dipped
Created byAfter staff turnover — one or more departed operators (multi-select). The menu stays open while you add a second teammate. See Audit — Toolbar and filters and the quick-ref row Audit Manual Blocks (Created by) in Glossary

Audit — Manual Blocks Created by multi-select open with property-manager options

Use Clear all when you switch from one investigation to another so totals, chart, and Export stay aligned.

Step 3 — Scan Reason and End columns​

Pair with other Manual block hygiene steps

Row scan pairs with Audit — Column sort, unit sidebar row-click into Listings, and get-listing-calendar on Tenant MCP when tenants ask about blocked dates. Upstream: Step 2. Downstream: Step 4.

The table sorts by Created descending by default; click Unit, End, Nights, or Reason column headers when you want a different server-side order across the full filtered set (not only loaded rows). Unit ascending groups holds by room — useful before you open sidebars in bulk. See Audit — Column sort.

Audit — Manual Blocks table with Unit sorted ascending (server-side sort indicator on the header)

For each suspicious row, check:

  • Reason — empty, blocked, test, or maintenance notes without a ticket reference
  • End — still in the future though the work finished weeks ago. End is the last blocked night, not the Multicalendar / Timeline free-again tip — the tip can be one day later on checkout-style holds. See Audit — End vs free-again day (audit-manual-blocks-end-last-blocked-night.png, audit-manual-blocks-end-vs-free-again-flow.mp4).
  • Nights — unusually long holds on high-demand units

Audit — Manual Blocks End column shows last blocked night (19 Aug) for an Owner stay

Click a row to open the unit listing sidebar (same drawer as Listings) without leaving Audit.

External automation when tenants ask about holds

Booking-scoped Tenant MCP get-listing-calendar returns the same blocked dates tenants see on the portal — pair with list-bookings-by-email when a WhatsApp thread only shows a guest email (resolve bookingId before follow-up get-payment-info or notify-landlord). request-booking-data aggregates booking context when the guest has one active stay. Account-scoped Landlord MCP get-listing-calendar needs tenant identifiers per tool schema — prefer tenant-scoped tools for guest-facing assistants; use Landlord reads for portfolio vacancy reconciliation in Step 5.

Audit — Manual Blocks row opens the unit listing sidebar (same drawer as Listings) for calendar and block edits

Export for owner sign-off

When several properties need offline review, apply filters and use Export → CSV or Excel — downloads include the full filtered set without scrolling every page. See Audit — Export.

Step 4 — Edit or remove the hold on the unit Calendar​

Pair with other Manual block hygiene steps

Calendar edits pair with Listings — Manual unavailability, Integrations & Distribution (channel sync), and get-listing (unavailabilities) on Landlord MCP to verify a hold was removed. Upstream: Step 3. Downstream: Step 5.

From the sidebar opened in Step 3 (or from Listings → Portfolio if you already know the unit):

Option A — Audit table delete — When you have Listings edit permission and only need to remove stale holds (not edit the block in calendar context):

  1. Tick one or more manual-block rows on Audit → Manual Blocks (or use the row trash icon for a single hold).
  2. Click Delete selected and confirm — Vivin unblocks those dates irreversibly. Large batches show progress; partial failures leave failed rows selected for retry.
  3. Skip to Step 5 when the Audit row is gone.

Option B — Unit calendar edit — When you need to move dates, or remove a hold while viewing the unit:

  1. Open the unit from the Audit row (or Listings → Portfolio).
  2. Scroll to the Calendar section.
  3. Confirm the manual block dates match the Audit row.
  4. Click Edit block (pencil) on the manual row to open Edit block, change Dates and/or Reason, and Save changes — or remove the manual row (only operator-created manual blocks are editable/deletable here — booking and channel blocks follow their source).

Option C — Audit table Edit block — Same Edit block modal from the Manual Blocks row pencil without opening the unit sidebar first — see Audit — Editing a manual block (audit-manual-blocks-edit-dates-action.png, listings-edit-unavailability-modal.png, listings-edit-unavailability-flow.mp4).

To create a new multi-unit hold without opening each sidebar, use + Create New → Unavailability instead of repeating Add unavailability per unit. Unit sidebar — Calendar section with date range, Add booking, Add unavailability, and list/month/year views

Connected channels

On units linked to external platforms, manual blocks you save keep those dates unavailable in Vivin and on connected calendars — clearing a stale block restores availability everywhere the unit syncs. See Listings — Manual unavailability.

External automation on calendar edits

Account-scoped Landlord MCP get-listing returns the same unit record with unavailabilities you edit on the sidebar Calendar — use it to verify a hold was removed before you reconcile Sales in Step 5. External clients cannot create or delete manual blocks from MCP; operators finish shorten/remove on the unit calendar here. get-vacant-units-next-month gives a portfolio snapshot after you save; booking-scoped Tenant MCP get-listing-calendar remains the right read when tenants ask why dates still look blocked on the portal. Surface-choice contrast: Automation & AI — Workflow pairing for surface choice.

Step 5 — Reconcile Sales and Dashboard​

Pair with other Manual block hygiene steps

Reconciliation pairs with Sales → Multicalendar, Dashboard — Vacant Units, and Portfolio KPI review — Step 7 when counts still look low. Upstream: Step 4. Downstream: Portfolio KPI review — Step 6 when segment dips persist after holds are cleared.

After you clear or shorten blocks, confirm the operational surfaces match:

CheckWhere
Unit shows free on upcoming datesSales → Multicalendar or the unit calendar
Portfolio free-room count updatedDashboard Vacant Units and Today KPI
Month-range occupancy no longer suppressed by holdsAnalytics Occupancy tab (after the workspace refetches)

If Vacant Units still looks low after a hygiene pass, continue Portfolio KPI review — Step 7 for channel blocks, utility gaps, and Finance reconciliation. When Analytics ranking or occupancy suggests one tenant category underperforms while blocks are already cleared, run Portfolio KPI review — Step 6 — scope Bookings → Tenant categories, Finance → Tenant category filter, and Tenants — Tenant category filter before you change portal rules or communication audiences account-wide (Settings > Tenant categories).

Permanently off-market inventory

Manual blocks are for temporary holds (maintenance, owner stays, repricing pauses). When a whole building leaves the portfolio for good, clear remaining holds on each unit calendar, confirm no active Upcoming bookings remain, then Archive the property from the Portfolio edit sidebar — archived inventory moves to Listings — Archived and drops from default pickers without deleting history. Legacy /properties/archived bookmarks redirect to the same tab (Legacy /properties URLs — Archived portfolio). Archive property is building-level — not Delete Booking on individual reservations. See FAQ — Archive a property (Edit property sidebar → Archive / Unarchive), Portfolio retirement decisions, and Glossary — Archived property.

External automation on calendar holds

Booking-scoped Tenant MCP clients can surface the same unit Calendar blocks you clear in Step 4 — get-listing-calendar returns availability the tenant sees — and notify-landlord can alert your team when an external assistant cannot explain a stale hold. For portfolio-wide vacancy reconciliation in Step 5 (compare Vacant Units after a hygiene pass), pair with Landlord MCP get-vacant-units-next-month, get-booking-summary, list-listings, and get-listing-calendar instead of tenant-scoped tools — get-booking-summary gives a quick occupancy snapshot before you open Sales → Multicalendar, and list-listings helps confirm which units still carry unavailabilities after Step 4 calendar saves. When Vacant Units still looks low but tenants report blocked dates on the portal, re-check get-listing-calendar after you save calendar edits — channel sync can lag briefly; notify-landlord does not clear operator manual rows — finish edits in Step 4.

Optional — Filter and open a row (video)​

Walkthrough: search the Manual Blocks table → scroll the filtered list → open a row to the unit listing sidebar (same clip as Audit module).

Optional — Calendar edit and reconcile (video)​

Walkthrough: find a hold in Audit → open the unit sidebar → delete the manual block on Calendar → confirm availability on Sales Multicalendar (demo uses a temporary hold that is removed during capture).

Step 6 — Escalate when calendar edits are blocked (when needed)​

Pair with other Manual block hygiene steps

Calendar escalation pairs with Using in-app support, Cancelling a Booking — Step 5, and Managing a Check-out — Step 7 when ended booking bars still block Multicalendar. Finish Steps 1–5 self-serve first.

When Listings calendar saves, Audit row-click sidebar opens, or Sales → Multicalendar still shows blocked days after you followed Steps 1–5, document what you tried in the unit Internal Notes or an Operations ticket comment before you escalate.

Self-serve first:

File Using in-app support when product behaviour blocks hygiene despite correct operator steps:

Use the Help & Support drawer from Audit or Listings when screenshots should include the Calendar or Manual Blocks table — Deep Links — Support. If a management lockout delayed this hygiene pass, recover access with Resetting a Management User Password (Step 3) before you rerun Steps 1–5 — refresh Landlord MCP Bearer JWT after Step 3 there.

External automation on calendar escalation

Account-scoped Landlord MCP get-listing (unavailabilities), list-listings, and get-listing-calendar attach hold context before you file support — external clients cannot create or delete manual blocks from MCP. Booking-scoped Tenant MCP get-listing-calendar and notify-landlord remain the right reads when tenants report stale portal availability — contrast with operator calendar edits in Step 4. Surface-choice contrast: Automation & AI — Workflow pairing for surface choice.

Manual block hygiene section cross-reference​

Use the steps above for the main path. For related guides, open Related below, or return to Common Workflows.

Pair with other Manual block hygiene guide sections

Related below links this workflow to modules, concepts, settings, and escalation paths.

Documentation map & escalation​

Upstream & downstream workflows​

Pair with other Manual block hygiene guide sections

Bookmark routes pair with Management Frontend Deep Links and Create New menu.

Concepts & settings that shape this workflow​

  • Settings > Tenant categories — Segment portal rules and portfolio filters when Step 5 occupancy dips track one tenant category, not stale holds
  • Booking Lifecycle — Computed stay status when manual blocks hide real occupancy
  • Integrations & Distribution — Manual holds propagate to connected marketplace and iCal calendars
  • Tenant MCP — Booking-scoped get-listing-calendar, list-bookings-by-email, and request-booking-data when tenants ask about blocked dates during the Audit scan (Step 3); get-listing-calendar and notify-landlord when external assistants surface stale holds (Steps 4–5)
  • Landlord MCP — get-listing (unavailabilities) to verify holds removed after Step 4 calendar edits; portfolio-wide get-vacant-units-next-month, get-booking-summary, list-listings, and get-listing-calendar when Step 1 signals or Step 5 reconciles vacancy after a hygiene pass; get-listing, list-listings, and get-listing-calendar attach hold context before Vivin support tickets (Step 6)
  • Automation & AI — Landlord vs Tenant MCP surface choice during calendar edits (Steps 4–5) and calendar escalation (Step 6)
  • Tenant Portal — Stale blocks can hide units tenants should see as available
  • 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
  • Settings > Preferences — Automatic preparation-day buffers distinct from manual holds

Audit, listings & sales surfaces​

Deeper workflow reads​

See Upstream & downstream workflows above for the same guides.

Deeper API reads​

Operator habit hubs​

Day-to-day operator habits (lockout catch-up, pending receipts, payment triage, handoffs, and related playbooks) live on the Common Workflows habit hub.

Deep-link anchors for habit hubs

Check-out vs cancellation​

Lockout catch-up after password recovery​

Pending manual receipt approval​

Utility overage collections​

Check-out final utilities handoff​

Check-in to check-out handoff​

Check-out collections before refund​

Check-out ledger cleanup before refund​

Cancellation collections before void​

Notification row-click navigation​

WhatsApp per-booking messaging​

Bot reasoning (audit)​

ChatBot settings​

Rent reduction after invoicing​

Payment notification (operator)​

Payment alert to receivables triage​

Finance debt receivables triage​

Handling a Late Payment collections​

Finance Income status drill-down​

Cash flow forecast drill-down​

Reject/revert mistaken receipts​

Month-end invoicing (fixed date)​

Bulk Hostkit invoicing​

Same-day turnover coordination​

Occupancy KPI to block hygiene handoff​

Deposit missing on Finance Deposits​

Deposit lifecycle status​

Partly collected security deposit​

Wrong tenant on a booking​

Cancel Booking vs Delete Booking​

Portfolio retirement decisions​

Provider platform Delete Booking guard​

Archived booking ledger visibility​

Archive property (building-level)​

Confirmation to check-in handoff​

Confirmation alert triage​

Portfolio segmentation by tenant category​

Dashboard Total Debt subtitle​

Pair with other Manual block hygiene guide sections

After clearing stale holds on Step 5 — Reconcile Sales and Dashboard, re-read Total Debt headline vs Vacant Units — phantom occupancy can mask real receivables.

Uncovered Debt KPI​

Pair with other Manual block hygiene guide sections

After Step 5 — Reconcile Sales and Dashboard, a high Total Debt with matching Uncovered Debt on Finance → Overview means thin deposit coverage — not phantom blocks.

Directory list refresh​

When a directory such as Bookings, Notifications, or Listings needs a refresh during this workflow, use Retry on the alert, or reload the page. Zero rows after a successful load means your filters matched nothing — widen filters or clear search.

See FAQ — Directory list refresh and Common Workflows — Directory list refresh.

Booking sidebar tab refresh​

Inside an open booking, Communication and Tickets load independently — use header Refresh (Communication) or banner Retry (Tickets). Other sidebar tabs stay usable. Whole-module list refresh is Directory list refresh.

See FAQ — Communication or Tickets won't open and Common Workflows — Booking sidebar tab refresh.

Key glossary terms​

Module documentation hubs​