Viator V2 integration enhancements: pricing, availability, and promotions

Blanca Castillo
Blanca Castillo
  • Updated

Summary

Viator V2 is a major improvement for operators using TourCMS with Viator. It brings the Viator connection closer to standard TourCMS behaviour, especially for pricing, promotions, agent-specific pricing, and temporary reservation holds.

For operators, this means Viator can receive more accurate information from TourCMS before a booking is confirmed. Prices, availability, offers, and reserve behaviour are more closely aligned with the way the product is configured in TourCMS.

Overview

The Viator integration connects Viator and TourCMS so that products can be sold through Viator while availability, pricing, and booking information are handled through TourCMS.

There are currently two API generations in use:

  • V1 — the older integration, mainly used for booking lifecycle operations.

  • V2 — the newer integration, used for richer availability, pricing, reserve, and promotion support.

Because the two versions cover different parts of the workflow, it is normal for both V1 and V2 to be active at the same time.

At a glance: V1 vs V2

 

Area

 

V1

 

V2

 

Main purpose

Booking lifecycle operations

Availability, pricing, reserve, and promotions

Format

Older XML-style request structure

Modern JSON request structure

Error handling

Errors may be returned inside a successful HTTP response

Uses standard HTTP status codes

Pricing support

More limited pricing support

Uses the standard TourCMS pricing engine

Promotions

Not supported

Supported, including special offers

Agent-specific pricing

Not applied

Supports agent buckets

Mapping Assistant support

Limited

Broader support for simple Mapping Assistant cases

 
 
 

What each version covers

V1: booking lifecycle

V1 is mainly responsible for parts of the flow that happen when a booking is created or managed.

  • Tour List — Viator retrieves the operator’s product catalogue.

  • Booking — Viator confirms a booking and receives a confirmation number.

  • Cancellation — Viator cancels an existing booking.

  • Redemption — Viator checks whether a ticket has been used. This is part of Viator’s V1 scope, but it is not covered by the TourCMS Viator integration V1.

V2: customer shopping flow

V2 powers most of the information Viator needs before the customer completes a booking.

  • Check Availability — returns availability and price for a single date.

  • Calendar — returns availability and price across a date range.

  • Reserve — temporarily holds places before the booking is confirmed.

  • Special Offers — returns promotion details for eligible offers.

ℹ️

What this means in practice: V2 improves the Viator shopping experience with live prices, discounts, and temporary holds. Confirmed booking operations may still depend on V1.

 

What V2 adds compared with V1

1. More accurate pricing through the TourCMS pricing engine

V2 uses standard TourCMS pricing logic, rather than a more limited Viator-specific path. This gives stronger support for:

  • real rates

  • per-person pricing

  • tiered pricing

  • age bands

  • net and retail prices

This is one of the biggest improvements in V2. Prices returned to Viator are now much closer to the way pricing works elsewhere in TourCMS.

2. Promotions and special offers

V1 did not support promotions. V2 introduces proper discount handling for Viator.

With V2, TourCMS can:

  • expose a dedicated Special Offers operation,

  • apply active discounts in Availability, Calendar, and Reserve,

  • show both the original and discounted price,

  • send promotion updates to Viator when operators change them.

This means Viator can display offers configured in TourCMS, provided they meet Viator and TourCMS eligibility rules. For more information, visit the article Managing Promotions in TourCMS.

3. Agent-specific pricing with agent buckets

V2 respects the pricing rules configured for the Viator agent. If an agent has a dedicated pricing or promotion bucket in TourCMS, V2 applies that at the rate level before net price or commission is calculated.

This helps keep Viator pricing aligned with the operator’s TourCMS setup. For more information, please visit the article Implementing Price by Agent.

4. Broader Mapping Assistant support

Mapping Assistant allows TourCMS to derive bookable variants from the departure structure instead of relying only on a manually set mapping code.

V1 support here was limited, mainly to partial mapping cases. V2 supports simpler Mapping Assistant scenarios more directly, making the integration more flexible for tours with structured departure variations.

For more information, please visit the article Understanding the Mapping Assistant for tours.

5. Powered by the standard TourCMS API stack

V2 availability and pricing are driven by the same TourCMS pricing and rates stack used elsewhere in the platform.

This has several benefits:

  • Consistency — Viator should receive the same price and availability logic used elsewhere in TourCMS.

  • Future improvements — pricing improvements in TourCMS can flow through to Viator automatically.

  • Clearer diagnosis — if there is a pricing issue, the cause may be related to TourCMS configuration rather than the Viator connection itself.

Practical impact for operators

  • Better pricing accuracy on Viator, especially for age bands, tiered rates, and agent-specific pricing.

  • Promotion support through TourCMS, so discounts can be reflected on Viator when configured correctly.

  • Reserve support, which allows temporary holds before booking confirmation.

  • More consistent results between what is configured in TourCMS and what Viator displays.

FAQS

Does V2 replace V1 completely?

No. V2 adds availability, pricing, reserve, and promotions, but the booking lifecycle still relies on V1 operations for some parts of the flow.

Why is a promotion visible in TourCMS but not on Viator?

The most common reasons are that the promotion is not active, the requested departure date or time is outside the valid range, or the mapping does not match the tour or option that Viator is requesting.

Why does a Viator pricing issue sometimes turn out to be a TourCMS configuration issue?

Because V2 uses the TourCMS pricing engine. If the pricing setup in TourCMS is incorrect, the same issue can appear on Viator.

What should operators check before raising a Viator pricing or promotion issue?

Check that the TourCMS product, departure, rate, agent bucket, mapping, and promotion settings are correct and active for the date and time Viator is requesting.