Zum Inhalt

OTA_UpdateInventoryRQ

Hierbei handelt es sich um keine offizielle OTA Message!

Die Methode ist nur für einzelne OTA Partner freigeschaltet.

Beispiel und Endpunkt:

POST /ota/api/UpdateInventory

In der Response werden keine OTA Standard Attribute verwendet.

UpdateInventory - Anfrage per POST

UpdateInventory Request (RQ) und Response (RS) am Beispiel des Testhotels

  • authentication@login (Agent-Login): string
  • authentication@password (Agent-Password): string
  • inventoryUpdate@hotelId (Hotel-ID): integer

Beispiel UpdateInventory Request

<?xml version="1.0" encoding="UTF-8"?>
<message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <authentication login="my-agent-login" password="xxxxxx" />
    <inventoryUpdate hotelId="7730">
        <room id="32110">
            <inventory>
                <availability from="2022-11-06" to="2022-11-06" quantity="4" />
                <availability from="2022-11-07" to="2022-11-08" quantity="3" />
                <availability from="2022-05-01" to="2022-05-31" quantity="11" />
                <availability from="2022-05-09" to="2022-05-10" quantity="0" />

            </inventory>
        </room>
        <room id="32109">
            <inventory>
                <availability from="2022-11-17" to="2022-11-21" quantity="91" />
            </inventory>
        </room>
    </inventoryUpdate>
</message>

Beispiel einer Anfrage mit optionalen Raten und Buchungsregeln / RestrictionStatus

Bei Verwendung der optionalen Parameter @rateCode werden die kombinierten Zimmer- und Ratenverfügbarkeiten verarbeitet.

Parameters:

  • @rateCode - RatePlan-Id oder RatePlanCode
  • @rateName - optional für Angebotsname name

  • planning@from - das Startdatum (YYYY-MM-DD)

  • planning@to - das Enddatum (YYYY-MM-DD)

Der @rateCode kann entweder ein String (BEST-BAR) oder alternativ eine zu sendende Angebots-ID (ganzzahliger Wert) sein. Der Tarifcode kann im Kurzurlaub.de-Backend des Hoteliers für jedes Angebot hinterlegt werden, um Angebote und Tarife im OTA-Backend oder in der Hotelsoftware besser und übersichtlicher abzubilden.

Optionale parameter für Buchungsregeln und Restriktionen

  • Normalerweise ignorieren wir LengthOfStay-Attribute, können sie aber bei Bedarf verarbeiten

    • LengthOfStay (normalerweise SetMinLOS“ oderSetMaxLOSgenannt) kann optional alsminimumStayodermaximumStay` gesendet werden
  • wir bearbeiten die Restrictionen mit Open / Close z.B.

    • Geschlossen - Master isClosed="false" oder isClosed="true")
    • Anreise gesperrt - Close to arrival - CTA noArrival="false" oder noArrival="true")
    • Abreise gesperrt - Close to departure - CTD noDeparture="false" oder noDeparture="true")
  • Wenn der Preis verfügbar und die Rate nicht gesperrt ist, kann ein Einheitspreis pro Person gesendet werden (personCount="2" unitPrice="510.00")

  • RestrictionStatus Offern Open wird in der Regel verschickt (isClosed="false")
  • RestrictionStatus Geschlossen Close wird in der Regel ohne Preise verschickt (isClosed="true")
  • RestrictionStatus für CTA / CTD (noArrival="false" noDeparture="false" isClosed="false")
  • LengthOfStay (normalerweise SetMinLOS oder SetMaxLOS) kann optional versendet werden als minimumStay oder maximumStay

Beispiel CUSTOM_InventoryUpdateRQ Anfrage zum Senden von Tarifen und Buchungsregeln / RestrictionStatus

<inventoryUpdate hotelId="7730">
    <room id="32110">
        <inventory>
            <availability from="2023-08-24" to="2023-08-24" quantity="6" />
        </inventory>

        <rate currency="EUR" rateCode="431774" rateName="TEST-BAR-KU-2PAX">
            <planning from="2023-08-24" to="2023-08-24" minimumStay="3" maximumStay="4" noArrival="false" noDeparture="false" isClosed="false">
                <occupancy personCount="1" unitPrice="1050.50" isClosed="false" />
                <occupancy personCount="2" unitPrice="525.25" isClosed="false" />
            </planning>
            <planning from="2023-08-25" to="2023-08-25" minimumStay="3" maximumStay="4" noArrival="false" noDeparture="true" isClosed="false">
                <occupancy personCount="1" unitPrice="1020.00" isClosed="false" />
                <occupancy personCount="2" unitPrice="510.00" isClosed="false" />
            </planning>
            <planning from="2023-08-26" to="2023-08-26" minimumStay="3" maximumStay="4" noArrival="true" noDeparture="false" isClosed="false">
                <occupancy personCount="1" unitPrice="1010.00" isClosed="false" />
                <occupancy personCount="2" unitPrice="505.00" isClosed="false" />
            </planning>
        </rate>
        ...
        <rate currency="EUR" rateCode="BEST-BAR" rateName="Best available rate">
            <planning from="2023-08-24" to="2023-08-26" minimumStay="1" maximumStay="7" noArrival="true" noDeparture="true" isClosed="true">
                <!-- send only isClosed without unitPrice -->
                <occupancy personCount="1" isClosed="true" />
                <occupancy personCount="2" isClosed="true" />
            </planning>
        </rate>
    </room>
</inventoryUpdate>

Normalerweise wird ein <Success/> als Antwort gesendet oder entsprechende Fehlermeldungen

Beispiel UpdateInventory Response

<?xml version="1.0" encoding="UTF-8"?>
<message xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         EchoToken="61d7255ffa4a667ac0eadfea4faeebcc" PrimaryLangID="de" TimeStamp="2022-03-08T14:40:51+01:00"
         Target="Production" Version="2.01">
    <Success/>
</message>