Skip to content

Sincronização semanal com a Stays

Rotina que consulta a Stays e traz para o Jestor as reservas com data de chegada nos próximos 90 dias. O nome do log, weekly_sync, indica que ela roda semanalmente.

Consulta /external/v1/booking/reservations com dateType=arrival, da data de hoje até 90 dias à frente, em páginas de 20 registros. Se a API devolver um erro, a paginação para e o erro é registrado.

Para cada reserva que não existe no Jestor (busca por id_externo):

  • Ignora tudo que não for booked.
  • Busca os detalhes completos da reserva.
  • Apartamento: usa o existente ou cria um novo a partir do anúncio.
  • Canal: usa o existente ou cria um novo a partir do parceiro. Sem canal, o valor padrão é 1 (reserva direta).
  • Datas e horários: o check-in e o check-out recebem o horário 23:45 com 3 horas somadas. Esse ajuste provavelmente converte o fuso para armazenar o horário em UTC (confirme).
  • Dia do registro: a tag Última hora é aplicada quando a reserva foi feita no próprio dia da chegada.
  • Limite da ficha cadastral: dois dias antes do check-in.
  • Insere a reserva, os hóspedes (com nome de duas palavras ou mais) e uma linha de taxa para cada item de extrasDetails e hostingDetails.
  • Se a Stays marcou como canceled e o status no Jestor é Ativo, muda o status para Cancelada.
  • Se a reserva segue booked, compara check-in e check-out. Se mudaram, atualiza as datas e, quando o horário completo acompanhava a data antiga, recalcula também o horário.

Valores financeiros não são atualizados nesta rotina.

Ao final, grava um registro na tabela de logs com name = weekly_sync. O campo texto4 traz um JSON com: data, total encontrado na Stays, criadas, canceladas, atualizadas, ignoradas e as dez primeiras falhas.

Slug Papel
4t52yq48kfmfe5lcnhmgv Reservas
pfziere4qayrb1ui_4bv4 Apartamentos
vhwynb8ysthr3u1a6xc05 Canais
_zl5s03z3hn5taf86zgot Hóspedes
rl3s1prbot8y5xzdc9jru Taxas
gpt5kqvv_uamuvwmxj9rm Logs (compartilhada com a limpeza de pagamentos)