Handling Reservation Requests to Avoid Errors and Losses


It is important to design your booking request workflow to be tolerant of network issues. Do not interpret a lack of a response as an indicator of a failed booking. If a network connection is lost after a reservation request is sent but before the response is received, then your customer's booking may still have been charged & confirmed within EAN's systems.

Any non-response instance following a booking request should be followed up with an itinerary request that includes the original afilliateConfirmationId used in the reservation. The status of the booking can then be retrieved.

Recommended Procedure

Always send affiliateConfirmationId

Generate a unique affiliateConfirmationId for each customer's booking. If resending the same request details (e.g. due to a failed attempt), the same affiliateConfirmationId should be used. This prevents accidental duplicate bookings.

When sending a new booking request, the API will not respond until the booking is either confirmed or refused. The majority of responses are returned within a few seconds. However, a small number of bookings can take up to several minutes to process & generate a response.

Monitor bookings that do not resolve quickly

If no response is received after ≈30 seconds, check the progress of the booking with an itinerary request, using the same affiliateConfirmationId that was sent with the booking. The itinerary response will indicate a status of PS (pending) if the reservation is still in progress; CF if the reservation is confirmed; ER or DT if the reservation is rejected or deleted. If a pending status is returned, you can continue polling with itinerary requests every few seconds if you wish.

EAN recommends waiting a total of at least 90 seconds to receive a confirmed (CF) response to your booking request.

Handling bookings that do not resolve after 90 seconds, including PS status

If after 90 seconds, an itinerary response returns a status of ER or DT, or if the itinerary can no longer be found, inform the customer that the booking has failed and ask them to re-book.

If after 90 seconds the itinerary response status is still PS, the options are as follows:

  • If the booking is fully refundable, you can allow the customer to abandon the booking. However, you must continue to monitor the booking until PS resolves to a permanent status, and cancel the booking if it resolves to CF.

  • If the booking is not fully refundable:

  1. Inform the customer that the booking is in progress and confirmation will be provided by email
  2. Continue to monitor for CF or ER statuses with itinerary requests for up to 20 minutes
  3. If still PS after 20 minutes, contact the EAN call centre for assistance. To cancel a non-refundable or partially-refundable booking and attempt to obtain a full refund, you must contact the EAN call centre as soon as possible. Only EAN agents can contact the hotel directly and negotiate the issue.

Daily reconciliation

  1. Log every booking request and its associated affiliateConfirmationId, noting whether the booking resolved to CF or a failed status.
  2. On a daily basis, send an itinerary request using yesterday and today's date for the creationDateStart and creationDateEnd values to return all bookings made within the previous 24 hours. Verify that all reservations returned by the dated itinerary response match your own booking logs.
  3. If the itinerary response and your logs contain any mismatches, contact the EAN call center to discuss & cancel as necessary.
    Mismatched bookings with non-refundable rates or bookings that may fall within cancellation penalty windows must be dealt with as quickly as possible. The call center will attempt to cancel these non- and partially-refundable reservations by working directly with the hotel.