Docs/Channels/Booking.com

Manage Booking.com Properties

List the Booking.com properties connected to your workspace, read the Booking.com connection for a listing, and get its rooms and rate plans. Each property is returned once, with the Repull listings mapped under it — see Properties & Listings for the model. To publish a listing to Booking.com, use POST /v1/listings/{id}/publish/booking.

GET/v1/channels/booking/properties

Scope

  • Only properties connected to your workspace are listed. Inactive listings are left out of listings; find them with GET /v1/listings?status=inactive.
  • A property whose rooms are not mapped yet is still listed, with mappingStatus: "unmapped" and an empty listings array. Finish the mapping with POST /v1/connect/booking/map-rooms.
  • One property carries many listings — one per mapped room. listings[].roomBookingId is the Booking.com room id an availability or rate write takes.
  • GET /v1/channels/booking/properties/{id} and /rooms take a Repull listing id, NOT a Booking.com hotel id, despite the path. The hotel-id surface is PUT /v1/channels/booking/availability. A listing with no Booking.com mapping in your workspace returns 404 not_found.
  • A listing published under several Booking.com properties: reads use the oldest and report the rest in otherHotelIds; writes return 409 ambiguous_booking_mapping. Add ?hotel_id= to name one.

Example

# List connected Booking.com properties
curl https://api.repull.dev/v1/channels/booking/properties \
  -H "Authorization: Bearer sk_live_YOUR_KEY"

# Booking.com connection for listing 4118 (Repull listing id)
curl https://api.repull.dev/v1/channels/booking/properties/4118 \
  -H "Authorization: Bearer sk_live_YOUR_KEY"

# Rooms and rate plans — the roomId / rateId used by availability writes
curl https://api.repull.dev/v1/channels/booking/properties/4118/rooms \
  -H "Authorization: Bearer sk_live_YOUR_KEY"
AI