Cleaning, turnovers, inspections and check-ins, scheduled from real reservations across Airbnb, Booking.com and Vrbo — and rescheduled the moment a booking changes.
What your product gets
Dates, times and guest counts in one shape, whichever channel the booking came from.
Check-in and check-out dates and times, guest counts and status, normalized across channels.
Webhooks for new, changed and cancelled bookings, so a schedule never runs on stale dates.
Your customers don't switch systems to use you. Repull reads the bookings wherever they are.
How it works
Query tomorrow's departures to build the schedule, then let webhooks move it when bookings change.
GET /v1/reservations filtered by check-out date.
reservation.created, reservation.updated and reservation.cancelled.
Add, move or drop the job when an event arrives.
// api(): fetch on api.repull.dev with your API key
// Tomorrow's check-outs, from every channel
const { data: departures } = await api(
'/v1/reservations?status=confirmed&check_out_after=2026-10-01&check_out_before=2026-10-01',
)
for (const r of departures) {
await schedule.clean({
listingId: r.listingId,
after: r.checkOutTime, // e.g. "10:00"
guests: r.occupancy.total,
})
}// Keep the schedule true as bookings change
switch (event.event) {
case 'reservation.created':
await schedule.add(event.data.object)
break
case 'reservation.updated': // new dates, guest count, status
await schedule.reschedule(event.data.object)
break
case 'reservation.cancelled':
await schedule.remove(event.data.object.id)
break
}Channel coverage
Coverage is checked against the live API. Full channel and PMS coverage
Alongside any PMS
On Airbnb and Vrbo, Repull connects with messaging-level access. The host's PMS keeps managing listings and calendars, and your product never competes with it for control.
In beta: reservations, messages and reviews from Booking.com, without the host moving their connectivity provider away from their PMS.
The same endpoints and the same webhook events whether the guest booked on Airbnb, Booking.com or Vrbo. You build it once.
The API behind it
GET /v1/reservationsFilter by status, listing, and check-in or check-out window. Incremental sync with updated_since.
reservation.createdWebhook: a new booking.
reservation.updatedWebhook: new dates, guest count or status, with the previous values.
reservation.cancelledWebhook: who cancelled, and when.
Free to start. Pull a test account's reservations today.