Pricing

Price Schedule is a connectivity feature offered by Redeam, allowing operators to set specific daily price points for tours and attractions rather than static pricing for all dates.

Within the transaction flow you will need to retrieve supplier, products and rate objects regardless of the pricing type. At the time of availability & traveler type selection you will need to check both the Availabilities and Price Schedule endpoints to ensure that there is availability AND a valid price for that date and traveler type.

Please note that Get Price Schedule needs to be implemented in conjunction with the Get Rates call.

The Get Rates call uses the product_id and the supplier_id which returns a list of available rates with their rate_ids. The rate_id can be used in the price schedule call to get details of a specific rate. It should also be stored and used when creating a hold for cross reference.

Please note that if the price schedule is utilized for a product, the call to get a price should be the price schedule call.

The data from both of Availability and Price Schedule endpoints must be used together in order to determine which dates/times are available to be booked, and what traveler types / prices are available at those times.

For example, availabilities are checked for the Product 1 Rate A, which utilized Redeam’s Price Schedule feature, and contains a RatePrice for an Adult traveler. When checking availability, Rate A is available at various times on June 23rd and June 24th. However, upon checking the Price Schedule for Rate A, an Adult price is only visible on June 23rd. Therefore, Rate A is only bookable for an adult on June 23rd using the price on the Price Schedule.

Summary / Outline Booking Flow

  • Supplier, Product and Rate are selected as normal.

  • Availabilities endpoint is queried to determine when the product may be booked

  • Price Schedule endpoint is queried to determine when specific traveler types are available & at what price point

    • The response contains nested map as follows
      • The top-level map uses RateIDs as keys.
      • Each RateID contains a map using one or more Dates as the key.
      • Finally, each Date points to an array. Each array contains, for that RateID and Date:
        • travelerType object which is a structured description of the age, membership or role of the traveler this price is intended for.
        • An optional array of startTimes containing the times of the day. If startTimes is empty, this price is valid for the entire date.
        • All valid prices (original, net, retail) with their currency
        • An optional array of includedTaxes if any taxes or additional fees are included in the prices
  • A hold is created using the selected supplier, product, rate, price & availability.

  • A booking is placed with the selected supplier, product, rate, price, availability & hold.

  • If a RatePrice is present on the Price Schedule, this should be used above all else.
  • It is an error to use the PriceId of a RatePrice if a price for the requested time & traveler type is present on the Price Schedule.

Start Times

Price Schedule may contain an array of startTimes if a operator has various timeslots in a day. If there are different prices for different times of day, price schedule can provide that level of granularity (as shown in example below).

startTimes Example
Copy

Taxes

Operators have the ability to send not only the prices, but also the tax information depending on the country's requirements. If tax amounts are required to be detailed, the includingTaxes object followed by the name, retail and net attributes can be used as shown in above example.

If the Operator does not give any tax details, the includedTaxes object is not present.

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard