Where do I find it?
CONFIGURATION > SYSTEM & SETUP > Viator
What does it mean?
Viator (a Tripadvisor company) is one of the largest online travel agencies (OTAs) for tours, activities, and experiences. They contract directly with suppliers for the products they sell on http://Viator.com and their other websites.
Why connect TourCMS with Viator?
The TourCMS–Viator integration lets you:
Keep availability and pricing in sync between TourCMS and Viator.
Receive bookings automatically into TourCMS with the correct product, date, time, option, and rate type.
Control tickets / barcodes from TourCMS, so Viator can use your own codes instead of generating separate ones.
Reduce manual work in the Viator extranet by using batch and real‑time pricing & availability over API (where enabled).
Some important scope notes:
Tour descriptions, images, prices, and contract terms are not fully handled by the Viator API. Commercial terms and content are primarily managed on the Viator side and are not automatically maintained via TourCMS.
TourCMS works with Viator using departures (in TourCMS), not freesale or hotel product types.
If you are not currently a Viator supplier, you must first apply to Viator (for example via Viator’s new supplier form/survey) and, when asked for the reservation system, enter TourCMS. Viator will review your submission and contact you if they are interested in adding your offerings.
This article gives you a high-level introduction and then points you to the detailed guides for each part of the integration.
What should I do?
Use this checklist as your end‑to‑end guide; each step links to a more detailed article.
Before you start
Make sure you have a commercial agreement with Viator (or are in the process of becoming a Viator supplier).
Set up your products on the Viator Supplier extranet (product content, schedules & prices, tickets, etc.).
Decide which TourCMS channel you want Viator bookings to route through (this affects the tour list, pricing, and how bookings are received).
If you are unsure about any of these points, contact our team here and we can review your setup.
Step‑by‑step checklist
-
Connect your Viator supplier to TourCMS (contract + API credentials)
Once you have a contract with Viator, you must add your Viator Supplier ID and API key in TourCMS and select TourCMS as the reservation system in Viator.
👉 The main steps are described in:Viator mapping (article) (section “What should I do?”)
-
Configure mapping codes in TourCMS (Operations / Suppliers)
Add the appropriate Viator mapping code for each TourCMS product under PRODUCTS > TOURS > SETUP > OPERATIONS / SUPPLIERS.
👉 Read:Viator partial mapping: Support for Complex Departure Codes (for advanced/partial mapping)
Align schedules, options and tickets on the Viator portal
In Viator you must manually configure Schedules & prices and Tickets to match your TourCMS setup (departures, options, supplier notes, rate types, and ticket logic).
👉 Detailed in: Viator mapping (article)Enable batch & real‑time pricing (where applicable)
If your account is enabled for Viator Pricing over API, TourCMS can push prices automatically to Viator, reducing manual price maintenance.
👉 Read: Viator Batch and Real Time PricingTest, monitor and troubleshoot
Use our tools and troubleshooting guides (Log Searcher, QR code handling, mapping checks, etc.) to validate that bookings flow correctly between Viator, TourCMS, and Palisis.
👉 See the Related articles section below.
How the integration behaves day‑to‑day
Pickups
Viator currently does not send the exact time of the selected hotel pickup via API.
Because of this, TourCMS must treat pickups from Viator as a pickup request, not as a pickup already mapped to a specific route & time.
If you only have a small number of hotel pickup locations, you can instead use Viator tour grades:
Configure one tour grade per pickup point in Viator.
Each pickup point (grade) can then have its own pickup time.
This approach is usually only practical if you have around five or fewer pickup locations.
Cancellations
In most cases where Viator cancels a booking, it will be automatically cancelled in TourCMS, and TourCMS will email/SMS any staff configured to receive booking cancellations.
In some edge cases, Viator customer service staff may still choose to send cancellations separately, and some legacy Viator systems cannot send cancellations via API. In these situations, Viator will send a cancellation email which must be handled manually in TourCMS.
A booking cancelled in TourCMS does NOT automatically cancel in Viator.
To cancel for the customer and trigger the appropriate refund, you must contact Viator customer services.
Adding & removing dates
Viator checks periodically (for example, around every 12 hours) for newly created or newly opened dates and will bring those on‑sale automatically once detected.
When you close a date/time in TourCMS, it is taken immediately off‑sale on Viator (subject to API response), so closing in TourCMS is the quickest way to stop sales.
Viator‑only tours
Tours set to Private in TourCMS can still be mapped and sold on Viator just like any other tour.
This means you can have a tour that is available on Viator but not exposed via the public TourCMS API.
Because of this, you cannot switch a tour off on Viator simply by setting it to Private in TourCMS; you must update the mapping or contact Viator to remove or change the mapping.
Troubleshooting and diagnostics
When something doesn’t look right with Viator bookings, prices, or tickets, these are the most relevant resources:
Reading the raw Viator API traffic (Book, Cancel, Avail, etc.)
You can see the XML Viator sent on a specific booking via the Audit trail in that booking in TourCMS.
Product mapping issues (products not shown, wrong times/options, missing languages or rates)
👉 Viator mapping (article)
👉 Viator partial mapping: Support for Complex Departure CodesPricing not updating / currency or configuration errors
👉 Viator Batch and Real Time PricingVoucher / QR code behaviour for Viator and other OTAs
👉 Redeeming OTA QR codes with Palisis
If you still cannot resolve the issue after going through the relevant guide, contact Support with:
TourCMS Account ID and Tour ID
The Viator booking reference
Screenshots from TourCMS and the Viator portal (especially Schedules & prices / Product connection / Tickets)
Any error codes shown in Log Searcher or Viator.
Frequently asked questions (FAQs)
➕ Do I have to configure my products in Viator before mapping them from TourCMS?
Yes. Products must be fully created and configured in the Viator extranet (Schedules & prices, Tickets, etc.) before you connect them to existing TourCMS products using the mapping code and Product connection tab in Viator.
➕ Can I map several TourCMS products to a single product on Viator?
Yes. You can create multiple Options in a single
Viator product
(for example: Málaga, Seville, Granada) and map each option to a
different TourCMS product.
👉 Details:
Viator mapping
➕ What if my internal system uses unique departure codes like “EN1300” or “EN1700”?
Use Viator Partial Mapping, which allows TourCMS to perform a
partial match on your departure codes. This is ideal when all codes
for a given language/time pattern share a common prefix.
👉 Read:
Viator partial mapping
➕ Why do some departures still appear on Viator after I removed them from TourCMS?
Viator does not automatically remove departures when you change them in TourCMS.
You must manually delete outdated times under Schedules & prices in the Viator portal.
👉 Covered in:
Viator mapping
➕ Where do Viator prices come from when using batch & real‑time pricing?
When Viator Batch Pricing is enabled, Viator calls a batch pricing API
to cache up to 365 days of prices from TourCMS, and also uses
real‑time availability & pricing requests. If real‑time calls fail,
Viator can fall back to the batch data.
👉 More detail:
Viator batch and real time pricing