Integração Stays (webhook)
Automação de webhook que reage aos eventos de reserva enviados pela Stays. Atende as ações reservation.created e reservation.modified.
1. Reservas confirmadas (booked)
Section titled “1. Reservas confirmadas (booked)”Nos eventos de criação e de modificação, o script:
- Procura a reserva pelo
id_externo, com até três tentativas espaçadas de 0,5 segundo. A espera é curta de propósito, porque esperas longas podem estourar o tempo da automação. - Se a reserva não aparecer, encerra sem erro. O próximo evento de modificação ou uma correção manual resolve o caso.
- Se encontrar, sincroniza os hóspedes e as taxas.
2. Hóspedes
Section titled “2. Hóspedes”Para cada hóspede da lista da Stays com nome preenchido:
- Se já existe um hóspede com o mesmo nome na mesma reserva, atualiza os dados.
- Se não existe, cria um novo registro, mas somente se o nome tiver pelo menos duas palavras (nome e sobrenome).
Campos preenchidos: nome, e-mail, CPF, documento, idioma, responsável pela reserva, telefone, data de nascimento e idade.
3. Taxas consolidadas
Section titled “3. Taxas consolidadas”O script soma as taxas de extrasDetails e hostingDetails e grava uma única linha por reserva. Cada tipo de taxa vai para uma coluna específica:
| Nome na Stays | Coluna no Jestor |
|---|---|
| Taxa de roupa de cama e toalhas | taxa_roupa_cama_toalhas |
| Taxa de limpeza | taxa_limpeza |
| Taxa de Lavanderia | taxa_lavanderia |
| ISS | iss |
| PASS_THROUGH_PET_FEE | taxa_pet |
| Additional Guests Fee | taxa_hospedes_adicionais |
| Booking.com taxes and charges | taxas_booking |
| Taxa de serviço | taxa_servico |
| Qualquer outra | outras_taxas |
Regras adicionais:
- Se houver taxa de pet, marca
reserva_com_pets_1como1na reserva. - Se a reserva ainda não tem linha de taxas e o total é maior que zero, cria a linha.
- Se já existe, compara os valores e atualiza apenas se algo mudou. Se houver linhas duplicadas, remove as extras.
4. Bloqueios (blocked e maintenance)
Section titled “4. Bloqueios (blocked e maintenance)”- Criação: se o operador for
StaysBot, o script para sem criar nada. Nos demais casos, cria o bloqueio. - Modificação: atualiza o bloqueio existente ou cria se não existir.
Os bloqueios gravam o intervalo nos campos de e ate, que são lidos pela página de Bloqueios ativos.
Reservas canceladas
Section titled “Reservas canceladas”O evento reservation.canceled não é tratado aqui. Segundo o código, o Worker atualiza o status sozinho.
Tabelas envolvidas
Section titled “Tabelas envolvidas”| Slug | Papel |
|---|---|
4t52yq48kfmfe5lcnhmgv |
Reservas (somente leitura neste script) |
pfziere4qayrb1ui_4bv4 |
Apartamentos |
_zl5s03z3hn5taf86zgot |
Hóspedes |
rl3s1prbot8y5xzdc9jru |
Taxas por reserva |
6gyrmgkhgiyhnkyybnlez |
Bloqueios |