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
- Iniciar sesion o acceder desde un enlace publico QR segun el rol.
- Seleccionar el restaurante activo cuando corresponda.
- Usar el sidebar para navegar entre panel, menu, mesas, cocina, pedidos, historial, ajustes o manual.
- Administrar pedidos, mesas, menu y configuracion segun permisos.
- 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
- Iniciar sesion como usuario de restaurante.
- Abrir
Mesas desde el sidebar.
- Revisar resumen y estado de las mesas.
- Seleccionar una mesa para gestionar acciones disponibles.
- 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
Como acceder
Desde el sidebar de restaurante, boton Cocina. En codigo corresponde al tab KITCHEN.
Flujo principal paso a paso
- Abrir
Cocina.
- Revisar tickets en preparacion.
- Marcar un ticket como listo.
- Para pedidos de mesa, marcar como servido cuando sale el plato.
- 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
- Abrir
Pedidos.
- Revisar pedidos activos.
- Identificar tipo de pedido: takeaway, delivery o dine-in sin mesa.
- Ver datos de contacto cuando correspondan.
- 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
- Abrir
Historial.
- Revisar listado de pedidos/operaciones.
- 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
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
- Abrir
Ajustes.
- Seleccionar la zona de configuracion requerida.
- Modificar campos.
- 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
- Abrir la zona de usuarios correspondiente.
- Crear o editar usuario.
- Completar datos requeridos por la pantalla.
- 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
- Abrir panel, insights, billing o historial segun el reporte requerido.
- 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
- Staff genera QR desde una mesa.
- Cliente abre el menu publico.
- Cliente navega el menu y agrega productos al carrito.
- 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
- Abrir la pantalla CFE correspondiente.
- Cargar configuracion CFE.
- Guardar configuracion operativa o sensible segun permisos.
- Ejecutar pruebas disponibles.
- 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.
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
Como acceder
Iniciar sesion como admin plataforma. El sidebar admin se muestra cuando el rol de vista es ADMIN.
Flujo principal paso a paso
- Iniciar sesion como admin.
- Abrir la seccion requerida del sidebar admin.
- 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
- 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.