Airbnb, Booking.com, VRBO, Plumguide. Czterdzieści sześć platform PMS. Plus direct. Repull to channel manager i agregator PMS-ów w jednym — a cały szablon jest open source.
Kształt problemu
Te ustawione zmuszają cię do ich schematu, ich UI i ich relacji billingowej z twoimi userami. Repull odwraca to do góry nogami — twój schemat, twoje UI, twój billing. My zajmujemy się tylko adapterami kanałów.
Wypychaj listingi, zdjęcia, kalendarze, stawki i wiadomości do Airbnb, Booking.com, VRBO i Plumguide przez jeden schemat. Dwadzieścia sześć endpointów Airbnb, jedenaście Bookinga, pod ręką.
Hostaway, Guesty, Cloudbeds, Mews, OwnerRez — podłącz raz, czytaj w tym samym kształcie niezależnie od platformy pod spodem. Adaptery PMS też są open source.
Repull normalizuje wszystko do sensownego domyślnego schematu. Jeśli twój jest inny, zdefiniuj go raz w Custom Schema Builderze, ustaw nagłówek X-Schema, a każda odpowiedź wraca w twoich nazwach pól.
Konkretny przykład
repull-channel-manager to pełna apka Next.js — kalendarz, rezerwacje, połączenia, messaging, recenzje — działająca na API Repulla. Funkcje AI w środku jadą na Vanio AI. Klonujesz, podpinasz do własnego workspace'a Repulla i masz działający channel manager już dziś.
Git clone, npm install i plik .env z twoim kluczem API Repulla. Deploy na Vercelu to potem jedno kliknięcie.
Każdy twój klient dostaje własny workspace Repulla — scope'owane klucze API, scope'owane dane. Twoja apka to multi-tenant na wierzchu.
Siatka kalendarza, drawer rezerwacji, inbox wiadomości, flow zatwierdzania recenzji — każdy ekran jest twój do rozszerzenia. Warstwa danych zostaje na miejscu; UI jest twoje.
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 },
})Po co tu open source
Konektory Repulla żyją na otwartym repo. Gdybyśmy kiedyś przestali istnieć, zostałby ci kod, który gada z Airbnb. To świadomy wybór, nie marketing.
Każdy adapter jest open source na GitHubie. Szablon channel managera jest open source. SDK są open source. Możesz forknąć cały stack.
Zobacz dokładnie, jak Repull gada z Airbnb. Zgłoś buga, wyślij PR-a albo skopiuj funkcję. Kod jest dokumentacją.
Issues, release'y i roadmapa siedzą na GitHubie. Nowe konektory trafiają do PR review w tym samym tygodniu.
Klucz API w 30 sekund. Podłącz PMS-a albo wystaw direct, a każdy kanał jest jeden zapis stąd.