Skip to content

OTA_HotelDescriptiveInfoRQ

Message to read room data from Kurzurlaub.de

HotelDescriptiveInfo Request (RQ) and Response (RS) - Example for test hotel.

Attributes used:

  • @AgentDutyCode (Agent-ID): 1
  • @HotelCode (Hotel-ID): 4

Example OTA_HotelDescriptiveInfoRQ (Request)

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelDescriptiveInfoRQ xmlns="http://www.opentravel.org/OTA/2003/05"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://opentravel.org/2010A/OTA_HotelDescriptiveInfoRQ.xsd" 
    EchoToken="1" Target="Production" Version="1.002">
    <POS>
        <Source AgentDutyCode="1">
            <RequestorID ID="4" Type="4"/>
        </Source>
    </POS>
    <HotelDescriptiveInfos>
        <HotelDescriptiveInfo HotelCode="4">
            <FacilityInfo SendGuestRooms="true"/>
        </HotelDescriptiveInfo>
    </HotelDescriptiveInfos>
</OTA_HotelDescriptiveInfoRQ>

Request per REST-API

any message can be called by REST-API via GET.

Parameters to use:

  • AgentDutyCode (optional, if using IP WhiteList or HTTP Basic Auth)
  • HotelCode (mandatory)

Example:

GET /ota/api/HotelDescriptiveInfo?AgentDutyCode=1&HotelCode=4

Versions of Response

OTA-V1

Old Version of message OTA_HotelDescriptiveInfoRS only with room data

Example OTA_HotelDescriptiveInfoRS (Response)

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelDescriptiveInfoRS xmlns="http://www.opentravel.org/OTA/2003/05"
                            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Target="Production" Version="2.000"
                            SequenceNmbr="1" PrimaryLangID="de" AltLangID="de"
                            xsi:schemaLocation="http://opentravel.org/2010A/OTA_HotelDescriptiveInfoRS.xsd">
    <Success/>
    <HotelDescriptiveContents Overwrite="true">
        <HotelDescriptiveContent HotelCode="4">
            <FacilityInfo>
                <GuestRooms>
                    <GuestRoom Code="26808" Quantity="0" RoomTypeName="Appartement/s (12 m², ID:26808, 2E/2K)">
                        <TypeRoom StandardOccupancy="2"/>
                    </GuestRoom>
                    <GuestRoom Code="9147" Quantity="3" RoomTypeName="Doppelzimmer (24 m², ID:9147, 2E/2K)">
                        <TypeRoom StandardOccupancy="2"/>
                    </GuestRoom>
                    <GuestRoom Code="5306" Quantity="43" RoomTypeName="Doppelzimmer (20 m², ID:5306, 2E/2K)">
                        <TypeRoom StandardOccupancy="2"/>
                    </GuestRoom>
                    <GuestRoom Code="11668" Quantity="5" RoomTypeName="Dreibettzimmer (29 m², ID:11668, 3E/3K)">
                        <TypeRoom StandardOccupancy="3"/>
                    </GuestRoom>
                    <GuestRoom Code="5307" Quantity="5" RoomTypeName="Einzelzimmer (15 m², ID:5307, 1E/1K)">
                        <TypeRoom StandardOccupancy="1"/>
                    </GuestRoom>
                    <GuestRoom Code="9148" Quantity="1" RoomTypeName="Einzelzimmer Deluxe (18 m², ID:9148, 1E/1K)">
                        <TypeRoom StandardOccupancy="1"/>
                    </GuestRoom>
                </GuestRooms>
            </FacilityInfo>
        </HotelDescriptiveContent>
    </HotelDescriptiveContents>
</OTA_HotelDescriptiveInfoRS>

OTA-V2 (new Version from 10.2021)

The new version of the OTA_HotelDescriptiveInfoRS method is identical to OTA-V1 with regard to the structure of the room data, but @HotelName is sent in addition to the @HotelCode attribute

Example

<HotelDescriptiveContent HotelCode="4" HotelName="Hotel Superurlaub Schwerin">

Retrieval of bookable additional services / benefits

Optionally, all bookable additional services (e.g. 20-minute massage for the price of 19.50 euros) can also be called up. This is done using the method OTA_HotelDescriptiveInfoRQ and must be requested in advance from the Kurzurlaub.de Connectivity Team.

This can be helpful if the booked additional services (are transmitted with the booking data) are to be evaluated separately via the ID of the service.

Attributes used:

  • ID - unique ID of the service for assignment in the booking
  • Code - OTA code (HAC 1-348)
  • CodeDetail - group of services
  • ServiceName - name / description
  • ServicePricingType - price per
  • AmountAfterTax - price (without comma depending on DecimalPlaces)
  • CurrencyCode - Currency
  • DecimalPlaces - decimal places in the price (AmountAfterTax="3500" DecimalPlaces="2" = 35.00 Euro)

Values for groups of services

Service codes are derived from the Kurzurlaub.de internal groups, e.g. Code="148" CodeDetail="Rental"

Kurzurlaub.de currently has 17 groups of services and these are translated to the OTA standard OTA HAC.

OTA HAC: Hotel Amenity Code for hotel additional services

The following codes from HAC 1-348 are currently used:

HAC code HAC Name / Description
35 fitness facilities
91 Tour/sightseeing desk
148 Front desk
162 Meal plans available
346 Alcoholic Beverages
348 Health and beauty services

Assignment of the Kurzurlaub.de group ID to HAC codes, e.g. group 9 (rental) is assigned to HAC code 148 (front desk).

group id HAC code Kurzurlaub.de - name of the group
1 348 Massages - Health and beauty services
2 348 Baths
3 348 Medical Services
4 148 Flowers -> Front desk
5 162 Dining -> Meal plan available
6 346 Beverages -> Alcoholic beverages
7 148 Services
8 348 Beauty
9 148 Rental
10 35 Sports -> Fitness facilities
11 91 Tours & Sightseeing -> Tour/sightseeing desk
12 91 Maps & Tickets
13 348 Wellness Packages
17 348 Medical Packs

Assignment of Kurzurlaub.de values for price information to OTA ServicePricingType

Price per OTA Values - ServicePricingType
room Per room
room/night Per room per night
stay Per stay
person Per person
person/night Per person per night
night Per night
piece Per use
default Per use
day Per day
minutes per minute
hour per hour

Example with services

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelDescriptiveInfoRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" EchoToken="c7512460332ae2ab1a9fd1c68364f340" PrimaryLangID=" en" TimeStamp="2023-06-09T11:36:30+02:00" Target="Production" Version="2.000">
   <Success/>
   <HotelDescriptiveContentsOverwrite="true">
     <HotelDescriptiveContent HotelCode="4" HotelName="TestHotel">
       <FacilityInfo>
         <Guest Rooms>
           <GuestRoom Code="9147" Quantity="3" RoomTypeName="Double room (24 m², ID:9147, 2E/2K)">
           <TypeRoom DefaultOccupancy="2"/>
           </GuestRoom>
           <GuestRoom Code="5306" Quantity="43" RoomTypeName="Double room (20 m², ID:5306, 2E/2K)">
           <TypeRoom DefaultOccupancy="2"/>
           </GuestRoom>
         </GuestRooms>
       </FacilityInfo>
       <HotelInfo>
         <services>
           <Service ID="50739" Code="162" CodeDetail="Meals" ServiceName="Half Board Dinner" ServicePricingType="Per Person" AmountAfterTax="3500" CurrencyCode="Euro" DecimalPlaces="2">
             <DescriptiveText/>
           </ service>
           <Service ID="96513" Code="148" CodeDetail="Services" ServiceName="Children price 6-14 years only arrangement "Welcome to the Schwerin Zoo"" ServicePricingType="per person" AmountAfterTax="8900" CurrencyCode="Euro" DecimalPlaces="2">
             <DescriptiveText/>
           </ service>
           <Service ID="50732" Code="162" CodeDetail="Meals" ServiceName="Fruit Basket" ServicePricingType="Per Room" AmountAfterTax="1500" CurrencyCode="Euro" DecimalPlaces="2">
             <DescriptiveText/>
           </ service>
         </Services>
       </HotelInfo>
     </HotelDescriptiveContent>
   </HotelDescriptiveContents>
</OTA_HotelDescriptiveInfoRS>