zurück...

OTA_HotelRateAmountNotif

Der OTA_HotelRateAmountNotif Service dient zum aktualisieren der Preise sowie zum setzen der Saisonzeiten eines Betriebes. Im Idealfall sollte der Service jedes mal benutzt werden wenn sich in einem der beiden Änderungen ergeben haben (also wenn möglich nicht bei jeder Freimeldung). Es handelt sich um einen Webservice der nach dem REST (Representational State Transfer) Prinzip aufgebaut ist.

Methodik

Als Antwort liefert das System ein XML Element vom Typ "OTA_HotelRateAmountNotifRS" (siehe unten).

Authentifizierung

Die Authentifizierung erfolgt über die URL. Dazu ist die Hotel-Id (CapCorn Vermieternummer) und der PIN (CapCorn Master PIN) zu verwenden. Ein Beispiel für eine URL sehen sie in der folgenden Abbildung. Sollten Sie Ihren PIN nicht mehr wissen, gibt Ihnen Ihr Verband gerne Auskunft darüber.



Der Request

Im Body der Nachricht werden die Daten im OTA_HotelRateAmountRQ Element übermittelt. Sämtliche Daten beziehen sich natürlich immer auf den Betrieb der in der URL zur Authentifizierung verwendet wurde. Zentrales Element des "OTA_HotelRateAmountRQ" Elements ist der "RateAmountMessages" Container. Dieser beinhaltet sämtliche Preisinformationen und Saisonzeiten, welche jeweils als "RateAmountMessage" Element dargestellt werden. Grundsätzlich ist es möglich nur Preisinformationen bzw. nur Saisonzeiten zu melden. Es können aber auch ohne weiteres beide Informationen kombiniert in einer Meldung an CapCorn übertragen werden. Als Beispiel sehen Sie im folgenden Bild eine Meldung von einer Saisonzeit (3 verschiedene Zeiträume für "Winter A") und die Meldung des Preises für Zimmer 101 in Saison "Winter A". Details dazu unten.



Saisonzeiten setzen

Ein Beispiel für die Saisonzeitenmeldung sehen Sie in der folgenden Abbildung. Die Erklärung zu den diversen Elementen finden Sie unterhalb der Abbildung. Es gibt dabei eine Unterteilung in Attribute bzw. Elemente die zwingend notwendig sind und jene die optional sind. Wichtig: Die Saisonzeitenmeldung ist im Vergleich zur Preismeldung nicht inkrementell! Das bedeutet, dass sie immer alle Saisonzeiten melden müssen. Also sobald sich Saisonzeitenmeldungen in Ihrem Import befinden löscht das System alle bisherigen Zeiten und trägt die neuen Saisonzeiten bei Ihrem Betrieb ein. Sollten sich in Ihrer Meldung nur Preisinformationen befinden (siehe unten) so werden die Saisonzeiten nicht verändert.


Zwingend notwendige Elemente

Optionale Elemente

Preismeldung nach Zimmernummer

Ein Beispiel für eine Preisdefinition nach Zimmernummern sehen Sie in der folgenden Abbildung.



Grundsätzlich dient wie bei der Saisonzeit auch bei der Preismeldung das RateAmountMessage Element als Basis. Auch hier gibt es zwingend notwendige sowie optionale Elemente. Die Funktion der Elemente lautet wie folgt.

Zwingend notwendige Elemente

  • RateAmountMessage“: Ist das zentrale Element, welches 1...n mal angeführt werden muss und Basis für die Preisinformation ist. Das Attribut LocatorID ist dabei optional (siehe unten).

  • StatusApplicationControl“: Dieses Element gibt nun an auf welche Saison und auf welches Zimmer sich die nachstehende Preisinformation bezieht. Dazu muss das Attribut RatePlanID angeführt werden. Führen Sie hier nun die ID (Integer Wert zwischen 1 und 20) der entsprechenden Saisonzeit an. Die IDs der Saisonzeiten finden Sie im Webinterface unter "Zimmer- und Saisonplan" -> "Saisonzeiten verwalten". Das zweite Element InvCode gibt an welchem Zimmer der Saisonpreis zugeordnet werden soll. Die entsprechenden Nummern finden Sie im Webinterface in den Zimmereinstellungen bzw. gesammelt unter "Channel Manager -> Schnittstellen-Codes".

  • Rates“: Das Rates Element ist nun Container für genau ein Rate Elemente. Das Rate Element enthält nun den Container BaseByGuestAmts. Dieser Container enthält wiederum genau ein BaseByGuestAmt Element. Dieses stellt nun mit seinen Parametern die Preisinformation dar.
    Der Parameter CurrencyCode gibt die Währung an und wird bei uns in der Regel mit "EUR" befüllt sein. Als zweiter Parameter können Sie die Anzahl der Dezimalstellen unter DecimalPlaces fixieren. Der Preis wird dann endgültig im Parameter AmountAfterTax angeführt. Achten Sie dabei darauf, dass nur ganzzahlige Werte erlaubt sind. Die Angabe von Cent ergibt sich durch die entsprechende Anzahl von DecimalPlaces. Im oben angeführten Bild sehen Sie zum Beispiel wie für das Zimmer 101 in der Saison "Winter A" ein Preis von € 119,00 festgelegt wird. Wenn Sie den Preis für ein Zimmer in einer bestimmten Saison löschen wollen, dann führen Sie bei "AmountAfterTax" den Wert "0" an.

Optionale Elemente

  • LocatorID“: Die LocatorID ist ein optionales Attribut der RateAmountMessage. Es stellt eine aufsteigende Nummerierung der "RateAmountMessage" Elemente dar. Wir empfehlen dieses Element zu verwenden, denn es dient dazu, bei Ergebnissen mit Fehlern bzw. Warnungen den Bereich anhand dieser ID genau definieren zu können. Sie finden dann die LocatorID im Result des Webservices wieder und können so Ihre Fehler bzw. Warnungen leichter lokalisieren.

Preismeldung nach Zimmerkategorie

Ein Beispiel für eine Preisdefinition nach Zimmerkategorien sehen Sie in der folgenden Abbildung.



Grundsätzlich gilt das selbe Prinzip wie bei der Preismeldung nach Zimmernummer. Der einzige Unterschied liegt darin, dass statt dem Parameter InvCode der Parameter InvTypeCode verwendet wird. Hier geben Sie die Zimmerkategorie an zu der Sie den Preis definieren wollen. Somit wird bei jedem Zimmer dieser Kategorie der entsprechende Preis hinterlegt. Den Kategorie-Code finden Sie im Webinterface in den Kategorieeinstellungen bzw. gesammelt unter "Channel Manager -> Schnittstellen-Codes".

Als Beispiel: Im oben angeführten Bild wird für jedes Zimmer der Kategorie "DZ" für die Saison "Winter C" ein Preis von € 99,00 hinterlegt.

Der Response

Success

Bei fehlerfreien Meldungen sieht die Antwort des Services immer folgendermaßen aus:



Warnings

Es besteht die Möglichkeit, dass Warnungen auftreten. Dies ist zum Beispiel der Fall wenn Sie ein ungültiges Datum angeben haben. Dabei würde dieser Wert ignoriert werden, der Rest aber dennoch abgearbeitet werden. Die Antwort des Services enthält zwar ein Success-Element, zusätzlich sind aber alle Warnungen angeführt die aufgetreten sind (siehe folgende Abbildung).



Die Werte werden wie folgt interpretiert:
  1. ShortText
    Eine kurze Beschreibung der Warnung.

  2. Code
    Fehlercode laut opentravel.org Error-Codes.

  3. Status
    Complete steht dafür, dass die Freimeldung abgearbeitet wurde, die Daten übernommen und an den CapServer übertragen wurden. NotProcessed bedeutet, dass keine Änderungen vorgenommen wurden. Ist in der Regel der Fall wenn eine Anfrage fehlerhaft ist.

  4. RecordID
    Ist gleichzusetzen mit der LocatorID aus Ihrer Anfrage und zeigt Ihnen somit in welcher AvailSatusMessage die Warnung bzw. der Fehler aufgetreten ist.

Errors

Es besteht die Möglichkeit, dass Fehler (Errors) auftreten. Hierfür gibt es viele mögliche Gründe wie etwa eine falsche Zimmernummer, eine falsche Kategorie usw. Wenn ein Fehler auftritt, werden automatisch keine Änderungen übernommen! Wie so eine Antwort aussehen kann sehen Sie in der folgenden Abbildung.