OTA_HotelResRQ
Alternative Methode zum Abrufen von Buchungen vom Buchungskanal Kurzurlaub.de.
Siehe auch allgemeinen Informationen zur Reservation API im Entwickler Guide und die Standard Message OTA_HotelResNotifRQ , um Buchungen zu lesen.
Buchungen werden mit Status gesendet
| Status | Beschreibung |
|---|---|
| Book | Neue Buchungen, diese Status wird nur einmal beim ersten Senden verwendet, danach werden alle weitere Response zu einer Buchungs-ID immer mit Status Modify gesendet |
| Modify | Buchungsänderungen oder erneuter Abruf einer schon gesendeten Buchung per ResID_Value oder Datumsbereich von/bis |
| Cancel | Stornierungen |
OTA_HotelResRQ - Anfrage per GET - REST-API
jede Methode kann per REST-API mittels GET aufgerufen werden. Aber dies sollte bei Buchungen nur zu Entwicklungs- oder Testzwecken erfolgen
Verwendete allgemeine Parameter:
AgentDutyCode(optional, sofern IP WhiteList oder HTTP Basic Auth verwendet wird)HotelCode(mandatory)
Lesen von Buchungen mit ReservationsId
Verwendete Parameter:
HotelReservationId(mandatory) eine ReservationsId oder kommagetrennte IDsId(alternativ zu HotelReservationId)
GET /ota/api/HotelRes?AgentDutyCode=1&HotelCode=4&HotelReservationId=2129149
oder kommagetrennte ReservationsId`s
GET /ota/api/HotelRes?AgentDutyCode=1&HotelCode=4&HotelReservationId=2129149,2129150,2129151
alternativ auch mit Angabe der gesamten ResID_Value (R12345678-A123456-1234 bspw. R2129149-A20540-4) möglich.
Lesen von Buchungen mit Datumsbereich (Datum von/bis)
Verwendete Parameter:
DateFromDateTo
Erwartet wird ein DateFormat (YYYY-MM-DD) oder DateTimeFormat (YYYY-MM-DD(T)HH:MM:SS)
liefert alle Buchungen in Datumsbereich von/bis (00:00:00 - 23:59:29) oder mit konkretem Uhrzeitbereich
Beispiel
GET /ota/api/HotelRes?AgentDutyCode=1&HotelCode=4&DateFrom=2022-01-01&DateTo=2022-02-01
oder im DateTimeFormat
Lesen von Buchungen mit Datum ab (PurgeDate)
Verwendeter Parameter:
PurgeDateErwartet wird ein DateFormat (YYYY-MM-DD)
liefert alle Buchungen ab dem angefragten Datum
Beispiel
GET /ota/api/HotelRes?AgentDutyCode=1&HotelCode=4&PurgeDate=2022-02-01
OTA_HotelResRQ - Anfrage per POST
Verwendete allgemeine Parameter:
@AgentDutyCode(Agent-ID): (optional)RequestorID@ID(Hotel-ID): (mandatory)
Lesen von Buchungen mit ReservationsId
Verwendeter Parameter:
UniqueID@ID(mandatory) eine ReservationsId
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelResRQ xmlns="http://www.opentravel.org/OTA/2003/05" Target="Production" Version="2.0">
<POS>
<Source AgentDutyCode="1">
<RequestorID ID="4" Type="4"/>
</Source>
</POS>
<!-- send booking for this ReservationId -->
<UniqueID Type="RES" ID="12345678" />
<HotelReservations>
<HotelReservation />
</HotelReservations>
</OTA_HotelResRQ>
Lesen von Buchungen mit Datum ab (PurgeDate)
Verwendeter Parameter:
HotelReservation@PurgeDateErwartet wird ein DateFormat (YYYY-MM-DD)
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelResRQ xmlns="http://www.opentravel.org/OTA/2003/05" Target="Production" Version="2.0">
<POS>
<Source AgentDutyCode="1">
<RequestorID ID="4" Type="4"/>
</Source>
</POS>
<HotelReservations>
<!-- send all bookings after PurgeDate -->
<HotelReservation PurgeDate="2022-01-01" />
</HotelReservations>
</OTA_HotelResRQ>
Lesen von neuen Buchungen
wenn keine Parameter angegeben werden, liefern wir alle neuen Buchungen, welche noch nie gesendet wurden. Achtung: dies passiert nur genau ein mal!
Verwendete Parameter:
- keine
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelResRQ xmlns="http://www.opentravel.org/OTA/2003/05" Target="Production" Version="2.0">
<POS>
<Source AgentDutyCode="1">
<RequestorID ID="4" Type="4"/>
</Source>
</POS>
<!-- no params so send all unsubmitted bookings -->
<HotelReservations>
<HotelReservation />
</HotelReservations>
</OTA_HotelResRQ>
oder einfacher
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelResRQ xmlns="http://www.opentravel.org/OTA/2003/05" Target="Production" Version="2.0">
<POS>
<Source AgentDutyCode="1">
<RequestorID ID="4" Type="4"/>
</Source>
</POS>
</OTA_HotelResRQ>
OTA_HotelResRS - Versionen der Response
Die Ausgabe der Reservierungsdaten erfolgt fast identisch zum Format der Standard Message
- OTA_HotelResNotifRQ - siehe weitere Informationen zum Ausgabeformat
- Reservation API - allgemeinen Informationen im Entwickler Guide
Hinweis:
Sollten keine Reservierungen für die abgefragten Parameter vorliegen, erhalten sie eine Antwort mit einem <Success/> (es sind also keine Fehler in den gesendet Parametern aufgetreten) und einem leeren <HotelReservations/> Block.
Beispiel: keine Reservierungen vorhanden
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelResRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" EchoToken="9c3561c0d9c534d355dd902ebae420d0" PrimaryLangID="de" TimeStamp="2022-02-04T12:13:13+01:00" Target="Production" Version="1.000">
<Success/>
<HotelReservations/>
</OTA_HotelResRS>
Fehlermeldungen
Wenn schwere Fehler bspw. in der Authentifizierung auftreten, senden wird diese in einer OTA_ErrorRS Response mit @ErrorCode und @ErrorMessage
Eine Liste gängiger Fehler finden Sie in der Dokumentation der Standard Message OTA_HotelResNotifRQ
Besonderer Hinweis zu Formatfehlern:
Eine besondere Fehlermeldung bezieht sich auf das fehlerhafte Format bei den Parametern
DateFrom, DateTo oder bei PurgeDate
Erwartet wird ein DateFormat (YYYY-MM-DD) oder DateTimeFormat (YYYY-MM-DD(T)HH:MM:SS)
Beispiel: ErrorMessage
<?xml version="1.0" encoding="UTF-8"?>
<OTA_ErrorRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" EchoToken="f3de3733d5095b49a5c774b99f467e57" PrimaryLangID="de" TimeStamp="2022-02-04T12:15:46+01:00" Target="Production" Version="1.000"
ErrorCode="500"
ErrorMessage="InternalError - Internal OTA Error: wrong format for param DateFrom (2022-02-01T15:30:00) or param DateTo (2022-02-01T16:45:0) in GET method ErrorRS (allowed format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS)"
/>