IDS Real Time Shop and Book

Overview

Real Time Shop Book provides a property-specific request/response set of messages in which a system – i.e., online booking channel – has the ability to submit a request for available room rates to the receiving system –  i.e., the CRS . The CRS will echo back the request, providing a display of the following information for the requested arrival and departure dates and the number of guests in response:

  • Basic Property Info

    • CRS Chain Code & Name

    • CRS Hotel Code & Name

    • Hotel City Code

  • Cancel Penalties In Effect During the Guest Stay

  • Available Room Rates

    • Room Type Code & Name (Short Description)

    • Rate Plan Code, Name, & Description

    • Rate Indicator (in the event there is a rate change over stay)

Currently this service supports:

General availability for a single property. Search for the room rates available for a specific date range, number of persons, for all public rates or a specific rate code or access code (for non-public rates). The information in the response will include available room/rates, pricing information with rate changes as well as other data.

 

General availability for multiple properties. Search up to 20 properties for the room rates available for a specific date range, number of persons, for all public rates or a specific rate code or access code (for non- public rates). The information in the response will include available room/rates, pricing information with rate changes as well as other data.

 

General availability by Promo Code (access code) for a single property. Search by submitting promo code in the request.

 

General availability by group code (allotment). Submit a group code in the request.

 

General availability by corporation code. Submit a corporation code in the request.

 

Detailed availability for a single property, rate and room code. Search for the rules that are applicable to a specific room rate combination. The response will include, tax and commission information, rate change specific information if applicable, property information and marketing information.

 

Add-On/Service Item Availability – Search for available add-on or service items that are applicable to a reservation. The response will include a list of package elements including rate, currency and description of the items.

General Business Rules

An availability request must include the following elements:

  • CRS Chain Code

  • CRS Hotel Code

  • Arrival Date

  • Departure Date

  • Total Guest Counts [Occupancy: Number of Adults and Children using the ‘AgeQualifyingCode’ attribute]

  • Number of Rooms

 

At this time, the booking channel must maintain a cross-reference table for the chain ID and property ID.

OTA_HotelAvailRQ Elements & Attributes

Element Name Attribute Name

Mandatory (M) Optional (O)

Data Type

“Sample Value” Usage

OTA_HotelAvailRQ

 

 

 

EchoToken

O

String (128)

A reference for message identification assigned by the requesting host system.

TimeStamp

M

Datetime

Indicates the creation date and time of the message in UTC using the following format specified by ISO 8601:

YYYYMMDDThh:mm:ssZ with time values using the 24 hour clock (e.g. 20 November 2009, 1:59:38 pm UTC becomes 20091120T13:59:38Z).

Version

M

Decimal

“1.00”

SequenceNmbr

M

Integer

Used to identify the sequence number of the transaction as assigned by the sending system; allows for an application to process messages in a certain order or to request a resynchronization of messages in the event that a system has been off-line and needs to retrieve messages that were missed.

POS

M

 

 

Source

M

 

Provides the details regarding the requestor.

BookingChannel

M

 

Specifies the booking channel and whether it is the primary means of connectivity of the source. Identifies the company that is associated to the booking channel.

Primary

M

Boolean

Indicates whether the enumerated booking channel is the primary means of connectivity used by the sources. Always =”true”.

Type

M

Code

The type of booking channel. OTA Code List Booking Channel Type (BCT). Use MO for mobile only rate.

CompanyName

O

 

Identifies the secondary channel that is associated with the booking channel. Identifies the secondary channel by code and name.

Code

O

String (16)

The secondary booking channel identifying code.

CompanyShortName

O

String (32)

The secondary booking channel short name.

RequestorID

M

 

An identifier of the entity making the request – i.e., IATA, Association of British Travel Agents (ABTA), Open Hospitality, HBSi, etc.

Type

M

Codes

A reference to the type of object defined by the RequestID element. OTA Code List Unique ID Type (UIT) – always = “1” [1=Customer].

ID

M

String (32)

A unique identifying value assigned to the source by Windsurfer.

ID Context

M

String (32)

Used to identify the source of the identifier – i.e., IATA, Open Hospitality, HBSi, etc.

URL

M

String

URL that identifies the location associated with the record identified by the UniqueID.

AvailRequestSegments

M

 

Each segment includes a collection of criteria that requests a bookable entity (guest rooms) for which availability is sought. A segment would be presumed to have a unique, fixed set of dates for Availability Request. Date range can also be specified by using start dates and a number of fixed nights.

AvailRequestSegment

M

 

Only one AvailRequestSegment per message is supported.

ResponseType

M

String

Defines whether the response is a property list or an area list. Valid values are AreaList, ProfilePrefs, PropertyList, PropertyRateList, RateInfoDetails.

StayDateRange

M

Date

Fixed set of dates representing the arrival and departure dates of the guest stay for the Availability Request.

End

M

Date

The ending value of the time span. A construct to validate either a date or a time or a dateTime value – “YYYY-MM-DD”.

Start

M

Date

The ending value of the time span. A construct to validate either a date or a time or a dateTime value – “YYYY-MM-DD”.

RoomStayCandidates

M

 

Collection of room stay candidates. Only one RoomStayCandidate is supported.

RoomStayCandidate

M

 

Element used to identify available room products.

Quantity

M

Integer (1)

Defines the number of rooms being requested. Allowable range is 1 – 5.

GuestCounts

M

 

A collection of GuestCount by age group.

GuestCount

M

 

A recurring element that identifies the number of guests and ages of the guests.

AgeQualifyingCode

M

Code

A code representing a business rule that determines the charges for a guest based upon age range (e.g. Adult, Child, Senior, Child With Adult, Child Without Adult). This attribute allows for an increase in rate by occupant class. OTA Code List Age Qualifying Code (AQC): accepted values – “10”=Adult; “8”=Child. If a child is specified, the age of the child is required.

Count

M

Integer (2)

The number of guests in one AgeQualifyingCode or Count.

Age

O

Integer (2)

Defines the Child Age Group in the property setting. If no children age group is set, default to 1.

Age =1 , Children Age Group 1

Age =2 , Children Age Group 2

Age =3 , Children Age Group 3

Age =4 , Children Age Group 4

 

HotelSearchCriteria

M

 

A collection of single search criterion items.

Criterion

M

 

Child elements that identify a single search criterion by criteria type. The text value returned should be echoed in the subsequent request to indicate where to begin the next block of data.

HotelRef

M

 

Indicates the detail of hotel reference information. Detailed hotel information for the search.

ChainCode

M

String (2)

The CRS code that identifies a hotel chain or management group. The cross-reference table that translates the chain ID of one system into the chain ID of another system must currently be maintained in the source booking channel. Length 1 to 8.

HotelCode

M

String (2)

The CRS code that uniquely identifies a single hotel property. The cross- reference table that translates the chain ID of one system into the chain ID of another system must currently be maintained in the source booking channel. Length 1 to 16.

OTA_HotelAvailRQ Message Sample

<OTA_HotelAvailRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelAvailRQ.xsd" EchoToken="354" TimeStamp="2009-12-01T11:12:31.0000000-05:00" Version="1.00" SequenceNmbr="2"> <POS> <Source> <BookingChannel Primary="true" Type="WEB"> <CompanyName Code="Secondary channel code" CompanyShortName="Secondary channel name"/> </BookingChannel> <RequestorID ID="nn" ID_Context="Open Hospitality" Type="1" URL="www.openhospitality.com"/> </Source> </POS> <AvailRequestSegments> <AvailRequestSegment ResponseType=”AreaList”> <StayDateRange Start="2020-12-10" End="2020-12-26"/> <RoomStayCandidates> <RoomStayCandidate Quantity="2"> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="1"/> <GuestCount AgeQualifyingCode="8" Count="1" Age="12"/> </GuestCounts> </RoomStayCandidate> </RoomStayCandidates> <HotelSearchCriteria> <Criterion> <HotelRef ChainCode="IV" HotelCode="TSJULIE"/> </Criterion> </HotelSearchCriteria> </AvailRequestSegment> </AvailRequestSegments> </OTA_HotelAvailRQ>

 

<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:b="http://htng.org/2009B" xmlns:ns="http://www.opentravel.org/OTA/2003/05"> <soapenv:Header> <b:HTNGHeader> <b:From> <b:systemId /> <b:Credential> <b:userName>Username</b:userName> <b:password>Password</b:password> </b:Credential> </b:From> <b:To> <b:systemId /> </b:To> <b:timestamp /> <b:echoToken /> <b:transactionId /> <b:action /> </b:HTNGHeader> </soapenv:Header> <soapenv:Body> <b:CheckHotelAvailability> <ns:OTA_HotelAvailRQ ExactMatchOnly="1" SortOrder="A" SummaryOnly="1" PrimaryLangID="en" MaxResponses="10" RequestedCurrency="USD" Target="Production"> <ns:POS> <ns:Source> <ns:RequestorID Type="1" ID="WEB" URL="data.windsurfercrs.com" ID_Context="WindSurfer" /> <ns:BookingChannel Type="IBE" /> </ns:Source> </ns:POS> <ns:AvailRequestSegments> <ns:AvailRequestSegment ResponseType="PropertyRateList"> <ns:StayDateRange Start="2021-04-04" End="2021-04-05" /> <ns:RatePlanCandidates> </ns:RatePlanCandidates> <ns:RoomStayCandidates> <ns:RoomStayCandidate Quantity="1"> <ns:GuestCounts> <ns:GuestCount AgeQualifyingCode="10" Count="1" /> <ns:GuestCount AgeQualifyingCode="8" Count="0" /> </ns:GuestCounts> </ns:RoomStayCandidate> </ns:RoomStayCandidates> <ns:HotelSearchCriteria> <ns:Criterion> <ns:HotelRef ChainCode="MM" HotelCode="SINMSS01" /> </ns:Criterion> </ns:HotelSearchCriteria> </ns:AvailRequestSegment> </ns:AvailRequestSegments> </ns:OTA_HotelAvailRQ> </b:CheckHotelAvailability> </soapenv:Body> </soapenv:Envelope>

PropertyRateList Type Request

<OTA_HotelAvailRQ xmlxsi="http://www.w3.org/2001/XMLSchema-instance" xmlxsd="http://www.w3.org/2001/XMLSchema" PrimaryLangID="eng" Version="0"> <POS xmlns="http://www.opentravel.org/OTA/2003/05"> <Source> <RequestorID Type="1" ID="WEB" URL="data.windsurfercrs.com" ID_Context="WindSurfer"/> <BookingChannel Type="WEB"/> </Source> </POS> <AvailRequestSegments xmlns="http://www.opentravel.org/OTA/2003/05"> <AvailRequestSegment ResponseType="PropertyRateList"> <StayDateRange Start="2020-01-01" End="2020-01-03"/> <RoomStayCandidates> <RoomStayCandidate Quantity="1"> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="1"/> </GuestCounts> </RoomStayCandidate> </RoomStayCandidates> <HotelSearchCriteria> <Criterion> <HotelRef HotelCode="ALMD"/> </Criterion> </HotelSearchCriteria> </AvailRequestSegment> </AvailRequestSegments> </OTA_HotelAvailRQ>

RateInfoDetails Type Request

RateRoomServiceItem Type Request

OTA_HotelAvailRS Elements & Attributes 

Element Name Attribute Name

Mandatory (M) Optional (O)

Data Type

“Sample Value” Usage

OTA_HotelAvailRS

 

 

 

EchoToken

O

String (128)

A reference for message identification assigned by the requesting host system.

TimeStamp

M

Datetime

Indicates the creation date and time of the message in UTC using the following format specified by ISO 8601:

YYYYMMDDThh:mm:ssZ with time values using the 24 hour clock (e.g. 20 November 2009, 1:59:38 pm UTC becomes 20091120T13:59:38Z).

Version

M

Decimal

“1.00”

SequenceNmbr

M

Integer

Used to identify the sequence number of the transaction as assigned by the sending system; allows for an application to process messages in a certain order or to request a resynchronization of messages in the event that a system has been off-line and needs to retrieve messages that were missed.

POS

M

 

 

Source

M

 

Provides the details regarding the requestor.

BookingChannel

M

 

Specifies the booking channel and whether or not it is the primary means of connectivity of the source. Identifies the company that is associated to the booking channel.

Primary

M

Boolean

Indicates whether the enumerated booking channel is the primary means of connectivity used by the sources. Always =”true”.

Type

M

Code

The type of booking channel. OTA Code List Booking Channel Type (BCT). Always =”ADS”.

CompanyName

O

 

Identifies the secondary channel that is associated with the booking channel. Identifies the secondary channel by code and name.

Code

O

String (16)

The secondary booking channel identifying code.

CompanyShortName

O

String (32)

The secondary booking channel short name.

RequestorID

M

 

An identifier of the entity making the request – i.e., IATA, Association of British Travel Agents (ABTA), Open Hospitality, HBSi, etc.

Type

M

Codes

A reference to the type of object defined by the RequestID element. OTA Code List Unique ID Type (UIT) – always = “1” [1=Customer].

ID

M

String (32)

A unique identifying value assigned to the source by Windsurfer.

ID Context

M

String (32)

Used to identify the source of the identifier – i.e., IATA, Open Hospitality, HBSi, etc.

URL

M

String

URL that identifies the location associated with the record identified by the UniqueID.

RoomStays

M

 

Details on the Room Stay including Guest Counts, Time Span of this Room Stay, and financial information related to the Room Stay, including Cancellation Penalties.

RoomStay

M

 

Details on the Room Stay including Guest Counts, Time Span of this Room Stay, and financial information related to the Room Stay, including Cancellation Penalties.

RatePlans

M

 

A collection of Rate Plans associated with a particular Room Stay.

RatePlan

M

 

Defines the details of the rate plan as used in the booking process.

RatePlanCode

M

String (1-16)

The RatePlanCode assigned by the receiving system – CRS.

RatePlanName

M

String(1-64)

The name associated to the rate plan.

RatePlanID

M

Int

The ID assigned to the RatePlan

MarketCode

O

String (1-16)

The code that relates to the market being sold to (e.g., the corporate market, packages).

PriceViewableInd

O

Boolean

When true, the price for this rate plan can be viewed by the guest. When false, the guest must contact another entity to obtain price information.

RatePlanType

O

String (1-16)

An enumerated type that allows the query to specify a rate category type, and provides major categories for comparison across brands. Refer to OpenTravel Code List Rate Plan Type (RPT).

MealsIncluded

 

 

Contains MealPlanIndicator and MealPlanCode for included meal, if applicable.

MealPlanIndicator

 

Boolean

 

MealPlanCode

 

Int

Indicates type of meal included. For list of codes, see the relevant Vendor Notice.

AdditionalDetails

 

 

Additional information related to a rate plan. A collection of AdditionalDetail.

AdditionalDetail

 

 

Used to send additional information

Type

 

 

Used to define the type of information being sent (e.g., rate description, property description, room information). Refer to OpenTravel Code List Additional Detail Type (ADT).

Text

O

String(1-2000)

Descriptive text associated to the Rate Plan

RoomTypes

M

 

A collection of Room Types associated with a particular Room Stay.

RoomType

M

 

Defines the details of the room type as used in the booking process.

RoomTypeCode

M

String(1-16)

The RoomTypeCode assigned by the receiving system – CRS.

RoomTypeName

M

String(1-64)

The name assigned to the room type.

RoomTypeID

M

Int

The ID assigned to the RoomType

Text

O

String(1-2000)

Descriptive text associated to the Room Type, contained within the RoomDescription tag.

Code

M

Int

AdditionalDetail tag, Type of “ADA”, Code of 1 is true, 0 is false

RoomRates

M

 

A collection of Room Rates associated with a particular Room Stay. Each Room Rate combination can have multiple rates. Example King room, Rack rate plan, Monday through Thursday, weekday amount, Friday and Saturday, weekend amount.

RoomRate

M

 

The period during which the booking must be made.

RatePlanID

M

Int

The ID assigned to the RatePlan

RoomTypeID

M

Int

The ID assigned to the RoomType

RoomTypeCode

M

String(1-16)

The RoomTypeCode assigned by the receiving system – CRS.

Rates

M

 

Individual rate amount. This rate is valid for a range of number of occupants and an occupant type. Individual rate amount.

Rate

M

 

The Rate contains a collection of elements that define the amount of the rate, associated fees, additional occupant amounts as well as payment and cancellation policies. Taxes can be broken out or included within the various amounts. The applicable period of the

 

 

 

rate is indicated by the effective dates. Restrictions that may apply to that rate, such as the minimum or maximum length of stay, stay-over dates applicable for the rate, and age group (ex Adult) are attributes of Rate. It indicates the number of units that the quoted rate is based upon, as well as the TimeUnits type used that the rate is based upon, e.g.: 3days at $100.00 per day.

EffectiveDate

M

Date

Indicates the starting (arrival) date of the stay. Format: YYYY-MM-DD

ExpireDate

M

Date

Indicates the ending (departure) date of the stay. Format: YYYY-MM-DD

MinGuestApplicable

M

Int

Indicates the minimum number of guests at this rate

MaxGuestApplicable

M

Int

Indicates the maximum number of guests at this rate

Base

M

 

The base amount charged for the accommodation per unit of time (ex: Nightly, Weekly, etc). If TaxInclusive is set to True, then taxes are included in the base amount.

AmountBeforeTax

M

Currency

The total amount not including any associated tax (e.g., sales tax, VAT, GST or any associated tax). Specifies an amount, max 3 decimals.

CurrencyCode

M

Code

The 3-character alpha code specifying a monetary unit based on ISO 4217,

               Total

O

 

The total amount charged for this rate including additional occupant amounts and fees.The total amount charged for the service including additional amounts and fees.

Taxes

O

 

A collection of taxes. A collection of taxes. **Must be enabled by user account. Please request if needed**

Amount

M

 

A monetary amount. 

       Tax

M

 

An individual tax.Applicable tax element. This element allows for both percentages and flat amounts. If one field is used, the other should be zero since logically, taxes should be calculated in only one of the two ways.

Amount

M

 

A monetary amount.

Type

M

 

Used to indicate if the amount is inclusive or exclusive of other charges, such as taxes, or is cumulative (amounts have been added to each other).Used to indicate if an amount is inclusive or exclusive of other charges, such as taxes, or is cumulative (amounts have been added to each other).

Code

M

 

Code identifying the fee (e.g.,agency fee, municipality fee). Refer to OpenTravel Code List Fee Tax Type (FTT).

TaxDescription

M

 

Text description of the taxes in a given language.An indication of a new paragraph for a sub-section of a formatted text message.

Text

M

 

Formatted text content.Provides text and indicates whether it is formatted or not.

AdditionalGuestAmounts

M

 

Collection of incremental charges per age qualifying code for additional guests. Amount charged for additional occupant is with respect to age group of the base guests.

 

AdditionalGuestAmount

M

 

Collection of incremental charges per age qualifying code for additional guests. Amount charged for additional occupant is with respect to age group of the base guests.Charges related to additional guests

AgeQualifyingCode

M

Int

Defines an age range or age category of a guest (e.g., under 21, over 65, teen, infant). Refer to OpenTravel Code List Age Qualifying Code

Amount

M

 

The amount charged for an additional guest.The total amount charged for the service including additional amounts and fees.

AmountBeforeTax

M

Currency

The total amount not including any associated tax (e.g., sales tax, VAT, GST or any associated tax). Specifies an amount, max 3 decimals.

TimeSpan

M

 

The Time Span which covers the Room Stay. Used to specify a time window range by either specifying an earliest and latest date for the start date and end date or by giving a date with a time period that can be applied before and/or after the start date.

End

M

 

The ending value of the time span.

Start

M

 

The starting value of the time span.

Guarantee

M

 

Defines the guarantee policy of the hotel facility

GuaranteeCode

M

String

The GuaranteeCode assigned by the CRS

The Guarantee Code typically has the following values “XX”, “GX”, “DX”, “PP”

o XX: No Guarantee Required

o GX: Guarantee Required

o DX: Deposit required

o PP: Prepaid required by credit card at the time of booking

GuaranteeDescription

M

 

Text description of the Guarantee Policy

Text

M

String

Example: “A valid Credit Card is required to confirm your reservation - Chain Level Default Guarantee Policy - CCGuaranteed”

CancelPenalties

M

 

A collection of Cancellation Penalties objects for the Room Stay.

CancelPenalty

M

 

Defines the cancellation penalty of the hotel facility.

PolicyCode

M

String(1-16)

The PolicyCode assigned by the receiving system – CRS.

Deadline

 

 

Cancellation deadline.

AbsoluteDeadline

M

 

Defines the absolute deadline.

OffsetTimeUnit

M

 

The Units of time e.g. days, hours, etc. that apply to the deadline.

OffsetUnitMultiplier

M

 

The number of units of the deadline time unit used for numeric values.

OffsetDropTime

M

 

An enumerate type indicating when the deadline drop time goes into effect. The deadline information applies from when the reservation was confirmed.

AmountPercent

M

 

Cancellation fee expressed as a fixed amount or percentage of/or room nights.

NumberOfNights

C

 

The number of nights of the hotel stay that are used to calculate the fee amount.

Percent

C

 

The percentage used to calculate the fee amount.

PenaltyDescription

M

 

Text description of the Penalty in a given language.

Text

M

String

Example: “Cancel by 6:00 PM local hotel time to avoid a 1 night penalty charge.”

Total

M

 

The total amount charged for the Room Stay including additional occupant amounts and fees. If TaxInclusive is set to True, then taxes are included in the total amount.The total amount charged for the service including additional amounts and fees.

              CurrencyCode

M

 

An ISO 4217 (3) alpha character code that specifies a monetary unit.

            AmountAfterTax

M

 

The total amount including all associated taxes (e.g., sales tax, VAT, GST or any associated tax)

         AmountBeforeTax

M

 

The total amount not including any associated tax (e.g., sales tax, VAT, GST or any associated tax) 

    Taxes

O

 

A collection of taxes. A collection of taxes. **Must be enabled by user account. Please request if needed**

              Amount

M

 

A monetary amount.

          Tax

M

 

Applicable tax element. This element allows for both percentages and flat amounts. If one field is used, the other should be zero since logically, taxes should be calculated in only one of the two ways.

                      Amount

M

 

A monetary amount.

                      Code

M

 

Code identifying the fee (e.g.,agency fee, municipality fee). Refer to OpenTravel Code List Fee Tax Type (FTT).

                      Type

M

 

Used to indicate if the amount is inclusive or exclusive of other charges, such as taxes, or is cumulative (amounts have been added to each other).Used to indicate if an amount is inclusive or exclusive of other charges, such as taxes, or is cumulative (amounts have been added to each other).

Code

M

 

Code identifying the fee (e.g.,agency fee, municipality fee). Refer to OpenTravel Code List Fee Tax Type (FTT). 

               TaxDescription

M

 

Text description of the taxes in a given language.An indication of a new paragraph for a sub-section of a formatted text message.

Text

M

 

Formatted text content.Provides text and indicates whether it is formatted or not.

                 EffectiveDate

M

 

Indicates the starting date. 

                     ExpireDate

M

 

Indicates the ending date.

BasicPropertyInfo

M

 

Property Information for the Room Stay. An abbreviated short summary of hotel descriptive information.

ChainCode

M

String (2)

The CRS code that identifies a hotel chain or management group. The cross-reference table that translates the chain ID of one system into the chain ID of another system must currently be maintained in the source booking channel. Length 1 to 8.

HotelCode

M

String (16)

The CRS code that uniquely identifies a single hotel property. The cross-reference table that translates the chain ID of one system into the chain ID of another system must currently be maintained in the source booking channel. Length 1 to 16.

HotelName

M

String (128)

The proper name of the hotel.

OTA_HotelAvailRS Message Sample

PropertyRateList Type Response With Optional Tax Breakdown

RateInfoDetails Type Response With Optional Tax Breakdown 

RateRoomServiceItem Type Response With Optional Tax Breakdown

OTA_HotelAvailRS Message Sample for Loyalty Rates

When rate codes in Windsurfer Admin are flagged with the “Loyalty Guest Only” indicator and additional element will be included with the rate code as indicated with the element AdditonalDetail Code=”LOYALTY” Type=”14”.

Refer to the sample below which includes both loyalty and non-loyalty rates: