Viator Deprecated API

This section lists endpoints that are no longer recommended for new or updated integrations. These endpoints remain available for existing connections only, will stop receiving new features or behavior improvements, and will eventually be retired once an end-of-life procedure is agreed with Viator (see the [v2 migration guide](#tag/v2-migration-guide) for details). For all new development, use the current, fully supported endpoints documented in the main sections of this guide. ### REST v1.0 endpoints — deprecated - [Real-time Availability API](#operation/availability) — superseded by the Availability Check API and Reserve API - [Batch Availability API](#operation/batchAvailability) — superseded by the Calendar API - [Batch Pricing API](#operation/batchPricing) — superseded by the Calendar API - [Availability Notifications (2) API](#operation/availabilityNotification2) — superseded by the Event Notifications API ### Data format: XML — deprecated XML (`application/xml`) requests and responses are deprecated. **New integrations must use JSON (`application/json`) exclusively.** XML remains available for existing v1.0 integrations only and will receive no new features or behavior improvements. All v2.0 endpoints are JSON-only. XML will eventually be retired once an end-of-life procedure is agreed with Viator. ### SOAP interface (WSDL/XSD) — deprecated The legacy SOAP interface definitions are deprecated. SOAP is no longer supported for new or updated integrations; use the REST endpoints documented in the main sections of this guide instead. The WSDL and XSD files are kept for historical reference only: - [Reseller-to-supplier WSDL](resources/api_specs/wsdl/tgds-reseller-to-supplier.wsdl) - [Supplier-to-reseller WSDL](resources/api_specs/wsdl/tgds-supplier-to-reseller.wsdl) - [API XSD](resources/api_specs/xsd/api.xsd)

Operations 4

POST /availability Real-time Availability #
POST /batch-availability Batch Availability #
POST /batch-pricing Batch Pricing #
POST /availabilitynotification2 Availability Notification 2 #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/viator-deprecated-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

viator-deprecated-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Viator Reservation System Deprecated API
  x-logo:
    url: resources/img/sapi/Viator_Logo_RGB_Green.png
    altText: Viator
    href: https://www.viator.com
  contact:
    name: API Integrations Support
    email: supplierAPI@viator.com
  version: ''
  description: "<style>\n/* ----------------------------------------------------------------------\n   Stripe-inspired look & feel for the Viator Reservation System API docs.\n   Layout (3-panel nav/content/code) is provided by Redoc; this layer adds\n   typography, spacing and accent polish using Viator brand colors.\n   Accent teal #00876A · dark code rail #0a2a2e · light sidebar #f6f8f8\n   Type matches Stripe's scale (16px/400 body, weight-500 headings) and\n   uses Stripe's own font stack (Söhne -> system fallback) set in redocly.yaml.\n   ---------------------------------------------------------------------- */\n\n/* Logo: Viator wordmark, top-left of the sidebar (Stripe-style placement) */\nimg[alt=\"Viator\"] {\n    height: 30px;\n    width: auto;\n    max-width: 80%;\n    margin: 16px 0 10px 16px;\n    display: block;\n}\n\n/* Smoother text rendering, closer to Stripe's docs */\nbody,\n.redoc-wrap,\n[data-component-id] {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n    text-rendering: optimizeLegibility;\n}\n\n/* Headings: match Stripe's type scale (weight 500, generous sizes, tight\n   tracking). Scoped to .api-content with !important to win over Redoc's\n   built-in heading sizes. */\n.api-content h1, .api-content h2, .api-content h3,\n.api-content h4, .api-content h5 {\n    font-weight: 500 !important;\n}\n.api-content h1 {\n    font-size: 38px !important;\n    line-height: 48px !important;\n    letter-spacing: -0.02em !important;\n}\n.api-content h2 {\n    font-size: 28px !important;\n    line-height: 36px !important;\n    letter-spacing: -0.018em !important;\n}\n.api-content h3 {\n    font-size: 20px !important;\n    line-height: 28px !important;\n    letter-spacing: -0.012em !important;\n}\n.api-content h4, .api-content h5 {\n    font-weight: 600 !important;\n    letter-spacing: -0.006em !important;\n}\n\n/* Links: teal with a subtle hover underline */\na, a:visited {\n    color: #00876A;\n    text-decoration: none;\n}\na:hover {\n    color: #00694f;\n    text-decoration: underline;\n}\n\n/* Sidebar: light, airy, Stripe-like with a thin divider */\n.menu-content {\n    border-right: 1px solid #e3eae9;\n}\n.menu-content label[role=\"menuitem\"]:hover,\n.menu-content li[role=\"menuitem\"]:hover {\n    background-color: #eef3f2;\n}\n\n/* Active nav item: teal accent bar */\n.menu-content label.active,\n.menu-content li.active > label {\n    color: #00876A;\n    box-shadow: inset 3px 0 0 0 #00876A;\n}\n\n/* Search box: rounded, soft border to match Stripe's input style */\n[role=\"search\"] input,\n.search-input {\n    border: 1px solid #d7e0df !important;\n    border-radius: 8px !important;\n}\n\n/* Center and add border to all images (preserved from original) */\np img {\n    border-radius: 4px;\n    border: 1px solid #ddd;\n    margin-left: auto;\n    margin-right: auto;\n    display: block;\n    margin-bottom: 28px;\n}\n</style>\n\n# Introduction\nThese API specifications detail the technical requirements for integrating operator reservation systems with Viator. This guide is intended for developers and technical teams to ensure a standardized implementation and reliable data exchange.\n\n# Prerequisites\nAccess is restricted to operators registered with Viator and their authorized reservation system providers. Integration workflows may only proceed following technical evaluation and formal approval by Viator.\n\nFurthermore, development **may only commence** if Viator registered operators are using the reservation system. For operator onboarding details, please refer to the [supplier sign-up page](https://supplier.viator.com/sign-up-info).\n\n# Getting Started\nReview the following core components to begin your implementation:\n\n- [What’s new](#tag/What's-new)\n- [Connectivity overview](#tag/Connectivity-overview)\n- [API overview](#tag/API-overview)\n- [Implementation approach](#tag/Implementation-approach)\n- [Frequently asked questions](#tag/FAQs)\n\nAdherence to these specifications is crucial for successful integration, guaranteeing optimal performance, data integrity, and a superior user experience for both operators and Viator customers. \n\nIf at any point you need clarification or help, please don’t hesitate to [contact us here](#tag/Contact-us).\n"
servers:
- url: https://your-reservation-system.example.com
  description: Placeholder for the reservation system's own server — replace with your actual domain. Viator calls this host for all operations except event and special offer notifications, which are sent by the reservation system to Viator instead (see below).
tags:
- name: Deprecated
  description: 'This section lists endpoints that are no longer recommended for new or updated integrations. These endpoints remain available for existing connections only, will stop receiving new features or behavior improvements, and will eventually be retired once an end-of-life procedure is agreed with Viator (see the [v2 migration guide](#tag/v2-migration-guide) for details).


    For all new development, use the current, fully supported endpoints documented in the main sections of this guide.


    ### REST v1.0 endpoints — deprecated


    - [Real-time Availability API](#operation/availability) — superseded by the Availability Check API and Reserve API

    - [Batch Availability API](#operation/batchAvailability) — superseded by the Calendar API

    - [Batch Pricing API](#operation/batchPricing) — superseded by the Calendar API

    - [Availability Notifications (2) API](#operation/availabilityNotification2) — superseded by the Event Notifications API


    ### Data format: XML — deprecated


    XML (`application/xml`) requests and responses are deprecated. **New integrations must use JSON (`application/json`) exclusively.** XML remains available for existing v1.0 integrations only and will receive no new features or behavior improvements. All v2.0 endpoints are JSON-only. XML will eventually be retired once an end-of-life procedure is agreed with Viator.


    ### SOAP interface (WSDL/XSD) — deprecated


    The legacy SOAP interface definitions are deprecated. SOAP is no longer supported for new or updated integrations; use the REST endpoints documented in the main sections of this guide instead.


    The WSDL and XSD files are kept for historical reference only:


    - [Reseller-to-supplier WSDL](resources/api_specs/wsdl/tgds-reseller-to-supplier.wsdl)

    - [Supplier-to-reseller WSDL](resources/api_specs/wsdl/tgds-supplier-to-reseller.wsdl)

    - [API XSD](resources/api_specs/xsd/api.xsd)

    '
paths:
  /availability:
    post:
      summary: Real-time Availability
      operationId: availability
      tags:
      - Deprecated
      description: "The Real-time Availability API (v1.0) enables Viator to instantly verify the capacity and availability of a product or product option for a specified number of passengers. \n\nThis versatile API allows reservation systems to provide tour availability data for single dates or a range of dates. Viator then uses this information to either allow (if available) or prevent (if unavailable) customer bookings.\n\nWhen used for a **single date**, the API's main purpose is to confirm real-time availability during a customer's booking process for a specific date and passenger count. If the reservation system confirms availability, the customer can complete their booking. This direct check with the reservation system is expected to decrease booking rejections and increase last-minute reservations.\n\nTo reduce latency, Viator also conducts periodic single-date availability checks, though these do not include traveler mix information as they are not tied to user activity. \n\nIn contrast, when the Availability API is used with a **date range**, its aim is to determine future availability. This data is stored within Viator's systems, allowing for caching of availability information. This cached data is crucial in situations where the reservation system cannot be accessed for real-time availability checks (e.g., due to a communication line disruption).\n\n### Supported customer booking flows\nAs the customer progresses through their workflow, real-time availability requests are made at three distinct stages. Below lists key information in requests and responses:\n1. **Product and Date Selection**: When the traveler chooses a product, a specific travel date, and their desired traveler mix.\n  - Requests include: `StartDate`, `SupplierProductCode`, and `TravellerMix`.\n  - Response returns: All available `TourOptions` for customer selection.\n2. **Product option selection and adding to Cart**: After the traveler selects a product option and adds the product to their shopping cart.\n  - Requests include: `StartDate`, `SupplierProductCode`, `TourOptions` and `TravellerMix`.\n  - Response returns: Availability status for the requested product variant defined by `SupplierProductCode` and `TourOptions` and `TravellerMix`.  \n3. **Checkout**: When the traveler proceeds to the checkout process.\n  - Requests include: `StartDate`, `SupplierProductCode`, `TravellerMix`, `TourOptions`, and `AvailabilityHold`.\n  - Response returns: Availability and inventory hold status for the requested product variant defined by `SupplierProductCode` and `TourOptions` and `TravellerMix`.\n"
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - type: object
                properties:
                  requestType:
                    type: string
                    description: '`AvailabilityRequest`'
              - type: object
                properties:
                  data:
                    $ref: '#/components/schemas/AvailabilityRequest'
                required:
                - requestType
                - data
            examples:
              workflow1:
                $ref: '#/components/examples/availabilityRequestWorkflow1Json'
              workflow2:
                $ref: '#/components/examples/availabilityRequestWorkflow2Json'
              workflow3:
                $ref: '#/components/examples/availabilityRequestWorkflow3Json'
              singleDate:
                $ref: '#/components/examples/availabilitySingleDateRequestJson'
              dateRange:
                $ref: '#/components/examples/availabilityDateRangeRequestJson'
          application/xml:
            schema:
              allOf:
              - type: object
                properties:
                  AvailabilityRequest:
                    $ref: '#/components/schemas/AvailabilityRequest'
                required:
                - AvailabilityRequest
            examples:
              workflow1:
                $ref: '#/components/examples/availabilityRequestWorkflow1Xml'
              workflow2:
                $ref: '#/components/examples/availabilityRequestWorkflow2Xml'
              workflow3:
                $ref: '#/components/examples/availabilityRequestWorkflow3Xml'
              singleDate:
                $ref: '#/components/examples/availabilitySingleDateRequestXml'
              dateRange:
                $ref: '#/components/examples/availabilityDateRangeRequestXml'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                - type: object
                  properties:
                    responseType:
                      type: string
                      description: '`AvailabilityResponse`'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/AvailabilityResponse'
                  required:
                  - responseType
                  - data
              examples:
                singleDate:
                  $ref: '#/components/examples/availabilitySingleDateResponseJson'
                dateRange:
                  $ref: '#/components/examples/availabilityDateRangeResponseJson'
            application/xml:
              schema:
                allOf:
                - type: object
                  properties:
                    AvailabilityResponse:
                      $ref: '#/components/schemas/AvailabilityResponse'
                  required:
                  - AvailabilityResponse
              examples:
                singleDate:
                  $ref: '#/components/examples/availabilitySingleDateResponseXml'
                dateRange:
                  $ref: '#/components/examples/availabilityDateRangeResponseXml'
  /batch-availability:
    post:
      summary: Batch Availability
      operationId: batchAvailability
      tags:
      - Deprecated
      description: "The Batch Availability API (v1.0) enables Viator to efficiently determine capacity/availability for a future date range using a pull-based method. \n\nReservation systems share availability/capacity of all operator products and associated options across a specified future date range through this API. Upon receiving this information, Viator's systems are updated to either permit (available) or prohibit (unavailable) bookings. \n\nThis proactive approach provides operators control over future bookings and helps drive customers to remaining available dates according to the capacity returned by the reservation system.\n"
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - type: object
                properties:
                  requestType:
                    type: string
                    description: '`BatchAvailabilityRequest`'
              - type: object
                properties:
                  data:
                    $ref: '#/components/schemas/BatchAvailabilityRequest'
                required:
                - requestType
                - data
            examples:
              batchAvailabilityRequest:
                $ref: '#/components/examples/batchAvailabilityRequestJson'
          application/xml:
            schema:
              allOf:
              - type: object
                properties:
                  BatchAvailabilityRequest:
                    $ref: '#/components/schemas/BatchAvailabilityRequest'
                required:
                - BatchAvailabilityRequest
            examples:
              batchAvailabilityRequest:
                $ref: '#/components/examples/batchAvailabilityRequestXml'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                - type: object
                  properties:
                    responseType:
                      type: string
                      description: '`BatchAvailabilityResponse`'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/BatchAvailabilityResponse'
                  required:
                  - responseType
                  - data
              examples:
                singleDate:
                  $ref: '#/components/examples/batchAvailabilitySingleDateResponseJson'
                dateRange:
                  $ref: '#/components/examples/batchAvailabilityDateRangeResponseJson'
            application/xml:
              schema:
                allOf:
                - type: object
                  properties:
                    BatchAvailabilityResponse:
                      $ref: '#/components/schemas/BatchAvailabilityResponse'
                  required:
                  - BatchAvailabilityResponse
              examples:
                singleDate:
                  $ref: '#/components/examples/batchAvailabilitySingleDateResponseXml'
                dateRange:
                  $ref: '#/components/examples/batchAvailabilityDateRangeResponseXml'
  /batch-pricing:
    post:
      summary: Batch Pricing
      operationId: batchPricing
      tags:
      - Deprecated
      description: '**Note**: The Batch Pricing API must only be implemented after agreement with Viator.  If you wish to use this API, inform your Viator API account manager before any development begins.


        The Batch Pricing API (v1.0) enables reservation systems to provide Viator with bulk pricing information for operators'' products.


        For guidance on mapping Viator Pricing Rates (Age Bands) to external pricing rates, refer to the [Pricing rates mapping](#tag/API-configurations/Pricing-rates-mapping).

        '
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - type: object
                properties:
                  requestType:
                    type: string
                    description: '`BatchPricingRequest`'
              - type: object
                properties:
                  data:
                    $ref: '#/components/schemas/BatchPricingRequest'
                required:
                - requestType
                - data
            examples:
              batchPricingRequest:
                $ref: '#/components/examples/batchPricingRequestJson'
          application/xml:
            schema:
              allOf:
              - type: object
                properties:
                  BatchPricingRequest:
                    $ref: '#/components/schemas/BatchPricingRequest'
                required:
                - BatchPricingRequest
            examples:
              batchPricingRequest:
                $ref: '#/components/examples/batchPricingRequestXml'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                - type: object
                  properties:
                    responseType:
                      type: string
                      description: '`BatchPricingResponse`'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/BatchPricingResponse'
                  required:
                  - responseType
                  - data
              examples:
                batchPricingResponse:
                  $ref: '#/components/examples/batchPricingResponseJson'
            application/xml:
              schema:
                allOf:
                - type: object
                  properties:
                    BatchPricingResponse:
                      $ref: '#/components/schemas/BatchPricingResponse'
                  required:
                  - BatchPricingResponse
              examples:
                batchPricingResponse:
                  $ref: '#/components/examples/batchPricingResponseXml'
  /availabilitynotification2:
    post:
      summary: Availability Notification 2
      operationId: availabilityNotification2
      tags:
      - Deprecated
      description: "The Availability Notification 2 API (v1.0) provides reservation systems with the ability to notify Viator when changes to the availability of products occur. \n\nThis allows Viator to immediately either permit or prohibit bookings on dates that have either been made available or unavailable respectively.\n"
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - type: object
                properties:
                  requestType:
                    type: string
                    description: '`AvailabilityNotification2Request`'
              - type: object
                properties:
                  data:
                    $ref: '#/components/schemas/AvailabilityNotification2Request'
                required:
                - requestType
                - data
            examples:
              availabilityNotification:
                $ref: '#/components/examples/availabilityNotification2RequestJson'
          application/xml:
            schema:
              allOf:
              - type: object
                properties:
                  AvailabilityNotification2Request:
                    $ref: '#/components/schemas/AvailabilityNotification2Request'
                required:
                - AvailabilityNotification2Request
            examples:
              availabilityNotification:
                $ref: '#/components/examples/availabilityNotification2RequestXml'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                - type: object
                  properties:
                    responseType:
                      type: string
                      description: '`AvailabilityNotification2Response`'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/AvailabilityNotification2Response'
                  required:
                  - responseType
                  - data
              examples:
                availabilityNotification2ResponseRequest:
                  $ref: '#/components/examples/availabilityNotification2ResponseJson'
            application/xml:
              schema:
                allOf:
                - type: object
                  properties:
                    AvailabilityNotification2Response:
                      $ref: '#/components/schemas/AvailabilityNotification2Response'
                  required:
                  - AvailabilityNotification2Response
              examples:
                availabilityNotification2ResponseRequest:
                  $ref: '#/components/examples/availabilityNotification2ResponseXml'
components:
  examples:
    batchPricingResponseXml:
      value: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<BatchPricingResponse xmlns=\"http://toursgds.com/api/01\">\n  <ApiKey>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</ApiKey>\n  <ResellerId>1000</ResellerId>\n  <SupplierId>1004</SupplierId>\n  <ExternalReference>10051374722992617</ExternalReference>\n  <Timestamp>2019-06-26T20:40:55.375Z</Timestamp>\n  <RequestStatus>\n    <Status>SUCCESS</Status>\n  </RequestStatus>\n  <CurrencyCode>USD</CurrencyCode>\n  <BatchTourPricing>\n    <Date>2020-06-20</Date>\n    <SupplierProductCode>BLUE</SupplierProductCode>\n    <TourOptions>\n      <SupplierOptionCode>BASIC</SupplierOptionCode>\n      <SupplierOptionName>Basic Shared Accommodation</SupplierOptionName>\n      <TourDepartureTime>17:00:00</TourDepartureTime>\n    </TourOptions>\n    <BatchPrice>\n      <Item>\n        <RetailPrice>10.0</RetailPrice>\n        <AgeBand>Infant</AgeBand>\n      </Item>\n      <Item>\n        <RetailPrice>10.0</RetailPrice>\n        <AgeBand>Child</AgeBand>\n      </Item>\n      <Item>\n        <RetailPrice>10.0</RetailPrice>\n        <AgeBand>Youth</AgeBand>\n      </Item>\n      <Item>\n        <RetailPrice>10.0</RetailPrice>\n        <AgeBand>Adult</AgeBand>\n      </Item>\n      <Item>\n        <RetailPrice>10.0</RetailPrice>\n        <AgeBand>Senior</AgeBand>\n      </Item>\n    </BatchPrice>\n    <AvailabilityStatus>\n      <Status>AVAILABLE</Status>\n    </AvailabilityStatus>\n  </BatchTourPricing>\n  <BatchTourPricing>\n    <Date>2020-06-21</Date>\n    <SupplierProductCode>BLUE</SupplierProductCode>\n    <TourOptions>\n      <SupplierOptionCode>BASIC</SupplierOptionCode>\n      <SupplierOptionName>Basic Shared Accommodation</SupplierOptionName>\n      <TourDepartureTime>17:00:00</TourDepartureTime>\n    </TourOptions>\n    <BatchPrice>\n      <Item>\n        <RetailPrice>45.99</RetailPrice>\n        <AgeBand>Infant</AgeBand>\n      </Item>\n      <Item>\n        <RetailPrice>45.99</RetailPrice>\n        <AgeBand>Child</AgeBand>\n      </Item>\n      <Item>\n        <RetailPrice>45.99</RetailPrice>\n        <AgeBand>Youth</AgeBand>\n      </Item>\n      <Item>\n        <RetailPrice>45.99</RetailPrice>\n        <AgeBand>Adult</AgeBand>\n      </Item>\n      <Item>\n        <RetailPrice>45.99</RetailPrice>\n        <AgeBand>Senior</AgeBand>\n      </Item>\n    </BatchPrice>\n    <AvailabilityStatus>\n      <Status>AVAILABLE</Status>\n    </AvailabilityStatus>\n  </BatchTourPricing>\n  <!-- The remaining BatchTourPricing tags have been removed for the sake of brevity. -->\n</BatchPricingResponse>\n"
    batchAvailabilityDateRangeResponseJson:
      summary: Date range / single product response
      value:
        responseType: BatchAvailabilityResponse
        data:
          ApiKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
          ResellerId: '1000'
          SupplierId: 1004
          ExternalReference: '10051374722992616'
          Timestamp: '2013-07-25T13:29:52.616+10:00'
          RequestStatus:
            Status: SUCCESS
          BatchTourAvailability:
          - Date: '2014-10-30'
            TourOptions:
              SupplierOptionCode: BASIC
              SupplierOptionName: Basic Shared Accommodation
              TourDepartureTime: 09:00:00
              Option:
              - Name: Room
                Value: dualocc
            SupplierProductCode: BLUE
            AvailabilityStatus:
              Status: UNAVAILABLE
              UnavailabilityReason: SOLD_OUT
            VersionTag:
              Numeric: 5539573495734986
          - Date: '2014-10-31'
            TourOptions:
              SupplierOptionCode: BASIC
              SupplierOptionName: Basic Shared Accommodation
              TourDepartureTime: 09:00:00
              Option:
              - Name: Room
                Value: dualocc
            SupplierProductCode: BLUE
            AvailabilityStatus:
              Status: UNAVAILABLE
              UnavailabilityReason: SOLD_OUT
            VersionTag:
              Numeric: 5539573495734987
    availabilityRequestWorkflow2Xml:
      summary: Workflow stage 2 - Product option selected
      value: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<AvailabilityRequest xmlns=\"http://toursgds.com/api/01\">\n  <ApiKey>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</ApiKey>\n  <ResellerId>1000</ResellerId>\n  <SupplierId>1004</SupplierId>\n  <ExternalReference>10051374722992616</ExternalReference>\n  <Timestamp>2013-07-25T13:29:52.616+10:00</Timestamp>\n  <StartDate>2014-10-31</StartDate>\n  <SupplierProductCode>BLUE</SupplierProductCode>\n  <TourOptions>\n    <SupplierOptionCode>BASIC</SupplierOptionCode>\n    <SupplierOptionName>Basic Shared Accommodation</SupplierOptionName>\n    <TourDepartureTime>09:00:00</TourDepartureTime>\n    <Option>\n      <Name>Room</Name>\n      <Value>dualocc</Value>\n    </Option>\n  </TourOptions>\n  <TravellerMix>\n    <Adult>1</Adult>\n    <Child>1</Child>\n    <Youth>0</Youth>\n    <Infant>0</Infant>\n    <Senior>0</Senior>\n    <Total>2</Total>\n  </TravellerMix>\n</AvailabilityRequest>\n"
    availabilitySingleDateRequestXml:
      summary: Single-date request
      value: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<AvailabilityRequest xmlns=\"http://toursgds.com/api/01\">\n  <ApiKey>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</ApiKey>\n  <ResellerId>1000</ResellerId>\n  <SupplierId>1004</SupplierId>\n  <ExternalReference>10051374722992616</ExternalReference>\n  <Timestamp>2013-07-25T13:29:52.616+10:00</Timestamp>\n  <StartDate>2014-10-30</StartDate>\n  <EndDate />\n  <SupplierProductCode>BLUE</SupplierProductCode>\n  <TourOptions>\n    <SupplierOptionCode>BASIC</SupplierOptionCode>\n    <SupplierOptionName>Basic Shared Accommodation</SupplierOptionName>\n    <TourDepartureTime>09:00:00</TourDepartureTime>\n    <Option>\n      <Name>Room</Name>\n      <Value>dualocc</Value>\n    </Option>\n  </TourOptions>\n  <AvailabilityHold>\n    <Expiry>PT300S</Expiry>\n  </AvailabilityHold>\n  <TravellerMix>\n    <Adult>1</Adult>\n    <Child>1</Child>\n    <Youth>0</Youth>\n    <Infant>1</Infant>\n    <Senior>0</Senior>\n    <Total>3</Total>\n  </TravellerMix>\n</AvailabilityRequest>\n"
    availabilitySingleDateResponseJson:
      summary: Single-date response
      value:
        responseType: AvailabilityResponse
        data:
          ApiKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
          ResellerId: '1000'
          SupplierId: 1004
          ExternalReference: '10051374722992616'
          Timestamp: '2013-07-25T13:29:52.616+10:00'
          RequestStatus:
            Status: SUCCESS
          SupplierProductCode: BLUE
          TourAvailability:
          - Date: '2014-10-31'
            BookingCutoff:
              ProductDateTime: '2014-10-29T12:13:14'
            TourOptions:
              SupplierOptionCode: BASIC
              SupplierOptionName: Basic Shared Accommodation
              TourDepartureTime: 09:00:00
              Option:
              - Name: Room
                Value: dualocc
            AvailabilityStatus:
              Status: AVAILABLE
              TravellerMixAvailability:
                Adult: true
                Child: true
                Youth: true
                Infant: true
                Senior: true
            Price:
              CurrencyCode: EUR
              Item:
              - RetailPrice: 112
                AgeBand: Adult
              - RetailPrice: 90
                AgeBand: Child
              - RetailPrice: 50
                AgeBand: Infant
            AvailabilityHold:
              Expiry: PT300S
              Reference: 1K883383K2S12K883383K2S57K883383K2
            Capacity:
              Simple:
                Remaining: 10
                ConsumedBy:
                - ADULT
                - YOUTH
            VersionTag:
              Textual: 20130705-V000000231434
    availabilityDateRangeResponseJson:
      summary: Date-range response
      value:
        responseType: AvailabilityResponse
        data:
          ApiKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
          ResellerId: '1000'
          SupplierId: 1004
          ExternalReference: '10051374722992616'
          Timestamp: '2013-07-25T13:29:52.616+10:00'
          RequestStatus:
            Status: SUCCESS
          SupplierProductCode: BLUE
          TourAvailability:
          - Date: '2014-10-30'
            BookingCutoff:
              ProductDateTime: '2014-10-29T12:13:14'
            TourOptions:
              SupplierOptionCode: BASIC
              SupplierOptionName: Basic Shared Accommodation
              TourDepartureTime: ''
              Option:
              - Name: Room
                Value: dualocc
            AvailabilityStatus:
              Status: AVAILABLE
            Capacity:
              Simple:
                Remaining: 10
                ConsumedBy:
                - ADULT
                - YOUTH
            VersionTag:
              Textual: 20130705-V000000231435
          - Date: '2014-10-31'
            BookingCutoff:
              ProductDateTime: '2014-10-29T12:13:14'
            TourOptions:
              SupplierOptionCode: BASIC
              SupplierOptionName: Basic Shared Accommodation
              TourDepartureTime: ''
              Option:
              - Name: Room
                Value: dualocc
            AvailabilityStatus:
              Status: UNAVAILABLE
              UnavailabilityReason: SOLD_OUT
            VersionTag:
              Textual: 20130705-V000000231436
    availabilityRequestWorkflow1Xml:
      summary: Workflow stage 1 - Product and date selected
      value: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<AvailabilityRequest xmlns=\"http://toursgds.com/api/01\">\n  <ApiKey>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</ApiKey>\n  <ResellerId>1000</ResellerId>\n  <SupplierId>1004</SupplierId>\n  <ExternalReference>10051374722992616</ExternalReference>\n  <Timestamp>2013-07-25T13:29:52.616+10:00</Timestamp>\n  <StartDate>2014-10-31</StartDate>\n  <SupplierProductCode>BLUE</SupplierProductCode>\n  <TravellerMix>\n    <Adult>1</Adult>\n    <Child>1</Child>\n    <Youth>0</Youth>\n    <Infant>0</Infant>\n    <Senior>0</Senior>\n    <Total>2</Total>\n  </TravellerMix>\n</AvailabilityRequest>\n"
    availabilityRequestWorkflow1Json:
      summary: Workflow stage 1 - Product and date selected
      value:
        requestType: AvailabilityRequest
        data:
          ApiKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
          ResellerId: '1000'
          SupplierId: 1004
          ExternalReference: '10051374722992616'
          Timestamp: '2013-07-25T13:2

# --- truncated at 32 KB (94 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/viator/refs/heads/main/openapi/viator-deprecated-api-openapi.yml