Docs/Channels/Booking.com

Push Availability to Booking.com

Set rooms to sell, stop-sell, and restrictions on Booking.com per room and rate plan. For open/closed on every connected channel at once, use PUT /v1/availability/{propertyId} instead.

PUT/v1/channels/booking/availability

Parameters

typestringRequired

availability for inventory and stop-sell (rates and derived-pricing are covered on Update Booking.com Pricing).

property_idstring | integerRequired

Booking.com property id, connected to your workspace.

updatesarrayRequired

{ roomId, rateId, dateRange: { start, end }, availableRooms, closed?, restrictions? } per item. availableRooms: 0 blocks the room; closed: true stops sale regardless of inventory.

Notes

  • Scoped to your workspace: a Booking.com property id that is not connected to your workspace returns 404 not_found, the same answer as an id that does not exist.
  • Read the current state first with GET /v1/channels/booking/availability?property_id=1234567&start_date=2026-07-01&number_of_days=14.
  • Writes here go to Booking.com only; restrictions never leak to other channels.

Example

# Stop-sell a week
curl -X PUT https://api.repull.dev/v1/channels/booking/availability \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "availability", "property_id": "1234567", "updates": [{"roomId": "123456701", "rateId": "98765", "dateRange": {"start": "2026-07-01", "end": "2026-07-07"}, "availableRooms": 0, "closed": true}]}'

# Reopen with one room to sell
curl -X PUT https://api.repull.dev/v1/channels/booking/availability \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "availability", "property_id": "1234567", "updates": [{"roomId": "123456701", "rateId": "98765", "dateRange": {"start": "2026-07-01", "end": "2026-07-07"}, "availableRooms": 1, "closed": false}]}'
AI