Availability

A Supplier defines the available times or time slots and dates for a tour or attraction, as well as the number of customers that can be booked.

  • FREESALE: Tickets and entry passes are available during the opening hours of the attraction, and there is generally no limit on the number of tickets.
  • RESERVED: Rates can be with or without capacity, depending on the requirements and inventory defined by the Supplier.

Whenever a Reseller requests the availability of Products or Rates bound to their channel, Travel Curious returns this data from the Travel Curious Availability Cache.

It is important to make an Availability call immediately prior to requesting a Hold to ensure you have the most up-to-date information. This last-minute check will significantly increase your success rate for holds and bookings.

Traveler Type Availability (granularity parameter)

The Reseller API accepts a query parameter called granularity, which allows you to define how availability data is grouped. It accepts two values: travelerType or rate.

  1. **granularity=travelerType**

If this value is passed, the availability data is broken down specifically at the ageBand level. This is useful if a Supplier has distinct capacity limits for different guest types.

ageBand-level Availability
Copy

If the Supplier does not support availability at the travelerType level, the API will automatically default to returning availability at the rate level.

  1. `granularity=rate` (Default Behavior)

If the query parameter is absent or set to rate, any ageBand-level availability will be rolled up into a single rate-level availability block.

How the Roll-up Works:

  • The system locates any ageBand-level availability within a given time slot.
  • It finds the one with the smallest capacity number and replaces all ageBand-level availabilities with a single object using that smallest capacity.
  • The rolled-up availability is assigned a special ID with a GENERATED-ID: prefix.
  • The object will contain an extension key that links the original unit IDs to the newly generated availability ID.
Roll-up example
Copy

The Travel Curious Availability Cache

To ensure high performance, the Travel Curious Availability Cache serves two primary functions:

  1. Guarantee an API response time of under 2 seconds.
  2. Decrease network traffic and load on Supplier reservation systems.

Travel Curious pulls bound Product and Rate availability from connected Suppliers based on their schedules and stores it in the cache.

Cache Transaction Logic

When an availability request is made, the system follows a strict performance protocol to ensure you receive a fast response:

  1. Cache Check: The system checks if data exists in the cache. If empty, it returns no availabilities.

  2. Freshness Check (< 5 Minutes): If the cached data is less than 5 minutes old, it is returned immediately to the Reseller.

  3. Stale Cache & The 2-Second Rule: If the cached data is older than 5 minutes, Travel Curious attempts to fetch fresh data from the Supplier's Reservation System.

    • If the Supplier responds within 2 seconds: The new availability data is returned to you and cached for future requests.
    • If the Supplier takes longer than 2 seconds: To protect your application's performance, the API will abort the live wait and instantly return the older cached availability. The cache will then quietly populate in the background once the Supplier finally responds.

Transaction Flow Diagram

VariableType to search · ESC to discard
GlossaryType to search · ESC to discard
InsertType to search · ESC to discard
No matches