EDistribution API

List rates#

GET/v1/rates

Bulk rate feed, indicative only — meant for warming an integrator's own cache so it can run its own pricing logic on top. This is NOT the authoritative price. The authoritative price — the one a booking is actually made against, matching what CRS charges — comes from the order preview in a later API slice. Do not book against these figures. Pass listingIds to expand to every property they contain, propertyIds to fetch specific properties directly, or mix both. Each list parameter accepts at most 100 ids — the cap is per parameter, so listingIds and propertyIds may carry 100 each.

Exactly one of two mutually exclusive modes is selected by which date pair you supply — supplying both, or neither, is a 400:

  • Range mode — pass from/to (inclusive, default a 90-day window starting today, at most 365 days). Returns one row (RateRow) per (property, date, meal plan, adult count) with the plain nightly rate. Promotions never appear here — a single night is not a stay, so promotionMode must be RAW or omitted; anything else is a 400.
  • Stay mode — pass checkIn/checkOut (checkOut strictly after checkIn, at most 365 nights). Returns one row (StayRateRow) per (property, meal plan, adult count) totalling the whole stay, with the best eligible promotion evaluated ONCE against the real check-in, checkout and night count — not per night as if each night were its own one-night stay. promotionMode controls which price figures come back: RAW for the pre-promotion total only, APPLIED for the post-promotion total only, or BOTH (default) for both figures plus the promotion that produced the difference. This filter only shapes the response — it never changes which rows are returned. Bank offers and coupons never appear here: they depend on the guest's payment instrument, which is meaningless when an agent group settles on credit — only promotions are considered. In stay mode, a property is omitted from the results entirely when any single night of the requested stay has no rate for it — a stay that cannot be fully priced cannot be quoted.

Request

cURL
curl -X GET 'https://partner-api.elivaas.com/v1/rates' \
  -u "$ELIVAAS_API_KEY:" \
  -H 'Content-Type: application/json'
Response 200
[
  "string"
]

Query parameters#

listingIdsstring[]

Listing ids to expand to their properties. Max 100 ids per request.

propertyIdsstring[]

Property ids to fetch directly. Max 100 ids per request.

fromstring<date>

Range mode: start of the date window (inclusive, ISO 8601 date). Defaults to today. Mutually exclusive with checkIn/checkOut.

tostring<date>

Range mode: end of the date window (inclusive, ISO 8601 date). At most 365 days after from.

checkInstring<date>

Stay mode: the real check-in date (ISO 8601). Mutually exclusive with from/to; requires checkOut.

checkOutstring<date>

Stay mode: the real checkout date (ISO 8601), strictly after checkIn. At most 365 nights after checkIn.

Which price figures to return. Range mode: RAW (or omitted) only. Stay mode: RAW (pre-promotion only), APPLIED (post-promotion only), or BOTH (default).

Responses#

StatusMeaning
200One row per (property, date, meal plan, adult count) in range mode (RateRow), or one row per (property, meal plan, adult count) in stay mode (StayRateRow).
400Validation failure. The message names the offending parameter. Limits are rejected, never silently clamped: an over-length id list, a page size above 100 or a date window longer than 365 days all land here rather than coming back quietly truncated.
401Missing, malformed, revoked or unknown API key, or an agent group whose distribution access is disabled. Pass the key as the HTTP Basic username with an empty password.
429Rate limit exhausted for this credential. Wait Retry-After seconds before retrying; the budget is per credential, not per IP.

See Errors for the error body shape and which statuses are worth retrying.