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/availabilityParameters
typestringRequiredavailability for inventory and stop-sell (rates and derived-pricing are covered on Update Booking.com Pricing).
property_idstring | integerRequiredBooking.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