Dashboard Global
Visión general del estado de la plataforma SaaS y ganancias
Comisiones Hoy Comisiones {{ saas.kpiDateFrom.value }} → {{ saas.kpiDateTo.value }}
${{ saas.kpiRangeApplied.value ? saas.kpiRangeStats.value.totalCommissions.toFixed(2) : (saas.dashboardStats.value.kpis?.todayProfits || 0) }}
Pedidos Hoy Pedidos {{ saas.kpiDateFrom.value }} → {{ saas.kpiDateTo.value }}
{{ saas.kpiRangeApplied.value ? saas.kpiRangeStats.value.totalOrders : (saas.dashboardStats.value.kpis?.todayOrders || 0) }}
Deuda Total Pendiente Deuda Generada {{ saas.kpiDateFrom.value }} → {{ saas.kpiDateTo.value }}
${{ saas.kpiRangeApplied.value ? saas.kpiRangeStats.value.totalDebt.toFixed(2) : (saas.dashboardStats.value.kpis?.totalDebt || 0) }}
Visitas Hoy
{{ saas.dashboardStats.value.kpis?.todayVisits || 0 }}
Base de Negocios
{{ saas.dashboardStats.value.kpis?.totalBusinesses || 0 }} Registrados
Estatus Operativo
{{ saas.dashboardStats.value.kpis?.activeBusinesses || 0 }} Negocios Activos
Gráficos de Actividad
Visitas Generales por Día
Ganancias por Comisiones (MXN)
Últimas Ventas Globales
Ventas de todos los negocios en la plataforma
Total Pedidos
{{ saas.globalOrdersKpis.value.totalOrders.toLocaleString() }}
Venta Total
${{ (saas.globalOrdersKpis.value.totalRevenue || 0).toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Comisiones
${{ (saas.globalOrdersKpis.value.totalCommissions || 0).toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
Cargando ventas...
No hay ventas que mostrar
Ajusta los filtros o espera nuevas órdenes
| Folio | Negocio | Fecha | Cliente | Canal | Método | Total | Estado | Acción |
|---|---|---|---|---|---|---|---|---|
| #{{ ord._id.slice(-6).toUpperCase() }} |
{{ (ord.businessId?.name || '?')[0].toUpperCase() }}
{{ ord.businessId?.name || 'N/A' }} /menu/{{ ord.businessId?.slug || '—' }} |
{{ new Date(ord.createdAt).toLocaleDateString('es-MX', {day:'2-digit', month:'short'}) }}
{{ new Date(ord.createdAt).toLocaleTimeString([], {hour:'2-digit', minute:'2-digit'}) }}
|
{{ ord.customerId ? ord.customerId.name : (ord.customerName || 'Mostrador') }}
{{ ord.customerPhone }}
|
{{ ord.source === 'pos' ? 'POS' : 'Web' }} 🏍 | {{ ord.paymentMethod || '—' }} |
${{ (ord.total || 0).toFixed(2) }}
+${{ ord.deliveryCost.toFixed(2) }} envío
|
{{ { completed:'Completado', cancelled:'Cancelado', pending:'Pendiente', preparing:'Preparando', ready:'Listo' }[ord.status] || ord.status }} | — |
Gestión de Negocios
Administra clientes, planes y comisiones SaaS
Total Negocios
{{ businesses.length }}
Activos
{{ businesses.filter(b => b.active).length }}
Total Ventas Plataforma
${{ businesses.reduce((s,b) => s + (b.totalRevenue || 0), 0).toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
{{ businesses.reduce((s,b) => s + (b.totalOrders || 0), 0) }} pedidos en total
Deuda Total Pendiente
${{ businesses.reduce((s,b) => s + (b.commissionDebt || 0), 0).toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
| Negocio | URL Slug | Plan | Estado | Total Ventas | Deuda Comisión | Acciones |
|---|---|---|---|---|---|---|
|
{{ biz.name }}
{{ biz.ownerEmail }}
|
/menu/{{ biz.slug }} | {{ biz.plan }} |
${{ (biz.totalRevenue || 0).toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }}
{{ biz.totalOrders || 0 }} pedidos
|
${{ (biz.commissionDebt || 0).toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} |
|
Ranking de Restaurantes
Clasificación oficial por volumen de pedidos y facturación generada
{{ dashboardStats.ranking?.[0]?.name || '---' }}
{{ dashboardStats.ranking?.[0]?.orderCount || 0 }} pedidos registrados
{{ (dashboardStats.ranking || []).reduce((s, r) => s + (r.orderCount || 0), 0) }}
En {{ dashboardStats.ranking?.length || 0 }} restaurantes registrados
${{ ((dashboardStats.ranking || []).reduce((s, r) => s + (r.totalRevenue || 0), 0)).toLocaleString('en-US', {minimumFractionDigits: 2}) }}
Acumulado en este periodo
Tabla de Posiciones
Mostrando {{ (dashboardStats.ranking || []).filter(b => !rankingSearchQuery || b.name.toLowerCase().includes(rankingSearchQuery.toLowerCase()) || b.slug.toLowerCase().includes(rankingSearchQuery.toLowerCase())).length }} restaurantesCargando posiciones...
No hay datos para mostrar.
{{ biz.name }}
Bloqueado/{{ biz.slug }}
Ventas: ${{ (biz.totalRevenue || 0).toLocaleString('en-US', {minimumFractionDigits: 2}) }}
Usuarios Frecuentes
Historial y frecuencia de compra de clientes de la plataforma por número telefónico
Clientes Identificados
{{ saas.frequentCustomersStats.value.total || 0 }}
Con número telefónico registrado
Clientes Nuevos (1 pedido)
{{ saas.frequentCustomersStats.value.newCount || 0 }}
Realizaron su primera compra
Con 5 Pedidos
{{ saas.frequentCustomersStats.value.twoOrdersCount || 0 }}
Registraron recompra inicial
Clientes Frecuentes (10+)
{{ saas.frequentCustomersStats.value.frequentCount || 0 }}
Clientes con alta recurrencia
| Cliente (Teléfono / Nombre) | Clasificación | Cant. Pedidos | Negocios Frecuentados | Última Compra | Total Gastado | Acciones |
|---|---|---|---|---|---|---|
| Cargando usuarios frecuentes... | ||||||
| No se encontraron usuarios frecuentes. | ||||||
|
{{ cust.name || 'Cliente sin nombre' }}
{{ cust.phone }}
|
{{ cust.orderCount <= 5 ? 'Cliente Nuevo' : cust.orderCount >= 5 && cust.orderCount < 10 ? '+5 pedidos' : 'Cliente Frecuente' }} | {{ cust.orderCount }} |
|
{{ new Date(cust.lastOrderDate).toLocaleDateString('es-ES') }} | ${{ (cust.totalSpent || 0).toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2}) }} | |
Mi Billetera
Control de pagos, dispersiones y comisiones de todos los negocios.
${{ saas.dispersionPeriodKpis.value.totalCobrado.toLocaleString('en-US',{minimumFractionDigits:2}) }}
Pagos con tarjeta en el periodo
${{ saas.dispersionPeriodKpis.value.commissionTH.toLocaleString('en-US',{minimumFractionDigits:2}) }}
Comisión generada en el periodo
${{ saas.dispersionPeriodKpis.value.commissionStripe.toLocaleString('en-US',{minimumFractionDigits:2}) }}
Comisión de Stripe en el periodo
${{ saas.dispersionPeriodKpis.value.totalToDisperse.toLocaleString('en-US',{minimumFractionDigits:2}) }}
Monto a dispersar a restaurantes
Detalle de dispersiones por día
Haz clic en el icono para ver el desglose por restaurante.
| Fecha | Pedidos | Total cobrado | Comisión TH | Comisión Stripe | Monto a dispersar | Estado | Restaurantes | Acción | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cargando dispersiones... | |||||||||||||||||||||||
|
No hay cortes en el periodo seleccionado. Ajusta las fechas del filtro o genera un nuevo corte. |
|||||||||||||||||||||||
| {{ new Date(day.date + 'T12:00:00').toLocaleDateString('es-MX', {day:'2-digit', month:'short', year:'numeric'}) }} {{ new Date(day.date + 'T12:00:00').toLocaleDateString('es-MX', {weekday:'short'}) }} | {{ day.totalOrders }} | ${{ day.totalSales.toLocaleString('en-US',{minimumFractionDigits:2}) }} | ${{ day.commissionTotal.toLocaleString('en-US',{minimumFractionDigits:2}) }} | ~${{ day.stripeFees.toLocaleString('en-US',{minimumFractionDigits:2}) }} — | ${{ day.netToPay.toLocaleString('en-US',{minimumFractionDigits:2}) }} | Pagado {{ day.pendingCount }} Pendiente{{ day.pendingCount > 1 ? 's' : '' }} | {{ day.restaurants.length }} | ||||||||||||||||
|
|||||||||||||||||||||||
Balance
Control de ventas, comisiones y balance de todos los restaurantes.
Ventas en efectivo
{{ saas.balanceMoney(saas.balanceKpis.value.cashSales) }}
Total del mes
Ventas con tarjeta
{{ saas.balanceMoney(saas.balanceKpis.value.cardSales) }}
Total del mes
Total de venta
{{ saas.balanceMoney(saas.balanceKpis.value.totalSales) }}
Total del mes
Total de pedidos
{{ (saas.balanceKpis.value.totalOrders || 0).toLocaleString('en-US') }}
Total del mes
Ganancia Teorica
{{ saas.balanceMoney(saas.balanceKpis.value.monthlyProfit) }}
Total ganado (Aún si falta cobrar)
En Bancos (Neto)
{{ saas.balanceMoney(saas.balanceKpis.value.realCashInBank) }}
Stripe retenido - Dispersiones
| # | Restaurante | Ventas Efectivo |
Ventas Tarjeta |
Total de Venta |
Total de Pedidos |
Comisión (5%) |
$5 por pedido |
Mantenimiento | Deuda Pendiente |
Saldos con tarjeta |
Balance | Estatus |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Calculando balance... | ||||||||||||
| No se encontraron restaurantes para este filtro. | ||||||||||||
| {{ idx + 1 }} | {{ stat.businessName }} | {{ saas.balanceMoney(stat.cashSales) }} | {{ saas.balanceMoney(stat.cardSales) }} | {{ saas.balanceMoney((stat.cashSales || 0) + (stat.cardSales || 0)) }} | {{ stat.totalOrders || 0 }} |
{{ saas.balanceMoney(stat.commission) }}
({{ stat.commissionRate }}) Pend. {{ saas.balanceMoney(stat.commissionPending) }} — |
{{ saas.balanceMoney(stat.commission) }}
({{ stat.commissionRate }}) Pend. {{ saas.balanceMoney(stat.commissionPending) }} — |
{{ saas.balanceMoney(stat.maintenance) }} | {{ saas.balanceMoney(stat.totalFees) }} | {{ saas.balanceMoney(stat.cardBalance) }} |
{{ saas.balanceMoney(stat.balance) }}
|
{{ stat.balance > 0 ? 'Nos deben' : (stat.balance < 0 ? 'Debemos' : 'En 0') }} |
Resumen {{ saas.balanceMonthLabel.value }}
Total efectivo
{{ saas.balanceMoney(saas.balanceKpis.value.cashSales) }}
Total tarjeta
{{ saas.balanceMoney(saas.balanceKpis.value.cardSales) }}
Total de venta
{{ saas.balanceMoney(saas.balanceKpis.value.totalSales) }}
Total de pedidos
{{ (saas.balanceKpis.value.totalOrders || 0).toLocaleString('en-US') }}
Total comisión (5%)
{{ saas.balanceMoney(saas.balanceKpis.value.commissionPercent) }}
Total $5 por pedido
{{ saas.balanceMoney(saas.balanceKpis.value.commissionFixed) }}
Total mantenimiento
{{ saas.balanceMoney(saas.balanceKpis.value.maintenance) }}
Total Fees
{{ saas.balanceMoney(saas.balanceKpis.value.totalFees) }}
Ganancia mensual
{{ saas.balanceMoney(saas.balanceKpis.value.monthlyProfit) }}
Total del mes
Catálogo de Municipios
Gestiona las zonas de cobertura disponibles para los negocios.
| Nombre | C.P. | Ciudad | Zona | Costo Envío | Estado | Acciones |
|---|---|---|---|---|---|---|
| Cargando... | ||||||
| No hay municipios registrados. | ||||||
| {{ mun.name }} | {{ mun.zipCode }} | {{ mun.city }} | {{ mun.zone || 'General' }} |
{{ c.name }}
+{{ mun.colonias.length - 3 }} más
Gratis / Sin zonas
|
Activa Inactiva | |
Categorías Globales (Marketplace)
Gestiona las categorías de comida disponibles para todos los negocios.
| Categoría | Estado | Acciones |
|---|---|---|
|
{{ cat.emoji }}
{{ cat.name }} {{ cat._id }} |
|
|
|
No se encontraron categorías Intenta con otro término o crea una nueva. |
||
Panel de Control
{{ kpi.value }}
{{ kpi.label }}
Ventas Última Semana
Más Vendidos
Aún no hay ventas
-
${{ prod.price }}
{{ prod.name }}
{{ prod.salesCount }} vendidos
{{ prod.name }}
{{ prod.barcode || 'Sin código' }}
No se encontraron productos
Escanea productos
{{ item.name }}
${{ item.price }}/u
Programa de Lealtad
Configuración
Escanear
Productos
Gestión de platillos y existencias
| Imagen | Nombre | Stock | Orden | Precio | Categorías | Estado | Acciones |
|---|
Biblioteca de Medios
Gestiona imágenes y videos
No se encontraron archivos.
Categorías
Organiza tu menú en secciones
{{ cat.name }}
{{ cat.description || 'Sin descripción' }}
Complementos y Extras
Grupos de opciones
{{ addon.name }}
Opciones ({{ addon.options.length }})
- {{ opt.name }}+${{ opt.priceExtra }}Gratis
Publicidad Global
Promociones visibles en el menú y Froods
Banners
{{ banner.title }}
{{ banner.description }}
Froods (Reels)
{{ frood.title }}
{{ frood.description }}
Historial de Ventas
Registro de todas las transacciones POS y Web
| Folio | Fecha | Cliente | Canal | Método | Total | Estado | Acción |
|---|
Cargando detalles del pedido...
Orden #{{ orders.selectedOrder.value._id.slice(-6).toUpperCase() }} {{ orders.selectedOrder.value.status }}
{{ new Date(orders.selectedOrder.value.createdAt).toLocaleString() }}
Productos Adquiridos
| Producto | Cant. | Precio U. | Total |
|---|---|---|---|
|
{{ item.name }}
+ {{ opt.name }} (${{ opt.price }})
{{ item.note }} |
{{ item.quantity }} | ${{ item.price.toFixed(2) }} | ${{ ((item.price + (item.selectedOptions ? item.selectedOptions.reduce((a,b)=>a+(b.price||0),0) : 0)) * item.quantity).toFixed(2) }} |
Información de Venta
Cliente
{{ orders.selectedOrder.value.customerName ? orders.selectedOrder.value.customerName : 'Venta Mostrador' }}
Telefono
{{ orders.selectedOrder.value.customerPhone ? orders.selectedOrder.value.customerPhone : 'S/N' }}
Calle y Numero
{{ orders.selectedOrder.value.customerStreet ? orders.selectedOrder.value.customerStreet : 'S/N' }} {{ orders.selectedOrder.value.customerNumber ? orders.selectedOrder.value.customerNumber : '' }}
Referencia
{{ orders.selectedOrder.value.customerReference ? orders.selectedOrder.value.customerReference : 'S/N' }}
Paga Con:
{{ orders.selectedOrder.value.customerHowToPay ? orders.selectedOrder.value.customerHowToPay : 'S/N' }}
Atendido por
{{ orders.selectedOrder.value.createdBy ? orders.selectedOrder.value.createdBy.username : 'Sistema' }}
Canal
{{ orders.selectedOrder.value.source }}Pago
{{ orders.selectedOrder.value.paymentMethod }}Resumen Financiero
Cotizaciones
| Folio | Cliente | Validez | Total | Status | Acciones |
|---|
{{ quotes.isEditing.value ? 'Editar' : 'Nueva' }} Cotización
{{ prod.name }}
${{ prod.price.toFixed(2) }}
-
{{ user.name }}
{{ user.phone }}
| Producto | Cant. | Precio | Total | |
|---|---|---|---|---|
| {{ item.name }} |
{{ item.qty }}
|
${{ item.price.toFixed(2) }} | ${{ (item.price * item.qty).toFixed(2) }} | |
| La cotización está vacía | ||||
Control de Caja
Gestión de flujo de efectivo y cortes
La caja está cerrada
Debes realizar la apertura de caja para comenzar a registrar ventas y movimientos.
Efectivo en Caja
${{ finance.currentData.value.currentCashInDrawer.toFixed(2) }}
Incluye fondo inicial y movimientos
${{ finance.currentData.value.salesSummary.credit_card.toFixed(2) }}
${{ finance.currentData.value.salesSummary.debit_card.toFixed(2) }}
${{ finance.currentData.value.salesSummary.total.toFixed(2) }}
Movimientos de Caja
Info del Turno
- Apertura: {{ new Date(finance.currentData.value.shift.startTime).toLocaleString() }}
- Fondo Inicial: ${{ finance.currentData.value.shift.initialCash.toFixed(2) }}
- Responsable: Admin
Bitácora de Movimientos
| Tipo | Monto | Motivo | Hora |
|---|---|---|---|
| Sin movimientos manuales registrados | |||
| {{ mov.type === 'in' ? 'Ingreso' : 'Retiro' }} | ${{ mov.amount.toFixed(2) }} | {{ mov.reason }} | {{ new Date(mov.date).toLocaleTimeString() }} |
Historial de Cortes
| Fecha Cierre | Responsable | Ventas Totales | Efectivo Esperado | Efectivo Real | Diferencia | Acción |
|---|---|---|---|---|---|---|
| {{ new Date(h.endTime).toLocaleString() }} | {{ h.closedBy ? h.closedBy.username : 'Admin' }} | - | ${{ h.finalCashExpected.toFixed(2) }} | ${{ h.finalCashActual.toFixed(2) }} | {{ h.difference >= 0 ? '+' : '' }}{{ h.difference.toFixed(2) }} |
Mi Billetera
Consulta el historial de tus ventas, comisiones y pagos realizados por la plataforma.
$0.00
Listo para ser transferido
${{ (saas.walletStats.value?.saldoPendiente || 0).toLocaleString('en-US', {minimumFractionDigits:2}) }}
Corte actual: {{ new Date().toLocaleDateString('es-MX', {day: '2-digit', month: 'short', year: 'numeric'}) }}
Pago estimado: {{ saas.walletStats.value?.nextPaymentDate ? saas.walletStats.value.nextPaymentDate.toLocaleDateString('es-MX', {day: '2-digit', month: 'short', year: 'numeric'}) : 'Pronto' }}
${{ (saas.walletStats.value?.ventasTotales || 0).toLocaleString('en-US', {minimumFractionDigits:2}) }}
{{ saas.walletStats.value?.pedidos || 0 }} pedidos
+18% vs. periodo anterior
${{ (saas.walletStats.value?.comisionPlataforma || 0).toLocaleString('en-US', {minimumFractionDigits:2}) }}
Comisiones cobradas
Sin comisiónResumen del periodo
Ventas totales
${{ (saas.walletStats.value?.ventasTotales || 0).toLocaleString('en-US', {minimumFractionDigits:2}) }}
Pedidos
{{ saas.walletStats.value?.pedidos || 0 }}
Comisión plataforma
${{ (saas.walletStats.value?.comisionPlataforma || 0).toLocaleString('en-US', {minimumFractionDigits:2}) }}
Pagos ya entregados
${{ (saas.walletStats.value?.pagosEntregados || 0).toLocaleString('en-US', {minimumFractionDigits:2}) }}
Monto a recibir
${{ (saas.walletStats.value?.montoARecibir || 0).toLocaleString('en-US', {minimumFractionDigits:2}) }}
Pago pendiente
Tu próximo pago se realizará el {{ saas.walletStats.value?.nextPaymentDate ? saas.walletStats.value.nextPaymentDate.toLocaleDateString('es-MX', {day: 'numeric', month: 'long', year: 'numeric'}) : 'Pronto' }}.
Monto:
${{ (saas.walletStats.value?.montoARecibir || 0).toLocaleString('en-US', {minimumFractionDigits:2}) }}
Movimientos
| ID / Fecha de Corte | Periodo | Ventas Totales | Comisión Plataforma | Monto a Recibir | Estatus |
|---|---|---|---|---|---|
| Cargando movimientos... | |||||
| No se encontraron movimientos para los filtros seleccionados. | |||||
|
{{ disp._id.slice(-6).toUpperCase() }}
{{ new Date(disp.createdAt).toLocaleDateString() }}
|
{{ new Date(disp.periodStart).toLocaleDateString() }} - {{ new Date(disp.periodEnd).toLocaleDateString() }} | ${{ disp.totalSales.toLocaleString('en-US', {minimumFractionDigits:2}) }} | -${{ disp.commissionTotal.toLocaleString('en-US', {minimumFractionDigits:2}) }} | ${{ disp.netToPay.toLocaleString('en-US', {minimumFractionDigits:2}) }} | PAGADO PENDIENTE |
Base de Usuarios
Clientes registrados en lealtad
| Cliente | Teléfono | Puntos | Visitas | Última Visita | Acciones |
|---|
{{ users.selectedUser.value?.name }} Activo
ID: {{ users.selectedUser.value?._id }}
{{ users.selectedUserStats.value?.totalOrders || 0 }}
{{ users.selectedUserStats.value?.totalVisits || 0 }}
${{ (users.selectedUserStats.value?.totalSpent || 0).toFixed(2) }}
Últimas Compras
Este usuario aún no ha realizado compras.
Orden #{{ order._id.slice(-6).toUpperCase() }}
{{ new Date(order.createdAt).toLocaleDateString() }} • {{ new Date(order.createdAt).toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'}) }}
${{ order.total.toFixed(2) }}
{{ order.status }}Datos Básicos
{{ users.selectedUser.value?.name }}
Cliente Lealtad
{{ users.selectedUser.value?.phone }}
{{ users.selectedUser.value?.points }} pts
Facturación
PRÓXIMAMENTEAquí podrás gestionar los datos fiscales del cliente para facturación automática.
Notas Internas
Configuración del Negocio
Administra tu perfil, categorías y zonas de entrega.
Información
Escribe y selecciona una sugerencia para fijar las coordenadas.
Tipos de Servicio
Puedes activar ambas opciones. Los cambios se guardan al presionar "Guardar Cambios".
Métodos de Pago
Debes mantener al menos un método de pago habilitado.
Requiere tener la app QZ Tray abierta en tu computadora.
Impresora de Tickets
Si utilizas el Punto de Venta desde una PC (Windows/Mac), necesitas descargar e instalar QZ Tray. Esta aplicación permite al navegador comunicarse con tu impresora térmica local.
Asegúrate de tener la app abierta en tu PC antes de imprimir. Las tablets Android con cable OTG no requieren esta app.
Tiempos y Entrega
Configura los Tiempos y costos de entrega.
Ej: 30-45 min
Horarios de Atención
Gestiona tu hora de apertura y cierre por día de la semana.
Cobertura (Municipio)
{{settings.municipioId ? '1 Municipio' : 'Sin cobertura'}}Selecciona tu Municipio para configurar las colonias de entrega.
{{ municipio.name }}
CP: {{ municipio.zipCode }}
Categorías
{{settings.categories.length}} seleccionadasSelecciona todas las categorías que describan tu menú. Esto ayuda a que te encuentren en el buscador.
Debes seleccionar al menos una.
Logo / Portada
Acceso
Cocina (KDS)
Sin pedidos
Información de Venta
Cliente
{{ kds.selectedOrder.value.customerId ? kds.selectedOrder.value.customerId.name : (kds.selectedOrder.value.customerName || 'Mostrador') }}
Teléfono
{{ kds.selectedOrder.value.customerId?.phone || kds.selectedOrder.value.customerPhone }}
Calle y Número
{{ kds.selectedOrder.value.customerStreet }} {{ kds.selectedOrder.value.customerNumber || '' }}
Colonia de entrega
{{ kds.selectedOrder.value.customerColony }}
Referencia
{{ kds.selectedOrder.value.customerReference }}
Paga Con:
${{ kds.selectedOrder.value.customerHowToPay }} (Cambio: ${{ (kds.selectedOrder.value.customerHowToPay - kds.selectedOrder.value.total).toFixed(2) }})
Asignar a Repartidor
Enviará nombre, dirección, mapa de Google, total a cobrar y método de pago al repartidor.
Resumen Financiero
Cupones Globales
Listado de Cupones
| Código | Descuento | Usos | Estado | Acciones |
|---|---|---|---|---|
| {{ coupon.code }} | {{ coupon.discountType === 'percentage' ? coupon.discountValue + '%' : '$' + coupon.discountValue.toFixed(2) }} | {{ coupon.currentUses }} / {{ coupon.maxUses > 0 ? coupon.maxUses : '∞' }} | {{ coupon.isActive ? 'Activo' : 'Inactivo' }} | |
| No hay cupones registrados. | ||||
Blog de Noticias
Gestiona los artículos de tu blog.
Aún no tienes artículos
Crea tu primera publicación en el blog. Comparte noticias, promociones o información sobre tu negocio.
{{ post.title }}
{{ post.content }}