Error Handling
Kurzurlaub.de OTA use some of the common Error Codes (ERR) or Error Warning Types (EWT)
For more information see also the lists of
Sending Error Responses to OTA Partners
Errors must be returned within a the requested message or optional an 'SOAP Envelope' - if SOAP is used. And use the defined response message container depending on the message being responded to. Please see the relevant parts of our specification within the Reservation API, Room Retrieval & Inventory API and Inventory API sections for more information on each error response message.
If the error is specifically related to application-level errors, we allways not respond with an XML response with ErrorCode and ErrorMessage, with a HTTP StatusCode
- Status 200 - OK
Example:
- invalid reservation ID (ResID_Value)
- invalid date or date range
We do not use any other error types (HTTP status etc.). If a server-level issue occurres, we respond with other HTTP standard error codes, but only
- Status 401 - Forbidden
- Status 500 - Internal error
Example:
- Authentication - Partner (AgentDutyCode)
- Authentication - invalid HotelCode
- Authorization - hotel not online / hotel not connected to the partner
We have a robust error handling process in place. So we cover the most errors an send your an error response containing a short description of the error to assist our support teams.
Returning Errors to Kurzurlaub.de
If the error is specifically related to application-level errors, please do not respond to any other error types (HTTP Status codes etc.).
An XML response with ErrorCode and ErrorMessage is also always sent for error messages, with a Status 200 - OK .
If you have server-level issues, then it is OK to respond with HTTP standard error codes.
- Status 401 - Forbidden
- Status 500 - Internal error
It is expected that your OTA has a robust error handling process in place. This includes a queuing mechanism and a robust retry strategy. An error response should contain a short description of the error to assist our support teams.
Recommended OTA Error Codes
Kurzurlaub.de OTA recommends the following error codes from OTA Error Codes (ERR).
Error Warning Type (EWT)
| Code | OTA Description |
|---|---|
| 1 | Unknown |
| 2 | No implementation |
| 3 | Biz rule |
| 4 | Authentication |
| 5 | Authentication timeout |
| 6 | Authorization |
| 7 | Protocol violation |
| 8 | Transaction model |
| 9 | Authentical model |
| 10 | Required field missing |
| 11 | Advisory |
| 12 | Processing exception |
| 13 | Application error |
Error Codes (ERR)
some often used codes, see more codes in Kurzurlaub.de - Error Codes (ERR)
| Code | OTA Description | Examples |
|---|---|---|
| 249 | Invalid rate code | Hotel does not have rates created or configured |
| 321 | Required field missing | Error on request (missing some input params) |
| 375 | Hotel not active | Hotel (HotelCode) is not linked to this Channel Manager or is not active / not online |
| 392 | Invalid hotel code | Authentication error (If username and password are not authenticated) |
| 402 | Invalid room type | Hotel does not have rooms created or configured |
| 448 | System error | Internal error |
| 450 | Unable to process | Empty request or Method is not implemented or some others |
Warning Responses from Kurzurlaub.de
If the response contains an OTA message with an 'Warning' element, then the request was processed, but some data can not be processed, because some data are invalid. For Example if you send avail data for 2 ranges and one range is invalid, then 1 line will be processed and the 2. line will create a Warning in the response.
This can be a wrong date range (Start/End) or date is in past or has wrong format.
Example:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="e29df571-e436-4d8f-a2e6-bb874b54051f" TimeStamp="2021-07-21T13:17:00+00:00" Version="1.0">
<AvailStatusMessages HotelCode="{{HotelCode}}">
<AvailStatusMessage BookingLimit="3">
<StatusApplicationControl Start="2021-08-06" End="2021-08-09" InvTypeCode="30889" RatePlanCode="TEST-BAR" />
<RestrictionStatus Status="Open"/>
</AvailStatusMessage>
<AvailStatusMessage BookingLimit="3">
<StatusApplicationControl Start="2021-08-13" End="2021-08-12" InvTypeCode="30889" RatePlanCode="TEST-BAR" />
<RestrictionStatus Status="Open"/>
</AvailStatusMessage>
</AvailStatusMessages>
</OTA_HotelAvailNotifRQ>
Error Responses from Kurzurlaub.de
If the response contains an OTA message with an 'Error' element, then the request can not be processed because some data is invalid.
This could be, for example, if required data or parameters are missing or if the login credentials for the Agent (AgentDutyCode) or the HotelCode are incorrect and the message will not process until the error is fixed.
If the error is that a required element or attributes are missing, the implementation will need to be adjusted to send the required data.
If the error comes from auth or wrong credentials, please check that the correct AgentDutyCode and HotelCode / RequestorID is sent. We do not use the hotel login (username/password) for the connection, use the agent login instead.
If the error is an invalid HotelCode, contact the hotel to make sure they have the correct Hotel-Id from Kurzurlaub.de backend configured in your mapping.
Kurzurlaub.de - Error Codes (ERR)
Here comes our default error codes as example, if you need other ErrorCode or ErrorType or other error description, please send a list of codes and description, so we can implement your custom error or warning messages.
todo: List of all used Error Codes will come soon
| ERR | Error Code | Description |
|---|---|---|
| 100 | UnknownError | Indicates an unknown error |
| ... | ... | ... |
| 500 | InternalError | Indicates an internal error |
Kurzurlaub.de - Error Warning Types (EWT)
Kurzurlaub.de will use the following OTA error types from OTA Error Warning Type (EWT)
| EWT | Error Warning Type | Description |
|---|---|---|
| 1 | Unknown | Indicates an unknown error |
| 2 | No implementation | Message oder Endpoint is not implemented at the moment |
| 3 | Biz rule | Indicates that the XML message has passed a low-level validation check, but that the business rules for the request message were not met |
| 4 | Authentication | Indicates an auth error - Authentication failed for agent login or credentials are invalid for this Hotel |
| 6 | Authorization | Indicates an error like Hotel does not have rooms created or configured or Invalid InvCode or Invalid room quantity |
| 10 | Required field missing | Indicates missing input params (e.g. invalid date range) |
You are using other custom Error Codes or EWT?
If you are using other custom Error Codes (ERR) or Error Warning Types (EWT) or more codes from the official * OTA Error Codes (ERR) * OTA Error Warning Types (EWT)
please contact out Connectivity Team. We will use a translation table for the mapping of your codes or more official codes (ERR) to our internal represantives.
Example translation:
| Internal ErrorCode | CodeTable | ErrorType | ErrorNumber | ErrorMessage |
|---|---|---|---|---|
| HOTEL_NO_RATES | offical | 6 | 629 | Hotel does not have rates created or configured |
| HOTEL_NO_RATES | custom | 1 | 999 | Hotel (ID xxx) have not rates online (or other custom message for your internal code) |