Skip to main content

Rates & Availability Push

Pushing is split into rates and business days on one side and availability on the other. For the overall order of steps, see the Initial Setup overview.

MethodPathDescription
POST.../ariRates and business days (per rate plan, vendor_rateplan_id)
POST.../ari/availsAvailability, vacancy (consolidated per room type; at most 730 days per item)

Both endpoints carry the shared value and the per-channel values (the channels[] array) in a single call. channels[] is a complete declaration of per-channel settings, so settings for channels absent from the array are deleted within the item's from-to range.

Rates and business days — overnight (overnight)

[
{
"vendor_roomtype_id": "VRT-001",
"vendor_rateplan_id": "VRP-001",
"type": "overnight",
"from": "2026-01-01",
"to": "2026-01-31",
"basic_price": 0,
"net_price": 0,
"sale_price": 12000,
"is_business_day": 0,
"channels": [
{ "channel_id": 1, "basic_price": 0, "net_price": 0, "sale_price": 10000, "is_business_day": 0 },
{ "channel_id": 2, "basic_price": 0, "net_price": 0, "sale_price": 11000 }
]
}
]

Rates and business days — day-use (dayuse)

[
{
"vendor_roomtype_id": "VRT-001",
"vendor_rateplan_id": "VRP-001",
"type": "dayuse",
"from": "2026-01-01",
"to": "2026-01-31",
"basic_price": 0,
"net_price": 0,
"sale_price": 12000,
"is_business_day": 0,
"use_from": "14:00",
"use_to": "20:00",
"use_time": 240,
"channels": [
{ "channel_id": 1, "sale_price": 10000, "use_from": "14:00", "use_to": "20:00", "use_time": 240 }
]
}
]

Availability — consolidated per room type

[
{
"vendor_roomtype_id": "VRT-001",
"from": "2026-01-01",
"to": "2026-01-31",
"vacancy": 5,
"channels": [
{ "channel_id": 1, "vacancy": 3 },
{ "channel_id": 2, "vacancy": 5 }
]
}
]
Push rules
  • POST .../ari — pushes rates and business days per rate plan. Settings for channels absent from channels are deleted within the item's range (omitting the field or sending an empty array deletes settings for all channels), and each channel object must carry at least one value field (channel_id alone returns 400). Omitted fields keep their existing values. use_from, use_to, and use_time (in minutes) may be sent only on day-use items.
  • POST .../ari/avails — applies availability as a consolidated per-room-type count. channels[] is a complete declaration of per-channel availability, so availability for channels absent from the array is deleted within the range. Each from-to range spans at most 730 days.
The type field (overnight or day-use)

Both ari and bookings (/bookings) use type to distinguish product types.

Channel typetype used
Plus channelovernight
Direct channelovernight (channels that support day-use also send dayuse)
ARI supports partial pushes
  • Partial push: include only the items you want to change
  • Fields per item: business day = is_business_day; rates = basic_price, sale_price, net_price; availability = vacancy (via ari/avails)
  • Day-use only: use_from, use_to, and use_time may be sent only for day-use
  • One call per push: shared values at the top level, per-channel values in the channels[] array
Availability policy — align to room-only (room type) counts

Channels differ in what availability is counted against.

  • Room-only (room type): Booking.com, Agoda, Trip.com
  • Rate plan: Expedia, Plus channels (with some optional cases)

ONDA counts availability per room type, so send availability aligned to room-only counts, and send package availability identical to standalone availability.