Channex (channel manager)

Atualizado em 2026-04-29

O Channex é o channel manager que o BedFlow utiliza para sincronizar Booking.com, Airbnb, Expedia, OpenGDS, HRS, Check24 e Weekendesk. Sem o Channex teria de manter manualmente disponibilidades e preços em cada OTA.

Canais suportados (via Channex)

| Canal | Código | Região / tipo | Comissão padrão | |---|---|---|---| | Booking.com | BDC | Mundial | 18% | | Airbnb | ABB | Mundial | 15% | | Expedia (incl. Hotels.com / Vrbo) | EXP | Mundial | 20% | | OpenGDS | GDS | UE + subcanais (VIPIO, Charmant Hotel) | 22% | | HRS | HRS | DACH corporate / business travellers | 15% (típico) | | Check24 | CCK | Metasearch Alemanha | 10% (típico) | | Weekendesk | WKD | BE/NL/FR fim de semana e escapadinhas | 17% (típico) |

Cada canal é opt-in por propriedade (RateRule + mapeamento de quartos em Connections). A fonte da verdade para metadados de canais está em App\Enums\Channel.

O que faz o Channex pelo BedFlow?

  • Push de disponibilidade: se um quarto for bloqueado no BedFlow → em poucos segundos também no Booking.com
  • Push de preços: alterações de tarifas são enviadas automaticamente para todas as OTA's
  • Importação de bookings: novas reservas OTA chegam via webhook → o BedFlow cria automaticamente uma Booking + Debtor

Setup

  1. Crie uma conta Channex (staging.channex.io para testes, app.channex.io para produção)
  2. Ligue as suas OTA's existentes no Channex (credenciais Booking.com extranet, Airbnb, etc.)
  3. No BedFlow: separador Settings → Integrações → Channex — preencha API key + property ID
  4. Vá a Tipos de quarto — por quarto preenche o Channex Room Type ID e por canal o Rate Plan ID
  5. Ative o Channex pelo interruptor na página Connections
  6. Clique em Channex Sync em cima à direita para correr uma primeira sincronização completa

Eventos automáticos

  • Reserva criadaPushRoomAvailabilityJob por cada quarto envolvido
  • Célula alternada na Visão geral dos quartos → mesmo job
  • Tarifa alteradaSyncRoomPricesJob
  • Diariamente às 06:00: sync de preços completo para todos os quartos (365 dias para a frente)
  • Diariamente às 06:30: scrape de preços dos concorrentes (informativo)

Rate limiting

O Channex tem um rate limit:

  • Staging: 1 request / 7 segundos
  • Produção: 1 request / segundo

O ChannexService do BedFlow faz throttle automático. Os jobs correm sequencialmente através do worker --queue=channex (não em paralelo).

Webhooks (entrada)

O Channex envia webhooks para /api/channex/webhook em:

  • booking.new — nova reserva OTA
  • booking.modified — reserva OTA alterada
  • booking.cancelled — reserva OTA cancelada

Validação de assinatura através de shared secret nas settings.

Testar em staging

Existem 4 artisan commands para validação:

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)