Vista general

Para que sirve

CheMozo! es una plataforma de gestion gastronomica con arquitectura multi-tenant, pedidos por QR, gestion de mesas, menu digital, cocina, pedidos, historial, reportes, configuracion, usuarios, features por restaurante y soporte multi-idioma.

Quien lo usa

  • Dueno / administrador
  • Mozo / staff
  • Cocina
  • Cliente QR
  • Admin plataforma

Como acceder

El README de CheMozo indica frontend local en http://localhost:5173 y backend en http://localhost:3001.

Flujo principal paso a paso

  1. Iniciar sesion o acceder desde un enlace publico QR segun el rol.
  2. Seleccionar el restaurante activo cuando corresponda.
  3. Usar el sidebar para navegar entre panel, menu, mesas, cocina, pedidos, historial, ajustes o manual.
  4. Administrar pedidos, mesas, menu y configuracion segun permisos.
  5. Consultar reportes o historial para seguimiento operativo.

Acciones disponibles

  • Gestionar menu, mesas, pedidos y cocina.
  • Configurar restaurante, horarios, usuarios, features y datos operativos.
  • Emitir o consultar informacion CFE cuando el modulo esta habilitado.
  • Administrar restaurantes, usuarios admin, SMTP, status y features desde la plataforma.

Estados posibles

  • Vista de autenticacion.
  • Vista cliente QR.
  • Vista restaurante.
  • Vista admin plataforma.
  • Tracking de pedido.
  • Bootstrap/setup inicial.

Reglas importantes del sistema

  • Las features core son menu, tables, orders y qrOrdering.
  • Algunas funciones dependen de feature flags configurables, como delivery, reservas, caja, impresion, split payment, AI menu images y Kitchen Pro.
  • El sistema separa datos por restaurante.

Errores frecuentes y como resolverlos

  • Si un modulo no aparece, revisar permisos del usuario y feature flags del restaurante.
  • Si el menu publico no carga, revisar slug, estado abierto/cerrado y conectividad.
  • Si las capturas no se generan, revisar ambiente, credenciales y estado de la app en Playwright.

Capturas sugeridas

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Relacion con otros modulos

  • Menu, Mesas, Cocina, Pedidos, Historial, Ajustes, Usuarios, Reportes, Pedidos QR, CFE y Admin.

Evidencia

evidence:
  files_analyzed:
    - ../CheMozo/README.md
    - ../CheMozo/src/constants/appViews.js
    - ../CheMozo/src/components/AppSidebar.jsx
    - ../CheMozo/src/constants/features.js
    - ../CheMozo/src/manual/manual-content.js
  components:
    - src/components/AppSidebar.jsx
  route_files: []
  endpoints: []
  translations:
    - src/constants/translations.js
  permissions:
    - src/constants/features.js
  tests: []
  screenshots: []
  videos: []
  generated_at: 2026-06-21

Notas tecnicas internas

  • ../CheMozo/src/constants/appViews.js define ADMIN, AUTH, BOOTSTRAP, CUSTOMER, ORDER_TRACKING y RESTAURANT.
  • ../CheMozo/src/components/AppSidebar.jsx define las entradas visibles de navegacion.
  • ../CheMozo/src/manual/manual-content.js contiene definiciones y how-tos existentes.

Mesas

Para que sirve

Gestiona el estado de las mesas del restaurante, permite reservar/liberar mesas, generar QR y operar pedidos asociados a una mesa.

Quien lo usa

  • Dueno / administrador
  • Mozo / staff

Como acceder

Desde el sidebar de restaurante, boton Mesas. En codigo corresponde al tab TABLES.

Flujo principal paso a paso

  1. Iniciar sesion como usuario de restaurante.
  2. Abrir Mesas desde el sidebar.
  3. Revisar resumen y estado de las mesas.
  4. Seleccionar una mesa para gestionar acciones disponibles.
  5. Generar QR, reservar/liberar o agregar/cerrar pedidos segun estado.

Acciones disponibles

  • Ver resumen de mesas.
  • Generar QR para una mesa.
  • Reservar mesa.
  • Liberar reserva.
  • Agregar items a una mesa.
  • Cerrar mesa con metodo de pago y propina cuando aplique.

Estados posibles

  • Disponible.
  • Ocupada.
  • Reservada.
  • Cuenta solicitada.

Reglas importantes del sistema

  • Staff y managers pueden reservar y liberar mesas segun README.
  • El QR vincula al cliente con el menu de una mesa especifica.
  • La cantidad de mesas puede configurarse desde ajustes segun manual interno.

Errores frecuentes y como resolverlos

  • Si una mesa no permite reservar, validar su estado actual.
  • Si el QR no abre el menu correcto, revisar slug/restaurante activo.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Capturas sugeridas

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Relacion con otros modulos

  • Menu: agrega items a pedidos de mesa.
  • Cocina: recibe tickets de pedidos confirmados.
  • Pedidos: seguimiento de pedidos no estrictamente de mesa.
  • Historial: registra operaciones cerradas.
  • QR Ordering: genera acceso publico por mesa.

Evidencia

evidence:
  files_analyzed:
    - ../CheMozo/README.md
    - ../CheMozo/src/components/AppSidebar.jsx
    - ../CheMozo/src/manual/manual-content.js
    - ../chemozo-testing/packages/playwright-tests/tests/restaurante/mesas.spec.ts
  components:
    - src/components/AppSidebar.jsx
    - src/components/tables
  route_files:
    - server/routes/tables.js
    - server/routes/orders.js
    - server/routes/tokens.js
  endpoints: []
  translations:
    - src/constants/translations.js
  permissions:
    - src/constants/features.js
  tests:
    - packages/playwright-tests/tests/restaurante/mesas.spec.ts
  screenshots: []
  videos: []
  generated_at: 2026-06-21

Notas tecnicas internas

  • Sidebar: activeTab === 'TABLES' en ../CheMozo/src/components/AppSidebar.jsx.
  • Backend relacionado: ../CheMozo/server/routes/tables.js, orders.js, tokens.js.
  • Tests existentes: ../chemozo-testing/packages/playwright-tests/tests/restaurante/mesas.spec.ts.

Cocina

Para que sirve

Centraliza tickets de preparacion para cocina. Segun README y manual interno, takeaway, delivery y mostrador aparecen en Cocina mientras estan en preparacion; pedidos de mesa pueden permanecer hasta servido.

Quien lo usa

  • Cocina
  • Mozo / staff

Como acceder

Desde el sidebar de restaurante, boton Cocina. En codigo corresponde al tab KITCHEN.

Flujo principal paso a paso

  1. Abrir Cocina.
  2. Revisar tickets en preparacion.
  3. Marcar un ticket como listo.
  4. Para pedidos de mesa, marcar como servido cuando sale el plato.
  5. Para takeaway/delivery/mostrador, continuar seguimiento desde Pedidos cuando corresponda.

Acciones disponibles

  • Ver tickets de cocina.
  • Marcar listo.
  • Marcar servido.
  • Ver customizaciones de items.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Estados posibles

  • Preparando.
  • Listo.
  • Servido.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Reglas importantes del sistema

  • Cada confirmacion de QR o agregado de staff a mesa crea una tarjeta de cocina separada, sin merge con tickets existentes.
  • Redo desde Mesas envia ticket normal a cocina sin cargo adicional en cuenta.
  • Kitchen Pro depende de feature flag.

Errores frecuentes y como resolverlos

  • Si un pedido no aparece en Cocina, revisar tipo de pedido y estado.
  • Si un ticket desaparece al marcar listo, puede corresponder a takeaway/delivery/mostrador y continuar en Pedidos.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Capturas sugeridas

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Relacion con otros modulos

  • Menu: define items y customizaciones.
  • Mesas: envia pedidos de mesa.
  • Pedidos: recibe takeaway/delivery/mostrador luego de listo.
  • Historial: conserva pedidos completados.

Evidencia

evidence:
  files_analyzed:
    - ../CheMozo/README.md
    - ../CheMozo/src/components/AppSidebar.jsx
    - ../CheMozo/src/constants/features.js
    - ../CheMozo/src/manual/manual-content.js
  components:
    - src/components/AppSidebar.jsx
  route_files:
    - server/routes/orders.js
  endpoints: []
  translations:
    - src/constants/translations.js
  permissions:
    - src/constants/features.js
  tests: []
  screenshots: []
  videos: []
  generated_at: 2026-06-21

Notas tecnicas internas

  • Sidebar: activeTab === 'KITCHEN'.
  • Feature relacionada: kitchenPro en ../CheMozo/src/constants/features.js.
  • Backend relacionado: ../CheMozo/server/routes/orders.js.
  • Utilidades relacionadas: kitchen-config, kitchen-pro-groups, orderKitchen.

Pedidos

Para que sirve

Permite seguir pedidos takeaway, delivery y mostrador/counter, especialmente despues de que salen de Cocina o requieren entrega.

Quien lo usa

  • Dueno / administrador
  • Mozo / staff
  • Cocina

Como acceder

Desde el sidebar de restaurante, boton Pedidos. En codigo corresponde al tab ORDERS.

Flujo principal paso a paso

  1. Abrir Pedidos.
  2. Revisar pedidos activos.
  3. Identificar tipo de pedido: takeaway, delivery o dine-in sin mesa.
  4. Ver datos de contacto cuando correspondan.
  5. Marcar entregado/finalizado cuando el cliente recibe el pedido.

Acciones disponibles

  • Ver pedidos activos.
  • Marcar entregado.
  • Consultar datos de cliente para pickup/delivery.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Estados posibles

  • Preparando.
  • Listo.
  • Entregado/servido.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Reglas importantes del sistema

  • Table payment and close permanecen bajo Mesas.
  • Takeaway, delivery y counter dine-in pasan por Cocina solo mientras preparan y luego se gestionan desde Pedidos.
  • Delivery depende de feature flag.

Errores frecuentes y como resolverlos

  • Si no aparece delivery, revisar si la feature delivery esta habilitada.
  • Si falta contacto del cliente, revisar flujo de checkout.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Capturas sugeridas

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Relacion con otros modulos

  • Cocina: entrega pedidos listos.
  • Menu: origen de items.
  • QR Ordering: genera pedidos de cliente.
  • Historial: conserva pedidos completados.

Evidencia

evidence:
  files_analyzed:
    - ../CheMozo/README.md
    - ../CheMozo/src/components/AppSidebar.jsx
    - ../CheMozo/src/manual/manual-content.js
  components:
    - src/components/AppSidebar.jsx
  route_files:
    - server/routes/orders.js
  endpoints: []
  translations:
    - src/constants/translations.js
  permissions:
    - src/constants/features.js
  tests: []
  screenshots: []
  videos: []
  generated_at: 2026-06-21

Notas tecnicas internas

  • Sidebar: activeTab === 'ORDERS'.
  • Backend relacionado: ../CheMozo/server/routes/orders.js.
  • Utilidades relacionadas: orderUtils, orderList, off-premise-checkout.

Historial

Para que sirve

Permite consultar pedidos y operaciones pasadas. La relacion con CFE esta respaldada por componentes history/cfe-* existentes.

Quien lo usa

  • Dueno / administrador
  • Mozo / staff

Como acceder

Desde el sidebar de restaurante, boton Historial. En codigo corresponde al tab HISTORY.

Flujo principal paso a paso

  1. Abrir Historial.
  2. Revisar listado de pedidos/operaciones.
  3. Consultar informacion relacionada si la pantalla lo permite.

Acciones disponibles

  • Ver historial.
  • Consultar informacion CFE relacionada.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Estados posibles

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Reglas importantes del sistema

  • El modulo se relaciona con pedidos cerrados y CFE segun componentes y rutas encontradas.

Errores frecuentes y como resolverlos

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Capturas sugeridas

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Relacion con otros modulos

  • Mesas y Pedidos: originan registros.
  • CFE: aporta documentos fiscales.
  • Reportes: consume datos historicos.

Evidencia

evidence:
  files_analyzed:
    - ../CheMozo/src/components/AppSidebar.jsx
    - ../CheMozo/src/components/history/cfe-history-panel.jsx
    - ../CheMozo/src/components/history/cfe-history-badge.jsx
    - ../chemozo-testing/packages/playwright-tests/tests/restaurante/historial.spec.ts
  components:
    - src/components/AppSidebar.jsx
    - src/components/history/cfe-history-panel.jsx
    - src/components/history/cfe-history-badge.jsx
  route_files:
    - server/routes/orders.js
    - server/routes/cfe.js
  endpoints: []
  translations:
    - src/constants/translations.js
  permissions: []
  tests:
    - packages/playwright-tests/tests/restaurante/historial.spec.ts
  screenshots: []
  videos: []
  generated_at: 2026-06-21

Notas tecnicas internas

  • Sidebar: activeTab === 'HISTORY'.
  • Componentes relacionados: ../CheMozo/src/components/history.
  • Backend relacionado: orders.js, cfe.js.
  • Tests existentes: ../chemozo-testing/packages/playwright-tests/tests/restaurante/historial.spec.ts.

Ajustes

Para que sirve

Permite configurar parametros del restaurante documentados en README y componentes existentes: horarios, categorias, usuarios, impresion, WhatsApp y PIN de anulacion.

Quien lo usa

  • Dueno / administrador

Como acceder

Desde el sidebar de restaurante, boton Ajustes. En codigo corresponde al tab SETTINGS, visible cuando el usuario tiene acceso al panel del restaurante.

Flujo principal paso a paso

  1. Abrir Ajustes.
  2. Seleccionar la zona de configuracion requerida.
  3. Modificar campos.
  4. Guardar cambios.

Acciones disponibles

  • Configurar datos generales.
  • Configurar horarios.
  • Configurar categorias.
  • Configurar usuarios de restaurante.
  • Configurar impresion de tickets cuando esta habilitada.
  • Configurar PIN de void.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Estados posibles

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Reglas importantes del sistema

  • Algunas opciones dependen de feature flags administradas por plataforma.
  • Void PIN debe tener 4 a 6 digitos segun README.

Errores frecuentes y como resolverlos

  • Si una opcion no aparece, revisar permisos y feature flag.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Capturas sugeridas

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Relacion con otros modulos

  • Menu: categorias e impresion.
  • Mesas: cantidad de mesas.
  • Usuarios: gestion de accesos.
  • QR Ordering: abierto/cerrado y WhatsApp.

Evidencia

evidence:
  files_analyzed:
    - ../CheMozo/README.md
    - ../CheMozo/src/components/AppSidebar.jsx
    - ../CheMozo/src/components/settings
    - ../chemozo-testing/packages/playwright-tests/tests/restaurante/ajustes.spec.ts
  components:
    - src/components/AppSidebar.jsx
    - src/components/settings
  route_files:
    - server/routes/restaurants.js
    - server/routes/restaurant-users.js
    - server/routes/smtp.js
  endpoints: []
  translations:
    - src/constants/translations.js
  permissions:
    - src/constants/features.js
  tests:
    - packages/playwright-tests/tests/restaurante/ajustes.spec.ts
  screenshots: []
  videos: []
  generated_at: 2026-06-21

Notas tecnicas internas

  • Sidebar: activeTab === 'SETTINGS'.
  • Componentes relacionados: ../CheMozo/src/components/settings.
  • Backend relacionado: restaurants.js, restaurant-users.js, smtp.js.

Usuarios

Para que sirve

Gestiona usuarios de restaurante y usuarios administradores de plataforma segun rutas backend y navegacion admin existentes.

Quien lo usa

  • Dueno / administrador
  • Admin plataforma

Como acceder

Usuarios admin plataforma: desde sidebar admin, boton Admin Users, visible para admin con adminRole === 'full'.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Flujo principal paso a paso

  1. Abrir la zona de usuarios correspondiente.
  2. Crear o editar usuario.
  3. Completar datos requeridos por la pantalla.
  4. Guardar cambios.

Acciones disponibles

  • Crear usuario de restaurante.
  • Gestionar rol staff, manager o admin.
  • Gestionar admins de plataforma full o readonly.
  • Invitar o resetear password cuando SMTP esta disponible.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Estados posibles

  • Staff.
  • Manager.
  • Admin restaurante.
  • Admin plataforma full.
  • Admin plataforma readonly.
  • Cuenta pendiente de activacion por magic link.

Reglas importantes del sistema

  • Magic link onboarding usa enlace de 72 horas segun README.
  • Password reset requiere SMTP.
  • Admin full gestiona SMTP, admins y features.

Errores frecuentes y como resolverlos

  • Si no llega email, revisar SMTP.
  • Si una accion admin no aparece, revisar adminRole.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Capturas sugeridas

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Relacion con otros modulos

  • Ajustes: usuarios de restaurante.
  • Admin: usuarios de plataforma.
  • SMTP: invitaciones y reset.
  • Permisos: condicionan acceso a modulos.

Evidencia

evidence:
  files_analyzed:
    - ../CheMozo/README.md
    - ../CheMozo/src/components/AppSidebar.jsx
    - ../CheMozo/server/routes/restaurant-users.js
    - ../CheMozo/server/routes/admins.js
    - ../CheMozo/server/routes/auth.js
  components:
    - src/components/AppSidebar.jsx
  route_files:
    - server/routes/restaurant-users.js
    - server/routes/admins.js
    - server/routes/auth.js
    - server/routes/smtp.js
  endpoints: []
  translations:
    - src/constants/translations.js
  permissions:
    - currentUser.adminRole === 'full'
  tests: []
  screenshots: []
  videos: []
  generated_at: 2026-06-21

Notas tecnicas internas

  • Backend relacionado: restaurant-users.js, admins.js, auth.js, smtp.js.
  • Sidebar admin muestra ADMINS solo con currentUser?.adminRole === 'full'.

Reportes

Para que sirve

Permite consultar analiticas, ingresos, reportes de facturacion y metricas operativas documentadas en README y feature flags.

Quien lo usa

  • Dueno / administrador
  • Admin plataforma

Como acceder

En admin plataforma existen Network Insights y Billing.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Flujo principal paso a paso

  1. Abrir panel, insights, billing o historial segun el reporte requerido.
  2. Revisar metricas disponibles.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Acciones disponibles

  • Ver revenue.
  • Ver analiticas de pedidos.
  • Ver reportes de facturacion.
  • Ver metricas de tiempo de servicio calculadas desde pedidos.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Estados posibles

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Reglas importantes del sistema

  • analytics, advancedReports, paymentTracking y serviceAnalytics son features configurables.
  • Propinas pueden incluirse en metricas de venta segun README.

Errores frecuentes y como resolverlos

  • Si no aparecen reportes avanzados, revisar feature flags.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Capturas sugeridas

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Relacion con otros modulos

  • Historial: fuente de pedidos cerrados.
  • Pedidos y Mesas: generan datos operativos.
  • CFE: aporta facturacion electronica.
  • Admin: insights agregados de red.

Evidencia

evidence:
  files_analyzed:
    - ../CheMozo/README.md
    - ../CheMozo/src/components/AppSidebar.jsx
    - ../CheMozo/src/constants/features.js
  components:
    - src/components/AppSidebar.jsx
  route_files:
    - server/routes/orders.js
    - server/routes/restaurants.js
    - server/routes/cfe.js
  endpoints: []
  translations:
    - src/constants/translations.js
  permissions:
    - src/constants/features.js
  tests: []
  screenshots: []
  videos: []
  generated_at: 2026-06-21

Notas tecnicas internas

  • Sidebar admin: INSIGHTS y BILLING.
  • Features relacionadas en features.js: analytics, advancedReports, paymentTracking, serviceAnalytics.
  • Backend relacionado: orders.js, restaurants.js, cfe.js.

Pedidos QR

Para que sirve

Permite que clientes escaneen un QR de mesa para abrir el menu publico, cargar carrito y confirmar pedidos. Esta afirmacion esta respaldada por README, APP_VIEWS.CUSTOMER, CustomerMenuBrowser.jsx y tests de menu publico.

Quien lo usa

  • Cliente QR
  • Mozo / staff
  • Dueno / administrador

Como acceder

El cliente accede desde el QR de una mesa o desde URL publica por slug. Staff genera QR desde Mesas.

Flujo principal paso a paso

  1. Staff genera QR desde una mesa.
  2. Cliente abre el menu publico.
  3. Cliente navega el menu y agrega productos al carrito.
  4. Cliente confirma pedido.

Acciones disponibles

  • Buscar en menu.
  • Filtrar por categorias.
  • Agregar al carrito.
  • Customizar items cuando el item tiene customizaciones.
  • Confirmar pedido.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Estados posibles

  • Restaurante abierto.
  • Restaurante cerrado.
  • Carrito vacio.
  • Carrito con items.
  • Pedido confirmado.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Reglas importantes del sistema

  • qrOrdering es feature core siempre activa.
  • El menu publico incluye busqueda por nombre o descripcion segun README.
  • Los pedidos QR confirmados crean tarjeta de cocina separada segun README.

Errores frecuentes y como resolverlos

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Capturas sugeridas

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Relacion con otros modulos

  • Mesas: genera QR por mesa.
  • Menu: fuente de items visibles.
  • Cocina: recibe pedidos confirmados.
  • Pedidos: seguimiento de takeaway/delivery/counter.

Evidencia

evidence:
  files_analyzed:
    - ../CheMozo/README.md
    - ../CheMozo/src/constants/appViews.js
    - ../CheMozo/src/constants/features.js
    - ../CheMozo/src/components/CustomerMenuBrowser.jsx
    - ../CheMozo/src/utils/customerMenuUrl.js
    - ../chemozo-testing/packages/playwright-tests/tests/menu-publico/pedido-cliente.spec.ts
    - ../chemozo-testing/packages/playwright-tests/fixtures/tenant.fixture.ts
  components:
    - src/components/CustomerMenuBrowser.jsx
  route_files:
    - server/routes/tokens.js
    - server/routes/menu.js
    - server/routes/orders.js
    - server/routes/restaurants.js
  endpoints: []
  translations:
    - src/constants/translations.js
  permissions:
    - src/constants/features.js
  tests:
    - packages/playwright-tests/tests/menu-publico/pedido-cliente.spec.ts
  screenshots: []
  videos: []
  generated_at: 2026-06-21

Notas tecnicas internas

  • Vista relacionada: APP_VIEWS.CUSTOMER.
  • Backend relacionado: tokens.js, menu.js, orders.js, restaurants.js.
  • Componentes relacionados: CustomerMenuBrowser.jsx.
  • Tests existentes: ../chemozo-testing/packages/playwright-tests/tests/menu-publico/pedido-cliente.spec.ts.

CFE

Para que sirve

Gestiona configuracion, emision, consulta y gobierno de comprobantes fiscales electronicos cuando el modulo esta habilitado.

Quien lo usa

  • Dueno / administrador
  • Admin plataforma

Como acceder

Restaurante: boton Config CFE cuando activeRes?.cfeModuleEnabled y hay acceso al panel. Admin plataforma: boton CFE, visible para admin con adminRole === 'full'.

Flujo principal paso a paso

  1. Abrir la pantalla CFE correspondiente.
  2. Cargar configuracion CFE.
  3. Guardar configuracion operativa o sensible segun permisos.
  4. Ejecutar pruebas disponibles.
  5. Consultar documentos o reconciliar pendientes.

Acciones disponibles

  • Cargar configuracion CFE.
  • Guardar configuracion operativa.
  • Guardar credenciales sensibles.
  • Probar conectividad.
  • Probar credenciales.
  • Probar emision.
  • Reconciliar pendientes.
  • Consultar documentos.

Estados posibles

  • Disabled.
  • Optional.
  • Required.
  • Endpoint conectado.
  • Endpoint unreachable.
  • Endpoint unknown.
  • Documento pendiente.
  • Documento emitido.
  • Error de emision.

Reglas importantes del sistema

  • Defaults para nuevos restaurantes: modulo deshabilitado y settings/tests ocultos a admins restaurante segun traducciones.
  • Promocion a produccion puede bloquearse a superadmin.
  • e-Ticket y e-Factura aparecen en traducciones.

Errores frecuentes y como resolverlos

  • Si falla conectividad, revisar Firmador base URL y red.
  • Si falla credencial, revisar WS user/password/API key.
  • Si no aparece CFE, revisar cfeModuleEnabled, governance y rol.

Capturas sugeridas

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Relacion con otros modulos

  • Mesas: cierre y recibos fiscales.
  • Historial: documentos emitidos.
  • Reportes: facturacion.
  • Admin: governance y credenciales.

Evidencia

evidence:
  files_analyzed:
    - ../CheMozo/docs/facturacion-electronica.md
    - ../CheMozo/docs/cfe-implementation-guide.md
    - ../CheMozo/docs/feu-api-reference.md
    - ../CheMozo/src/components/AppSidebar.jsx
    - ../CheMozo/src/components/cfe
    - ../CheMozo/src/components/history/cfe-history-panel.jsx
    - ../CheMozo/src/constants/translations.js
    - ../CheMozo/server/routes/cfe.js
  components:
    - src/components/AppSidebar.jsx
    - src/components/cfe
    - src/components/history/cfe-history-panel.jsx
  route_files:
    - server/routes/cfe.js
  endpoints: []
  translations:
    - src/constants/translations.js
  permissions:
    - currentUser.adminRole === 'full'
    - activeRes.cfeModuleEnabled
  tests:
    - ../CheMozo/server/tests/cfe-emission-date.test.js
    - ../CheMozo/server/tests/cfe-document-keys.test.js
    - ../CheMozo/server/tests/cfe-pos.test.js
  screenshots: []
  videos: []
  generated_at: 2026-06-21

Notas tecnicas internas

  • Backend principal: ../CheMozo/server/routes/cfe.js.
  • Docs tecnicas: docs/facturacion-electronica.md, docs/cfe-implementation-guide.md, docs/feu-api-reference.md.
  • Componentes relacionados: src/components/cfe, src/components/history/cfe-history-panel.jsx.
  • Tests backend CFE existen en ../CheMozo/server/tests.

Admin plataforma

Para que sirve

Permite administrar secciones visibles en el sidebar admin: revisiones, stores/nodes, insights, billing, CFE, server status, manual, admins, SMTP y AI menu images.

Quien lo usa

  • Admin plataforma

Como acceder

Iniciar sesion como admin plataforma. El sidebar admin se muestra cuando el rol de vista es ADMIN.

Flujo principal paso a paso

  1. Iniciar sesion como admin.
  2. Abrir la seccion requerida del sidebar admin.
  3. Revisar o modificar datos segun permisos.

Acciones disponibles

  • Revisar pendientes.
  • Gestionar stores/nodes.
  • Ver network insights.
  • Ver billing.
  • Gestionar CFE admin.
  • Consultar server status.
  • Abrir manual.
  • Gestionar admins.
  • Configurar SMTP.
  • Gestionar AI Menu Images.

Estados posibles

  • Admin full.
  • Admin readonly.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Reglas importantes del sistema

  • Admin full gestiona SMTP, admins y features segun README.
  • Status excluye GET /api/status del rate limit general segun README.
  • Active Nodes muestra staff WebSocket y uso QR en memoria segun README.

Errores frecuentes y como resolverlos

  • Si no aparece una seccion, revisar adminRole.

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Capturas sugeridas

Pendiente de confirmar

No se encontró evidencia suficiente en el código fuente,

documentación o pruebas automatizadas para documentar

esta funcionalidad.

Relacion con otros modulos

  • Usuarios: admins y usuarios de restaurante.
  • CFE: governance y consola admin.
  • Reportes: insights/billing.
  • Settings: features que habilitan modulos.

Evidencia

evidence:
  files_analyzed:
    - ../CheMozo/README.md
    - ../CheMozo/src/constants/appViews.js
    - ../CheMozo/src/components/AppSidebar.jsx
    - ../CheMozo/server/routes/admins.js
    - ../CheMozo/server/routes/restaurants.js
    - ../CheMozo/server/routes/smtp.js
    - ../CheMozo/server/routes/status.js
    - ../CheMozo/server/routes/subscription-tiers.js
    - ../CheMozo/server/routes/ai-images.js
    - ../CheMozo/server/routes/cfe.js
  components:
    - src/components/AppSidebar.jsx
  route_files:
    - server/routes/admins.js
    - server/routes/restaurants.js
    - server/routes/smtp.js
    - server/routes/status.js
    - server/routes/subscription-tiers.js
    - server/routes/ai-images.js
    - server/routes/cfe.js
  endpoints:
    - GET /api/status
  translations:
    - src/constants/translations.js
  permissions:
    - currentUser.adminRole === 'full'
  tests: []
  screenshots: []
  videos: []
  generated_at: 2026-06-21

Notas tecnicas internas

  • Sidebar admin definido en AppSidebar.jsx.
  • Backend relacionado: admins.js, restaurants.js, smtp.js, status.js, subscription-tiers.js, ai-images.js, cfe.js.

Indice por roles

Dueno / administrador

  • Vista general
  • Mesas
  • Menu
  • Pedidos
  • Historial
  • Ajustes
  • Usuarios
  • Reportes
  • Pedidos QR
  • CFE

Mozo / staff

  • Vista general
  • Mesas
  • Menu
  • Cocina
  • Pedidos
  • Historial
  • Pedidos QR

Cocina

  • Vista general
  • Cocina
  • Pedidos

Cliente QR

  • Vista general
  • Menu
  • Pedidos QR

Admin plataforma

  • Vista general
  • Usuarios
  • Reportes
  • CFE
  • Admin plataforma

Glosario

Pedido

Solicitud creada por cliente o staff con items, cantidades, customizaciones y datos de pago o entrega.

Mesa

Unidad fisica del restaurante con estado operativo. Puede estar disponible, ocupada, reservada o con cuenta solicitada.

Lista digital de productos del restaurante, con precios, categorias, descripcion, imagenes, disponibilidad e informacion fiscal cuando aplica.

QR

Codigo escaneable que abre el menu publico del restaurante o de una mesa especifica.

Feature flag

Configuracion por restaurante que habilita o deshabilita funcionalidades como delivery, caja, reservas, impresion, AI images o Kitchen Pro.

CFE

Comprobante Fiscal Electronico. Modulo de facturacion electronica integrado con configuracion, emision, consulta y reconciliacion.

Pendiente de confirmar

Marcador obligatorio cuando el manual necesita una afirmacion que todavia no tiene evidencia en codigo, README, docs o tests.