Since supplier error messages change without notice and are not published by those systems, a full list of messages is NOT KNOWN.

Example error handling flow

  • Log and collect error messages as they occur so you can build your own database of errors.
  • By collecting the handling, category, and message elements in your own system, you'll be able to eventually handle all errors as they occur, including any new messages that are returned from the supplier resources.
Common Response Element
Element Type Description
customerSessionId (string) This value is returned to track the user session activity in order to compile statistics, user behavior and traffic. Include this value on every request going forward to log that individual user session.
EanWsError (EanWsError object) Root exception node
EanWsError
Element Type Description
itineraryId (long) The ID associated with a EAN itinerary. This value is necessary in all correspondence with customer service agents on bookings.  An itinerary ID is only returned on booking requests. Data validation errors on booking requests do not return an itineraryID.  If one is returned, then always return it to the client as a reference number.  If not, then the error did not get far enough to generate a reference itineraryID.
  • If -1 is returned, then an itinerary record was not created and no record of the request exists.
  • If an itinerary ID is returned, this should be used in all correspondence with customer care on any booking.
  • An itinerary will be returned on a failed booking request if the occurrence can be recorded in the system.
  • If handling=AGENT_ATTENTION is also returned, then the error is flagged for an agent to follow up. Otherwise, handling= UNKNOWN or UNRECOVERABLE indicates a new reservation request must be resubmitted.
  • The category returned dicatates if the same reservation can be attempted again (quote key failure) OR a new property must be selected (EX: Sold Out).
  • If the same request is resubmitted, refresh the room data and display any changed rates to the user to reselect. Then send fresh room data in the resubmitted reservation.
exceptionConditionId (int) for internal reference only
presentationMessage (string) presentation error message returned
verboseMessage (string) more specific detailed error message
handling (errorHandling object) value indicating the severity of the exception and how it may be handled
category (errorCategory object) value indicating the nature of the exception or the reason it occurred
ErrorAttributes
(Error Attributes object) additional error data. This element typcally returns data for secure code credit card processing or correcting multiple location errors.
ServerInfo (ServerInfo object)

(minRev 7 and higher)

Attributes:

  • serverTime = current readable formatted time
  • timestamp = the current time in seconds
    • When receiving an authentication error in using signature authentication, resend the request using this value to create the sig parameter. Because of time zone differences, some affiliates don't accurately match time when generating a sig value. Use this value to synchronize time to our server when creating a sig value and authenticating with this method.
  • instance = an internal server instance
Example: <ServerInfo serverTime="19:11:13.082-0500" timestamp="1311725473" instance="48" />

errorHandling

Element Description
UNKNOWN A successful booking could not be placed and a reason for the failure is unknown.
RECOVERABLE This usually indicates a user error, such as incorrect entries that won’t pass validation. To recover, simply have the user correct the entry error for the field as indicated in the message. This could also be a recoverable error by resubmitting the booking with refreshed values.
UNRECOVERABLE The error that occurred cannot be corrected by either the user or a customer service agent. To place this booking, the user must go back and restart or refresh the search. This error occurs with invalid request issues, unusable data, or supplier problems.
AGENT_ATTENTION

We were able to record the itinerary, however, due to the nature of the error or the booking attempt:

  • an agent must follow up to complete the booking manually
  • verify a booking that has been flagged for fraud
  • respond to the user that an error occurred and ask if they would like to follow through with the booking request. In many cases, the user may be referred back to the website to try the booking again online.

errorCategory

Element Description
UNKNOWN unknown process failure
EXCEPTION unidentified error
CREDITCARD credit card processing error
DATA_VALIDATION user entry error
AUTHENTICATION unauthorized access, unable to authenticate access permissions
UNABLE_TO_PROCESS_REQUEST unable to process the request
INVALID_PROPERTY_ID invalid hotel ID or inactive hotel ID
RESULT_NULL no results
PROCESS_FAIL process failure
SOLD_OUT sold out
RESTRICTED_CHECKIN dates or number of nights do not meet the restricted check in rules
ONEROOM  
SUPPLIER_COMMUNICATION supplier communication failure, supplier connectivity issue
DATA_PARSE_RESULT data parsing issue
CORPORATE_RATE corporate ID required for rate
RES_NOT_FOUND reservation not found
RES_CANCELLED reservation cancelled
HRN_QUOTE_KEY_FAILURE rate key failed, obtain a new rate key by refreshing the search
HRN_QUOTE_KEY_INVALID invalid rate key, obtain a new rate key by refreshing the search
SYS_OFFLINE supplier system offline or down
SUPPLIER_INITITIALIZATION unable to connect to supplier
SUPPLIER_ROUTER_EXCEPTION unable to connect to supplier
EJB_CREATE_EXCEPTION reservation exception
FINDER_EXCEPTION supplier exception
BML_FAIL supplier exception
PRICE_MISMATCH rate change, obtain a new rate by refreshing the search or selecting a new room or property
CSV_FAIL incorrect credit card security value
PAYER_AUTH_REQUIRED The credit card requires a 3DS secure code
PAYER_AUTH_FAILED secure code incorrect or secure code process failure
ITINERARY_ALREADY_BOOKED existing itinerary already found in the system

ErrorAttributes

Element type
entry (entry object)
entry
key (errorAttributesMap obect)
value (string)

errorAttributesMap

Element Description
CC_TRANSACTIONSTATUS  
TRANSACTIONSTATUSMSG  
PA_TRANSACTIONSTATUS VBV / 3DS detail
XID VBV / 3DS detail
ACS_URL  
VBV / 3DS detail
PA_REQ VBV / 3DS detail
AUTH_CODE VBV / 3DS detail
PAS_TRANSACTION_ID VBV / 3DS detail
SUPPLIER_ERROR_CODE  

XML Example Exception

<ns2:HotelRoomAvailabilityResponse size="0">
  <EanWsError>
    <itineraryId>-1</itineraryId>
    <handling>RECOVERABLE</handling>
    <category>DATA_VALIDATION</category>
    <exceptionConditionId>-1</exceptionConditionId>
    <presentationMessage>TravelNow.com cannot service this request.</presentationMessage>
    <verboseMessage>Data in this request could not be validated: Specified arrival date is prior to today's date.</verboseMessage>
    <ServerInfo serverTime="19:11:13.082-0500" timestamp="1311725473" instance="48" />
  </EanWsError>
  <customerSessionId>0ABAA825-0BE2-8912-CF12-59D0D9032F8</customerSessionId>
</ns2:HotelRoomAvailabilityResponse>