Zum Inhalt

OTA_ReadRQ

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_ReadRQ - 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 IDs
  • Id (alternativ zu HotelReservationId)

GET /ota/api/Read?AgentDutyCode=1&HotelCode=4&HotelReservationId=2129149

oder kommagetrennte ReservationsId`s

GET /ota/api/Read?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:

  • DateFrom
  • DateTo

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/Read?AgentDutyCode=1&HotelCode=4&DateFrom=2022-01-01&DateTo=2022-02-01

oder im DateTimeFormat

GET /ota/api/Read?AgentDutyCode=1&HotelCode=4&DateFrom=2022-02-01T15:30:00&DateTo=2022-02-01T16:45:00

Lesen von Buchungen mit Datum ab (PurgeDate)

Verwendeter Parameter:

  • PurgeDate Erwartet wird ein DateFormat (YYYY-MM-DD)

liefert alle Buchungen ab dem angefragten Datum

Beispiel

GET /ota/api/Read?AgentDutyCode=1&HotelCode=4&PurgeDate=2022-02-01

OTA_ReadRQ - 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_ReadRQ 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_ReadRQ>

Alternativ

<?xml version="1.0" encoding="UTF-8"?>
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" Target="Production" Version="2.0">
    <POS>
        <Source AgentDutyCode="1">
            <RequestorID ID="4" Type="4"/>
        </Source>
    </POS>
    <UniqueID Type="RES" ID="1513695" />
</OTA_ReadRQ>

Lesen von Buchungen mit Datumsbereich (Datum von/bis)

Erwartet wird von den Parametern

  • eine gültige DatumsPeriode (@Start - @End)
  • ein gültiges DatumsFormat (YYYY-MM-DD) oder DateTimeFormat (YYYY-MM-DD(T)HH:MM:SS)

Variante 1 - Verwendete Parameter:

  • SelectionCriteria@Start (mandatory)
  • SelectionCriteria@End (mandatory)

Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" Target="Production" Version="3.0">
    <POS>
        <Source AgentDutyCode="1">
            <RequestorID ID="4" Type="4"/>
        </Source>
    </POS>
    <ReadRequests>
        <HotelReadRequest HotelCode="4">
            <SelectionCriteria Start="2022-01-01" End="2022-01-30"/>

            <!-- alternative DateTimeFormat
            <SelectionCriteria Start="2022-01-27T11:30:00" End="2022-01-27T11:37:00"/>
            -->
        </HotelReadRequest>
    </ReadRequests>
</OTA_ReadRQ>

Variante 2 - Verwendete Parameter:

  • GlobalReservationReadRequest@Start (mandatory)
  • GlobalReservationReadRequest@End (mandatory)

Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" Target="Production" Version="3.0">
<POS>
    <Source AgentDutyCode="1">
        <RequestorID ID="4" Type="4"/>
    </Source>
</POS>
<ReadRequests>
    <HotelReadRequest HotelCode="4"/>   
    <GlobalReservationReadRequest Start="2020-10-01" End="2020-11-30"/>

    <!-- alternative DateTimeFormat
    <GlobalReservationReadRequest Start="2022-01-27T11:30:00" End="2022-01-27T11:31:00"/>
    -->
</ReadRequests>
</OTA_ReadRQ>

Lesen von Buchungen mit Datum ab (PurgeDate)

wird in der Message OTA_ReadRQ für POST Requests nicht angeboten, da es laut OTA Spezifikation nicht vorgesehen ist.

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_ReadRQ 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_ReadRQ>

OTA_HotelResNotifRS - Versionen der Response

Die Ausgabe der Reservierungsdaten erfolgt identisch zum Format und in Form der Standard Message

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_HotelResNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" EchoToken="5915874940c61a0f496dd31928e85672" PrimaryLangID="de" TimeStamp="2022-02-04T15:48:17+01:00" Target="Production" Version="1.000">
  <Success/>
  <HotelReservations/>
</OTA_HotelResNotifRS>

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)"
/>