Skip to main content

iCal feeds

First-time workspace setup

iCal export URLs go live after Getting Started — Recommended Setup Sequence steps 11–13 — provision calendar connections on Settings > Integrations (including Short-term iCal Max Date), link each unit on Listings → Channels, and note each listing UUID for feed URLs (Property & Unit Mapping). Complete steps 14–15 and Onboarding a New Property — Step 7 before subscribers treat exported blocks as authoritative. Guide pairing after go-live: Setup sequence after go-live (hub: API Reference — Setup sequence after go-live).

The ical-integration module exposes read-only calendar files for each Vivin listing. Short-term platforms (Airbnb, Booking.com), personal calendars, and other subscribers poll these URLs to block dates when Vivin records a booking or manual unavailability.

Unlike marketplace JSON integrations, ical-integration does not expose GET /listings. Partners subscribe to one URL per listing and receive an text/calendar (.ics) document.

Operator copy URL

Landlords copy outbound feed links from Sales → ChannelsCopy iCal on a grid row for one unit, the Airbnb / Booking.com wizard for a linked short-stay unit, or bulk Export when many URLs are needed. The URL pattern matches the API path documented below. See Sales — Channel Manager export and Settings → Integrations — iCal.

Operator surfaces (management app)

Pair with other iCal feeds sections

Copy outbound URLs from Sales → Channel Manager — per-row Copy iCal or bulk Export. Horizon cap: Settings → Integrations. Full endpoint map: iCal feeds section cross-reference.

Partners rarely paste feed URLs by hand — operators copy them from Vivin. These committed captures show where the same {listingId} UUID and /ical-integration/listings/…/iCal.ics pattern appears in the product:

SurfaceWhat you copy or configure
Sales → Channels → actions → Copy iCalOne outbound feed URL per grid row (clipboard toast)
Sales → Channels → ExportSpreadsheet column VIVIN iCal for many filtered units
Sales → Channels → Airbnb / Booking.com cellPer-unit wizard: inbound platform URL + outbound Vivin link
Settings → Integrations → Channel ManagerShort-term iCal Max Date — caps how far ahead blocks export

Per-row Copy iCal on the Channels grid:

Sales — Channels tab, actions column with Copy iCal clipboard control on each unit row

Bulk export (note the VIVIN iCal column in the Channels grid export):

Sales Channel Manager — Export menu on the Channels tab; export includes VIVIN iCal URLs per filtered row

Airbnb two-way setup (step 2 is the outbound Vivin feed operators paste on the OTA; step 3 Sync imports platform blocks). After the link exists, reopen the cell for manage — the same Sync control appears beside Copy on the stored platform iCal URL (see Sales — Airbnb and Booking.com).

Sales — Channels tab, Airbnb iCal setup modal with Integrate, outbound Vivin link, and Sync

Account-wide horizon (dates after this cutoff are blocked on short-term iCal feeds):

Account Settings — Channel Manager block with Short-term iCal Max Date and Save

Feed URL

Pair with other iCal feeds sections

listingId is the Vivin unit UUID — not marketplace externalId from Property & Unit Mapping. 404 recovery: Error Handling. Full endpoint map: iCal feeds section cross-reference.

Both path variants return the same calendar body:

PathNotes
GET /ical-integration/listings/{listingId}/iCalPrimary route
GET /ical-integration/listings/{listingId}/iCal.icsSame response; .ics suffix for clients that require it
  • listingId — Vivin listing UUID (the unit’s internal id), not your marketplace externalId. Use the value from Channels export or Listings.
  • Authentication — Public read; no Bearer header. Treat URLs as capability secrets — anyone with the link can see blocked dates.
GET /ical-integration/listings/550e8400-e29b-41d4-a716-446655440000/iCal.ics HTTP/1.1
Host: api.vivin.app

Response headers

On success:

HeaderValue
Content-Typetext/calendar
Content-Dispositionattachment; filename="calendar.ics"

The body is a standard iCalendar document with VEVENT entries for booked and blocked periods derived from Vivin availability rules.

Errors

StatusMeaning
404Listing not found or not eligible for export
5xxTransient server error — retry with backoff

JSON error bodies are only returned when the handler fails before calendar headers are set.

Retrofeed (Airbnb / Booking.com)

Pair with other iCal feeds sections

Generic subscribers receive the full block set — double-booking triage in Troubleshooting. Inbound platform URLs: Inbound platform calendars. Full endpoint map: iCal feeds section cross-reference.

When a subscriber fetches the feed, Vivin can omit blocks that originated on that same platform so short-term sites do not “re-block” their own reservations (retrofeed). Detection uses optional request headers:

HeaderRole
OriginPreferred — host matched against known Airbnb / Booking.com domains
RefererUsed when Origin is absent
User-AgentFallback when neither Origin nor Referer identify the consumer
Detected consumerFeed contents
AirbnbBlocks from other channels + Vivin manual blocks; Airbnb-originated blocks omitted
Booking.comSame pattern for Booking.com-originated blocks
Unknown / genericAll blocks included — safe default for opaque subscribers

Generic calendar apps and most PMS tools receive the full block set. Only recognised short-term hosts get the filtered retrofeed.

Horizon and operator settings

Pair with other iCal feeds sections

Short-term iCal Max Date caps forward export — Glossary — Short-term iCal Max Date. Mid-term pricing still requires Listings & Availability JSON pulls. Full endpoint map: iCal feeds section cross-reference.

How far ahead dates are exported is controlled in the management app:

  • Settings → Integrations → Short-term (Airbnb / Booking.com) ConfigurationShort-term iCal Max Date caps the forward window.
  • Apply to all listings / Apply to selected listings on each platform card propagates the cap.

If a subscriber sees availability “cut off” at a future month, verify the operator’s Short-term iCal Max Date before opening an API defect. See Settings → Integrations.

Relationship to partial JSON listings

Pair with other iCal feeds sections

iCal exports blocks only — rent and booking windows live on partial ListingDto rows in Listings & Availability. Full catalogue: Full listing feeds. Full endpoint map: iCal feeds section cross-reference.

MechanismFormatTypical consumer
iCal feed (this page)text/calendar per listing UUIDAirbnb, Booking.com, Google Calendar, legacy PMS
Partial JSONGET /{platform}-integration/listingsMid-term marketplaces, channel managers

iCal exports blocks only — not rent, fees, or booking windows. Mid-term partners should use Listings & Availability instead.

Inbound platform calendars

Pair with other iCal feeds sections

Vivin is not only an outbound feed publisher. Operators paste inbound Airbnb and Booking.com iCal URLs on Sales → Channels (and on each unit’s Channels tab in Listings). When Vivin syncs those URLs:

Effect in VivinWhat operators see
AvailabilityShort-stay blocks on the unit Calendar and Sales > Multicalendar (pink iCal blocks in Pricing/Multicalendar)
OperationsPseudo arrival or departure rows on Operations > Check-in & Check-out — often labelled Booking.com Reservation or the platform name when no mid-term tenant booking exists

Pseudo check-in/out rows help plan turnover but are not substitutes for mid-term bookings: they do not create payment plans, contracts, or tenant portal access. Use Filters → Stay type → Mid-term on the Check-in & Check-out tab for long-stay handover planning; use Short-term when reconciling channel blocks with Multicalendar or Listings calendars.

For operator workflows, see Glossary — Short-term iCal pseudo check-in/out, Managing a Check-in, and Processing a New Booking (when you need a manual mid-term record after a calendar-only import).

Troubleshooting

Pair with other iCal feeds sections

Stale blocks after cancel are usually subscriber cache — contrast with unavailability.* webhooks in Webhooks & Notifications. Manual block audit: Manual block hygiene. Full endpoint map: iCal feeds section cross-reference.

SymptomCheck
Subscriber shows double bookingsSubscriber may be using a generic client (full feed) while also importing the platform’s own calendar — confirm retrofeed headers or use platform-native sync
Dates stop at a future monthShort-term iCal Max Date in Settings
404 on a known unitListing archived, wrong UUID, or export disabled for that unit
Stale blocks after cancelSubscriber poll interval — Vivin updates immediately; external sites cache feeds on their own schedule
Pseudo rows on Operations tabExpected for inbound iCal blocks — not a defect; filter Stay type → Mid-term for long-stay handovers (Inbound platform calendars)

iCal feeds section cross-reference

Use this table when one iCal 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 calendar export URLs.

API topic / sectionPair with these docs
Operator surfaces (management app)Sales → Channel Manager, Settings → Integrations
Feed URLProperty & Unit Mapping (UUID vs externalId), Error Handling (404)
Retrofeed (Airbnb / Booking.com)Inbound platform calendars, Troubleshooting
Horizon and operator settingsGlossary — Short-term iCal Max Date, Listings & Availability
Relationship to partial JSON listingsFull listing feeds, Webhooks & Notifications (unavailability.*), Notifications — Payment overdue alertsHandling a Late Payment — Step 1 (calendar-only imports), Glossary — Credit note (payment reject/revert), Glossary — Invoiced floor (rent)

| Lockout catch-up after password recovery | Calendar sync backlog after sign-in recovery | Common Workflows — Lockout catch-up, Manual block hygiene, Settings > Integrations | | Pending manual receipt approval | Calendar-imported stays with pending receipts | Common Workflows — Pending manual receipt approval, Finance — Pending manual payments, Processing a New Booking | | Reject/revert mistaken receipts | Stale calendar rows from duplicate imports | Common Workflows — Reject/revert mistaken receipts, Manual block hygiene, Cancelling a Booking | | Portfolio segmentation by tenant category | Segment triage on calendar-imported stays | Common Workflows — Portfolio segmentation, Bookings — Other filters, Settings > Tenant categories | | Notification row-click navigation | Calendar sync 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 | iCal pseudo-rows 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 | Short-stay imports vs confirmation alerts | API Reference — Confirmation alert triage, Common Workflows — Confirmation alert triage, Processing a New Booking — Step 5b | | Finance debt receivables triage | Receivables on calendar imports | 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 | iCal stays 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 | Turnover-day collections on forecast | API Reference — Cash flow forecast drill-down, Common Workflows — Cash flow forecast drill-down, FAQ — Cash flow forecast drill-down hub |


Pair with other iCal feeds guide sections

Related below links calendar export URLs 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: iCal feeds section cross-reference. Full hub matrix: API guide cross-reference.

Setup sequence after go-live

Pair with other iCal feeds guide sections

Documentation map & escalation

Pair with other iCal feeds guide sections

Companion API guides

Pair with other iCal feeds guide sections

Companion guides share Bearer authorization or error shapes with this page — start from API Reference hub. Full pairing matrix: iCal feeds section cross-reference.

Upstream & downstream workflows

Pair with other iCal feeds guide sections

Workflow bullets pair with Common Workflows — Workflow cross-reference after partner traffic lands in the management app. Full pairing matrix: iCal feeds section cross-reference.

Operator UI & settings

Pair with other iCal feeds guide sections

Operator UI rows validate the same inventory and permissions behind integration HTTP — pair with Account Settings — Tab cross-reference. Full pairing matrix: iCal feeds section cross-reference.

Deeper concept reads

Pair with other iCal feeds guide sections

Deeper workflow reads

Pair with other iCal feeds guide sections

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: iCal feeds section cross-reference · API guide cross-reference.

Lockout catch-up after password recovery

Pair with other iCal feeds guide sections

Calendar subscribers may keep polling during operator lockout — reconcile Channels and manual-block alerts after sign-in recovery. Hub parity: Common Workflows — Lockout catch-up after password recovery. Full pairing matrix: ical-feeds-section-cross-reference · API guide cross-reference.

Pending manual receipt approval

Pair with other iCal feeds guide sections

iCal export does not surface receipt state — pair with Finance — Pending manual payments on OTA-imported stays. Hub parity: Common Workflows — Pending manual receipt approval. Full pairing matrix: ical-feeds-section-cross-reference · API guide cross-reference.

Reject/revert mistaken receipts

Pair with other iCal feeds guide sections

Phantom calendar rows from duplicate imports pair with Manual block hygiene and receipt Reject / Revert. Hub parity: Common Workflows — Reject/revert mistaken receipts. Full pairing matrix: ical-feeds-section-cross-reference · API guide cross-reference.

Portfolio segmentation by tenant category

Pair with other iCal feeds guide sections

Per-listing iCal URLs are unit-scoped — segment operator triage with Bookings — Other filters. Hub parity: Common Workflows — Portfolio segmentation by tenant category. Full pairing matrix: ical-feeds-section-cross-reference · API guide cross-reference.

Notification row-click navigation

Pair with other iCal feeds guide sections

iCal import alerts on /notifications row-click into bookings — calendar export URLs do not replace operator inbox triage. Hub parity: API Reference — Notification row-click navigation. Full pairing matrix: iCal feeds section cross-reference · API guide cross-reference.

Payment alert to receivables triage

Pair with other iCal feeds guide sections

Calendar-imported stays may show payment overdue when OTA payouts lag — row-click into Transactions before collections. Hub parity: API Reference — Payment alert to receivables triage. Full pairing matrix: iCal feeds section cross-reference · API guide cross-reference.

Confirmation alert triage

Pair with other iCal feeds guide sections

Short-term iCal pseudo-rows can trigger Upcoming alerts — distinguish from duplicate POST /bookings during Processing a New Booking — Step 1. Hub parity: API Reference — Confirmation alert triage. Full pairing matrix: iCal feeds section cross-reference · API guide cross-reference.

Finance debt receivables triage

Pair with other iCal feeds guide sections

Calendar-import receivables feed Top debtors — triage after row-click when iCal blocks overlap partner JSON imports. Hub parity: API Reference — Finance debt receivables triage. Full pairing matrix: iCal feeds section cross-reference · API guide cross-reference.

Handling a Late Payment collections

Pair with other API Reference hub sections

Partner integration reads on Ical Feeds 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: ical-feeds-section-cross-reference · API guide cross-reference.

Finance Income status drill-down

Pair with other iCal feeds guide sections

iCal-import payment lines affect Income segments — segment-click modals when calendar and API imports disagree. Hub parity: API Reference — Finance Income status drill-down. Full pairing matrix: iCal feeds section cross-reference · API guide cross-reference.

Cash flow forecast drill-down

Pair with other iCal feeds guide sections

Back-to-back iCal turnover days affect Cash flow forecast month bars — pair with Same-day turnover coordination. Hub parity: API Reference — Cash flow forecast drill-down. Full pairing matrix: iCal feeds section cross-reference · API guide cross-reference.

Key glossary terms

Pair with other iCal feeds guide sections

Glossary rows pair with Glossary cluster cross-reference and receipt-dispute workflows. Full pairing matrix: iCal feeds section cross-reference.

Module documentation hubs

Pair with other iCal feeds guide sections

Module hubs pair with Modules — Module cross-reference for screen-by-screen operator follow-up. Full pairing matrix: iCal feeds section cross-reference.

  • Bookings module — Full API bookings imported alongside iCal-only pseudo reservations (hub)
  • Audit module — Cross-portfolio manual block review (hub)
  • Analytics module — Occupancy reconciliation after iCal sync changes channel availability (hub)
  • Listings module — Property wizard, Channels tab, and unit management (hub)
  • Properties workspace — Legacy /properties URL redirects into Listings (hub)
  • Booking engine details — Rich marketplace payload editor via the Full integration pill (hub)
  • Finance module — Portfolio ledgers with payment approval and deposit settlement (hub)
  • Tenants module — Tenant directory and profile sidebars (hub)
  • Sales module — Portfolio availability and channel manager connections (hub)
  • Utilities module — Bills Included ceiling model and tenant overage charges (hub)
  • Operations module — Maintenance tickets, cash flows, and check-in/out coordination (hub)
  • Dashboard module — Post-login KPI snapshot with bell notification triage (hub)
  • Inbox module — Portfolio-wide WhatsApp workspace (hub)
  • Notifications module — Full /notifications history with search and filters (hub); Payment overdue alerts when API imports after iCal blocks 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)