Manual do Painel
Início (Operação)
Página inicial do painel: um cockpit operacional ao vivo para conduzir o dia. Atualiza sozinha por polling (a cada 15s) e pausa quando a aba fica oculta, retomando ao voltar. Não confunda com a Visão Geral (relatório executivo do período) — o Início cuida do agora.
Cabeçalho e status da loja
No topo: saudação ao usuário, relógio com data e o card de status da loja.
- Status: Loja aberta (verde), Loja fechada (vermelho) ou Pausado (âmbar, com o horário em que retoma). Fechada, clientes não conseguem fazer novos pedidos.
- Abrir / Fechar: botão direto no card — abrir é imediato; fechar exige confirmação.
- Pausar / Retomar: com a loja aberta, pausa temporariamente o aceite de novos pedidos por uma janela definida, retomando automaticamente (ou manualmente em "Retomar").
Banners de alerta
- Trial expirando: conforme o trial se aproxima do fim, um banner progressivo (azul → amarelo → vermelho) aparece no topo com o número de dias restantes e link para assinar.
- Alertas operacionais: um card unificado reúne avisos do momento. Nos planos PRO e PLUS, inclui o estoque (produtos esgotados/críticos) com link direto para o Balanço de Estoque.
Faixa "Ao vivo"
Indicadores em tempo real do dia. Cada chip com contagem é clicável e rola a tela até a fila correspondente. À direita: botão de som (alerta de pedido novo), modo quiosque (tela cheia), atalhos de teclado e o link Gerenciar pedidos, que abre o kanban completo em Pedidos.
| Indicador | Descrição |
|---|---|
| Pendentes | Pedidos aguardando aceite (destaca em alerta quando > 0). |
| Em produção | Pedidos já aceitos e na cozinha. |
| Prontos | Prontos para despachar, retirar ou servir. |
| Saiu | Pedidos que saíram para entrega (retirada já confirmada pelo entregador). |
| Hoje | Total de pedidos do dia. |
| Faturado | Valor faturado no dia. |
| Ticket médio | Valor médio por pedido no dia. |
| Aceite médio | Tempo médio entre o pedido chegar e ser aceito hoje. |
Torre de filas
Abaixo da faixa, filas de trabalho que aparecem apenas quando têm itens — some sozinha quando esvazia:
- Aguardando aceite: pedidos pendentes. Aceitar é ação exclusiva daqui: abre um modal de conferência (endereço, telefone, pagamento, itens) para Aprovar, Aprovar e imprimir (com plano de impressão) ou Cancelar.
- Em produção: pedidos na cozinha, em visão só-leitura com cronômetro e urgência. O avanço de status acontece no board da cozinha / kanban.
- Prontos para despachar: pedidos delivery prontos — escolha o entregador e despache aqui.
- Aguardando retirada: rede de segurança — pedidos despachados cujo entregador ainda não confirmou a retirada acima do SLA.
- Retirada no balcão e Servir: filas de conclusão para pedidos de retirada e de mesa.
Mesas abertas e entregadores
Na lateral, blocos preenchidos por polling: Mesas abertas (comandas dine-in em aberto — clique numa mesa para ver os pedidos da comanda) e Entregadores com a carga atual de cada um.
Alertas de SLA
Um botão flutuante abre o painel lateral de Alertas SLA, listando os pedidos que estouraram (ou estão perto de estourar) o prazo de cada etapa. Vazio, mostra "Todos os pedidos dentro do SLA".
Esta página substituiu o antigo Dashboard (unificado em 2026). O endereço antigo /dashboard.php redireciona automaticamente para cá, preservando atalhos e favoritos.
Pedidos
Central de gerenciamento de pedidos recebidos pela loja. Atualiza em tempo real (poll a cada 5s, pausando quando a aba fica oculta) com beep e toast quando novos pedidos chegam.
Sincronização em tempo real entre operadores: quando outro usuário (cozinha pelo tablet, gerente em outra aba/PC) muda o status, pagamento ou entregador de um pedido, sua tela atualiza sozinha em até 5s sem perder scroll, modal aberto ou seleção em lote. A atualização é silenciosa (sem beep) — o beep continua reservado para pedidos novos. Quando a aba fica oculta (você troca de aba), o polling pausa pra poupar bateria/CPU; ao voltar, atualiza imediatamente.
KPIs do topo
Quatro indicadores acima dos filtros: Pedidos hoje, Pendentes (em laranja quando > 0), Entregues e Faturamento hoje. Atualizam a cada recarga.
Filtros rápidos (chips)
Acima da barra de filtros, 5 chips com contador permitem filtrar com 1 clique, sem mexer no formulário:
| Chip | O que mostra |
|---|---|
| Todos | Todos os pedidos da loja sem filtro aplicado. Limpa a sessão de filtros salvos. |
| Hoje | Apenas pedidos criados na data de hoje. |
| Pendentes | Apenas pedidos com status Pendente (aguardando aceite). |
| Não pagos | Pedidos com pagamento ainda pendente (excluindo cancelados). Útil no fechamento de caixa. |
| Sem entregador | Pedidos de delivery sem entregador atribuído e que ainda não foram entregues/cancelados. Ajuda a identificar quem precisa ser despachado. |
Filtros avançados (formulário)
| Filtro | Descrição |
|---|---|
| Buscar | Filtra por número do pedido, nome ou WhatsApp do cliente. Auto-submit: aplica sozinho ~400ms após parar de digitar (não precisa clicar em Filtrar). |
| Status | Filtra por etapa do pedido (Pendente, Aceito, Em produção, etc.). |
| Data | Filtra pedidos de uma data específica. |
| Modalidade | Filtra por Delivery, Retirada ou Mesa. As opções dependem do que está habilitado no plano. |
Persistência de filtro: a página lembra o último filtro aplicado entre recargas/sessões (por aba do navegador). Ao voltar para a página de Pedidos sem parâmetros, o filtro anterior é restaurado automaticamente. Para começar do zero, use o chip Todos ou o botão Limpar.
Visões: Lista e Kanban
No topo direito do título da página há um toggle Lista | Kanban que muda o modo de visualização. A escolha vale durante a navegação (clicar em filtros/chips/paginação preserva a view), mas não persiste entre visitas — toda nova abertura começa em Lista.
- Lista (padrão): tabela com uma linha por pedido. Mostra todos os campos (número, cliente, valor, pagamento, status, ações) e suporta seleção em lote.
- Kanban: 6 colunas agrupadas por etapa do fluxo — Pendente · Aceito · Em produção · Saindo/Pronto · Entregue · Cancelado. Cada pedido vira um card compacto. Em telas estreitas, as colunas rolam horizontalmente.
Na visão Kanban, o botão Avançar de cada card requer entregador já atribuído quando a próxima etapa for Saiu para entrega. Caso falte, o sistema avisa para atribuir na visão Lista primeiro.
Para tablets de cozinha use a página dedicada Cozinha — ela tem layout otimizado para uso a distância, fonte aumentada, tema escuro, fullscreen e fica acesa o tempo todo.
Status do pedido
| Status | Significado | Disponível para |
|---|---|---|
| Pendente | Pedido recebido, aguardando aceite da loja. | Delivery, Retirada e Mesa |
| Aceito | Pedido confirmado, preparo ainda não iniciado. | Delivery, Retirada e Mesa |
| Em produção | Pedido sendo preparado na cozinha. | Delivery, Retirada e Mesa |
| Pronto para despacho | Cozinha encerrou o preparo, aguardando o painel de pedidos atribuir entregador e despachar. | Apenas Delivery |
| Saiu para entrega | Pedido com entregador a caminho do cliente. Exige entregador atribuído (ver Entregadores). | Apenas Delivery |
| Pronto para retirada | Pedido pronto, aguardando cliente no balcão. | Apenas Retirada |
| Pronto para servir | Cozinha terminou, aguardando atendente levar à mesa. Atendente confirma a entrega pelo painel Pedidos. | Apenas Mesa |
| Entregue | Pedido concluído com sucesso. | Todas modalidades |
| Cancelado | Pedido cancelado. Não conta no faturamento. Estoque é restaurado automaticamente. | Todas modalidades |
Indicador de urgência (pedidos pendentes)
Pedidos com status Pendente ganham realce visual conforme o tempo passa, ajudando a priorizar quem está esperando há mais tempo:
- Até 10 min: aparência normal (borda esquerda na cor do status).
- 10 a 20 min: borda esquerda vermelho-clara e tempo destacado.
- Acima de 20 min: borda vermelha grossa + fundo vermelho-claro com pulso animado.
As classes são reavaliadas a cada 30 segundos sem precisar recarregar a página. Usuários com prefers-reduced-motion ativado têm a animação desabilitada automaticamente.
Tempo do pedido
A coluna de pedido mostra tempo decorrido ("há 5 min", "há 2h") em vez de data fixa. Passe o mouse sobre o tempo para ver a data e hora completas no tooltip. O texto se atualiza sozinho a cada 30 segundos.
Ações por pedido
- Alterar status (dropdown): selecione o novo status no select. O envio é automático ao mudar a opção.
- Avançar status (botão ): seta verde ao lado do select. Em 1 clique, avança o pedido para a próxima etapa lógica do fluxo (varia por modalidade — delivery, retirada ou mesa). Some quando o pedido já está em Entregue ou Cancelado.
- Auto-WhatsApp em transições críticas: ao mudar o status para Saiu para entrega ou Pronto para retirada, o sistema abre automaticamente o WhatsApp em uma nova aba com a mensagem do template pré-preenchida — você só clica "Enviar". Funciona apenas se o cliente tem WhatsApp cadastrado.
- Atribuir entregador (delivery): dropdown abaixo do status lista os entregadores ativos com vaga. Por padrão cada entregador leva um pedido por vez, mas você pode aumentar o limite em Configurações → Operação ("Máx. pedidos simultâneos por entregador", até 10). Quem atingiu o limite de pedidos em rota não aparece como opção para novos despachos, mas continua visível nos pedidos onde já está atribuído. Obrigatório antes de mover para "Saiu para entrega". Cadastre em Entregadores.
- Alterar pagamento: chip "Pago/Pendente" — clique para alternar. Útil quando o pagamento é confirmado fisicamente (Dinheiro/Pix presencial).
- Enviar WhatsApp (botão verde): abre conversa direta com o cliente, com a mensagem do template pré-preenchida.
- Ver detalhes (botão azul): abre um modal com itens, totais, endereço e dados do cliente.
- Imprimir cupom (botão escuro): envia o pedido para a impressora térmica (se pareada) ou abre o cupom em nova aba (planos PRO/PLUS).
Ações em lote (seleção múltipla)
Disponível na visão Lista. Cada pedido tem um checkbox no canto esquerdo, e o cabeçalho da lista oferece "selecionar todos visíveis".
- Marque um ou mais pedidos para que apareça uma barra preta flutuante no rodapé com o contador e três ações em lote.
- Marcar Pago: aplica
payment_status = pagoem todos os selecionados. - Marcar Entregue: aplica
status = Entregueem todos os selecionados. - Cancelar: aplica
status = Canceladoem todos. Restaura o estoque dos itens automaticamente quando aplicável. - Limpar seleção: desmarca tudo sem aplicar.
Cada ação pede confirmação antes de aplicar. Pedidos que já estão no status alvo são ignorados (e contabilizados na mensagem de retorno). Limite de 100 pedidos por operação. Cada mudança é registrada em Auditoria com a flag bulk: true.
Quando usar bulk: ideal no fim de turno (marcar todos os entregues do dia como pagos, fechar pedidos pendentes esquecidos). Para alterações individuais, use os controles da própria linha — são mais rápidos.
Comandas abertas (mesa / dine-in)
Quando a feature de Mesa está habilitada (PLUS), um card "Comandas abertas" aparece acima da lista listando mesas com pedidos pendentes. Cada linha mostra o total acumulado e o tempo desde o primeiro pedido. Ver detalhes em Mesas.
O envio automático de mensagem WhatsApp ao mudar status (auto-WhatsApp) usa o template configurado em WhatsApp. Se o template não estiver definido, o sistema cai num texto padrão com nome, número, status e total do pedido.
Cozinha (tablet)
Página dedicada para um tablet pendurado na cozinha (ou no balcão de produção). Layout otimizado para visualização a distância, toque com mãos sujas/molhadas, e operação contínua sem ficar logando ou recarregando.
Vincular um tablet (pareamento por código)
A cozinha não usa o login admin — cada tablet é vinculado uma vez por um código de 6 dígitos e fica autorizado por 90 dias. Isso evita ter a senha do dono num tablet compartilhado e dá rastreabilidade no audit log.
- No menu lateral (em outro dispositivo, geralmente o computador do dono), clique em Cozinha no grupo Operação. Abre a tela de Displays de cozinha.
- Clique em Vincular novo display, dê um nome (ex.: iPad Cozinha, Display Balcão) e gere o código.
- O código de 6 dígitos aparece grande na tela e expira em 5 minutos. A tela já fica polling — assim que o tablet pareia, a lista atualiza sozinha.
- No tablet, abra
/cozinha/parear(ex.:https://seu-dominio.com.br/cozinha/parear) e digite o código. Pronto — cai direto no board. - Quiser revogar? Na mesma tela de Displays, clique em Revogar ao lado do tablet. No próximo refresh do tablet ele cai automaticamente na tela de pareamento.
Tela cheia + tela sempre acesa (iPad / Android)
- iPad / iPhone: abra
/cozinhano Safari → toque em Compartilhar → Adicionar à Tela de Início. Depois disso, abra pelo ícone — vira app standalone (sem barra do Safari), com Wake Lock estável e mais espaço útil. - Android / Chrome / Edge: clique no botão no header. O navegador segura a tela acesa via Wake Lock API.
- Mantenha o tablet na tomada. Tela sempre acesa consome bateria rápido.
Layout: 3 colunas
| Coluna | Status incluídos | Quando o pedido aparece/some |
|---|---|---|
| A fazer | Aceito | Aparece quando o pedido é aceito no painel (Pendentes não chegam à cozinha); some ao avançar para "Em produção". |
| Preparando | Em produção | Some ao despachar / marcar pronto / marcar entregue. |
| Pronto | Pronto para despacho, Saiu para entrega, Pronto para retirada, Pronto para servir, Entregue | Cards prontos não têm botão na cozinha — exibem um selo único e neutro "✓ Pronto" (a cozinha terminou; quem despacha, serve, retira ou entrega é a torre de Operação/Pedidos). Ficam visíveis só por ~5 min depois de ficarem prontos e então somem sozinhos; Entregue mostra "✓ Concluído" e some após 10 min. |
Pedidos Cancelados nunca aparecem. A cozinha não pode cancelar — atendimento decide cancelamento no painel principal.
Card do pedido
Cada card mostra, em fonte grande:
- Número do pedido (#1234) e tempo decorrido (ex: há 7 min) — atualiza sozinho a cada 30s
- Tag de modalidade colorida: 🛵 Delivery (azul) · 🛍 Retirada (roxo) · 🍽 Mesa N (verde)
- Lista de itens em destaque (fonte 18px), com quantidade em amber e observações abaixo do produto. Itens que não precisam de cozinha (bebidas/balcão, conforme marcado no Cardápio) saem dessa lista e aparecem num bloco separado "🥤 Bar / balcão — pode servir já", para não poluir nem travar a percepção de pronto do prato
- Botão verde de avançar (full-width, alvo de toque grande) — label muda conforme o status atual e a modalidade:
- Começar (Aceito → Em produção)
- Preparado (Em produção delivery → Pronto para despacho — a cozinha não atribui entregador; o painel Pedidos cuida disso)
- Marcar pronto (Em produção retirada → Pronto para retirada · Em produção mesa → Pronto para servir)
A cozinha não aceita pedidos (Pendente → Aceito é exclusivo do painel Pedidos) e não conclui a etapa final — despacho, retirada, servir e entrega são feitos na torre de Operação/Pedidos. Por isso, depois de "Pronto", o card só exibe o selo "✓ Pronto".
Indicadores de urgência
- Aceito (parado, sem começar) ≥10 min: borda vermelha + tempo destacado
- Aceito (parado) ≥20 min: borda + fundo vermelho-claro com pulso animado
- O relógio conta desde a criação do pedido (espera total do cliente), não desde o aceite.
- Botão "✓ Vi" aparece em aceitos urgentes — silencia a urgência por 10 min sem mudar status (útil para "estou de olho, mas ainda não comecei")
Som de aviso
- Padrão tipo sirene (4 tons alternados) com escala separada por categoria. O som só para quando o pedido sai da cozinha (Pronto para despacho, Saiu para entrega, Pronto para retirada, Pronto para servir, Entregue ou Cancelado)
- Aguardando começar (Aceito parado) — gate curto, cobra que a cozinha inicie o preparo logo:
- ≥ 1 min — 1 ciclo a cada 60s
- ≥ 2 min — 2 ciclos a cada 45s
- ≥ 3 min — 3 ciclos a cada 30s
- Em produção — gate longo, só alarma se passou do tempo razoável de cocção:
- ≥ 8 min — 1 ciclo a cada 60s
- ≥ 12 min — 2 ciclos a cada 45s
- ≥ 18 min — 3 ciclos a cada 30s
- O nível usado é o maior entre as duas categorias (ex: pedido aguardando aceite há 3 min + outro cozinhando há 5 min → toca 3 ciclos)
- Botão Silenciar no header dá snooze de 5 min (fica em amber enquanto ativo)
- O navegador exige um clique inicial na página para liberar áudio — ao abrir a Cozinha pela primeira vez, dê um toque qualquer
Sincronização e atualização
- Quando a cozinha avança um status, a tela de Pedidos dos outros operadores atualiza sozinha em até 5s (sem reload, sem perder modal/seleção)
- O inverso também vale: se o atendente muda status pelo painel principal, a Cozinha atualiza sozinha em até 5s
- O refresh é silencioso e não sai da tela cheia (usa AJAX em vez de reload)
Limites e segurança
- Sem login admin no tablet: o cozinheiro nunca vê senha do dono. O tablet só consegue listar pedidos e avançar status — não acessa cardápio, financeiro, clientes ou configurações.
- Escopo do token: 256 bits aleatórios, armazenado como SHA-256 no servidor (o servidor nunca vê o plaintext em log/DB). Cookie httpOnly + Secure (em produção) + SameSite=Lax. Backup em localStorage para sobreviver a iOS PWA descartar cookie entre lançamentos.
- Rolling de 90 dias: cada acesso renova o cookie. Sem atividade por 90 dias, expira e exige re-pareamento.
- Revogação imediata: em Displays de cozinha, clique Revogar — no próximo refresh do tablet (até 5s) ele cai para a tela de pareamento. Útil se o tablet sumir ou for substituído.
- Rastreabilidade no audit log: cada avanço de status registra qual display fez a ação (não fica creditado como "admin X"). Veja em Análise → Auditoria.
- A página em si não tem links para outras áreas do sistema — única saída é o botão "Sair", que limpa o cookie local e volta ao pareamento (não revoga o device — admin pode re-vincular).
- Não é possível cancelar pedido pela Cozinha — proteção contra toque acidental. Cancelamento fica reservado ao painel principal.
- Pedidos delivery em Em produção avançam para Pronto para despacho via botão "Preparado" — a cozinha não atribui entregador nem despacha. O painel de pedidos é quem atribui o entregador e move para Saiu para entrega.
Quantos tablets vincular? Sem limite. Vincule um por estação se quiser (cozinha quente, fritura, balcão, sushi). Cada um aparece com seu próprio nome no audit log. Para revogar/trocar é só clicar.
Impressora Térmica
Imprimir o cupom do pedido direto na impressora térmica da loja (80mm ou 58mm). Disponível nos planos PRO e PLUS.
Duas formas de imprimir
- Impressao silenciosa (USB direta) — recomendada. Em Chrome ou Edge, o cupom sai na impressora com um clique (ou automaticamente em pedidos novos). Sem software instalado na loja, sem caixa de dialogo.
- Impressao via navegador — fallback. Em Safari, Firefox ou sem impressora pareada, uma aba abre com o cupom e a caixa de dialogo de impressao do sistema.
Modelos homologados
| Fabricante | Modelo | Largura | VID |
|---|---|---|---|
| Epson | TM-T20 / TM-T20X | 80mm | 0x04b8 |
| Bematech | MP-4200 TH | 80mm | 0x0483 |
| Elgin | i9 | 80mm | 0x20d1 |
| Daruma | DR-800 | 80mm | 0x0dd4 |
| Generica | POS-5811DD (Winbond) | 58mm | 0x0416:0x5011 |
Impressoras fora desta lista também funcionam desde que compativeis com ESC/POS e CP850. O popup do Chrome ja lista todos os dispositivos USB conectados.
Windows: preparar driver WinUSB (uma vez por impressora)
Passo obrigatório no Windows. O Windows instala um driver de impressora que "prende" a porta USB e impede o Chrome de se comunicar direto com o equipamento — o pareamento funciona, mas a impressao falha com USBDevice access denied. A solucao e trocar o driver por WinUSB usando a ferramenta Zadig.
- Baixe o Zadig em
https://zadig.akeo.ie/(executavel único, ~5MB, não precisa instalar). - Conecte a impressora via USB e deixe ligada.
- Execute o Zadig como Administrador (botao direito → Executar como administrador).
- No menu, ative Options → List All Devices.
- No dropdown principal, selecione a impressora (para a POS-5811DD aparece como
0416 5011). - No campo da direita, escolha WinUSB (use as setas se vier outro driver pre-selecionado).
- Clique em Replace Driver (ou "Install WinUSB Driver") e aguarde ~30 segundos.
- Pronto. Feche o Zadig e siga para o pareamento.
Efeito colateral: apos a troca, a impressora não aparece mais em "Dispositivos e Impressoras" do Windows — ela deixa de ser uma impressora do sistema e vira um dispositivo USB generico usado exclusivamente pelo DelyGO. Consequencia em Safari/Firefox: nestes navegadores o sistema abre o cupom em nova aba com o dialogo de impressao, mas a impressora térmica não vai aparecer na lista (sem driver OS apos o Zadig). Em outras palavras: use Chrome ou Edge para imprimir. Safari/Firefox so servem como visualizacao do cupom. Para reverter: Gerenciador de Dispositivos → encontre a impressora → Desinstalar dispositivo marcando "Excluir software de driver" → desconecte e reconecte o cabo USB.
Parear a impressora (primeira vez)
- Conecte a impressora no computador via cabo USB e ligue o equipamento.
- Abra o painel admin no Chrome ou Edge (requer HTTPS — não funciona em
http://192.168.x.y). - Va em Configurações → Impressora.
- Ligue Habilitar impressora térmica e escolha a largura do papel (80mm ou 58mm).
- Clique em Conectar impressora USB. Uma caixa nativa do Chrome abre listando os dispositivos.
- Selecione a impressora na lista e clique em Conectar.
- O status atualiza para Conectada. Clique em Testar impressao para validar.
- Se quiser auto-impressao em pedidos novos, marque Imprimir automaticamente pedidos novos e salve.
Como imprimir um pedido
- Com impressora pareada, clique no ícone ao lado do pedido — o cupom imprime sem abrir aba.
- Com auto-impressao ligada, pedidos recem-chegados imprimem sozinhos assim que aparecem na tela.
- Sem pareamento ou em Safari/Firefox, o sistema abre o cupom em nova aba para impressao pela caixa de dialogo do navegador.
Impressora não aparece no popup?
- Confira o cabo USB e teste outra porta do computador, de preferencia USB 2.0 direta na placa.
- Instale o driver do fabricante (Bematech, Epson, Elgin, Daruma) se o Windows não reconheceu a impressora.
- No Linux, pode ser preciso uma regra
udevpara acesso sem sudo. - Se voce bloqueou a permissao por engano, revogue em
chrome://settings/content/usbDevicese tente parear novamente.
Erro "USBDevice access denied" ao imprimir?
- No Windows, quase sempre indica que o driver nativo de impressora do Windows esta segurando a porta USB. Rode o Zadig e troque o driver para WinUSB (ver seção Windows: preparar driver WinUSB acima).
- Feche qualquer outro app ou aba que possa estar usando a impressora (caixas de dialogo de impressao abertas, outros sistemas de PDV).
- Desconecte e reconecte o cabo USB — em alguns casos basta um ciclo para liberar a interface.
HTTPS obrigatório: WebUSB so funciona em conexoes seguras (https:// ou http://localhost). Em rede local com IP (http://192.168.x.y), o pareamento falha.
Pareamento por origem: a autorização vale para um dominio específico. Se o painel mudar de URL, sera preciso parear novamente.
Safari e Firefox: esses navegadores não suportam WebUSB. O botao segue funcionando — abre uma nova aba com a caixa de impressao do sistema.
Disponibilidade: impressao térmica e uma feature dos planos PRO e PLUS. No plano START, a aba "Impressora" e o ícone não aparecem.
Cardápio
Gestao completa dos itens do cardápio: categorias, produtos e adicionais.
Categorias
- Crie categorias para organizar os produtos (ex: Lanches, Bebidas, Sobremesas).
- A categoria chamada
Destaques(ouDestaque) tem tratamento especial: seus produtos aparecem na seção de destaques no topo do cardápio público. - A ordem das categorias no cardápio público segue a ordem de cadastro.
Produtos
- Nome e descrição: Exibidos no cardápio público e nos pedidos.
- Preco: Valor base do produto. Adicionais somam ao preco final.
- Imagem: Foto do produto exibida no cardápio. Formatos aceitos: JPG, PNG, WEBP.
- Destaque: Marca o produto para aparecer também na seção de Destaques do cardápio.
- Ativo / Inativo: Produtos inativos não aparecem no cardápio público.
- Controle de estoque: Disponível nos planos PRO e PLUS. Quando ativado, define uma quantidade máxima. Ao zerar, o produto aparece como "Esgotado" no cardápio e não pode ser adicionado ao carrinho. O estoque e debitado automaticamente a cada pedido confirmado e restaurado se o pedido for cancelado. Para visualizar o balanço de todos os produtos controlados, acesse Balanço de Estoque.
Preparo na cozinha (bebidas e itens de balcão)
Marque o que não passa pela cozinha (bebidas, itens prontos de balcão) para que esses itens deixem de ficar reféns do ciclo de preparo. Por padrão, tudo precisa de preparo — nada muda até você marcar o contrário.
- Na categoria (modal de criar/editar categoria) há o toggle "Precisa de preparo na cozinha", marcado por padrão. Desmarque uma categoria inteira (ex.: Bebidas) para que todos os seus produtos sejam tratados como "servir direto".
- No produto (modal de criar/editar produto) há o seletor "Preparo na cozinha" com três opções:
- Herdar da categoria (padrão) — segue o toggle da categoria.
- Precisa de preparo (cozinha) — força a ida à cozinha mesmo numa categoria de balcão (ex.: suco natural dentro de Bebidas).
- Servir direto (bar/balcão) — força "servir já" mesmo numa categoria de cozinha.
O que muda na operação:
- Na Cozinha, os itens de balcão saem da lista de preparo e aparecem num bloco separado "🥤 Bar / balcão — pode servir já", sem poluir nem "travar" a percepção de pronto do card.
- No painel Pedidos e no board do garçom, esses itens ganham o selo "servir já" / "pode servir já".
- Pedido só de bebida (mesa ou retirada, sem nenhum item de preparo) pula a cozinha no aceite: vai direto para Pronto para servir (mesa) ou Pronto para retirada (retirada), em vez de Aceito. Delivery nunca pula — a sacola continua unificada; ali a flag só evita que a bebida conte como preparo.
Exportar cardápio em PDF (para impressão gráfica)
O botão Salvar em PDF, no topo da página, abre uma versão impressa do cardápio — bonita e profissional, pronta para levar à gráfica.
- Layout A4 retrato na cor da sua marca, com logo, categorias e produtos com foto (apenas itens ativos entram).
- Rodapé com QR code do delivery: se a loja tem link público, uma faixa final convida o cliente a pedir pelo celular — basta apontar a câmera para o QR code.
- Para gerar o arquivo: na aba que abre, clique em Imprimir e, no destino, escolha "Salvar como PDF". O resultado é vetorial (texto nítido em qualquer tamanho), ideal para impressão gráfica.
Adicionais (Extras)
- Cada produto pode ter adicionais vinculados (ex: Bacon Extra, Queijo Extra).
- Cada adicional tem nome e preco próprio, somado ao total do pedido.
- Adicionais inativos não aparecem no cardápio público.
Limites por plano
| Plano | Produtos ativos | Controle de estoque |
|---|---|---|
| START | Até 30 | Não |
| PRO | Ilimitado | Sim |
| PLUS | Ilimitado | Sim |
Protecao contra duplicatas: O sistema detecta envios duplicados em uma janela de 2,5 segundos. Se clicar duas vezes rápido em "Salvar", apenas o primeiro envio e processado.
Clientes
Lista de todos os clientes que ja realizaram pedidos na loja.
KPIs
| Indicador | Descrição |
|---|---|
| Total de Clientes | Número total de clientes distintos cadastrados via pedidos. |
| Clientes Ativos (30 dias) | Clientes que fizeram pelo menos um pedido nos últimos 30 dias. |
Busca
Filtra por nome, telefone (WhatsApp) ou endereco do cliente. A busca e case-insensitive e retorna correspondencias parciais.
Card do cliente
- Nome, telefone e endereco: Dados informados pelo cliente no último pedido.
- Último pedido: Data e hora do pedido mais recente.
- Total de pedidos e valor gasto: Histórico acumulado do cliente.
- Botao WhatsApp: Abre conversa direta com o cliente.
- Ver histórico: Redireciona para a página de Pedidos filtrada pelo WhatsApp do cliente.
Os clientes são criados automaticamente a cada novo pedido. Não é possível cadastrar clientes manualmente.
Entregadores
Cadastre quem leva os pedidos da loja. Toda vez que voce despacha um pedido de delivery (status "Saiu para entrega"), o sistema pede que voce escolha um entregador da lista — assim cada entrega fica registrada para fechamento e relatorio. Disponível em todos os planos.
Cadastrar entregador
- No menu lateral, vá em Entregadores (grupo Operação).
- No formulario de cadastro, informe nome (obrigatório), telefone (opcional) e tipo de veiculo (Moto, Bicicleta, Carro, A pe ou Outro).
- Clique em Cadastrar. O entregador aparece na tabela acima como Ativo e ja fica disponível no select de despacho da página Pedidos.
Editar, desativar e reativar
- Editar: Botao na linha. O formulario de cima vira "Editar entregador" preenchido com os dados atuais — ajuste e clique em Salvar.
- Desativar: Tira o entregador do select de novos despachos sem apagar o cadastro. Pedidos historicos continuam exibindo o nome dele normalmente.
- Reativar: Volta a aparecer no select. Útil para entregadores temporarios (ferias, afastamento).
Recomendamos desativar em vez de excluir. Se um entregador não trabalhar mais, deixe-o como inativo — o histórico de entregas dele preserva os dados para fechamento, comissao e auditoria.
Atribuir entregador a um pedido
- Em Pedidos, localize um pedido de delivery em andamento.
- Na coluna de Status, abaixo do select de status, ha um segundo select "— sem entregador —" com a lista dos entregadores ativos.
- Escolha o entregador. A atribuicao e salva imediatamente (auto-submit).
- Mude o status para Saiu para entrega. Se voce esquecer de atribuir antes, o sistema exibe um aviso e não salva a mudanca de status — basta escolher um entregador e tentar de novo.
Quantos pedidos por entregador
Por padrão, cada entregador leva um pedido por vez: enquanto ele está em "Saiu para entrega", some das opções de novos despachos e volta à lista assim que conclui a entrega. Você pode aumentar esse limite para o entregador acumular corridas na mesma saída.
- Ajuste em Configurações → Operação, no campo "Máx. pedidos simultâneos por entregador" (de 1 a 10).
- O sistema sempre sugere o entregador com menos pedidos em rota no momento (com desempate pelo último que você usou).
- Quem atinge o limite some das opções de despacho até liberar uma vaga, mas continua visível nos pedidos onde já está atribuído.
- Na torre de operação, o entregador aparece com a contagem de pedidos em rota (ex.: "🛵 João · 3 pedidos"); passe o mouse para ver os números.
- O próprio entregador vê todas as entregas no app dele e decide a ordem — o sistema não impõe rota.
Onde o entregador aparece depois
- Lista de Pedidos: uma etiqueta verde com o nome do entregador aparece na linha do pedido apos ele ser despachado.
- Detalhe do pedido (modal): linha "Entregador: Nome" abaixo do endereco.
- Cupom termico: na impressao do pedido, o nome do entregador aparece junto aos dados de entrega — útil para conferencia rápida na cozinha.
- WhatsApp: use a variavel
{entregador}no template de Atualizacao de Status para enviar o primeiro nome do entregador na mensagem do cliente (ex: "Pedido saiu com Carlos. Acompanhe pelo WhatsApp."). Ver WhatsApp.
Relatorio de entregas (PLUS)
Em Relatorios, o card "Entregas por entregador" resume o período selecionado:
- Entregas: quantidade de pedidos concluidos (status Entregue) atribuidos ao entregador.
- Faturamento: soma do valor total dos pedidos.
- Taxas: soma das taxas de entrega — base usual para calcular comissao.
- Ticket medio: valor medio por pedido entregue.
- Tempo medio: tempo entre "Saiu para entrega" e "Entregue", em minutos. Pedidos sem essas duas marcacoes não entram na media.
Se houver entregas concluidas no período sem entregador atribuido, um aviso amarelo aparece no card alertando para atribuir antes do despacho nas proximas entregas. Tudo isso pode ser exportado em CSV.
Shell do entregador (PWA /entregador/*)
Cada entregador pode usar o próprio celular para ver os pedidos em rota e marcar entrega — sem precisar de WhatsApp manual. Disponível em todos os planos.
1. Cadastrar entregador com PIN
- Cadastre o entregador normalmente (nome, telefone, veículo).
- Ao salvar, um PIN de 4 dígitos é gerado automaticamente e mostrado 1 vez só no card laranja. Anote ou envie pro entregador na hora.
- Se o PIN for perdido, clique em Novo PIN na linha do entregador — um novo é gerado e o antigo para de funcionar imediatamente.
- Imprimir o PIN (térmica 58mm): no card laranja que mostra o PIN, há o botão Imprimir PIN. Se a loja tem o recurso Impressora Térmica habilitado e uma POS-58 pareada, o cupom sai direto via WebUSB com o PIN em fonte grande + QR code apontando pra tela de login do entregador. Sem impressora térmica disponível, abre um popup A4 imprimível pelo navegador. Útil pra entregar o PIN ao novo entregador sem precisar ditar números.
2. Parear o celular do entregador
- Na página Entregadores, no card Celulares vinculados, dê um nome opcional (ex: "Celular João") e clique em Gerar código de pareamento.
- Um código de 6 dígitos aparece em card verde — válido por 5 minutos.
- No celular do entregador, abra a URL
https://seudominio.com.br/entregador/pareare digite os 6 dígitos. - O cookie de pareamento vale 90 dias (renovado a cada uso). Não precisa parear de novo a menos que o entregador limpe os cookies ou você desvincule o celular.
3. Login com PIN e uso diário
- Após parear, o celular mostra a lista de entregadores ativos com PIN.
- O entregador toca no próprio nome → digita o PIN no teclado → entra no board.
- O board lista os pedidos atribuídos a ele em status Saiu para entrega (com um contador no topo separando a retirar de a caminho quando ele leva mais de um). Cada card sempre tem Mapa (Google Maps no endereço) e Ligar (chama o cliente), e o botão principal muda conforme a etapa da retirada — separada em duas confirmações para não dar pedido como retirado sem a sacola na mão:
- 1. Confirmo que vou retirar — o entregador avisa a loja que está a caminho do balcão. Grava
courier_ack_at, não muda o status nem move o pedido. - 2. Avisado · retire a sacola no balcão — faixa azul, sem botão. A retirada de fato é confirmada pelo atendente no balcão (botão "Entreguei ao entregador" na torre de Operação), que grava
picked_up_atao passar a sacola. - 3. Marcar entregue — liberado só depois que a loja confirmou a retirada. Conclui a entrega ao cliente.
- 1. Confirmo que vou retirar — o entregador avisa a loja que está a caminho do balcão. Grava
- Ao marcar entregue: o status do pedido vira Entregue,
delivered_até gravado (entra no tempo médio do relatório), o pagamento recebe baixa automática e o pedido some do board do entregador. A torre de Operação também consegue fechar a entrega pela fila Em rota, caso o entregador não marque. - O board recarrega sozinho a cada 15 segundos pra refletir novos despachos sem precisar dar refresh.
4. Pausar vs Sair (no celular)
No header do PWA do entregador há dois botões — escolha conforme a situação:
| Botão | Encerra sessão | Mantém pareamento | Próximo acesso | Quando usar |
|---|---|---|---|---|
| Pausar | Sim | Sim (cookie 90d) | Pede só o PIN | Fim de turno do dia, intervalo longo. O entregador fica cinza na sidebar de Operação imediatamente e sai do select de novos despachos. |
| Sair | Sim | Não (cookie apagado) | Pede novo pareamento + PIN | Trocar de celular, devolver o aparelho, suspeita de uso indevido. |
5. Segurança
- Lockout de PIN: 3 tentativas erradas trancam o login por 5 minutos. Resolve um ataque de força-bruta no celular roubado/perdido.
- Sessão de turno: dura até 12h, ou expira por 30 min de inatividade — o que vier primeiro.
- Single-session: se o entregador logar no celular B, a sessão do celular A é encerrada automaticamente (modelo WhatsApp Web).
- Status online/offline (sidebar de Operação): o ponto verde só aparece enquanto o app envia heartbeat (a cada 60s com a tela visível). Sem heartbeat por 3 minutos — celular bloqueado, app fechado, sem internet ou botão Pausar — o entregador fica cinza e sai automaticamente da lista de elegíveis pra novos despachos.
- Desvincular celular: no card Celulares vinculados, botão Desvincular. A sessão ativa é encerrada e o próximo acesso volta pra tela de pareamento. Útil quando o entregador sai da equipe ou perde o aparelho.
O shell /entregador/* é um PWA leve — pode ser adicionado à tela inicial do celular como atalho. Funciona em qualquer navegador moderno (Chrome, Safari, Firefox). Não precisa baixar nada da loja de apps.
Configuração dos templates de mensagem enviados automaticamente via WhatsApp.
Templates disponiveis
| Template | Quando e enviado |
|---|---|
| Confirmacao de Pedido (Delivery) | Ao cliente finalizar um pedido de delivery no cardápio. |
| Confirmacao de Pedido (Retirada) | Ao cliente finalizar um pedido de retirada no balcão. Visível apenas quando a modalidade Retirada esta habilitada. |
| Atualizacao de Status | Ao admin alterar o status de um pedido na página Pedidos. |
Variaveis dos templates
| Variavel | Substitui por | Templates que aceitam |
|---|---|---|
{pedido} | Número único do pedido | Todos |
{itens} | Lista de itens com quantidades e precos | Todos |
{total} | Valor total do pedido formatado | Todos |
{cliente} | Nome do cliente | Todos |
{entrega} | Endereco de entrega | Confirmacao Delivery |
{tempo} | Tempo estimado de retirada (minutos) | Confirmacao Retirada |
{status} | Novo status do pedido | Atualizacao de Status |
{entregador} | Primeiro nome do entregador atribuido (vazio quando o pedido não tem entregador definido) | Atualizacao de Status (delivery) |
Preview
Abaixo de cada template, ha um preview em tempo real mostrando como a mensagem ficara com dados ficticios. Use para validar a formatacao antes de salvar.
Plano START: Os templates são fixos (não editaveis). Para personalizar as mensagens, e necessario o plano PRO ou PLUS.
Primeiros Passos
Wizard guiado para configurar a loja antes de começar a receber pedidos. Aparece automaticamente para lojas com onboarding incompleto e fica acessível em /admin/onboarding.php (não há mais entrada no menu lateral — foi removida em 2026-05-18 junto com a reorganização do menu).
Etapas
O número e a ordem das etapas variam conforme as features liberadas pelo plano. As etapas fixas são Estabelecimento e Formas de Pagamento; Modalidades e Bairros Atendidos aparecem apenas para planos PRO e PLUS.
| Etapa | O que configurar | Quando aparece |
|---|---|---|
| Estabelecimento | Nome da loja, WhatsApp, endereco, cor do tema, logo, foto de capa e taxa de entrega padrão. | Sempre |
| Formas de Pagamento | Habilitar Dinheiro, Pix, Débito e/ou Crédito. Chave Pix e obrigatória se Pix estiver ativo. | Sempre |
| Modalidades | Definir se a loja aceita Delivery, Retirada no Balcão ou ambos, e o tempo estimado de preparo para retirada. | Planos com a feature pickup (PRO e PLUS). |
| Bairros Atendidos | Cadastrar bairros com cidade e taxa de entrega própria por bairro. A taxa padrão do estabelecimento vira fallback para bairros não cadastrados. | Planos com a feature neighborhood_delivery (PRO e PLUS). |
| Tudo Pronto | Tela final de confirmacao com resumo das configurações. Marca o onboarding como concluido. | Sempre |
Etapa Bairros Atendidos
- Formulario para adicionar bairros com nome, cidade e taxa. Cada bairro cadastrado vira uma opção de entrega no checkout do cliente.
- Lista dos bairros ja cadastrados, com botao para remover.
- Não e obrigatório cadastrar bairros aqui — a etapa pode ser finalizada vazia, e a loja continuara usando a taxa de entrega padrão informada na etapa 1.
- Apos a conclusao, novos bairros podem ser adicionados, editados e desativados em Configurações → Bairros Atendidos.
Concluir o onboarding não e obrigatório para receber pedidos, mas e recomendado. O status de onboarding e visível para o officer no painel de detalhes da empresa.
Configurações
Ajustes gerais da conta e da loja, organizados em secoes.
Seção: Estabelecimento
- Nome: Nome da loja exibido no cardápio público e no painel.
- WhatsApp: Número para contato e recebimento de mensagens de pedidos.
- Endereco: Exibido no cardápio público abaixo do nome da loja.
- Cor do tema: Cor primária usada em botões e destaques no cardápio público. Aceita apenas hex de 6 dígitos (ex:
#08B357). - Taxa de entrega: Valor cobrado por pedido de delivery. Exibido no checkout.
- Logo e capa: Imagens exibidas no cabeçalho do cardápio público.
Seção: Pagamentos
- Habilite ou desabilite Dinheiro, Pix, Cartão de Débito e Cartão de Crédito.
- Ao menos uma forma de pagamento deve estar ativa.
- A chave Pix e obrigatória quando Pix esta habilitado.
Seção: Modalidades
- Disponível apenas para planos PRO e PLUS (feature
pickup). - Define se a loja aceita Delivery, Retirada ou ambos. Ao menos uma modalidade deve estar ativa.
- Quando a Retirada está ativa, é possível configurar o tempo estimado de preparo em minutos.
Seção: Bairros Atendidos
- Aba disponível apenas para planos PRO e PLUS (feature
neighborhood_delivery). - Permite cadastrar, editar e remover bairros com nome, cidade, taxa própria e ordem de exibição.
- Cada bairro pode ser marcado como ativo ou inativo. Inativos não aparecem para o cliente no checkout.
- A combinacao de nome + cidade e única por loja — não é possível cadastrar dois bairros iguais.
- Quando existir pelo menos um bairro ativo, o cliente escolhe o bairro no checkout e a taxa correspondente e aplicada ao pedido.
- Se nenhum bairro estiver cadastrado (ou todos estiverem inativos), o sistema aplica a taxa de entrega padrão definida na seção Estabelecimento como fallback.
Seção: Operação
- Tempo de produção esperado (atenção / atraso crítico): dois limiares em minutos que definem quando um pedido passa a sinalizar atraso no painel — borda amarela (atenção) e vermelha (crítico). O crítico precisa ser maior que o de atenção.
- SLA de retirada do entregador: minutos após o despacho para o entregador avisar que vai retirar ("Confirmo que vou retirar") no app. Ao estourar, o card é destacado para ele e o pedido aparece em "Aguardando retirada" na torre de operação — lembrando que a retirada de fato é confirmada pelo atendente no balcão ("Entreguei ao entregador").
- Máx. pedidos simultâneos por entregador: de 1 a 10. Define quantas entregas um mesmo entregador pode levar ao mesmo tempo. 1 = um pedido por vez (padrão); aumente para permitir que ele acumule corridas na mesma saída. Detalhes em Entregadores.
- Aceite rápido (1 clique) na torre de operação: mostra um botão Aceitar direto na fila "Aguardando aceite", sem abrir a conferência, apenas para pedidos de baixo risco (pagos e — no delivery — com endereço).
Seção: Conta
- Alteracao de senha do administrador. Requer a senha atual para confirmacao.
Bairros Atendidos
Recurso de entrega por bairro para planos PRO e PLUS. Permite definir uma taxa de entrega específica para cada bairro atendido, ao inves de usar uma taxa única para toda a cidade.
Como funciona
- Cada bairro cadastrado possui nome, cidade e taxa própria.
- No checkout do cardápio público, o cliente seleciona o bairro em uma lista suspensa e a taxa correspondente e somada ao total do pedido.
- Se a loja não tiver bairros cadastrados (ou estiverem todos inativos), o sistema usa a taxa de entrega padrão definida em Configurações → Estabelecimento como fallback (retrocompatibilidade).
- A ordem de exibição no checkout segue o campo ordem definido no cadastro, com desempate alfabetico por cidade e nome.
Onde gerenciar
- Durante o onboarding: uma etapa dedicada permite cadastrar os primeiros bairros antes de concluir a configuração inicial.
- Apos o onboarding: acesse Configurações → Bairros Atendidos para adicionar, editar, ativar/desativar ou remover bairros.
Disponibilidade por plano
| Plano | Entrega por bairro |
|---|---|
| START | Não disponível — utiliza apenas a taxa de entrega padrão. |
| PRO | Disponível. |
| PLUS | Disponível. |
Todas as criacoes, edicoes e remocoes de bairros são registradas no log de auditoria interno (ações NEIGHBORHOOD_CREATED, NEIGHBORHOOD_UPDATED e NEIGHBORHOOD_DELETED).
Cupons de Desconto
Recurso de cupons promocionais para planos PRO e PLUS. Permite criar códigos que o cliente aplica no carrinho e recebe desconto automaticamente.
Tipos de cupom
| Tipo | Como funciona | Exemplo |
|---|---|---|
| Percentual | Desconta uma porcentagem do subtotal (1 a 100%). | BEMVINDO10 = 10% off |
| Valor fixo | Desconta um valor fixo em reais. Limitado ao subtotal (nunca deixa o pedido negativo). | DEZ_OFF = -R$ 10,00 |
| Frete gratis | Zera a taxa de entrega do pedido. | FRETE |
Campos do cupom
- Código: até 30 caracteres, apenas letras, números, hifen ou underline. Normalizado automaticamente para caixa alta.
- Pedido minimo: valor minimo do subtotal para o cupom valer (opcional, 0 = sem minimo).
- Limite de usos totais: quantas vezes o cupom pode ser usado no total (em branco = ilimitado).
- Usos por cliente: quantas vezes o mesmo cliente (identificado por WhatsApp) pode usar o cupom (em branco = ilimitado).
- Apenas primeiro pedido: restringe o cupom a clientes que ainda não fizeram pedido na loja.
- Validade de / até: janela em que o cupom está ativo. Selecione apenas a data — o sistema considera 00:00 do dia inicial até 23:59 do dia final.
- Ativo: liga/desliga o cupom sem precisar excluir.
Status do cupom
| Badge | Significado |
|---|---|
| Ativo (verde) | Cupom funcionando normalmente. |
| Agendado (amarelo) | Validade inicial ainda no futuro — comeca a valer na data marcada. |
| Expirado (vermelho) | Validade final ja passou. |
| Esgotado (vermelho) | Atingiu o limite de usos totais. |
| Inativo (cinza) | Foi desativado manualmente ou via downgrade de plano. |
Ver resgates
No ícone do relogio (próximo as ações), abra o painel de resgates para ver todos os pedidos que usaram o cupom, com cliente, valor descontado, ticket médio e receita gerada.
Excluir cupom
- Cupom sem nenhum uso: removido permanentemente.
- Cupom com resgates registrados: virado em inativo automaticamente (preserva o histórico de pedidos passados).
No carrinho do cliente
- Bloco "Tem um cupom?" aparece no resumo do carrinho.
- Ao aplicar com sucesso, a linha "Desconto" aparece no resumo e o total e ajustado.
- Se o cliente reduzir o carrinho abaixo do pedido minimo, o cupom e removido automaticamente com aviso.
- O cupom e re-validado em todas as etapas (carrinho, entrega, pagamento, confirmacao). Cupons expirados/esgotados durante a sessao são bloqueados antes de virar pedido.
No pedido finalizado
- O detalhe do pedido (em Pedidos) mostra a linha "Desconto (CODIGO) -R$ X,XX" no totalizador.
- A Visão Geral e os Relatórios contabilizam os descontos concedidos no período selecionado.
Disponibilidade por plano
| Plano | Cupons |
|---|---|
| START | Não disponível. |
| PRO | Disponível. |
| PLUS | Disponível. |
Em caso de downgrade para o plano START, todos os cupons ativos da loja são automaticamente desativados (preservados como inativos). Ao voltar para PRO/PLUS, basta reativa-los individualmente.
Visão Geral
Painel executivo em Análise → Visão Geral (exclusivo PLUS, feature advanced_reports). Responde "como o negócio está indo?" num relance, com comparação contra o período anterior e alertas acionáveis. Complementa as outras telas sem repetir: a Operação/Pedidos mostra o agora ao vivo; os Relatórios trazem tabelas detalhadas + CSV. A Visão Geral é o resumo do meio-termo.
Seletor de período
- Atalhos rápidos: Hoje, 7 dias, 30 dias (padrão) e Este mês. Ou escolha um intervalo livre em De / Até.
- O período sempre é comparado com o intervalo anterior de mesmo tamanho (ex.: 30 dias vs os 30 dias anteriores) — é daí que saem as variações nos KPIs.
- Os dados ficam em cache leve (~90s) por loja e período. A barra mostra "atualizado agora / há Xs"; o botão força recarga imediata.
Faixa de KPIs (com variação vs período anterior)
Seis indicadores com seta verde/vermelha comparando ao período anterior (quando há base):
- Faturamento, Pedidos e Ticket médio — variação em %.
- Cancelamento — variação em pontos percentuais; aqui subir é ruim (a seta de alta fica vermelha).
- Clientes novos no período (com a contagem de recorrentes ao lado).
- Descontos concedidos no período.
Tendência e saúde operacional
- Faturamento por dia: gráfico de barras com linha tracejada da média diária.
- Saúde operacional / SLA: percentual de pedidos no prazo (verde ≥90%, âmbar ≥70%, vermelho abaixo) + tempos médios de aceite, preparo e entrega. A entrega fica destacada em vermelho se passar do limiar de urgência. "No prazo" = pedido entregue dentro do limiar de urgência configurado em Configurações.
Mix, tops e pico
- Mix de canais (delivery / retirada / salão) e Formas de pagamento (pix / crédito / débito / dinheiro) em gráficos de rosca com % e valor.
- Top produtos e Top bairros (5 cada) e Horário de pico (dia + hora de maior volume).
- Cada um traz o link "detalhar →" que abre o card completo nos Relatórios com o mesmo período e botão de CSV.
Alertas acionáveis e Equipe
- Alertas: aparecem só quando "acesos" — estoque esgotado/acabando (gate
stock_control), clientes sem pedir há 60+ dias, cupons no limite de uso ou vencendo em 7 dias (gatecoupons), e avisos de assinatura (trial acabando / expirada). Cada alerta tem link "resolver". - Equipe: tabela de aceites e cancelamentos por usuário no período (cancelamentos em vermelho). Ações de sistema sem usuário não entram.
Visão Geral × Relatórios: a comparação temporal (variação vs período anterior) vive só aqui. Os Relatórios deixaram de mostrar variação e ficaram focados em tabelas detalhadas + exportação CSV. Use a Visão Geral para decidir; use os Relatórios para auditar/exportar.
Relatorios Avancados
Página Relatorios exclusiva do plano PLUS, focada em tabelas detalhadas e exportação CSV para qualquer período escolhido. Cada bloco tem botao de exportar CSV (separador ; + BOM UTF-8, abre direto no Excel). Para o resumo executivo com comparação vs o período anterior e alertas, use a Visão Geral — há um link "Ver resumo na Visão Geral" no topo desta página.
Filtro de período
- Selecione De, Até e (opcional) Dormente apos (dias); clique em Aplicar. Tudo nos cards abaixo recalcula.
- Período padrão: últimos 30 dias. Cutoff de dormentes padrão: 60 dias (intervalo aceito: 7 a 365).
- Pedidos cancelados são ignorados em todos os cálculos.
Card 1 — Faturamento
- KPIs: faturamento, pedidos, ticket médio e descontos concedidos no período (totais; a comparação vs período anterior fica na Visão Geral).
- Tabela diaria: faturamento por dia com barra de distribuicao para identificar picos e quedas.
- CSV inclui linha-a-linha do período + linhas de totais ao final.
Card 2 — Top produtos
- Até 20 produtos com maior quantidade vendida no período.
- Colunas: produto, quantidade, receita gerada, número de pedidos que tinham o produto.
- CSV exporta até 200 produtos para analises mais profundas.
Card 3 — Clientes
- Recorrencia no período: quantos clientes pediram 1 vez, 2 a 5 vezes ou 6+ vezes. Indicador rápido de retencao.
- Top 10 clientes do período: nome, WhatsApp, pedidos, total gasto, ticket médio e último pedido.
- Clientes dormindo: até 50 clientes sem pedido ha N+ dias, com N configuravel no filtro (campo Dormente apos (dias); aceita 7 a 365, padrão 60). A lista e independente do filtro de período dos demais cards. Útil para campanhas de reativacao via WhatsApp.
- O dormente conta o tempo desde o último pedido não-cancelado, em dias corridos.
- CSVs separados: Exportar top (top clientes do período, até 100) e Exportar dormentes (até 500, respeita o cutoff escolhido).
Card 4 — Quando os clientes pedem (heatmap)
- Mapa de calor 7 dias × 24 horas com a contagem de pedidos do período, sombreado em verde (mais escuro = mais pedidos).
- Indica automaticamente o pico (dia da semana + hora com maior volume) — use para escalar cozinha/entregadores.
- Passe o mouse sobre uma celula para ver pedidos e faturamento daquele slot.
- Fuso horario America/Sao_Paulo. Pedidos cancelados não contam.
- CSV exporta a matriz completa (24 colunas de hora + total da linha).
Card 5 — Modalidade & bairro
- Por modalidade: até tres cards (Delivery, Retirada no balcão e Mesa / consumo no local) com faturamento, pedidos, ticket médio e participacao percentual no período. O card de Mesa so aparece com pedidos quando a feature
dine_inestá ativa e ao menos um pedido foi aberto pelo garçom em "Novo na mesa". - Por bairro: ranking dos bairros que mais faturaram. Inclui pedidos, faturamento, ticket médio e barra de distribuicao.
- O bairro e capturado no momento do pedido (snapshot no banco), entao renomear/excluir bairros depois não afeta os historicos.
- Pedidos de retirada caem em "(retirada no balcão)"; pedidos de mesa caem em "(consumo no local)"; pedidos delivery sem bairro identificavel (texto livre vazio ou pedidos anteriores ao deploy desta versao) caem em "(não informado)".
- CSVs separados para modalidade (3 linhas) e bairro (até 500 buckets).
Disponibilidade por plano
| Plano | Relatorios Avancados |
|---|---|
| START | Não disponível. |
| PRO | Não disponível. |
| PLUS | Disponível — 3 cards + 4 exports CSV. |
Os dados desta página vem direto do banco em tempo real, sem cache. Em periodos muito longos (anos de histórico), o carregamento pode levar alguns segundos.
Balanço de Estoque
Relatorio de posicao atual de estoque para todos os produtos com controle ativado. Disponível nos planos PRO e PLUS. Acessivel pelo menu lateral em Relatorios → Balanço de Estoque.
O que a página exibe
- Cards de resumo: total de produtos controlados, quantos estao em estoque (OK), quantos estao criticos (5 ou menos unidades) e quantos estao esgotados (0 unidades).
- Tabela de produtos: nome, categoria, estoque atual, vendido no período, media diaria de venda e estimativa de dias restantes com base no consumo medio.
- Status visual por linha:
- OK — estoque acima de 5 unidades.
- Crítico — 1 a 5 unidades restantes. Reposicao urgente.
- Esgotado — zero unidades. Produto ja aparece como indisponivel no cardápio.
Filtro de período
- Selecione De e Até e clique em Filtrar. Padrão: últimos 30 dias.
- O período afeta apenas as colunas Vendido, Media/dia e Dias Restantes — o estoque atual e sempre o valor real em tempo real.
- Pedidos cancelados são ignorados no cálculo de vendas.
Como os cálculos funcionam
| Coluna | Como e calculado |
|---|---|
| Vendido | Soma das quantidades em order_items para pedidos não cancelados no período. |
| Media/dia | Vendido ÷ número de dias do período. |
| Dias Restantes | Estoque atual ÷ Media/dia (arredondado). Exibe "∞" quando a media e zero (nenhuma venda no período). |
Exportar e imprimir
- Exportar CSV: gera um arquivo com separador
;e BOM UTF-8 (abre direto no Excel) com todas as colunas da tabela. - Imprimir (Navegador): abre uma aba com o cupom formatado para papel termico (58mm ou 80mm, conforme configurado em Configurações → Impressora). Funciona em qualquer navegador.
- Imprimir (Térmica): envia o balanço direto para a impressora USB pareada (Chrome/Edge), sem abrir caixa de dialogo. O cupom mostra o status
[OK],[!!](crítico) ou[XX](esgotado) ao lado de cada produto, com colunas QTD / VND / DIA. Se não houver impressora pareada ou o navegador não suportar WebUSB, abre automaticamente no modo Navegador. O botao de impressao térmica aparece apenas para planos com a feature thermal_printer ativa (PRO e PLUS).
Disponibilidade por plano
| Plano | Balanço de Estoque |
|---|---|
| START | Não disponível (sem controle de estoque). |
| PRO | Disponível — tabela, CSV e impressao navegador/térmica. |
| PLUS | Disponível — tabela, CSV e impressao navegador/térmica. |
Para ativar o controle de estoque em um produto, va em Cardápio, edite o produto e marque "Controlar estoque" informando a quantidade inicial. O estoque e debitado automaticamente a cada pedido e restaurado ao cancelar.
Pedido pela mesa (QR code e garçom)
Recurso dine-in exclusivo do plano PLUS. Cada mesa do salão tem um QR code próprio. Funciona em um fluxo único:
- Cliente escaneia o QR e consulta o cardápio pelo celular — sem botão de pedir, sem carrinho. Vê foto, descrição, preço e adicionais de cada produto.
- Garçom abre o pedido pelo shell dedicado em
/waiter/*, num tablet/celular pareado ao salão. Cada garçom tem PIN próprio. Veja Garçons (PIN + tablet).
Mudança em 2026-05-15: o auto-atendimento (cliente fechar o pedido pelo próprio celular) foi removido. O QR continua na mesa, mas serve só como cardápio digital de consulta. Todo pedido na mesa passa pelo garçom.
Mudança em 2026-05-17: o atalho admin "Novo na mesa" foi substituído pelo shell /waiter/*. Garçons agora entram com PIN próprio em um celular/tablet pareado, em vez de usar o login de admin. O dono cadastra garçons em Garçons e pareia o dispositivo em Dispositivos (ambos no grupo Salão do menu lateral, visíveis no plano PLUS).
O que o cliente vê ao escanear o QR
- Cliente senta na mesa e escaneia o QR code com a câmera do celular.
- Abre o cardápio do estabelecimento marcado como "Mesa <nome>" com aviso "Você está vendo o cardápio. Para fazer o pedido, chame o garçom".
- Pode navegar pelas categorias e abrir cada produto (foto, descrição, preço, adicionais). Sem botão "Adicionar ao carrinho", sem ícone de carrinho na tela.
- Ao decidir o que quer, chama o garçom, que registra o pedido pelo painel admin.
Fluxo do garçom no salão
O pedido na mesa é aberto no shell /waiter/* — uma área separada do painel admin, otimizada pra tablet. Em resumo:
- Garçom abre o tablet pareado ao salão (cookie de dispositivo dura 90 dias).
- Toca no próprio nome na lista e digita o PIN de 4 dígitos — assume o turno (sessão de 12h, ou 30min ocioso).
- Toca na mesa, monta o carrinho (mesma busca de produtos, observação por item, estoque respeitado em tempo real) e confirma a forma de pagamento (padrão "Pagar no caixa", ou Pix/dinheiro/débito/crédito).
- O pedido aparece na página Pedidos com a tag verde "Mesa <nome>" e o chip 🧑🍳 Garçom: <nome> (kanban e tabela). O botão 🖨 imprime normalmente.
Detalhes de cadastro, pareamento, PIN, lockout e auditoria estão em Garçons (PIN + tablet).
Identificação do cliente: quando o garçom não preenche o WhatsApp, o sistema cria um cliente recorrente por mesa (não polui a base como se fosse cliente novo a cada pedido). Quando o garçom informa o WhatsApp, o cliente é identificado/atualizado normalmente no CRM, igual a qualquer pedido vindo do site — útil pra fidelidade.
Auditoria: pedidos abertos pelo shell /waiter/* gravam ORDER_CREATED_BY_WAITER e a coluna created_by_waiter_id em orders. Pedidos legados criados antes da migração mantêm o log order_created_by_staff e a coluna created_by_admin_id (histórico preservado, mutuamente exclusivos).
O que NÃO está disponível neste fluxo: dividir conta entre clientes, adicionar itens a um pedido já confirmado, aplicar cupom como garçom (regras first_order_only ficam ambíguas em pedido aberto pela equipe), KDS dedicado. Para agrupar pedidos da mesa e fechar a comanda no caixa, use "Comandas abertas" (ver abaixo).
Como criar e imprimir as mesas
- Acesse o menu Mesas (aparece quando o plano é PLUS).
- Clique em "Adicionar mesa". O sistema sugere "Mesa 01", "Mesa 02"... mas você pode usar qualquer rótulo (ex: "Varanda 1", "Reservado").
- Cada mesa ganha um token único de 16 caracteres — ele identifica a mesa no QR e é diferente em cada estabelecimento (não há risco de cliente da loja A cair no cardápio da loja B).
- Use o botão "Imprimir QR" para gerar uma página A4 com o QR de uma mesa específica, ou "Imprimir todos" para um grid com todas as mesas ativas (uma por página com page-break automático). A URL não é exibida na impressão — apenas o QR code.
- Imprima, recorte e cole na mesa (ou imprima em adesivo). Sugestão: plastifique para resistir a derramamentos.
Dica: a página de impressão tem cabeçalho com logo + nome do estabelecimento + nome grande da mesa. O QR fica no centro com instrução "Aponte a câmera". Use o navegador em modo retrato/A4.
Comandas abertas — agrupando pedidos da mesa
Na página Pedidos, quando há ao menos um pedido pendente em mesa, aparece um card "Comandas abertas" no topo. Cada linha mostra:
- Nome da mesa.
- Quantidade de pedidos pendentes na comanda (cliente pode ter feito 1 só pedido grande ou vários ao longo da refeição).
- Valor acumulado (soma de todos os pedidos não-pagos da mesa).
- Hora do primeiro pedido (útil para saber há quanto tempo a mesa está ocupada).
- Botão "Fechar comanda" (ver abaixo).
Fechar comanda
Quando o cliente paga no caixa, clique em "Fechar comanda". O sistema:
- Marca todos os pedidos pendentes daquela mesa como pago em uma única transação atômica (não há risco de "metade pago, metade pendente" se algo der errado no meio).
- Não altera o status dos pedidos (Aceito, Em produção, etc.) — você ajusta o status separadamente, conforme servir os pratos. Isso evita marcar como "Entregue" um pedido que ainda está na cozinha.
- Grava no log de auditoria (
TABLE_COMMAND_CLOSED) o nome da mesa, quantidade de pedidos pagos e quem fechou. - Pede confirmação antes de executar (ação irreversível — se você fechou por engano, terá que reabrir cada pedido manualmente em Pedido → Pagamento).
Visualização dos pedidos de mesa
- Na lista de pedidos, pedidos de mesa aparecem com a tag verde Mesa <nome> (em vez de "Delivery" ou "Retirada").
- O filtro de modalidade ganha a opção "Mesa", permitindo ver só pedidos de salão.
- Toast em tempo real: quando chega pedido novo de mesa, o som e a notificação destacam o nome da mesa (até 3 mesas de uma vez, depois "+N").
- O modal de detalhes mostra "Mesa: <nome>" no lugar de endereço de entrega.
Templates WhatsApp para mesa (opcional)
Em WhatsApp → Templates, você verá campos extras para "Pedido na Mesa" e "Status na Mesa". Eles ficam vazios por padrão — recomendado, já que o cliente está no salão e geralmente não precisa de WhatsApp. Preencha apenas se você quiser usar para casos específicos (ex: enviar resumo da comanda ao final por iniciativa do garçom).
Limites e gating
- Plano START e PRO: os menus "Mesas", "Garçons" e "Dispositivos" não aparecem, opção "Mesa" no filtro de pedidos é oculta, e QR code escaneado retorna "Pedido por mesa não está disponível neste estabelecimento". O shell
/waiter/*também é bloqueado. - Plano PLUS: até 50 mesas por loja (limite ajustável caso necessário). Acima disso, o botão "Adicionar mesa" mostra um aviso e o limite é validado server-side.
- Downgrade PLUS → PRO: mesas existentes ficam no banco (não são apagadas), mas QR codes deixam de funcionar — cliente vê "Mesa indisponível" ao escanear. Pedidos antigos com snapshot de mesa continuam visíveis no histórico. Voltando para PLUS, tudo retoma sem reconfigurar.
Edge cases comuns
- Cliente sai sem pagar: a comanda fica aberta indefinidamente. Você pode fechá-la mesmo assim (registra como pago) e tomar a perda — ou marcar os pedidos como "Cancelado" individualmente em Pedido → Status.
- Dois clientes na mesma mesa: cada celular gera pedidos independentes (cart separado por dispositivo). A comanda agrupa tudo pelo
table_id— fechar comanda paga todos juntos. Dividir conta entre os clientes não está suportado nesta versão. - Mesma mesa por engano em 2 dispositivos do mesmo cliente: sem problema. Cada aba é uma sessão; quando o cliente fechar uma e abrir outra escaneando o mesmo QR, a sessão é renovada (mas o carrinho prévio é descartado para evitar duplicação).
- Cliente já tinha carrinho de delivery e escaneou o QR: o carrinho de delivery é preservado. Como o QR só serve para consulta na mesa, o cliente pode voltar pro pedido de delivery depois (basta abrir o cardápio sem o link da mesa).
Disponibilidade: dine-in é uma feature exclusiva do plano PLUS. No START e PRO, os itens "Mesas", "Garçons" e "Dispositivos" não aparecem no menu lateral.
Garçons (PIN + tablet)
Funcionalidade exclusiva do plano PLUS (com dine_in habilitado). Garçons abrem pedidos pelo shell dedicado /waiter/*, sem acessar o painel admin. Cada garçom tem PIN próprio, e cada tablet do salão é pareado uma única vez (cookie de 90 dias).
Quando usar
- Restaurante com salão onde o garçom anota o pedido pela mesa.
- Substitui o antigo atalho admin "Novo na mesa" (removido em 2026-05-17). Quem precisa abrir pedido no salão é o garçom, não um admin.
- O dono não precisa mais compartilhar a senha de admin com a equipe de salão.
Pré-requisitos
- Plano PLUS ativo com
dine_inhabilitado. - Mesas cadastradas em Mesas.
- Produtos cadastrados no Cardápio.
Setup inicial (1× por loja)
- Cadastrar o garçom em Garçons (menu lateral, grupo Salão — só o dono vê o item). Preencha o nome. O sistema gera um PIN de 4 dígitos automaticamente (recomendado) ou aceita um PIN escolhido (rejeita sequências como 1234, 0000, 1111). O PIN é exibido uma única vez — anote, imprima (botão Imprimir gera papel com nome, PIN e QR de login) ou mostre direto ao garçom; depois ele desaparece (hash bcrypt no banco).
- Parear o celular/tablet em Dispositivos (mesmo grupo, owner-only). Clique em "Gerar código" — o sistema mostra um código de 6 dígitos com validade de 5 minutos. No dispositivo do salão, abra
/waiter/parear.phpe digite o código (ou escaneie o QR mostrado ao lado). O dispositivo fica pareado por 90 dias (rolling — cada uso renova). - Pronto. A partir daí o dispositivo cai direto na tela de login de garçom; nenhuma senha de admin é necessária no salão.
Importante: o PIN é mostrado uma única vez. Se o garçom esqueceu ou se você perdeu a anotação, use "Resetar PIN" na lista de Garçons — o sistema gera um novo e exibe (também uma única vez).
Fluxo diário do garçom
- Garçom abre o tablet pareado. Cai na lista de garçons da loja (com inicial colorida em vez de foto).
- Toca no próprio nome → digita o PIN → assume o turno. A sessão dura 12 horas, ou expira após 30 minutos ocioso.
- No board, vê só os pedidos que ele mesmo abriu. Toca em "Novo pedido", escolhe a mesa, monta o carrinho (busca por nome, +/− por item, observação por item) e confirma o pagamento.
- No fim do turno, toca em "Trocar" (passa o tablet pro próximo garçom sem destravar o dispositivo) ou "Sair" (encerra a sessão; tablet continua pareado).
Lockout por PIN errado
- 3 PINs errados consecutivos bloqueiam o garçom por 5 minutos.
- O dono pode desbloquear na hora pelo botão "Desbloquear" na lista de Garçons.
- Após o tempo de lockout, o contador zera automaticamente no próximo PIN correto.
Gestão pelo dono
| Ação | O que faz |
|---|---|
| Resetar PIN | Gera novo PIN, exibe uma única vez. Sessões ativas do garçom continuam até expirar (PIN novo vale só pra próximos logins). |
| Desbloquear | Zera o contador de tentativas e libera o garçom em lockout sem esperar os 5min. |
| Desativar | Encerra todas as sessões ativas do garçom imediatamente e impede futuros logins. O histórico de pedidos dele permanece. |
| Reativar | Permite que o garçom desativado volte a logar. PIN antigo continua válido (resete se quiser trocar). |
| Revogar dispositivo | Em Dispositivos, encerra todas as sessões abertas naquele tablet e exige novo pareamento. Use quando o tablet sumir, for trocado ou for usado fora do salão. |
Onde o pedido do garçom aparece
- Na página Pedidos, com a tag verde "Mesa <nome>" e o chip 🧑🍳 Garçom: <nome> (visível no kanban e na tabela).
- No modal de detalhes do pedido, linha "Garçom: <nome>" abaixo de "Mesa".
- Na impressora térmica, linha "Garçom: <nome>" no cupom.
Sessão única por garçom
Cada garçom pode ter apenas um dispositivo logado por vez (modelo "último login vence", como WhatsApp Web).
- Se o garçom logar num segundo celular/tablet, a sessão do primeiro é encerrada automaticamente. O primeiro dispositivo cai na tela de login com a mensagem "Você entrou em outro celular ou tablet. A sessão deste dispositivo foi encerrada."
- Detecção de PIN compartilhado: se um garçom passou o PIN pra outra pessoa, no momento que ela logar o primeiro cai e percebe na hora.
- Sessões antigas encerradas por esse mecanismo aparecem na auditoria com
end_reason='superseded'e o eventoWAITER_SESSION_STARTEDregistra quantas sessões foram derrubadas no camposuperseded_count.
Boas práticas
- PIN é privado. Cada garçom usa o próprio; nunca anote em local visível. Se um garçom sair do restaurante, desative a conta dele (não precisa trocar a senha do admin).
- 1 sessão por garçom em toda a loja. Pra revezamento de turno no mesmo dispositivo, use o botão "Trocar" (encerra a sessão atual sem desparear o dispositivo).
- O garçom só enxerga os pedidos dele no board — não há interferência entre turnos.
- Use "Dispositivos" pra revogar celulares/tablets perdidos ou que não pertencem mais ao salão. Pareamento é gratuito e pode ser refeito a qualquer momento.
Auditoria
Toda ação relevante fica registrada em Auditoria e pode ser filtrada por ação. Eventos disponíveis:
WAITER_CREATED,WAITER_DEACTIVATED,WAITER_REACTIVATED— ciclo de vida do cadastro.WAITER_PIN_RESET,WAITER_UNLOCKED— operações de segurança.WAITER_DEVICE_PAIRING_CREATED,WAITER_DEVICE_REVOKED— gestão de tablets.WAITER_SESSION_STARTED,WAITER_SESSION_ENDED— turnos de cada garçom.ORDER_CREATED_BY_WAITER— todo pedido aberto pelo shell. A colunacreated_by_waiter_idem orders identifica o garçom; pedidos legados anteriores à migração mantêmcreated_by_admin_id(mutuamente exclusivos).
Fora do escopo (MVP atual)
- Sem comissão por garçom ou rateio automático de gorjeta.
- Sem dividir conta entre clientes da mesma mesa.
- Sem chamada de garçom pela mesa (cliente sinaliza presencialmente).
- Sem modo offline (o tablet precisa de internet pra abrir pedido).
- Sem foto de perfil (mostra inicial colorida automaticamente).
- Sem reimprimir cupom direto pelo shell (use a página Pedidos do admin).
Disponibilidade: exclusivo do plano PLUS com dine_in. Os itens "Garçons" e "Dispositivos" só aparecem no menu lateral pra quem é dono (owner). Gerentes não veem.
Equipe (Multiplos Admins)
Convide a equipe para operar o painel sem compartilhar a senha do dono — cada um com login próprio e desativacao a qualquer momento. No plano PRO, você convida até 2 atendentes (acesso restrito a Pedidos e Clientes). No plano PLUS, até 2 gerentes (acesso amplo).
Funcoes (roles)
| Função | Quem e | O que pode fazer |
|---|---|---|
| Dono (owner) | Quem criou a conta da loja. Sempre existe um, e so um, por empresa. | Acesso total: pedidos, cardápio, clientes, WhatsApp, cupons, impressora, configurações, auditoria e equipe. Também cuida da assinatura/billing. |
| Gerente (manager) — PLUS | Admin convidado pelo dono via e-mail no plano PLUS. | Operação do dia a dia: pedidos, cardápio, clientes, WhatsApp, cupons, impressora. Não acessa Configurações, Auditoria nem Equipe. |
| Atendente (attendant) — PRO | Admin convidado pelo dono via e-mail no plano PRO. | Restrito a Pedidos e Clientes. Não acessa cardápio, cupons, WhatsApp, relatórios, entregadores nem configurações. Ideal para caixa/atendimento sem compartilhar senha do dono. |
Limite de admins por plano
| Plano | Admins ativos | Convites contam no limite? |
|---|---|---|
| START | 1 (apenas o dono) | — |
| PRO | 1 dono + até 2 atendentes | Sim. Convites de atendente pendentes ocupam vaga até serem aceitos ou revogados. |
| PLUS | 1 dono + até 2 gerentes | Sim. Convites de gerente pendentes ocupam vaga até serem aceitos ou revogados. |
Convidar um gerente
- No menu lateral, abra Equipe.
- Em Convidar novo admin, preencha nome e e-mail e clique em Enviar convite.
- O convidado recebe um e-mail com link para criar a própria senha. O link expira em 7 dias.
- Se o e-mail não puder ser enviado (servidor de email indisponivel), o sistema mostra o link na tela para voce copiar e enviar pelo WhatsApp ou outro canal.
- Enquanto o convite estiver pendente, ele aparece na tabela Convites pendentes e pode ser revogado.
Limite de envio: até 10 convites por hora, por empresa. Protege contra envios em massa e reputacao do dominio de e-mail.
Status do admin
| Status | Significado |
|---|---|
| Ativo (verde) | Admin com acesso normal ao painel. |
| Inativo (cinza) | Desativado manualmente pelo dono. Não consegue logar; reativavel a qualquer momento se houver vaga. |
| Pausado (downgrade) (laranja) | Desativado automaticamente quando a loja saiu do PLUS. Volta sozinho para Ativo no próximo upgrade para PLUS, na ordem dos convites mais antigos. |
Desativar, reativar e revogar
- Desativar gerente: botao Desativar na tabela de admins. O gerente perde acesso na proxima requisicao. O histórico de ações dele permanece na auditoria.
- Reativar gerente: botao Reativar. Funciona apenas se houver vaga no limite do plano. Caso contrario, desative ou revogue alguem antes.
- Revogar convite pendente: botao Revogar na tabela de convites pendentes. O link enviado deixa de funcionar imediatamente.
- O dono não pode desativar a si mesmo, e o botao Desativar não aparece para a própria linha nem para o dono.
Transferir titularidade
Permite passar a titularidade da empresa para um gerente ativo. Use quando o socio sair, na troca de responsavel da loja, ou quando outra pessoa assumir a operação.
- Na página Equipe, na linha do gerente que vai virar dono, clique em Tornar dono.
- Confirme digitando sua senha atual no dialogo. Sem isso a transferência não acontece.
- Apos confirmar:
- O gerente escolhido passa a ser o novo dono.
- Voce vira gerente e perde acesso imediato a Configurações, Auditoria e Equipe.
- So o novo dono pode reverter a transferência (clicando em "Tornar dono" no seu nome de volta).
- O botao so aparece para gerentes ativos. Convites pendentes precisam ser aceitos antes.
- Officers em modo de impersonacao não podem transferir titularidade — a ação e bloqueada por seguranca.
- A operação e atomica: não existe momento intermediario com dois donos. A ação fica registrada na auditoria como
ownership_transferred.
Comportamento em downgrade e upgrade
- Downgrade PLUS → PRO/START: todos os gerentes são automaticamente movidos para o status Pausado (downgrade). Apenas o dono mantem acesso.
- Upgrade de volta para PLUS: os gerentes pausados são reativados sozinhos, na ordem do convite mais antigo para o mais recente, até atingir o limite do plano.
- Downgrade PRO → START: todos os atendentes são movidos para Pausado (downgrade). Apenas o dono mantem acesso.
- Upgrade START → PRO: atendentes pausados retornam sozinhos, na ordem do convite mais antigo, até o limite de 2.
- Se houver mais pessoas pausadas do que vagas, as excedentes ficam Inativas e podem ser reativadas manualmente.
Auditoria das ações de equipe
Todas as operações da página Equipe ficam registradas e podem ser consultadas pelo dono. As ações gravadas são:
admin_invited— convite enviado (com nome, e-mail e se o e-mail saiu).admin_invite_revoked— convite pendente revogado.admin_invite_accepted— convidado criou a senha e virou gerente ativo.admin_deactivated— gerente desativado manualmente.admin_activated— gerente reativado manualmente.ownership_transferred— titularidade transferida (com IDs de origem e destino).
Disponibilidade por plano
| Plano | Página Equipe |
|---|---|
| START | Visível apenas como upsell. So o dono opera o painel. |
| PRO | Disponível — convidar até 2 atendentes, desativar, reativar e revogar. Transferência de titularidade fica reservada ao PLUS. |
| PLUS | Disponível — convidar até 2 gerentes, desativar, reativar, revogar e transferir titularidade. |
Seguranca: as páginas Equipe, Configurações e Auditoria são protegidas por verificacao de função no servidor — mesmo que um gerente tente acessar o link direto, recebe bloqueio. Em modo demo, todas as ações de escrita desta página são bloqueadas, igual ao restante do painel.
Auditoria
Histórico de alteracoes realizadas nos pedidos da loja: mudancas de status e pagamento.
O que e registrado
- Toda alteracao de status de um pedido (ex: Pendente → Aceito).
- Toda alteracao de status de pagamento (ex: pendente → pago).
- Alteracoes simultaneas de status e pagamento aparecem com o tipo Status + Pagamento.
Colunas do log
| Coluna | Descrição |
|---|---|
| Data/Hora | Momento exato da alteracao (fuso America/Sao_Paulo). |
| Pedido | Número do pedido afetado. |
| Cliente | Nome do cliente do pedido. |
| Tipo | Status, Pagamento ou Status + Pagamento. |
| Status | Valor anterior → novo valor do status do pedido. |
| Pagamento | Valor anterior → novo valor do pagamento. |
| Responsavel | Nome do admin que realizou a alteracao. |
Filtros disponiveis
- Número do pedido: Busca por um pedido específico.
- Status: Filtra por etapa (ex: apenas alteracoes para "Cancelado").
- Período: Data inicial e final para recorte temporal.
Suporte
Canal oficial de atendimento. Acessível pelo menu lateral em Ajuda → Suporte. Funciona em todos os planos com SLA diferenciado.
SLA por plano (1a resposta)
| Plano | Canal | SLA-alvo |
|---|---|---|
| START | Formulario no painel | até 48h uteis |
| PRO | Formulario + email direto (suporte@delygo.com.br) | até 24h uteis |
| PLUS | Formulario + email + WhatsApp prioritario | até 4h uteis |
Horario comercial: seg-sex 9h-18h (BRT). Feriados nacionais e fora desse horario não contam para o SLA.
Limite: até 3 tickets em aberto simultaneos por loja. Aguarde a resposta de um deles antes de abrir outro.
Como respondemos: a resposta chega direto na caixa de email do admin que abriu o ticket. A página Suporte mostra so o status (aguardando, respondido, fechado).
Avisos da plataforma
De vez em quando aparece um banner colorido no topo do painel com avisos da DelyGO — manutencao programada, lancamento de feature, mudanca de pricing. São mensagens da plataforma, não da sua loja.
O que cada cor significa
- Azul (informativo): comunicado neutro — uma feature nova, um lembrete.
- Verde (sucesso): algo bom — feature entregue, ativação confirmada.
- Amarelo (atencao): algo que merece sua atencao — manutencao agendada, mudanca em politica.
- Vermelho (crítico): aviso urgente — agir hoje. Pode vir sem botao de fechar quando o tema e obrigatório.
Como dispensar um aviso
Clique no X no canto direito do banner. O aviso some so para voce — outros admins da sua loja continuam vendo até fecharem por conta própria. Avisos vermelhos sem o X não podem ser fechados (são casos criticos onde a plataforma exige confirmacao).
Demorou para aparecer? O banner usa cache de 60 segundos para não pesar a navegação. Se a equipe DelyGO publicou um aviso e voce ainda não viu, recarregue a página apos 1 minuto.
Modo Demo
O modo demo permite visualizar o painel com dados ficticios sem afetar nenhuma informacao real. E ativado adicionando ?demo=1 na URL ou via link do officer.
O que e bloqueado no modo demo
- Todas as operações de escrita: salvar produtos, alterar pedidos, mudar configurações, atualizar templates.
- Ao tentar qualquer ação de modificacao, o sistema exibe uma mensagem de erro informando que a operação não e permitida.
O que funciona no modo demo
- Navegação completa entre todas as páginas do painel.
- Visualizacao de pedidos, clientes, cardápio e configurações com dados de exemplo.
- Preview de templates WhatsApp.
O modo demo e usado pelo officer ao clicar em "Entrar como" na página de detalhes da empresa, para diagnosticar problemas sem alterar dados do cliente.
Glossário
| Termo | Definicao |
|---|---|
| Trial | Período de teste gratuito (14 dias por padrão). Acesso com limites do plano START. |
| Plano START | Plano de entrada (R$47/mes): até 30 produtos, 150 pedidos/mes, sem relatorios ou controle de estoque. |
| Plano PRO | Plano intermediario (R$79/mes): produtos e pedidos ilimitados, controle de estoque, retirada, relatorios. |
| Plano PLUS | Plano avancado (R$129/mes): todos os recursos do PRO, multiplos administradores e suporte prioritario (WhatsApp + email, 1a resposta em até 4h uteis). |
| Delivery | Modalidade de pedido com entrega no endereco do cliente. |
| Retirada | Modalidade onde o cliente retira o pedido no balcão da loja. Disponível nos planos PRO e PLUS. |
| Destaque | Categoria especial cujos produtos aparecem na seção de destaques no topo do cardápio público. |
| Adicional | Item extra vinculado a um produto (ex: Bacon Extra). Tem preco próprio somado ao pedido. |
| Esgotado | Produto com controle de estoque ativo e quantidade zerada. Aparece com badge no cardápio e não pode ser comprado. |
| Onboarding | Wizard de configuração inicial com as etapas essenciais para comecar a usar a plataforma. |
| Modo Demo | Modo de visualizacao somente leitura ativado via ?demo=1. Operações de escrita são bloqueadas. |
| Impersonacao | Acesso ao painel de uma empresa feito por um officer. Exibe banner de aviso no topo e registra a sessao no log. |
| Taxa de entrega | Valor cobrado por pedido de delivery, somado ao total no checkout pelo cliente. Pode ser única (taxa padrão) ou variavel por bairro (PRO e PLUS). |
| Bairro Atendido | Regiao cadastrada pela loja com taxa de entrega própria. Disponível nos planos PRO e PLUS. Gerenciado em Configurações → Bairros Atendidos. |
| Chave Pix | Chave cadastrada para recebimento via Pix (CPF, CNPJ, email, telefone ou chave aleatoria). |
| Dono (Owner) | Função do admin que criou a conta da loja. Acesso total ao painel, incluindo Configurações, Auditoria, Equipe e a assinatura. Sempre existe um, e so um, por empresa. |
| Gerente (Manager) | Função dos admins convidados pelo dono no plano PLUS. Operam pedidos, cardápio, clientes, cupons e WhatsApp, mas não tem acesso a Configurações, Auditoria nem a própria página Equipe. |