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.
1. Busca paginada
Section titled “1. Busca paginada”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.
2. Reservas novas
Section titled “2. Reservas novas”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
extrasDetailsehostingDetails.
3. Reservas existentes
Section titled “3. Reservas existentes”- Se a Stays marcou como
cancelede o status no Jestor éAtivo, muda o status paraCancelada. - 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.
4. Log
Section titled “4. Log”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.
Tabelas envolvidas
Section titled “Tabelas envolvidas”| Slug | Papel |
|---|---|
4t52yq48kfmfe5lcnhmgv |
Reservas |
pfziere4qayrb1ui_4bv4 |
Apartamentos |
vhwynb8ysthr3u1a6xc05 |
Canais |
_zl5s03z3hn5taf86zgot |
Hóspedes |
rl3s1prbot8y5xzdc9jru |
Taxas |
gpt5kqvv_uamuvwmxj9rm |
Logs (compartilhada com a limpeza de pagamentos) |