🗺️ Visão geral do fluxo
O GAP Detector é atualizado rodando o script detect_gaps.py, que consulta os dados reais do Sirius (AWS Athena) e gera o arquivo gaps.json. O dashboard lê esse arquivo e exibe os resultados.
O fluxo de uso diário é simples:
1
Atualizar os dados
Rodar o script para gerar um snapshot fresco. Leva ~2-3 minutos (queries no Athena).
2
Ler os cards de resumo
Entender o volume e o impacto potencial antes de mergulhar nos detalhes.
3
Filtrar por urgência e carteira
Focar nos Críticos da sua carteira primeiro. Usar os filtros do toolbar.
4
Tratar gap a gap
Clicar na linha para expandir o detalhe. Ver se está travado por min_stay ou se tem preço Gapper disponível.
5
Exportar CSV (se necessário)
Baixar a lista filtrada para registros ou para repassar à equipe.
📊 Lendo os cards de resumo
Os 5 cards no topo mostram o panorama atual dos gaps nos próximos 60 dias:
Total de Gaps
2.386
próximos 60 dias
Críticos
1.062
ação imediata
Travados
212
min_stay bloqueando
Receita Potencial
R$129k
excl. Ignorar
Receita potencial = soma de preco_gapper × gap_nights para todos os gaps com urgência diferente de Ignorar e com preço disponível. É uma estimativa otimista — assume 100% de conversão.
🚦 Entendendo os níveis de urgência
🔴 CRÍTICO
Gap muito próximo (< 3 dias) em qualquer temporada, ou gap dentro de 14 dias em alta/média temporada. Ação imediata.
🟠 ALTO
Gap em alta temporada com 15-45 dias, gap curto em baixa temporada, ou gap < 14 dias em região não sazonal. Tratar hoje.
🟡 MÉDIO
Gap com 15-45 dias em baixa temporada ou não sazonal. Pode aguardar alguns dias.
⚪ IGNORAR
Lead time > 45 dias em temporadas não-altas. Não recomendado agir agora — o gap pode se preencher naturalmente.
Dica: Comece sempre pelo filtro 🔴 Crítico na sua carteira. Depois processe os 🟠 Altos. Informativos e Ignorar são para revisão de fim de semana.
🔽 Usando os filtros
Todos os filtros combinam em AND — cada filtro adicional afunila mais.
Tabs de urgência
Todos
🔴 Crítico
🟠 Alto
🟡 Médio
🔵 Informativo
⚪ Ignorar
Clique em qualquer tab para filtrar por urgência. Clique em "Todos" para voltar à visão completa.
Outros filtros
| Busca textual |
Filtra por código do imóvel, categoria ou cidade. Busca parcial. |
| Cidade |
Filtrar apenas uma cidade (ex: Florianópolis, Itapema). |
| Carteira |
Filtrar pelos imóveis da sua carteira de precificação. |
| Temporada |
Filtrar por Alta, Média, Baixa ou Não Sazonal. |
| Tamanho (noites) |
Filtrar apenas gaps de 1, 2 ou 3 noites. |
Ordenação
Clique em qualquer cabeçalho de coluna para ordenar. Clique novamente para inverter. A ordenação padrão é por urgência → lead time crescente (gaps mais urgentes primeiro).
🔍 Expandindo o detalhe de um gap
Clique em qualquer linha da tabela para expandir os detalhes completos:
🔴 Crítico
VNV0801
Camboriú
05/04 → 06/04
2
4d
✓
Ao expandir, o detalhe mostra:
- Período completo (first_day → last_day)
- Sazonalidade e temporada do imóvel
- Preço base (se disponível) e floor operacional (min_price)
- Desconto % aplicado pela matriz
- Preço Gapper sugerido
- Receita potencial estimada
- Carteira do precificador responsável
Gap com preço Gapper disponível
Preço Gapper sugerido: R$ 385
Desconto de 10% sobre o preço base (R$ 427). Aplicar na planilha Direta para 05/04 → 06/04. Receita potencial: R$ 770 (2 noites).
Copie o valor e aplique diretamente na planilha Direta para as datas do gap.
Gap travado por min_stay
⚠ min_stay trava o gap
O imóvel tem min_stay = 3 noite(s), mas o gap tem apenas 2 noite(s). Sugestão: reduzir min_stay para 2 pontualmente em 05/04 → 06/04.
Nesse caso, o desconto de preço não resolve. A ação é reduzir o min_stay pontualmente nas datas do gap.
Verifique na rm_controle a origem da regra de min_stay antes de alterar. Se for definição do proprietário, alinhar com o anfitrião primeiro.
⚠️ Gaps sem preço Gapper
Alguns gaps aparecem sem preço base e sem preço Gapper. Isso acontece porque a view last_offered_raw_price tem um lookback de ~7 dias de atualização — imóveis que não foram precificados recentemente não aparecem.
Nesses casos:
- O gap ainda existe e é válido — a urgência é calculada corretamente
- Para obter o preço Gapper, consultar o preço base diretamente na planilha AGC ou no System Price
- Aplicar o desconto da matriz manualmente: ver a tabela de descontos
⬇️ Exportando para CSV
O botão ⬇ CSV exporta os gaps atualmente filtrados — útil para repassar uma lista por carteira ou urgência para a equipe.
Dica: Filtre primeiro (ex: Crítico + sua carteira) e depois exporte. O CSV reflete exatamente o que está na tabela.
O CSV inclui todas as colunas: imóvel, categoria, cidade, carteira, datas, urgência, preço base, preço Gapper, desconto %, receita potencial e min_stay.
🔄 Atualizando os dados
O dashboard exibe um snapshot gerado na última execução do script. Para atualizar:
python3 scripts/detect_gaps.py
./deploy.sh
./deploy.sh --skip-data
A data da última atualização aparece no canto superior direito do dashboard.
O script leva ~2-3 minutos para rodar (queries no AWS Athena). Execute uma vez por dia antes de começar a precificação da manhã.
← Ir para o dashboard
📋 Referência rápida
🔴 Crítico
Tratar hoje. Gap próximo ou em alta temporada com lead time curto.
⚠ Travado (min_stay)
Preço não resolve. Reduzir min_stay pontualmente para as datas do gap.
Sem preço
Imóvel não precificado recentemente. Calcular manualmente via AGC.
⚪ Ignorar
Lead time > 45 dias. Pode se preencher naturalmente. Não agir agora.
Filtro = AND
Urgência + Cidade + Carteira combinam. Limpe os filtros para ver tudo.
Export CSV
Exporta apenas os gaps filtrados. Filtre antes de exportar.