EQC | Previo API



In order to connect with other PMS systems and Channel Managers Previo offers a copy of verified and well-know interface Expedia QuickConnect (EQC) introduced by Expedia Inc. Please note, that Previo uses EQC version 0.8.5 which doesn't support multiple Availability changes per 1 request.

This interface allows to transfer:

  • Reservations from Previo (by partner accommodation portals or hotel own website booking engine) into the hotel PMS.
  • Rates and availability from third party PMS (or Channel manager) to Previo

Function URLs

WSDLs are available here.

AvailRateUpdate https://api.previo.cz/eqc1/ar



BookingConfirm https://api.previo.cz/eqc1/bc



BookingRetrieval https://api.previo.cz/eqc1/br





Differences in implementation

Previo EQC differs from original Expedia EQC in few details both technical and business related.


Minimum length of stay is supported. Hotels can however have PMS setting, that allowing minLOS on season level only. In this case Setting minLOS for one room type rewrites also minLOS with all other room types. If the minLOS setting is set on season & room type level, the minLOS will be adjusted according the request.

Rate plans

To get list of available rate plans use REST API function: https://rest.apidocs.previo.cz/#a2bf3989-d359-4db9-bef2-d8ac6b7e68dc

Base allocation

Previo EQC does not support base allocation. Use flexibleAllocation to set absolute occupancy (availability).

Charging method PER_PERSON_PRICING

There are only these two models in Previo: OCCUPANCY_PRICING and PER_DAY_PRICING. But because PER_PERSON_PRICING is easily convertible to OCCUPANCY_PRICING without loss of any data Previo EQC accepts it. But it's name never shows up in error code 3090.


Expedia EQC doesn't have to end the request validation right after first found error but may cumulate them. The response is then more descriptive:

<Error code="1001">Authentication error: invalid username or password. Ref=[bb6129a8-3ef5-11de-b3d3-9af40e95639f]</Error>
<Error code="3202">Hotel ID not found. You either specified an invalid hotel ID or your account is not linked to this hotel. Ref=[bb6129a8-3ef5-11de-b3d3-9af40e95639f]</Error>
<Error code="3203">Room type ID 278951 not found. Ref=[bb6129a8-3ef5-11de-b3d3-9af40e95639f]</Error>
<Error code="3204">Rate plan ID 809437 not found. Ref=[bb6129a8-3ef5-11de-b3d3-9af40e95639f]</Error>

On the other hand Previo EQC ends validation immediately after the first found error and returns it in the response.


Expedia EQC may even in cases of successful validation (Success) send back one or more warnings. Previo EQC does not send warnings, function either succeeds or fails.

Support for EQC errors

Error code Error description Support in Previo EQC Note
1000 Access denied: you are not authorized to use Expedia QuickConnect. Please contact Expedia to gain access. YES When the login and password are correct but the user is not allowed to call that function due to user rights policy.
1001 Authentication error: invalid username or password. YES  
2002 Parsing error: malformed xml. YES Error in xml is not specified.
2010 The namespace specified is invalid. NO Invalid namespace does not pass validation and location of the error is thrown in error code 3010.
3010 Validation against schema failed because a value exceeds its defined length, the format is wrong, or because of another validation enforced by schema. YES  
3015 Business validation error. For example:
  • Rate plan can't be closed because there are some rooms remaining in base allocation
  • Net rate specified is "extreme" (too low or too high)
  • Any other type of business error not covered by other error codes.
NO The specified price is not checked.
3020 Validation error: start date must not be before yesterday. YES  
3021 Validation error: end date must not be before start date. YES  
3022 Validation error: end date must be within 2 years. YES  
3023 Validation error: date range must be within 365 days. YES  
3024 No availability and rate information is currently loaded for the selected period, room type and/or rate plan. NO  
3040 The room type you are trying to modify (<room_type_ID>) is inactive. PARTIALLY There is no way in previo to deactivate a room type. This error will be thrown if the given type of rooms are not set or the number of beds is 0.
3050 The rate plan you are trying to modify (<rate_plan_ID>) is inactive. NO  
3080 Booking ID cannot be found. Please make sure you are not trying to retrieve a booking for which the guest arrived before <current_date_minus_2_weeks>. Old bookings can't be retrieved through this mechanism. PARTIALLY Invalid id is checked. However, you can download any old reservations. Restrictions to two weeks do not apply.
3081 Hotel ID and Booking ID mismatch: the Hotel ID specified in the BR RQ doesn't match the Booking ID for that request. YES  
3090 Pricing models mismatch: you tried to update a price for <pricing_model_name>, but your property is configured to use <name of other pricing model>. PARTIALLY Previo does not distinguish between pricing models OCCUPANCY_PRICING and PER_PERSON_PRICING.
3091 Occupancy level redundancy: you specified twice the same occupancy level for rate <YYYY>. YES  
3092 Occupancy level problem with rate plan <YYYY>: levels of each occupancy have to be created sequentially and in order. You tried to skip a level (last level created was <X> and you tried to create level <Z>). YES  
3103 Currency code mismatch. YES  

Hotel ID not found. You either specified an invalid hotel ID or your account is not linked to this hotel.

Note: If the system finds no hotels listed for the specified user, the error message is slightly different: "No hotels associated with that user".

3203 Room type ID not found. YES  
3204 Rate plan ID not found. NO  
3301 Update refused. No more than 10 confirmation numbers can be sent in a single message. YES  
3310 Update refused: a unique rate plan (rate plan ID <rate_plan_ID>) was specified <nb_of_times> times in the same AR update message. The same rate plan ID may not by used more than once per message. NO  
3320 Update refused: a unique room type (room type ID <room_type_ID> was specified <nb_of_times> times in the same AR update message. The same room type ID may not by used more than once per message. NO  
4000 Internal processing error, please try again in a few minutes. YES  
4001 Internal timeout error, please try again in a few minutes. NO  
4003 Internal configuration error.. NO  
4206 Expedia QuickConnect interface is temporarily closed. Please try again shortly. NO  
4210 Communication error: exceed max number of connections allowed (1). NO  
5000 Internal database error, please try again in a few minutes. NO  
7018 Base Availability request adjusted to prevent total availability from exceeding the system maximum YES If flexible allocation exceeds number of rooms given room kind set in Previo (warning only - allotment is adjusted to maximum room capacity)