Botão de Pânico
O Botão de Pânico transforma um beacon BLE com botão em um acionador de emergência portátil. Ao pressionar o botão, o ION Guard gera um alerta crítico, localiza a pessoa pela zona onde o sinal foi captado e abre um console de atendimento dedicado no Centro de Comando, com cronômetro de prazo, protocolo de passos, contatos a acionar e trilha completa do que foi feito.
O significado do acionamento fica a critério do cliente: coação, agressão, mal súbito, acidente de trabalho, pessoa presa em um ambiente ou qualquer outra situação em que alguém precise de ajuda sem poder (ou dever) pegar o telefone.
Caminho de acesso: Menu lateral > Centro de Comando (o console abre sozinho quando há um pânico ativo)
O alerta de pânico é gerado pelo sub-recurso panic-button do módulo Synapsys, que precisa estar habilitado no site. O tratamento (console, prazo, protocolo, cadeia e trilha) é parte da plataforma e não depende de outros módulos.
Como funciona
1. A pessoa pressiona o botão do beacon
↓
2. A antena (Gateway Radium) capta o sinal e publica no broker MQTT
↓
3. O ION Guard cria um alerta de pânico (severidade Crítica) na zona da antena
↓
4. Console de atendimento abre no Centro de Comando, com som de alerta
e o cronômetro do prazo de tratamento correndo
↓
5. Em paralelo, a cadeia de acionamento avisa os contatos do site
(e-mail e/ou Telegram) nos tempos configurados
↓
6. O operador reconhece, cumpre o protocolo, liga para os responsáveis
e encerra o alerta. Cada ação vira um carimbo na trilha
O acionamento também funciona sem internet no ponto: o Gateway Radium tem regras locais de pânico que acionam saídas físicas (sirene, luz) e guardam o sinal em buffer para reenviar ao servidor, com o horário original, quando a conexão voltar. Ver Comissionamento do Radium.
O que você precisa
| Componente | Função | Referência |
|---|---|---|
| Beacon com botão | Dispositivo portátil que a pessoa carrega (cartão, pendente ou pulseira). Cadastrado no ION Guard com o tipo Botão de Pânico | Beacons · Catálogo de beacons |
| Antena | Gateway BLE que capta o sinal e o envia ao servidor. Define a zona em que o pânico é localizado | Antenas · Radium |
| Zonas e planta baixa | Dão o "onde" ao operador: a zona aparece no alerta e a planta é exibida no console | Zonas |
| Contatos do site | Quem a central aciona quando o pânico dispara | Contatos do site |
| Cadeia de acionamento | Quem é avisado, por onde e quanto tempo depois do disparo | Cadeia de acionamento |
| Protocolo de atendimento | Os passos que o operador marca ao tratar o pânico | Protocolo de atendimento |
Os modelos com botão homologados estão no catálogo de beacons: cartão com SOS, pendente de emergência e pulseira. Todos funcionam com o mesmo fluxo; a diferença é o formato e a autonomia da bateria.
O alerta de pânico
| Característica | Valor |
|---|---|
| Tipo | Pânico (panic) |
| Severidade | Crítica |
| Origem | Beacon (tipo Botão de Pânico) |
| Zona | Zona da antena que captou o sinal (ou "Zona não determinada") |
| Auto-resolução | Nunca. Exige ação manual de um operador, mesmo que o beacon volte ao normal |
| Som de alerta | Sim, em todas as telas, até o reconhecimento ou o silenciamento |
| Escalação | Sim, 120 segundos sem reconhecimento (ver Escalação) |
| Prazo de tratamento (SLA) | Sim, 180 segundos por padrão (ver abaixo) |
Ao ser criado, o alerta aparece no banner de topo, no badge da sidebar, na lista de Alertas e no mapa do Centro de Comando, que passa para o console de atendimento.
Console de atendimento
O pânico não é uma tela separada: é um estado do Centro de Comando. Quem está de olho no mapa quando o botão é pressionado já está na tela certa, sem transição. O console mostra, em uma única visão:
Centro de Comando em estado de pânico: cabeçalho "Pânico em [site]" com a zona e o horário, cronômetro circular do prazo, botões Reconhecer e Encerrar, coluna de contatos com a cadeia de acionamento, protocolo com os passos e a trilha.
| Área | O que mostra |
|---|---|
| Cabeçalho | "Pânico em site", a zona onde foi acionado, o horário e, após o reconhecimento, quem reconheceu |
| Cronômetro do prazo | Medidor circular com o tempo restante do prazo de tratamento. Vira "prazo estourado" ao vencer e "cumprido em tempo" ao ser atendido |
| Reconhecer / Encerrar | As duas ações do operador. Encerrar fica bloqueado enquanto houver passo obrigatório do protocolo em aberto ("n passos obrigatórios antes de encerrar") |
| Contatos · cadeia de acionamento | Os contatos do site, na ordem da cadeia, com o estado de cada degrau: "entra na cadeia em tempo", "degrau vencendo agora" ou "avisado hora". Cada contato tem o botão Ligar |
| Protocolo | O checklist de atendimento. Cada marcação vira um carimbo na trilha |
| Trilha | A linha do tempo do alerta, do disparo ao encerramento |
| Planta | A planta baixa do site com a zona do acionamento em destaque (Ver o mapa / Voltar ao atendimento) |
Foco pela URL
O console aponta para um caso específico pela URL: /command-center?case={id do alerta}. É esse link que vai nas notificações por e-mail e Telegram, de modo que quem abre a mensagem cai direto no pânico certo, e não no primeiro da fila. Serve também para atalhos de telão.
Ligar para um contato
O botão Ligar abre o discador do dispositivo (tel:) e registra na trilha o carimbo Ligação iniciada, com o contato e o horário. Ligações repetidas ("Ligar de novo") também são registradas. O ION Guard não faz a chamada nem verifica se ela foi atendida; o registro é da tentativa.
Se o site não tem contatos cadastrados, o console mostra "Nenhum contato cadastrado" com atalho para o cadastro. O operador cumpre o prazo até o reconhecimento e trava no passo que realmente importa.
Prazo de tratamento (SLA)
Todo alerta de pânico nasce com um prazo de tratamento, por padrão 180 segundos a partir do disparo. O prazo é medido pelo sistema, não pelo operador:
- O cronômetro aparece no console e na página do alerta.
- O marco que fecha o cronômetro é, na versão atual, o reconhecimento do alerta.
- Se o prazo vence sem reconhecimento, o sistema grava o carimbo Prazo de SLA estourado na trilha, com o horário exato do vencimento, e dispara o webhook
alert.sla_breached. A varredura roda a cada 30 segundos, mas o horário gravado é o do próprio prazo, então a precisão do registro não depende do intervalo.
O prazo pode ser ajustado por site ou por organização, entre 30 segundos e 1 hora, e precisa ser maior que o tempo de escalação. Também pode ser desligado para clientes que não trabalham com prazo contratual. Esse ajuste é feito pela equipe técnica da IONGRADE.
Um prazo silenciosamente inativo só é descoberto no dia em que alguém pergunta quanto tempo a central levou. Nascer em 180 segundos garante que a trilha registre o desempenho desde o primeiro pânico; quem não precisa, desliga.
Trilha
A trilha é a linha do tempo do alerta, gravada em tabela própria e imutável pela interface. Cada carimbo tem horário, autor (operador, Sistema ou Integração) e o que aconteceu:
| Carimbo | Quando |
|---|---|
| Alerta criado | O botão foi pressionado e o alerta gerado |
| Operador visualizou | Um operador abriu o caso no console (só o caso em foco recebe o carimbo) |
| Reconhecido | O operador clicou em Reconhecer |
| Escalonado | Um degrau da cadeia de acionamento rodou |
| Notificação enviada / Falha ao notificar | Resultado de cada envio por e-mail ou Telegram |
| Item do protocolo marcado / desmarcado | O operador marcou ou desmarcou um passo |
| Ligação iniciada | O operador clicou em Ligar |
| Prazo de SLA estourado | O prazo venceu sem reconhecimento |
| Resolvido | O operador encerrou o alerta |
É a trilha que responde, depois, a perguntas como "quanto tempo levou até alguém ver?", "quem foi avisado e quando?" e "o responsável foi contatado dentro do prazo?".
Contatos do site
Caminho de acesso: Menu lateral > Infraestrutura > Contatos (com um site selecionado)
Os contatos são as pessoas que a central aciona quando o pânico dispara: responsável pela unidade, segurança, brigada, contato na polícia ou no SAMU, entre outros. A ordem da lista é a ordem da cadeia de acionamento.
Tela Contatos do site com a lista ordenada (nome, papel, telefones, canais, ativo) e os controles Subir na cadeia / Descer na cadeia.
| Campo | Descrição |
|---|---|
| Nome | Nome do contato |
| Papel | Gerente, Tesouraria, Segurança, Contato policial ou Outro |
| Telefone principal / alternativo | Usados pelo botão Ligar do console |
| Destino do canal e-mail | |
| Telegram (chat ID) | Destino do canal Telegram |
| Ativo | Contato inativo sai da cadeia sem perder o histórico |
| Ordem | Posição na cadeia (Subir na cadeia / Descer na cadeia) |
Contatos podem vir de uma origem externa (integração); nesse caso só é possível ativá-los ou desativá-los pelo ION Guard. Remover um contato o tira da cadeia, mas preserva o histórico dos alertas antigos.
Usuários com perfil Viewer veem o telefone mascarado. Operadores e perfis acima veem o número completo.
Cadeia de acionamento
Caminho de acesso: Menu lateral > Administração > Acionamento
A cadeia define quem é avisado, por onde e quanto tempo depois do disparo. O ponto é nunca depender de uma pessoa só: se o operador da tela não reconhece, a rede se alarga automaticamente.
Tela Cadeia de acionamento com o nome da cadeia e os degraus (Após N segundos, Contato nº, Canais), botão Adicionar degrau.
Cada degrau tem:
| Campo | Descrição |
|---|---|
| Após (segundos) | Tempo após o disparo em que o degrau roda. Cada degrau precisa esperar mais que o anterior (0 a 3600 s) |
| Contato nº | Posição do contato na lista do site. Em branco aciona todos os contatos ativos |
| Canais | E-mail e/ou Telegram |
Regras de funcionamento:
- A cadeia é configurada por organização (vale para todos os sites) e pode ter até 10 degraus. Uma cadeia específica por site, quando existe, vence a padrão.
- Os degraus são agendados no momento em que o alerta é criado e rodam no segundo exato, não na próxima varredura.
- Um degrau só dispara se o alerta ainda estiver ativo. Reconhecido o alerta, os degraus pendentes são cancelados e registrados como tal.
- Contatos podem ter janela de disponibilidade no fuso do site; quem está fora da janela não é acionado naquele degrau. Sem janela cadastrada, o contato está sempre disponível.
- Cada envio gera um carimbo Notificação enviada ou Falha ao notificar na trilha, e o degrau marca o alerta como Escalonado.
A mensagem enviada é curta: "Botão de pânico acionado em site, zona zona", com o link direto para o caso no console.
Canais de notificação
| Canal | Como habilitar |
|---|---|
| Configurado na instalação (servidor SMTP ou Amazon SES). Sempre disponível | |
| Telegram | Desligado por padrão. Exige um bot do Telegram e o chat ID de cada contato. Habilitado pela equipe técnica, pois o nome do site e o fato de ter havido um pânico saem para infraestrutura de terceiro, o que pode esbarrar na política de segurança da informação do cliente |
Protocolo de atendimento
Caminho de acesso: Menu lateral > Administração > Protocolo
O protocolo é o checklist que o operador marca ao tratar um pânico. Ele é da organização (não do site) e serve para dar granularidade à trilha: sem protocolo, a trilha vai só de "reconhecido" a "resolvido".
Tela Protocolo de atendimento com os passos numerados, o switch obrigatório e os controles Subir / Descer / Remover.
Toda organização nasce com um protocolo padrão de quatro passos:
| Passo | Obrigatório |
|---|---|
| Reconheci o alerta | Sim |
| Contatei o responsável | Sim |
| Confirmei a situação | Não |
| Registrei o desfecho | Não |
- Passos obrigatórios bloqueiam o botão Encerrar até serem marcados.
- Passo removido é desativado, não apagado: alertas antigos continuam legíveis.
- Adapte os passos ao procedimento do cliente: "acionei a brigada", "confirmei pela câmera", "chamei o SAMU" e assim por diante.
Modo operacional do site
Além do status administrativo (ativo, inativo, em manutenção), um site pode estar temporariamente fora da operação normal. O modo aparece no mapa do Centro de Comando e em uma faixa com a contagem de sites nessa situação, para que toda a central saiba que um pânico pode chegar a qualquer momento daquela unidade.
| Modo | Uso | Duração padrão |
|---|---|---|
| Averiguação PF | Vistoria ou teste do botão por órgão fiscalizador | 4 h |
| Manutenção | Janela de manutenção no hardware do site | 8 h |
| Atenção elevada | Decisão da central (evento, ameaça, ocorrência próxima) | 24 h |
Todo modo tem prazo de expiração e é encerrado automaticamente: modo sem prazo fica ligado para sempre, a marcação perde significado e a central aprende a ignorá-la. O modo pode ser aberto e fechado pela API, o que permite a uma central de monitoramento externa marcar o site.
Prontidão e self-test
A pior falha do fluxo é silenciosa: o botão é pressionado e não chega nada. Por isso o ION Guard verifica a prontidão de cada site de hora em hora, e sob demanda pela API, com as checagens:
| Checagem | O que verifica |
|---|---|
| Contatos de acionamento | Há contato ativo com telefone, e-mail ou Telegram? Um só contato é "degradado" (ponto único de falha) |
| Cadeia de acionamento | Existe cadeia com degraus para o site? |
| Dispositivos de pânico | Há botão de pânico cadastrado? Estão online? As antenas estão online? |
O resultado (ok, degradado ou falho) fica disponível no endpoint de readiness e no histórico de self-tests do site.
API e integrações
Para integrar o pânico a uma central de monitoramento, um VMS ou um sistema de tickets, o ION Guard oferece:
| Recurso | Endpoint / evento |
|---|---|
| Listar e consultar alertas | GET /api/v1/alerts, GET /api/v1/alerts/{id} |
| Reconhecer e resolver | POST /api/v1/alerts/{id}/acknowledge, POST /api/v1/alerts/{id}/resolve |
| Modo operacional do site | GET/POST/DELETE /api/v1/sites/{id}/operational-mode (escopo site:mode) |
| Prontidão | GET /api/v1/sites/{id}/readiness (escopo readiness:read) |
| Self-test sob demanda | POST /api/v1/sites/{id}/self-test |
| Webhooks de saída (assinados) | alert.created, alert.acknowledged, alert.resolved, alert.escalated, alert.sla_breached, site.mode_changed |
Os tokens de API têm escopos (abilities) e podem ser restritos por allowlist de IP. Os alertas aceitam uma referência externa (external_ref) para correlação com o ticket do sistema do cliente. Os endpoints de webhook são cadastrados pela equipe técnica da IONGRADE.
Do lado da reação física, o módulo DigiEye pode acionar comandos em equipamentos (sirene, luz, bloqueio) quando um alerta de pânico é criado, reconhecido, resolvido ou escalonado.
Ver também a documentação da API.
Relatório de auditoria
O relatório Panic Response Audit gera uma linha por alerta de pânico com todos os carimbos, as durações derivadas (disparo até visualização, até reconhecimento, até contato), o desfecho do prazo e a trilha completa. O bloco de resumo traz o agregado de conformidade e um hash do conteúdo, para que o arquivo entregue possa ser conferido contra o registro guardado. Disponível para perfil Tenant Admin ou acima, com filtro para incluir só acionamentos em modo de averiguação.
Casos de uso
- Coação e agressão: recepção, guarita, atendimento ao público, tesouraria. O funcionário aciona sem que o agressor perceba e a central vê onde ele está.
- Acidente e mal súbito: operador sozinho em área industrial, almoxarifado ou turno noturno. Botão no crachá ou na pulseira.
- Trabalho em ambiente confinado ou frio: pessoa presa ou passando mal dentro de uma câmara, com localização "dentro da câmara X". Ver Câmara Fria.
- Vistoria e teste periódico: coloque o site em modo de averiguação, acione o botão e use a trilha e o relatório como evidência do tempo de resposta.
Próximos passos
- Resposta a Alertas: reconhecer e resolver
- Escalação de Alertas
- Centro de Comando
- Beacons e Antenas
- Gateway Radium