Skip to content

Chamada de Garçom por QR

Visão Geral

O cliente toca em Chamar Garçom na tela do cardápio QR ou escaneia um QR dedicado na mesa. O evento chega imediatamente no painel do admin/staff como uma notificação — sem buzinas, sem campainha física.

CaracterísticaDetalhe
OrigemBotão no MenuView do cliente ou QR dedicado
EntregaWebSocket newOrder com orderType: 'waiter_call' ou evento dedicado
PainelAdmin → Pedidos ou notificação in-app
Frontendfrontend-react/src/views/customer/MenuView.tsx

Localização

CamadaArquivo
Botão clientefrontend-react/src/views/customer/MenuView.tsx
APIbackend/src/notifications/in-app-notifications.controller.ts
Notificações in-appbackend/src/notifications/in-app-notifications.service.ts

Fluxo

1. Cliente toca "Chamar Garçom" no cardápio QR
2. POST /t/:slug/notifications/waiter-call { tableId, pdvSlug }
3. Backend cria InAppNotification para os staff/admin do tenant
4. WebSocket emite evento para o painel
5. Admin/staff vê notificação com número da mesa
6. Garçom vai até a mesa e marca a notificação como atendida

API

POST /t/:slug/notifications/waiter-call
  Body: { tableId: string, pdvSlug: string }
  Auth: público (mesmo que o cliente não esteja logado)
  → Cria notificação in-app + emite WebSocket

GET /t/:slug/admin/notifications?type=waiter_call&status=pending
  Auth: staff/admin
  → Lista chamadas pendentes

PATCH /t/:slug/admin/notifications/:id/dismiss
  Auth: staff/admin
  → Marca como atendida

InAppNotification Schema

CampoTipoDescrição
tenantObjectIdTenant
typestringwaiter_call
metadata.tableIdstringNúmero da mesa
metadata.pdvSlugstringSlug do PDV
statuspending | dismissedEstado
createdAtDateTimestamp da chamada

Configuração

Nenhuma configuração adicional além de ter mesas e PDVs configurados. O botão aparece automaticamente no cardápio QR se tenant.waiterCallEnabled === true (default: true).

Para desabilitar o botão em operações sem garçom (ex.: balcão), acesse:

Admin → Configurações → PDV → Habilitar chamada de garçom → Não


Relacionados

Lançado sob a licença MIT.