Airbnb, Booking.com, VRBO, Plumguide. Cuarenta y seis plataformas PMS. Más directo. Repull es el channel manager y el agregador de PMS en uno — y toda la plantilla es open source.
La forma del problema
Los incumbentes te obligan a adoptar su schema, su UI y su relación de billing con tus usuarios. Repull invierte eso — tu schema, tu UI, tu billing. Nosotros nos ocupamos solo de los adaptadores de canal.
Sube anuncios, fotos, calendarios, tarifas y mensajes a Airbnb, Booking.com, VRBO y Plumguide a través de un único schema. Veintiséis endpoints de Airbnb, once de Booking, listos para usar.
Hostaway, Guesty, Cloudbeds, Mews, OwnerRez — conectas una vez y lees con la misma forma sea cual sea la plataforma de origen. Los adaptadores de PMS también son open source.
Repull normaliza todo a un schema por defecto razonable. Si el tuyo es distinto, lo defines una vez con el Schema Builder, pones la cabecera X-Schema y cada respuesta vuelve con tus nombres de campo.
Ejemplo paso a paso
repull-channel-manager es la app completa en Next.js — calendario, reservas, conexiones, mensajería, reseñas — corriendo sobre la API de Repull. Las funciones IA dentro corren sobre Vanio AI. Lo clonas, lo apuntas a tu propio workspace de Repull y ya tienes un channel manager funcionando hoy.
Un git clone, un npm install y un .env con tu API key de Repull. El deploy en Vercel es un clic después.
Cada cliente tuyo tiene su propio workspace de Repull — API keys con scope, datos con scope. Tu app es la capa multi-tenant encima.
Calendario, drawer de reserva, bandeja de mensajes, flujo de aprobación de reseñas — cada pantalla es tuya para extender. La capa de datos se queda donde está; la UI es tuya.
git clone https://github.com/ivannikolovbg/repull-channel-manager cd repull-channel-manager npm install cp .env.example .env.local # add REPULL_API_KEY + REPULL_WORKSPACE_ID npm run dev
import { Repull } from '@repull/sdk'
const repull = new Repull({
apiKey: process.env.REPULL_API_KEY!,
workspaceId: process.env.REPULL_WORKSPACE_ID!,
})
// Push a property to every connected channel
await repull.properties.create({
title: 'R-Sable 1302',
bedrooms: 2,
city: 'Radium Hot Springs',
channels: ['airbnb', 'booking', 'vrbo'],
photos: [...],
amenities: ['wifi', 'parking', 'hot-tub'],
})
// Or only Airbnb, with platform-specific fields:
await repull.properties.create({
title: 'R-Sable 1302',
...,
channels: ['airbnb'],
airbnb: { instantBook: true, minNights: 2 },
})Por qué importa el open source aquí
Los conectores de Repull viven a la vista. Si algún día dejáramos de existir, seguirías teniendo el código que habla con Airbnb. Es una decisión deliberada, no una frase de marketing.
Cada adaptador es open source en GitHub. La plantilla del channel manager es open source. Los SDKs son open source. Puedes forkear el stack entero.
Mira exactamente cómo Repull habla con Airbnb. Abre un bug, manda un PR o copia una función. El código es la documentación.
Issues, releases y roadmap viven en GitHub. Las peticiones de conectores nuevos pasan por revisión esa misma semana.
Una API key en 30 segundos. Conecta un PMS o lista directo, y cada canal está a una llamada de escritura.