Channex (channel manager)

Actualizado el 2026-04-29

Channex es el channel manager que utiliza BedFlow para sincronizar Booking.com, Airbnb, Expedia, OpenGDS, HRS, Check24 y Weekendesk. Sin Channex, tendría que mantener manualmente la disponibilidad y los precios en cada OTA.

Canales compatibles (vía Channex)

| Canal | Código | Región / tipo | Comisión por defecto | |---|---|---|---| | Booking.com | BDC | Mundial | 18% | | Airbnb | ABB | Mundial | 15% | | Expedia (incl. Hotels.com / Vrbo) | EXP | Mundial | 20% | | OpenGDS | GDS | UE + subcanales (VIPIO, Charmant Hotel) | 22% | | HRS | HRS | DACH corporativo / viajeros de negocios | 15% (típico) | | Check24 | CCK | Metabuscador Alemania | 10% (típico) | | Weekendesk | WKD | BE/NL/FR fines de semana y escapadas | 17% (típico) |

Cada canal es opcional por propiedad (RateRule + mapeo de habitaciones en Connections). La fuente de verdad para los metadatos de canal está en App\Enums\Channel.

¿Qué hace Channex para BedFlow?

  • Push de disponibilidad: si una habitación se bloquea en BedFlow → en cuestión de segundos también se actualiza en Booking.com
  • Push de precios: los cambios de tarifas se envían automáticamente a todas las OTAs
  • Importación de reservas: las nuevas reservas de las OTAs llegan vía webhook → BedFlow crea automáticamente una Booking + Debtor

Setup

  1. Cree una cuenta en Channex (staging.channex.io para pruebas, app.channex.io para producción)
  2. Vincule sus OTAs existentes en Channex (credenciales del extranet de Booking.com, Airbnb, etc.)
  3. En BedFlow: pestaña Settings → Integraciones → Channex — introduzca la API key + property ID
  4. Vaya a Tipos de habitación — por habitación introduzca el Channex Room Type ID y, por canal, el Rate Plan ID
  5. Active Channex mediante el conmutador en la página Connections
  6. Haga clic en Channex Sync en la parte superior derecha para ejecutar una primera sincronización completa

Eventos automáticos

  • Reserva creadaPushRoomAvailabilityJob por cada habitación afectada
  • Celda conmutada en la Vista general de habitaciones → mismo job
  • Tarifa modificadaSyncRoomPricesJob
  • Diariamente a las 06:00: sincronización completa de precios para todas las habitaciones (365 días por adelantado)
  • Diariamente a las 06:30: scrape de precios de la competencia (informativo)

Rate limiting

Channex aplica un rate limit:

  • Staging: 1 request / 7 segundos
  • Producción: 1 request / segundo

El ChannexService de BedFlow aplica throttling automáticamente. Los jobs se ejecutan en serie a través del worker --queue=channex (no en paralelo).

Webhooks (entrantes)

Channex envía webhooks a /api/channex/webhook ante:

  • booking.new — nueva reserva de OTA
  • booking.modified — reserva de OTA modificada
  • booking.cancelled — reserva de OTA cancelada

Validación de firma mediante un shared secret en los settings.

Pruebas en staging

Existen 4 artisan commands para validar:

php artisan channex:test          # check credentials
php artisan channex:sync-rooms    # push room types
php artisan channex:sync-prices   # push prices (365 days)
php artisan channex:sync-availability  # push availability (365 days)