Reservas Externas de Refeição
O plugin Reservas Externas de Refeição libera o refeitório só para quem reservou a refeição em um aplicativo de terceiro. Todo dia, no horário que você define, ele consulta a API de reservas do cliente, encontra cada pessoa pelo CPF e atribui uma categoria com validade. Quando a validade passa, o Accelero nega o acesso, e uma rotina de limpeza remove os vínculos vencidos que o próprio plugin criou.
Esta página explica o que o plugin traz, cada tela e cada campo, o significado de cada situação e o que acontece no dia a dia.
Caminho de acesso: Avançado > Sistema > Reservas Externas de Refeição

Não confunda com o plugin Reserva de Refeitório, em que a própria pessoa reserva por um link público do Accelero. Aqui a reserva é feita fora, e o Accelero só recebe a lista do dia.
O que o plugin traz
| Funcionalidade | O que faz |
|---|---|
| Consulta diária automática | Baixa a lista do dia no horário configurado e repete sozinha se a API falhar |
| Categoria com validade | Dá à pessoa a categoria escolhida, que vence na hora configurada |
| Envio aos equipamentos | Leva a pessoa aos faciais pelo fluxo normal do Accelero quando ela recebe a categoria, e a retira quando a categoria sai |
| Simulação | Mostra quem seria liberado, sem gravar nada |
| Execução manual | Roda a consulta na hora, pelo mesmo caminho da automática |
| Histórico | Registra cada execução, com os totais e as pessoas por situação |
| Limpeza diária | Remove os vínculos vencidos criados pelo plugin. Categoria dada à mão nunca é tocada |
| Avisos | Avisa um usuário do Accelero quando algo impede a liberação do dia |
O plugin não cria pessoas, não cadastra fotos, não tem tela de reserva nem de cardápio e não escolhe equipamentos: quem define onde a pessoa entra é a categoria.
Como funciona
Antes de ligar
O plugin não configura estes itens. Confirme todos antes de ligar:
- A categoria escolhida dá acesso à área do refeitório.
- Com Atualizar equipamentos ligado, a categoria consta em Categorias que devem possuir reconhecimento facial da integração Control iD, e a lista de categorias do aparelho a contém ou está vazia.
- Sempre identificar usuários está ligado na integração Control iD, para o Accelero decidir a passagem.
- A controladora do refeitório opera online.
- O processo em segundo plano do Accelero está em execução.
A opção do Accelero que exclui categorias vencidas pode ficar como está. A limpeza do plugin não depende de o vínculo ainda existir.
A janela do plugin
Clique no item na lista Sistema. A configuração abre em uma janela sobre a página, com quatro abas:
| Aba | Para que serve |
|---|---|
| Conexão | Endereço e token da API, ligar o plugin e testar a chamada |
| Rotina e acesso | Horários, categoria, validade e avisos |
| Execução | Situação do processo, simular e executar agora |
| Histórico | O que aconteceu em cada execução, pessoa por pessoa |
O selo ao lado do título mostra o estado do plugin:
| Selo | Significado |
|---|---|
| Configuração incompleta | Falta campo obrigatório. O plugin fica parado |
| Desligado | Configuração completa, com Plugin ativo desligado. Nenhuma rotina roda sozinha |
| Ativo | Consulta e limpeza rodam nos horários configurados |
Enquanto faltar algo, a janela lista o que falta em Falta preencher para o plugin funcionar:

Todo campo tem um ponto de interrogação. Passe o mouse sobre ele para ver para que o campo serve, um exemplo e uma sugestão de valor:

Permissões. Há duas permissões próprias, e as abas dependem delas:
| Permissão | Dá acesso a | Abas visíveis |
|---|---|---|
reservaexternaConfig | Configurar | Conexão e Rotina e acesso |
reservaexternaRun | Testar, simular, executar e ver o histórico | Execução e Histórico |
Quem não tem a permissão de configurações do Accelero não vê o item na lista Sistema.
Aba Conexão

| Campo | O que significa |
|---|---|
| URL | Endereço completo da API, começando com http:// ou https://, com a query, se houver. O Accelero chama por GET |
| Token | Valor enviado no cabeçalho Authorization, sem prefixo. Fica guardado cifrado e a janela mostra só uma máscara, com o botão Alterar. Para manter o token atual, não mexa no campo |
| Plugin ativo | Liga a rotina automática. Inicia desligado |
Testar conexão faz só a chamada, com a URL e o token salvos, e informa o status e o total de linhas: não atribui categoria nem grava histórico. Com alterações ainda não salvas, o botão fica desabilitado: salve primeiro.
Se você mudar o servidor (host) da URL, a gravação é recusada com a mensagem O servidor do endereço mudou. Informe o token novamente. Assim, o token guardado nunca vai para outro servidor.
Se o token não puder ser lido do banco, a execução e o teste falham com O token não está disponível. Informe o token novamente. O plugin nunca consulta a API com token vazio.
Formato esperado da resposta da API
A API deve responder 200, com texto UTF-8 (finais de linha LF ou CRLF, com ou sem BOM). Cada linha segue este modelo:
CPF DD/MM/AAAA HH:MM demais campos
Exemplo inventado:
12345678909 04/11/2026 12:00 refeição de exemplo
| Parte | Regra |
|---|---|
| CPF | Exatamente 11 dígitos, sem pontuação. O dígito verificador não é conferido |
| Data | DD/MM/AAAA, e precisa ser o dia da consulta |
| Hora | Precisa começar por uma hora real, de 00:00 a 23:59. O valor não é usado: quem define o vencimento é a configuração |
| Restante | Descartado. O nome e os demais campos nunca são gravados |
CPF repetido na lista conta uma vez. Linhas fora desse formato são ignoradas e contadas no histórico:
| Contagem | Linha que entra nela |
|---|---|
| Linhas com formato inválido | Não segue o modelo, por exemplo, sem CPF de 11 dígitos |
| Linhas de outra data | A data não é a do dia da consulta |
| Linhas sem horário de refeição | Tem texto no lugar da hora |
Aba Rotina e acesso

| Campo | O que significa | Exemplo |
|---|---|---|
| Horário da consulta | Quando a consulta do dia começa. Use um horário depois do corte do aplicativo de reservas | 10:30 |
| Horário da limpeza | Quando a limpeza do dia roda. Use um horário depois do último turno do refeitório | 23:00 |
| Novas tentativas por dia | Quantas vezes repetir depois da primeira consulta, se ela falhar, de 0 a 50. Cada uma espera 10 minutos | 6 |
| Categoria atribuída | Categoria dada a quem reservou. Precisa existir, estar habilitada e não ser de bloqueio nem de contingência. Prefira uma categoria só para o refeitório | Refeitório Almoço |
| Validade (dias) | Por quantos dias o acesso vale, de 1 a 30, contando o dia da consulta. Com 1, vence no próprio dia | 1 |
| Vence às | Hora do vencimento no último dia. Com validade de 1 dia, precisa ser depois do Horário da consulta | 15:00 |
| Atualizar equipamentos | Ligado, a face, a biometria, o cartão, o QR Code e o elevador acompanham a categoria. Desligado, só as controladoras são atualizadas, e a face é gerida por fora. Veja Peculiaridades | Ligado |
| Usuário que recebe os avisos | Opcional. Quem recebe os avisos no Accelero. Vazio, nenhum aviso é enviado, e o resultado fica só no histórico | Supervisor do refeitório |
| Retenção do histórico (dias) | De 1 a 365. Execuções mais antigas são apagadas pela limpeza | 90 |
Clique em Salvar. A mensagem Configuração salva. confirma a gravação, e a janela passa a mostrar o que ficou gravado.
A gravação é recusada por inteiro se algum campo estiver inválido: a mensagem aparece no próprio campo, e a janela leva você até a aba com o erro.

Aba Execução
Mostra o que está acontecendo agora e permite simular ou executar a consulta.

| Informação | O que significa |
|---|---|
| Processo em segundo plano | Em execução: o serviço que roda a rotina está ativo. Parado: nada automático nem manual é processado até o serviço voltar |
| Última execução | Tipo, horário, resultado e totais da execução mais recente |
| Próxima consulta | Quando a próxima consulta automática roda. Não agendada com o plugin desligado |
| Próxima limpeza | Quando a próxima limpeza roda. Não agendada com o plugin desligado |
Simular
Simular faz a consulta e mostra o resultado por situação, sem gravar vínculo nem histórico e sem enviar nada aos equipamentos. Seria liberado é quem receberia a categoria. Use antes da primeira execução para conferir a lista e os cadastros.

Executar agora
Executar agora pede a confirmação e registra o pedido. O processo em segundo plano roda a execução em até 30 segundos, pelo mesmo caminho da consulta automática. Um clique durante uma execução é um novo pedido, que roda quando a atual terminar.

A execução manual funciona com a configuração completa, mesmo com Plugin ativo desligado, e não conta como tentativa.
A lista de reservas muda até o corte do aplicativo. Uma execução manual antes do Horário da consulta não encerra o dia: a automática roda normalmente depois, e quem já foi tratado não é tratado de novo. Já uma manual com sucesso depois do horário encerra o dia.
Aba Histórico
À esquerda, cada execução, com Início, Tipo, Resultado, Duração e Totais. Clique em uma linha para ver à direita as Linhas ignoradas e as Pessoas por situação, com paginação.

Use o filtro de situação e a busca por nome ou CPF para achar alguém. O CPF aparece só em CPF sem cadastro e CPF em mais de um cadastro habilitado, para você corrigir o cadastro. Nas demais situações, aparece a pessoa cadastrada, ou excluída se ela não existir mais.

Tipo de execução
| Tipo | Quando aparece |
|---|---|
| Automática | A consulta do dia, no Horário da consulta |
| Nova tentativa | A repetição depois de uma consulta automática que falhou |
| Manual | Pedida por Executar agora |
| Limpeza | A rotina diária de limpeza |
Resultado da execução
| Resultado | Significado | O que fazer |
|---|---|---|
| Concluída | Tudo certo, mesmo que alguma pessoa tenha ficado de fora por motivo de cadastro | Veja as pessoas por situação |
| Sem reservas | A API respondeu, mas sem nenhuma reserva válida para o dia (lista vazia, outra data ou sem hora). Não há nova tentativa. O aviso é enviado, se houver usuário de avisos | Confirme com o cliente se há reservas no dia |
| Parcial | Para algumas pessoas, o Accelero recusou a gravação ou o envio aos equipamentos falhou | Na automática, o plugin repete sozinho e avisa ao esgotar as tentativas. Veja Recusada pelo Accelero e Liberada, com falha no envio aos equipamentos e execute de novo |
| Falhou | A execução não terminou. Se a falha foi na consulta, nada foi alterado. Se foi depois dela, os vínculos já gravados ficam, e os Totais mostram quantos são | Veja o erro, corrija e use Executar agora: as pessoas pendentes são retomadas |
| Interrompida | A execução parou no meio. Os vínculos já gravados ficam | Execute de novo: as pessoas pendentes são retomadas |
| Não executada, acesso já vencido | Só na automática: o vencimento calculado já passou | Ajuste Validade (dias), Vence às ou o horário da consulta |
Erros que aparecem junto de Falhou:
| Mensagem | Causa |
|---|---|
| Não foi possível conectar à API. | Endereço errado, servidor fora do ar ou bloqueio de rede |
| A API não respondeu dentro do limite de tempo. | Sem resposta em 60 segundos |
| A API respondeu com status {status}. | Resposta diferente de 200, como 500 em uma falha da API |
| A resposta da API passou do limite de 5 MB. | Corpo maior que o limite |
| A resposta da API não tem o formato esperado. | Há texto, mas nenhuma linha segue o formato |
Situação de cada pessoa
Para cada CPF da lista, o plugin decide nesta ordem. A primeira resposta que se aplica é a situação da pessoa:
| Situação | Significado | A pessoa passa? | O que fazer |
|---|---|---|---|
| Liberada | Categoria atribuída e equipamentos atualizados | Sim | Nada |
| Liberada sem foto | Categoria atribuída, mas a pessoa não tem foto no slot 1 | Sim, por outro identificador. No facial, não | Cadastre a foto. Ela só entra no facial depois |
| Aguardando envio aos equipamentos | Vínculo gravado e envio ainda não concluído | Pela controladora, sim | Execute de novo: o plugin retoma |
| Liberada, com falha no envio aos equipamentos | Vínculo gravado, envio falhou | Pela controladora, sim | Verifique a conexão dos equipamentos e execute de novo |
| Validade estendida | Já tinha o vínculo do plugin, de um dia anterior, e a validade foi estendida | Sim | Nada |
| Já tratada hoje | Já foi tratada no dia, ou o operador removeu a categoria | Depende do vínculo atual | Nada. Veja Cancelar a refeição |
| Já tinha a categoria vigente | Tem a categoria por outro meio, com validade até o vencimento calculado. Se o vínculo manual terminar antes, o plugin grava o próprio vínculo | Sim | Nada |
| CPF sem cadastro | Nenhum cadastro com esse CPF | Não | Cadastre a pessoa e execute de novo |
| CPF em mais de um cadastro habilitado | Duplicidade | Não | Desabilite o cadastro repetido e execute de novo |
| Cadastro desabilitado | Só há cadastro desabilitado | Não | Habilite a pessoa e execute de novo |
| Pessoa com categoria de bloqueio | Tem categoria de bloqueio vigente | Não | Nada: o bloqueio prevalece |
| Recusada pelo Accelero | O Accelero recusou a gravação | Não | Veja o log do plugin |
CPF sem cadastro, Cadastro desabilitado e Recusada pelo Accelero são reavaliados a cada nova execução. Corrija o cadastro e use Executar agora.
O vínculo na ficha da pessoa
Quem recebe a categoria passa a ter o vínculo com início e fim na aba Categorias da ficha da pessoa, como qualquer outra categoria. O fim é o vencimento configurado. A coluna Origem/Evento mostra Manual também para o vínculo do plugin, porque ele não vem de um Evento: para saber quem foi atendido pelo plugin, use a aba Histórico.

O que acontece ao longo do dia
Exemplo com a consulta às 10:30, o vencimento às 15:00, a validade de 1 dia e a limpeza às 23:00:
| Hora | O que acontece |
|---|---|
Antes de 10:30 | Ninguém da lista de hoje tem acesso ainda. Uma execução manual aqui libera quem já está na lista, e a automática roda mesmo assim |
10:30 | A consulta automática baixa a lista. Quem está nela recebe a categoria, com fim às 15:00 de hoje, e vai para os equipamentos |
Até 15:00 | Quem foi liberado passa no refeitório. Quem reservou depois da consulta só entra com uma execução manual |
Depois de 15:00 | O vínculo venceu: o Accelero nega o acesso, mesmo com a pessoa ainda no facial |
23:00 | A limpeza apaga os vínculos vencidos do plugin e retira dos equipamentos quem ficou sem categoria válida |
Regras da rotina
| Caso | Comportamento |
|---|---|
| A API falhou na consulta | Conta uma tentativa e repete a cada 10 minutos, até Novas tentativas por dia. As tentativas morrem à meia-noite. Resultado Parcial na automática também conta como tentativa falha. Ao esgotar, o aviso é enviado |
| Acesso já vencido | Se o vencimento que seria atribuído já passou, a consulta automática não roda, e o histórico registra Não executada, acesso já vencido uma vez por dia. Executar agora nessa situação é recusado na hora, com a mensagem da tela, sem registro no histórico |
| Serviço parado no horário | A consulta roda ao voltar, sob as mesmas regras |
| Plugin ligado depois do horário | A primeira consulta automática é a do dia seguinte. Use Executar agora para cobrir o dia |
| Plugin desligado | Nenhuma consulta nem limpeza automática roda. A execução manual continua disponível. Os vínculos vencidos continuam vencidos e não liberam ninguém |
Limpeza
A limpeza roda uma vez por dia, a partir do Horário da limpeza, com o plugin ativo e independente da consulta. Ela aparece no histórico com o tipo Limpeza:

São três passos:
- Apaga só os vínculos criados pelo plugin cuja validade já passou.
- Atualiza os equipamentos de quem foi atendido: quem ficou sem categoria válida é retirado dos faciais, e quem tem outra categoria válida é reenviado.
- Apaga o histórico mais antigo que a retenção. Quem ainda não foi limpo nos equipamentos nunca é apagado do histórico.
| Total | O que conta |
|---|---|
| Vínculos removidos | Vínculos vencidos apagados |
| Pessoas atualizadas nos equipamentos | Pessoas enviadas ao fluxo de atualização |
| Pessoas mantidas, com vínculo vigente | Ainda têm vínculo do plugin, e ficam para a limpeza seguinte |
| Pessoas excluídas, só marcadas | O cadastro não existe mais |
| Pessoas com falha na limpeza | Ficam para a limpeza seguinte. O resultado vira Parcial |
| Execuções e Itens removidos do histórico | O que saiu pela retenção |
Avisos
Com Usuário que recebe os avisos preenchido, ele recebe uma mensagem no Accelero nestes casos:
| Quando | O que o aviso diz |
|---|---|
| A consulta falhou em todas as tentativas | A data, o número de tentativas e o último erro |
| A consulta terminou Parcial em todas as tentativas | Que algumas pessoas ficaram sem vínculo ou sem atualização |
| Uma execução foi interrompida | Que os vínculos já gravados foram mantidos |
| A consulta não rodou porque o acesso já estaria vencido | Que é preciso ajustar a validade ou o horário |
| O vencimento chegou antes de uma nova tentativa | Que não haverá mais tentativas hoje |
| A consulta funcionou, sem nenhuma reserva | Que nenhuma categoria foi atribuída |
Cancelar a refeição de uma pessoa
O plugin não cancela. Para cancelar, remova a categoria na aba Categorias da ficha da pessoa. O acesso é negado de imediato, e o plugin não devolve a categoria no mesmo dia, nem em execução manual: a remoção vale o dia todo, e a pessoa aparece como Já tratada hoje.

O cancelamento feito no aplicativo de reservas depois de uma execução não tira o vínculo, porque a rotina não remove quem saiu da lista.
Trocar a Categoria atribuída e executar de novo no mesmo dia dá Já tratada hoje para quem já foi atendido. Corrija à mão na ficha da pessoa ou espere o dia seguinte.
Peculiaridades da integração
- Envio diário de faces. Com Atualizar equipamentos ligado, a face entra e sai todo dia. Com 200 reservas, são 200 fotos e pendências, com pelo menos 200 ms por gateway, fora o tempo do aparelho.
- Atualizar equipamentos desligado. Se o envio diário não for aceitável, desligue o campo e mantenha a face fixa por outra categoria. Desligado, biometria, cartão e elevador também deixam de ser atualizados pelo plugin, e só as controladoras recebem a categoria.
- Display. Com Atualizar equipamentos desligado, quem não reservou é reconhecido pelo facial, e o display mostra "Acesso autorizado" antes de o Accelero negar o acesso.
- Contingência. A lista da controladora é filtrada por data apenas quando é gerada. Por isso a categoria não pode ser de contingência, e a controladora precisa operar online.
- Dependência da API. Se a API estiver fora do ar no horário, ninguém recebe a categoria até uma nova tentativa funcionar. O histórico mostra isso, e o aviso chega se houver Usuário que recebe os avisos.
- Cancelamento à mão. O Accelero atualiza só a controladora na hora, e o acesso já é negado. A face só sai do facial na próxima limpeza.
- Limpeza antes do vencimento. Se o Horário da limpeza for anterior ao Vence às, quem ainda tem vínculo vigente é pulado e tratado na limpeza do dia seguinte.
- Linha sem hora real. Uma linha com texto livre no lugar do horário é ignorada e contada como Linhas sem horário de refeição.
- Plugin religado depois de um reinício. Se os serviços reiniciaram com o plugin desligado, ao religá-lo a aba Execução mostra Parado, porque o processo em segundo plano só é registrado na partida. Reinicie os serviços.
- Remoção do plugin. Apaga todos os vínculos criados por ele, inclusive os vigentes, e as faces ficam nos equipamentos até a próxima sincronização.