Dashboard - Alertas e Notificações
O que é
A faixa de Alertas ocupa a área logo abaixo dos KPIs no Dashboard e funciona como um painel de pendências urgentes. O sistema varre automaticamente quatro situações operacionais a cada carregamento do dashboard e renderiza um card colorido para cada uma delas - só quando há algo a sinalizar. Se está tudo em dia, a faixa simplesmente não aparece.
Cada card mostra um ícone, um título, uma mensagem curta com a contagem do que precisa de atenção e leva o usuário direto à tela onde a pendência é resolvida. O objetivo é evitar que o operador precise abrir relatórios, filtrar listagens ou caçar informação - basta olhar o topo do dashboard para saber o que precisa ser feito hoje.
Como usar
- Acesse o Dashboard (página inicial após o login, em
/admin/dashboard). - Logo abaixo da faixa de KPIs, observe se há cards coloridos na seção de alertas. A faixa carrega via lazy-load conforme o usuário rola a página.
- Clique em qualquer card para ser redirecionado à página relacionada:
- Card amarelo Pagamentos Aguardando leva para a lista de pagamentos pendentes de confirmação manual.
- Card azul Reservas Pendentes abre a listagem de reservas filtrada por
status=pendente. - Card vermelho Baixa Ocupação abre a listagem de excursões.
- Card verde Hoje abre a listagem de excursões.
- Resolva a pendência na página de destino. No próximo carregamento do dashboard, se a condição não existir mais, o card desaparece.
Casos especiais
Pagamentos Aguardando (amarelo)
Só aparece se você tem ao menos uma forma de pagamento com confirmação manual ativa nas configurações de pagamento. O contador soma todos os registros em excursao_passageiro_pagamentos com status aguardando_confirmacao. Em empresas que recebem só por meio de pagamento automático (PIX meio de pagamento, cartão), este alerta nunca aparece.
Reservas Pendentes (azul)
Conta passageiros com status = 'pendente' em excursões existentes. Inclui reservas feitas pelo site público sem pagamento imediato, reservas aguardando documentação e qualquer outra que não foi confirmada. O link abre a listagem de reservas já com o filtro status=pendente aplicado.
Baixa Ocupação (vermelho)
Filtra excursões com status publicada e data de início nos próximos 7 dias. Para cada uma, calcula o percentual de ocupação (vagas_ocupadas / vagas_total * 100) e conta apenas as que estão abaixo de 50%. O limite e a janela de 7 dias são fixos no código; ajustes precisam ser feitos via suporte.
Hoje (verde)
Lista excursões com status publicada ou finalizada cuja janela data_inicio a data_fim inclui o dia atual. Serve como lembrete operacional para conferir lista de passageiros, guias, transporte e documentação no dia da partida.
Ordem dos cards
Os alertas são renderizados em ordem fixa de prioridade definida no service:
- Pagamentos Aguardando (prioridade 1, amarelo)
- Reservas Pendentes (prioridade 2, azul)
- Baixa Ocupação (prioridade 3, vermelho)
- Hoje (prioridade 4, verde)
Quando a faixa não aparece
A seção inteira fica oculta quando nenhuma das quatro condições é satisfeita. Também não aparece para usuários sem a permissão de ver o painel (que caem no dashboard simplificado) nem em empresas em modo jornadas, que são redirecionados para o dashboard de jornadas.
Dashboard via widget assíncrono
A seção de alertas é carregada por lazy-load via endpoint GET /admin/dashboard/widget/alertas. Sob impersonação de super admin, a resposta usa Cache-Control: no-store para refletir trocas de usuário/modo imediatamente; fora de impersonação, o cache é de 30 segundos. Por isso a faixa pode levar um instante a mais para aparecer comparada aos KPIs.
Erros comuns e como resolver
- Nenhum alerta aparece, mas eu sei que tenho pagamentos pendentes - Causa: a forma de pagamento usada não está marcada como confirmação manual nas configurações de pagamento. Solução: revisar em Configurações > Formas de Pagamento se o tipo está com confirmação manual ativa.
- Card de Baixa Ocupação não aparece para uma excursão claramente vazia - Causa: a excursão pode estar com status diferente de
publicada(ex:rascunhooucancelada) ou com data de início além de 7 dias. Solução: publicar a excursão e aguardar entrar na janela de 7 dias antes da partida. - Card de Reservas Pendentes conta números diferentes da listagem de reservas - Causa: a listagem padrão pode estar filtrando por outro status. Solução: clicar no próprio card, que abre a listagem já com
?status=pendenteaplicado. - "Erro ao carregar widget." - Causa: falha pontual ao buscar dados (timeout, erro de query). Solução: recarregar a página (F5); se persistir, abrir ticket de suporte com o horário do erro.
Onde encontrar
- URL:
/admin/dashboard - Caminho no menu: Dashboard (item fixo do topo do sidebar)
- Permissão necessária: ver o painel
- Módulo necessário: nenhum
Veja também
Visão Geral do Dashboard- entender as outras seções do dashboard além dos alertasKPIs e Métricas do Dashboard- os indicadores que ficam logo acima da faixa de alertasConfigurações - Central de Notificações- histórico completo de notificações internas, com filtros e marcação como lida