Debugging Viator API Integration: iCal Sync, Manual Availability Blocking, and Bókun Disconnection

When a third-party booking platform claims to offer API integration but doesn't actually expose the endpoints you need, you're forced to pivot quickly. This post walks through the technical troubleshooting we did on the Viator integration for the Queen of San Diego yacht charter product (SKU: 5653407P1), including why we had to fall back to manual calendar management and how to properly disconnect from intermediary systems like Bókun.

The Problem: Viator's "API Integration" Isn't What It Seemed

After submitting integration requests to Viator's API support (ticket t-ad4b92d7), we received a boilerplate response from their integration team recommending certified channel manager partners. The critical gap: Viator does not expose a self-serve iCal feed or webhooks for direct inventory synchronization. Their calendar sync mechanism requires going through their Account Settings dashboard and connecting a "certified connectivity partner"—all of which are paid channel managers (like Bókun).

This created a hard constraint: we'd already ruled out paid channel management systems due to cost structure. The iCal approach we'd hoped to implement (polling a Viator-hosted calendar feed from our own backend) simply doesn't exist as an option for suppliers.

Technical Details: How We Validated This and What We Did

Step 1: Confirmed Viator's Architecture Limits

We accessed the support thread via IMAP to review James Jimenez's full technical response from Viator. The response confirmed that their connectivity model is: Supplier → Certified Partner Dashboard → Viator API. There is no direct supplier-to-Viator iCal export or webhook endpoint.

This meant our initial architecture—which was to:

  • Export a Google Calendar iCal feed from our booking system
  • Have Viator poll that feed periodically for availability updates
  • Keep inventory in sync without manual intervention

…would not work because Viator's system doesn't support pulling from arbitrary iCal URLs. The sync only works in the opposite direction: from Viator's dashboard through a partner integration.

Step 2: Manual Availability Blocking (Interim Solution)

While we determine the long-term integration strategy, we needed to immediately block May 30 (Saturday) on the Viator product listing to prevent double-booking.

Process:

  1. Navigate to supplier.viator.com and authenticate with operator credentials
  2. Locate the product: 5653407P1 (Private Yacht Charters on Jada The Queen of San Diego)
  3. Click the product name to open the product detail view
  4. Navigate to the Availability or Manage Availability tab (layout varies based on Viator's current dashboard iteration)
  5. Locate May 30 on the calendar grid view
  6. Click the date cell; a state selector should appear with options: Available, Blocked, Closed
  7. Select Blocked and confirm the save

Important caveat: If the date selector only shows time slots rather than day-level blocking, you must set traveler capacity to 0 for all time slots on that day. This prevents any bookings without requiring a bulk "unavailable" state change.

The dashboard may display "Availability updated automatically" after changes, but this message is misleading—it reflects whatever iCal sync was last active (in this case, a Google Calendar feed). Viator's polling interval is not documented, so manual changes may take 10–30 minutes to propagate.

Infrastructure: Disconnecting from Bókun

We discovered that the product was previously connected to Bókun as a channel manager. This created a secondary sync that could conflict with our Viator calendar management. Disconnecting was necessary to avoid conflicting availability states.

Steps to disconnect Bókun:

  1. In the Viator supplier dashboard, navigate to Account Settings or Connectivity tab
  2. Locate the Connected Channels or Product Connections section
  3. Find the row showing Bókun with status Connected
  4. Click the Edit button (typically top-right of the connection card)
  5. Look for a Remove, Disconnect, or Delete Connection button
  6. Confirm the removal when prompted

After disconnection, Viator stops receiving inventory updates from Bókun's system. Any future syncs must come from a different source. Viator will likely show the product as needing a new connectivity partner, but it will not auto-sync availability—which is actually safer during this transition period.

Key Architectural Decisions

Why We Rejected the "Use a Certified Partner" Path (For Now)

Viator's recommendation to use a certified partner like Bókun, Channel.io, or similar systems comes with cost: typically a percentage of booking value (4–8%) or monthly fees. These fees compound across multiple channels (Airbnb Experiences, GetYourGuide, etc.), eroding margins on already-thin charter bookings.

The decision was to prove whether an undocumented iCal feed exists (some Viator operators have reported finding one through support escalation) before committing to a paid intermediary.

Manual Blocking as a Temporary Measure

Manual date blocking doesn't scale and introduces human error risk. However, for a single product with limited blackout dates, the operational overhead is acceptable for a 1–2 week window while we finalize the integration strategy.

Next Steps: Follow-Up With Viator

A more targeted follow-up email to Viator support should ask:

"Does Viator expose an iCal URL or RSS feed of confirmed bookings that suppliers can poll from their own systems? This would allow us to sync availability programmatically without using a channel manager intermediary."

If Viator confirms no such endpoint exists, the fallback is FareHarbor—the only major certified partner that charges guests (not operators) and offers better margin retention. That decision can wait for Viator's response.

Monitoring and Validation

After May 30 is blocked, we should verify by:

  • Checking the Viator product page publicly to confirm the date shows unavailable
  • Attempting a test booking on May 29 and May 31 to ensure those dates remain available
  • Checking Viator's booking backend (if accessible) to confirm no pending reservations on May 30

This post captures the technical reality of third-party integrations: vendor claims don't always match capabilities. The pragmatic path forward combines temporary manual workarounds with strategic follow-up questions, positioning us to make a better long-term decision once we have complete information.