HandyCafe Docs
owner it-admin

Planta de Mesas e Andares

O editor de Planta de Mesas é uma tela visual para organizar suas mesas. A página Mesas é uma visão operacional por mesa, com detalhes e ações. As duas telas usam os mesmos registros de mesa por baixo dos panos.

Andares

Os andares agrupam as mesas por local físico, por exemplo "Sala Principal", "Mezanino" ou "Área Externa". Você cria e gerencia os andares em Configurações > Cafeteria.

Toda cafeteria precisa de pelo menos um andar. As mesas sempre pertencem a exatamente um andar. Você pode reordenar os andares com os controles de mover para cima e mover para baixo, e o andar do topo se torna o padrão quando a aba Planta de Mesas é aberta. A página Planta de Mesas também oferece a opção "Todos os andares", que mostra todas as mesas em uma visualização combinada.

Editor de Planta de Mesas

O editor de Planta de Mesas é renderizado em uma tela de 1200 por 720 com grade de 10 pixels. As mesas aparecem como formas nas posições salvas. O editor suporta dois modos de exibição:

Modo Quando usar
2D Edição e organização. Arraste mesas, adicione ou remova, renomeie.
3D Apresentação e visitas guiadas. A tela inclina usando perspectiva CSS para produzir uma visão dimétrica em estilo arquitetônico. O arraste é desativado no modo 3D porque o mapeamento do ponteiro fica ambíguo em uma tela inclinada.

Adicionando e posicionando mesas

  1. Abra Cafeteria > Planta de Mesas.
  2. Escolha o andar desejado nas opções no topo.
  3. Clique em Adicionar Mesa. Uma nova mesa aparece na origem da tela com formato, tamanho e quantidade de assentos padrão.
  4. Arraste o corpo da mesa para a posição desejada. A posição é salva automaticamente quando você solta o botão do mouse.
  5. Repita para cada grupo de assentos.

As posições se alinham a uma grade de 10 pixels para que as mesas fiquem organizadas sem exigir ajuste de pixel perfeito.

Propriedades da mesa

Cada mesa possui os seguintes campos editáveis:

Campo Significado
Código Identificador curto impresso no QR e visível para a equipe. Deve ser único na sua cafeteria.
Nome de exibição Rótulo mais longo mostrado para a equipe, por exemplo "Janela 3" ou "Cabine A".
Quantidade de assentos Número de assentos da mesa. O padrão é 2.
Formato Um de: quadrado, retângulo horizontal, retângulo vertical, redondo.
Tamanho Inteiro de 1 a 10. Controla o tamanho de renderização no editor e na visão 3D.
Andar O andar ao qual a mesa pertence. As mesas podem ser movidas entre andares editando este campo.
Estado idle, in_use ou out_of_order.

Estados da mesa

Estado Significado
idle Nenhuma sessão ativa. Nenhum cliente pode fazer pedido até que você o acomode.
in_use Um código de segurança está ativo. O cliente pode escanear o QR e fazer pedidos.
out_of_order A mesa está indisponível. Ela aparece esmaecida na planta e a página do QR mostra um aviso de indisponibilidade. É útil para manutenção ou reparo de mobiliário.

Acomodando um cliente

Para aceitar pedidos de uma mesa, a equipe precisa acomodar o cliente. Isso emite um código de segurança e coloca a mesa no estado in_use.

  1. Na página Mesas ou no menu de ações da Planta de Mesas, selecione a mesa.
  2. Clique em Acomodar Cliente (também rotulado como "Abrir Mesa").
  3. O sistema gera um código de segurança de 6 dígitos e o exibe.
  4. Entregue o código ao cliente. Ele deve digitá-lo depois de escanear o QR.

O código aparece em texto simples apenas no momento da geração e quando um administrador abre a caixa de diálogo Mostrar Código em uma mesa já acomodada. Ele fica protegido por hash no servidor. O código expira depois de uma duração padrão e pode ser girado ou redefinido a qualquer momento.

Mostrando e girando o código

  • Mostrar Código. Exibe o código em texto simples atualmente em cache para a mesa aberta. Útil quando o cliente não anotou o número na primeira vez. Esta ação não gira o código e não invalida o QR anterior.
  • Girar QR. Gera um novo token QR para a mesa. O adesivo QR anterior deixa de ser válido. Use isso quando reimprimir o adesivo ou quando suspeitar que o QR antigo foi compartilhado fora do estabelecimento.

Fechando uma mesa

Quando um cliente vai embora sem uma comanda pendente, clique em Fechar Mesa. O código de segurança expira imediatamente, a mesa volta para idle e qualquer nova tentativa de leitura exige uma nova acomodação.

Se houver pedidos não pagos na mesa, use Acertar Conta. A liquidação encerra todos os pedidos abertos com o método de pagamento escolhido e depois devolve a mesa para idle. Consulte a página de Pedidos para conhecer o fluxo de liquidação.

Códigos QR

Cada mesa tem um código QR que codifica a URL handy.cafe/{cafe-slug}/{table-code}. Um parâmetro de consulta carrega o token QR que prova que o adesivo é autêntico. Quando o cliente escaneia o QR:

  1. A página do menu resolve o slug e o código da mesa na API da nuvem.
  2. Se a mesa estiver no estado in_use, o cliente é solicitado a informar o código de segurança de 6 dígitos.
  3. Em caso de validação bem-sucedida, um token de sessão é emitido e armazenado em um cookie e em um fallback de token Bearer. O fallback Bearer existe porque o Safari no iPhone pode bloquear cookies de terceiros em algumas configurações.

Gere o QR imprimível a partir da página Mesas. Cada mesa tem uma pré-visualização de QR que você pode salvar como SVG ou PNG. Reimprima os adesivos sempre que girar o token QR ou alterar o slug.

Dicas para desenhar uma planta de mesas

  • Comece mapeando o layout real para a tela. Posicione a entrada perto de uma borda e trabalhe para dentro. Isso facilita a orientação da equipe.
  • Agrupe as mesas por andar mesmo que o estabelecimento tenha apenas um nível. Separar "Sala" e "Terraço" em andares diferentes permite filtrar o painel de pedidos por área.
  • Use valores maiores de Tamanho para cabines que comportam quatro ou mais pessoas e valores menores para banquetas de balcão.
  • Marque mesas como out_of_order quando o mobiliário precisar de reparo, para que os clientes não consigam fazer pedidos nelas. Não exclua o registro da mesa a menos que o assento tenha sido removido definitivamente.