Skip to content

Channel managers

Scaffold — coming soon

Channel-manager support is a design-only scaffold today. The GraphQL shapes below are fixed so the protocol is stable, but the resolvers are stubs: calling them returns a userErrors entry like "… is not implemented yet." Build against the shapes now; wiring lands with the channel-manager release.

A channel-manager app pushes reservations and availability from external OTAs (Airbnb / VRBO / Booking.com aggregators) into Stayblox. Like payment apps, it authenticates with a per-install bearer token and speaks the Developer GraphQL API.

Booking.com does not register new partners directly, so these apps front third-party aggregators — the platform only ever sees this protocol.

Operations

Both mutations live in the same dated schema as payments and are documented in full in the GraphQL reference:

  • reservationCreate(input: ReservationInput!) — create/update a reservation that originated on an external channel.
  • availabilityUpdate(input: AvailabilityInput!) — push availability changes for a unit from an external channel.

Example (shape preview)

graphql
mutation CreateReservation($input: ReservationInput!) {
  reservationCreate(input: $input) {
    reservation { id externalId channel status }
    userErrors { field message }
  }
}
json
{
  "input": {
    "externalId": "HMABCD1234",
    "channel": "airbnb",
    "checkIn": "2026-07-01",
    "checkOut": "2026-07-05",
    "unitId": "84",
    "guestName": "Jordan Lee",
    "guestEmail": "[email protected]",
    "totalAmount": 640.0,
    "currency": "USD"
  }
}

Until the resolvers are implemented this returns:

json
{ "data": { "reservationCreate": { "reservation": null,
  "userErrors": [{ "field": ["input"], "message": "Channel reservation ingestion is not implemented yet." }] } } }

Check back, or watch the GraphQL reference for the input/return field shapes as they firm up.

© Stayblox — Developer Platform