Skip to content

Request for available rate

Rates can be locked and released directly in SIHOT.PMS. This is used if:

  1. Special rates are available for certain persons, like wholesaler or travel agents.
  2. Seasonal specials are introduced.

Direction

SIHOT.PMS ← SIHOT.WEB

Message

The request for available rates is only allowed for the interaction between SIHOT.WEB and SIHOT.PMS.

Special rates are e. g. needed for packages with weekend rates. If special rates are requested for a guest, the element <MATCHCODE> is set.

<?xml version="1.0" encoding="ISO-8859-1"?>
<SIHOT-DOCUMENT>
    <OC>RR</OC>
    <ID>1</ID>
    <FLAGS>SIMULATE-CITY-TAX;RETURNBOOKINGCONDITIONS;INCLUDE-FOLLOW-UP-SERVICES-DETAILED;INCLUDE-FOLLOW-UP-SERVICES</FLAGS>
    <IDLIST>
        <ID>1</ID>
        <ID>2</ID>
    </IDLIST>
    <TN>1</TN>
    <RESCHANNELLIST>
        <RESCHANNEL>
            <IDX>0</IDX>
            <MATCHCODE>WHOLESALER</MATCHCODE>
            <CENTRALGUEST-ID>123</CENTRALGUEST-ID>
        </RESCHANNEL>
        <RESCHANNEL>
            <IDX>1</IDX>
            <MATCHCODE>TRAVEL AGENT</MATCHCODE>
            <CENTRALGUEST-ID>666</CENTRALGUEST-ID>
        </RESCHANNEL>
    </RESCHANNELLIST>
    <MATCHCODE>GUBSE</MATCHCODE>
    <CENTRALGUEST-ID>123456</CENTRALGUEST-ID>
    <ALLOTMENT-NO>ALLOT-NO</ALLOTMENT-NO>
    <SCOPE>ALL</SCOPE>
    <!--compulsory -->
    <ARATELIST>
        <RATE>
            <IDX>0</IDX>
            <!--compulsory -->
            <FROM>2013-08-22</FROM>
            <TO>2013-08-23</TO>
            <SID/>
            <!--optional -->
            <CAT/>
            <!--optional -->
            <NOROOMS>5</NOROOMS>
            <!--optional -->
            <PERS-TYPE>1A</PERS-TYPE>
            <ROOM-OCCUPATION>
                <PERS-TYPE>
                    <TYPE>1A</TYPE>
                    <NO>1</NO>
                </PERS-TYPE>
                <PERS-TYPE>
                    <TYPE>1B</TYPE>
                    <NO>1</NO>
                </PERS-TYPE>
            </ROOM-OCCUPATION>
        </RATE>
        <RATE>
            <IDX>1</IDX>
            <!--compulsory -->
            <FROM>2013-09-01</FROM>
            <TO>2013-09-01</TO>
            <SID/>
            <!--optional -->
            <CAT/>
            <!--optional -->
            <NOROOMS>5</NOROOMS>
            <!--optional -->
            <PERS-TYPE>1A</PERS-TYPE>
            <ROOM-OCCUPATION>
                <PERS-TYPE>
                    <TYPE>1A</TYPE>
                    <NO>1</NO>
                </PERS-TYPE>
                <PERS-TYPE>
                    <TYPE>1B</TYPE>
                    <NO>1</NO>
                </PERS-TYPE>
            </ROOM-OCCUPATION>
        </RATE>
    </ARATELIST>
</SIHOT-DOCUMENT>
Elements Description Data type Usage
FLAGS See next table String Optional
CURRENCY Key for the currency String Optional
RESCHANNELLIST List of reservation channels Optional
RESCHANNEL Single reservation channel Optional
IDX (reschannel) Index of the reservation channel (0=client, 1 = travel agency, 2 = travel point) Short Optional
MATCHCODE Matchcode of the guest/company String Optional
CENTRALGUEST-ID Central guest id if HQ system is attached Unsigned long Optional
ISPRICEOWNER Used to indicate if the reservation channel is price owner Char Optional
ALLOTMENT-NO Internal number of the allotment. See notes below. Long Optional
ALLOTMENT-EXT-NO External number of the allotment. See notes below. Long Optional
GUEST-RATE-TYPES Used to indicate the rate types of the guests String Optional
SCOPE See following table for more details String Mandatory
ARATELIST List of requested rates Mandatory
RATE Block with requested rate data Mandatory
IDX (rate) Index of the rate, needed for proper assignment with the corresponding rate block in the answer Short Mandatory
FROM Start date of the requested rate Date Mandatory
TO End date of the requested rate Date Mandatory
SID Code for the requested rate String Optional
CAT Room type information for the requested rate String Optional
NOROOMS Number of rooms Integer Optional
PERS-TYPE Guest type String Optional
RATE-SEGMENT Rate segment String Optional
DISCOUNT-GROUP Discount group String Optional
LOS Length of stay Integer Optional
LOS-ADD-TOLERANCE Tolerance plus Integer Optional
LOS-SUB-TOLERANCE Tolerance minus Integer Optional
ROOM-OCCUPATION Block with special room occupation data Optional
PERS-TYPE Block with type and number of pax Optional
TYPE Person type String Optional
NO Number of pax for the given type Integer Optional
RELEASE-CODE This is only needed to get a more specific price when using rate schemes String Optional
RELEASE-CODE-SPECIAL This is only needed to get a more specific price when using rate schemes special String Optional
FLAGS Description
SIMULATE-CITY-TAX The response will contain city tax values.
RETURN-ALL-CITY-TAX-AS-INCLUDED All city tax which are not included, are calculated to the unit price and the <CITY-TAX-INCLUDED>
RETURNBOOKINGCONDITIONS The response contains information about the booking conditions.
INCLUDE-FOLLOW-UP-SERVICES The response contains the total amount of follow-up-services
INCLUDE-FOLLOW-UP-SERVICES-DETAILED The response contains detailed information about all follow up services
RETURN-INTERSECTING-BOOKINGCONDITIONS The response contains only the intersection booking rules. If date related booking rules intersect the standard booking rule will not returned

Regarding to the attribute SCOPE the request returns different information. Following scopes are handled:

SCOPE Description
AVAILABLE only available rates are send
NOCOMISSION if commissions are not required
DAY-PRICES if day-prices are required
DESCRIPTIONS If descriptions are required
RESTRICTIONS If restrictions are required
USERESTRICTIONS only restricted-free results are sent
USEBOOKINGPERIODS If the rate is not available in this period due to booking period restrictions, it’s not exported
SUPPRESS-ZERO-PRICE No zero rates are exported
CONTAINERDETAILS if package-container-details are required
RETURNRULEINFOS If rule handling is activated rule info can be retrieved with this scope
ALL Includes the scopes: DAY-PRICES, DESCRIPTIONS, RESTRICTIONS and CONTAINERDETAILS
SKIP-HIDDEN-ROOM-TYPES Room types hidden in PMS are not exported
ONLY-RETURN-WEB-ROOM-TYPES Only room types configured for SIHOT.WEB are exported, only available with version >= 3.0 send in element <VER>
BEDS If bed details are required (min-pax, max-pax, etc.)
RETURNLOCKEDRATES If locked rates are required
ONLY-SERVICE No packages, only services are exported*
SERVICE-PACKAGES Packages and services are exported*
ONLY-WEB-SERVICES These two scopes consider the settings if the packages should be considered as services or the other way round. This is configured in SIHOT.PMS and the setting is valid for SIHOT.WEB only.*
ONLY-WEB-PACKAGES
PROCESSRATESCHEMA Needs to be set if RELEASE-CODE and RELEASECODE-SPECIAL will be used
SHOWALLCOUNTER If this flag is set, the response contains all counter restriction blocks for the requested period, the RESTRICTIONS scope is therefore required.

A combination of these values is also possible, e.g. AVAILABLE;NOCOMMISSION.

*By default, only packages are exported. Only none or exactly one of these scopes can be send.

Note: This request is done per night. As shown above (<IDX>0</IDX>) the request is from 2013-08-22 to 2013-08-23 means departure on 23rd.

Rate request for allotments

The request can contain the elements ALLOTMENT-NO and ALLOTMENT-EXT-NO. The ALLOTMENT-EXT-NO (external allotment number) is visible to the users in the SIHOT.PMS GUI, while the ALLOTMENT-NO is not. Both numbers are unique for a specific allotment and either one or both can be sent in the request. If both numbers are sent, they have to belong to the same allotment. Even if one of the elements if given, the result contains rates for the packages which are not linked to a specific allotment since assigning special rates to an allotment is optional in SIHOT.

Response

After an RR request, SIHOT.PMS sends the following answer:

<?xml version="1.0" encoding="ISO-8859-1"?>
<SIHOT-Document>
    <VER>1.0</VER>
    <OC>RR</OC>
    <TN>1</TN>
    <ID>1</ID>
    <RC>0</RC>
    <MSG>OK</MSG>
    <ARATELIST>
        <SYSTEM>
            <ID>1</ID>
            <RATE>
                <IDX>0</IDX>
                <FROM>2005-08-22</FROM>
                <TO>2005-08-23</TO>
                <SID>BR1</SID>
                <BKZ/>
                <CURRENCY>EUR</CURRENCY>
                <CAT>DZ</CAT>
                <IS-HIDDEN>N</IS-HIDDEN>
                <PROCESSING>0</PROCESSING>
                <T-PROCESSING>per room</T-PROCESSING>
                <PERS-TYPE/>
                <RATE-SEGMENT/>
                <T-SID>rate 2</T-SID>
                <T-CAT>Double Room</T-CAT>
                <T-PERS-TYPE/>
                <T-RATE-SEGMENT/>
                <R>
                    <DAY-PRICE>
                        <D>2005-08-22</D>
                        <PPU>243</PPU>
                        <NO>33</NO>
                        <COMMISSIONS/>
                    </DAY-PRICE>
                    <DAY-PRICE>
                        <D>2005-08-23</D>
                        <PPU>243</PPU>
                        <CITY-TAX>0</CITY-TAX>
                        <CITY-TAX-INCLUDED>0</CITY-TAX-INCLUDED>
                        <FOLLOW-UP-SERVICES-AMOUNT>5</FOLLOW-UP-SERVICES-AMOUNT>
                        <FOLLOW-UP-SERVICES>
                            <SERVICE>
                                <SID>BR1</SID>
                                <PRICE>5</PRICE>
                            </SERVICE>
                        </FOLLOW-UP-SERVICES>
                        <CURRENCY>EUR</CURRENCY>
                        <NO>33</NO>
                        <COMMISSIONS/>
                    </DAY-PRICE>
                </R>
                <GUARANTEE-TYPE>PP</GUARANTEE-TYPE>
            </RATE>
            <RATE>
                <IDX>1</IDX>
                <FROM>2005-09-01</FROM>
                <TO>2005-09-01</TO>
                <SID>U2</SID>
                <CAT>DZ</CAT>
                <IS-HIDDEN>Y</IS-HIDDEN>
                <PROCESSING>1</PROCESSING>
                <T-PROCESSING>per person</T-PROCESSING>
                <PERS-TYPE/>
                <RATE-SEGMENT/>
                <T-SID>rate 5</T-SID>
                <T-CAT>Double Room</T-CAT>
                <T-PERS-TYPE/>
                <T-RATE-SEGMENT/>
                <BOOKINGRULELIST>
                    <BOOKINGRULE>
                        <DATE-FROM>2016-10-01</DATE-FROM>
                        <DATE-TO>2016-10-30</DATE-TO>
                        <GUARANTEE-TYPE>4</GUARANTEE-TYPE>
                        <GUARANTEE-TYPE-DESC>Deposit fully paid</GUARANTEE-TYPE-DESC>
                        <CANCELLATION-TYPE>A</CANCELLATION-TYPE>
                        <CANCELLATION-TYPE-DESC>1 day prior to arrivaldate</CANCELLATION-TYPE-DESC>
                        <PREPAID-TYPE>PE</PREPAID-TYPE>
                        <PREPAID-TYPE-DESC>Prepaid Extern</PREPAID-TYPE-DESC>
                    </BOOKINGRULE>
                </BOOKINGRULELIST>
                <R>
                    <DAY-PRICE>
                        <D>2005-09-01</D>
                        <PPU>133</PPU>
                        <CITY-TAX>5</CITY-TAX>
                        <CITY-TAX-INCLUDED>0</CITY-TAX-INCLUDED>
                        <NO>33</NO>
                        <COMMISSIONS/>
                    </DAY-PRICE>
                </R>
                <GUARANTEE-TYPE>CC</GUARANTEE-TYPE>
            </RATE>
        </SYSTEM>
    </ARATELIST>
</SIHOT-Document>

If the scope contains RETURNRULEINFOS additional information about rules are provided in the RATE-Block (for details see Answer RES in the chapter RESERVATION SYNCHRONISATION):

<RATE>
…
    <RULE>
        <RULEID>R1</RULEID>
…
    </RULE>
    <RULE>
…
    </RULE>
…
</RATE>

If the scope contains CONTAINERDETAILS additional information about package-container-entries are provided in the RATE-Block:

<RATE>
…
    <CONTAINERDETAILS>
        <CONTAINERENTRY>
            <SID>LNP</SID>
            <CURRENCY>NSP</CURRENCY>
            <PERS-TYPE/>
            <RATE-SEGMENT/>
            <TOTAL-PPU>106</TOTAL-PPU>
        </CONTAINERENTRY>
        <CONTAINERENTRY>
            <SID>VPK</SID>
            <CURRENCY>CHF</CURRENCY>
            <PERS-TYPE/>
            <RATE-SEGMENT/>
            <TOTAL-PPU>26.5</TOTAL-PPU>
        </CONTAINERENTRY>
        <CONTAINERENTRY>
            <SID>LHP</SID>
            <CURRENCY>HSP</CURRENCY>
            <PERS-TYPE/>
            <RATE-SEGMENT/>
            <TOTAL-PPU>0</TOTAL-PPU>
        </CONTAINERENTRY>
    </CONTAINERDETAILS>
…
</RATE>

If counter restriction handling is active and the scope includes RESTRICTIONS, additional information about counter restrictions is provided in the restriction list block. It will contain always the lowest remaining counter item found for the given period. If you have equal counters (rate level and service allocation), it will return the rate level allocation item.

To see all counter items add the SHOWALLCOUNTER flag to the scope.

<RATE>
    …
    <A-RESTRICT-LIST>
        <COUNTER>
            <TYPE>2</TYPE>
            <SCOPE>30</SCOPE>
            <REMAINING>27</REMAINING>
            <DATE>2018-05-25</DATE>
            <CAT/>
        </COUNTER>
    </A-RESTRICT-LIST>
    …
</RATE>
Attribute/Element Description Data type
TYPE 1 = Service level allocation

2 = Rate level allocation

Integer
SCOPE Defined counter scope for this day Integer
REMAINING Remaining counter for this day Integer
DATE Date of this counter element Date
CAT Category tag if the counter restriction is for a specific room category String

Attributes Response

Attribute/Element Description Data type
SYSTEM Block that groups the requested IDs
ID SIHOT.WEB ID String
RATE Requested rates are exported in a RATE block
TOTAL-PPU Charges for the requested rate Decimal
NO free rooms for the requested rate Integer
NOOVB available rooms for the requested rate, including overbooking defined in the PMS Integer

Explanation of RATE-block elements

Attribute/Element Description Data type
IDX Index from the request Long
FROM Start date Date
TO End date Date
SID Package code String
BKZ Posting code. Possible values are:

<empty>: everywhere postable

1: only in Hotel

2: only in HQ

3: only in Top HQ

Char
ORDER Number which represents the sorting on the invoice Short
CURRENCY Currency code String
CAT Room type String
IS-HIDDEN Indicates if the rate is hidden or not. Possible values ‘Y’ or ‘N’ Char
PROCESSING Indicates if the rate’s price is:

0: per room

1: per person

2: per reservation

Possible values are: 0,1,2

Integer
T-PROCESSING Text of the processing value in the current language.

Possible values in English:

per room, per person, per reservation

String
CAT-BEDS Exported if SCOPE contains BEDS
PERS-TYPE Person type String
RATE-SEGMENT Price segment String
GUEST-RATE-TYPES Filter for guest rates Long
T-SID Long description for the package String
T-CAT Long description for the room type String
T-PERS-TYPE Description for the guest type String
T-RATE-SEGMENT Description for the price segment String
L-COMMENTS Block with comments for the package, see here
RULE Several blocks with rule information, see here
A-RESTRICT-LIST Block with restriction data, see here
R Block with daily rates
COMPANY-NR Number of the company in SIHOT.PMS, if package is for a specific company Long
BOOKINGRULELIST Block with BOOKINGRULE information
ALLOTMENT-NO Internal allotment number, if the package is available for a specific allotment only Long
ALLOTMENT-EXT-NO External allotment number, if the package is available for a specific allotment only. Long
GUARANTEE-TYPE Guarantee type: “PP” for PrePaid or “CC” for Credit Card Char 2
TRACKING-CODE Corresponds to the Promo-Code from the reservation. String

Elements inside CAT-BEDS-Block

Element Description Data type
STD-PAX Default number of guests in this room Short
MIN-PAX Number of persons necessary for bookings Short
MAX-PAX Max. number of base persons allowed Short
EXTRA-PAX Max. number of extra persons allowed Short

Elements inside R-Block

Elements inside R-Block are returned in several DAY-PRICE-blocks which include the following elements:

Element Description Data type
D Day Date
PPU Price for this day Decimal
CITY-TAX City tax price Decimal
CITY-TAX-INCLUDED If true, the PPU value contains the city tax. This value is also true if the flag RETURN-ALL-CITY-TAX-AS-INCLUDED is set. Bool
FOLLOW-UP-SERVICE-AMOUNT The total amount of all follow up services Decimal
FOLLOW-UP-SERVICES Contains a list of the number and price of all follow up services
SERVICE Block with follow up service
CURRENCY Currency code String
NO Number of free rooms Integer
NOOVB Number of available rooms (including overbooking data) Integer
NO2STOPSELL Number of free rooms until stop sell, only if stop sell is set Integer
NOOVB2STOPSELL Number of available rooms until stop sell, only if stop sell is set Integer
CONTAINERDETAILS Block with container details
COMMISSIONS Block with several RESCHANNEL blocks

Elements inside SERVICE block

Element Description Data type
SID Service ID String
PRICE Rate for the service Decimal
T-SID Service description String

Elements in CONTAINERENTRY

The CONTAINERDETAILS –Block includes several CONTAINERENTRY blocks:

Element Description Data type
SID Package code String
CURRENCY Currency code String
PERS-TYPE Guest type String
RATE-SEGMENT Price segment String
PPU/TOTAL-PPU Price/total price per unit Decimal

Elements inside RESCHANNEL-block

Element Description Data type
IDX Commission index Integer
PC Commission percentage Decimal
TOTAL Commission amount Decimal

Elements in Block: BOOKINGRULELIST

The BOOKINGRULELIST –Block includes several BOOKINGRULE blocks:

Element Description Data type
GUARANTEE-TYPE Code of the guarantee type String
GUARANTEE-TYPE-DESC Description of the guarantee type String
CANCELLATION-TYPE Code of the cancellation type String
CANCELLATION-TYPE-DESC Description of the cancellation type String
PREPAID-TYPE Code of the prepaid type String
PREPAID-TYPE-DESC Description of the prepaid type String