Skip to main content

Availability & Rates (ARI)

Once a listing is onboarded, push its availability and rates to Channex. The listing must already have Channex room types (onboard it first), since ARI is keyed by the stored room_type_id / rate_plan_id.

Push ARI

POST /api/v1/admin/channex/listings/{listingId}/ari?channelId=chnl_X&from=2026-06-10&to=2026-09-08
  • from defaults to today; values in the past are clamped to today.
  • to defaults to from + 90 days; the window is capped at 365 days.

Response:

{
"listingId": "lst_0853ie",
"status": "SYNCED",
"messages": [
"availability rows pushed: 184",
"rate rows pushed: 184",
"window: 2026-06-10 → 2026-09-08"
]
}

Availability

Built from the Inventory table and sent to POST /availability:

{
"values": [
{ "property_id": "5f8a…", "room_type_id": "7c2b…", "date": "2026-06-10", "availability": 3 }
]
}
  • availability = inventory.quantity.
  • A stop-sell day (inventory.stopSell = true) is pushed as availability: 0.

Rates

Built from the ChannelRate table (for the same channelId) and sent to POST /restrictions:

{
"values": [
{ "property_id": "5f8a…", "rate_plan_id": "a91d…", "date": "2026-06-10", "rate": 12000 }
]
}
  • rate = channelRate.nightlyRate (falls back to rate), rounded to an integer in the smallest currency unit (paise for INR).
  • Rows whose property has no mapped rate plan are skipped.

Batching

Both values arrays are sent in chunks of 500 entries per request, so large windows are split across multiple calls automatically.