Belleza / Estética · 2025
Nails Princesas — Sistema full-stack: SUNAT directo, WhatsApp Bot y PWA
Sistema de gestión full-stack de producción real para salón de uñas en Arequipa: booking multi-paso, facturación electrónica directa a SUNAT sin OSE, WhatsApp Bot sin API de Meta, push notifications sin Firebase y 5 roles con permisos granulares.
Stack
Servicios entregados
El problema
Nails Princesas gestionaba sus citas por WhatsApp y teléfono. El doble-booking era frecuente, las trabajadoras confirmaban cada reserva a mano y no existía forma de conocer los ingresos reales del negocio por sede o por especialista. La facturación se hacía en papel, completamente desconectada del flujo del salón.
Las soluciones genéricas del mercado eran caras, no integraban WhatsApp como canal principal y ninguna cubría SUNAT — el sistema de facturación electrónica obligatorio en Perú.
La solución
Un sistema full-stack de producción real: no un CRUD genérico. Tres portales independientes — booking público para clientes, portal de trabajadora para las especialistas, y panel de administración con 5 roles y permisos granulares. Todo el flujo, desde la reserva pública hasta la emisión de una boleta electrónica aceptada por SUNAT, está completamente automatizado.
Booking multi-paso con disponibilidad real
El flujo de reserva tiene 6 pasos guiados: selección de servicios (múltiples en una sola cita), sede, especialista, fecha/horario, datos del cliente y confirmación. La lógica de disponibilidad suma la duración acumulada de todos los servicios seleccionados: si la clienta pide Rubber Gel (60 min) + Manicure (30 min) + Spa de manos (20 min), el sistema bloquea 110 minutos continuos en la agenda de la especialista. Todo en UTC-5 explícito (Perú).
Incluye códigos de descuento validados en tiempo real, lista de espera automática si no hay disponibilidad, y botón de "Agregar al Google Calendar / iCal" en la confirmación.
Facturación electrónica SUNAT sin intermediarios
La mayoría de sistemas peruanos pagan un OSE (Operador de Servicios Electrónicos) por cada comprobante emitido. Este sistema se conecta directamente al endpoint SOAP de SUNAT.
Genera XML en formato UBL 2.1, lo firma con certificado PKCS#12 usando node-forge, lo empaqueta en ZIP con el nombre exacto exigido por SUNAT (RUC-tipo-serie-correlativo), envía sendBill vía SOAP y parsea el CDR (Constancia de Recepción). Soporta boletas, facturas, notas de crédito y comunicaciones de baja (CDB) con cron de polling cada 5 minutos para tickets asíncronos. Costo por comprobante: $0.
WhatsApp Bot sin API de Meta
Usa @whiskeysockets/baileys, implementación del protocolo interno de WhatsApp sobre WebSocket. Sin cuenta Business API, sin templates aprobados por Meta, sin costo por mensaje. La sesión se persiste en PostgreSQL — no en el filesystem — para sobrevivir reinicios en Railway.
Cinco mensajes automáticos: confirmación de reserva al instante, recordatorio 24h antes, recordatorio 30 minutos antes, feliz cumpleaños con 50% de descuento (solo clientas con 6+ visitas) y retención a los 20 días sin visita. Más campañas masivas segmentadas por grupo desde el panel de admin.
Push Notifications sin Firebase y PWA nativa
Implementación directa de la Web Push API (RFC 8030) con claves VAPID propias. El Service Worker intercepta el evento push y muestra la notificación aunque el navegador esté cerrado. Funciona en Android y en iOS 16.4+ cuando la PWA está agregada a pantalla de inicio. Sin Firebase Cloud Messaging, sin SDK de Google, sin ningún intermediario.
Panel de administración — 5 roles con permisos granulares
SUPERADMIN, MANAGER, CAJERO, MANICURISTA y RECEPCIONISTA — permisos distintos en backend (middleware requireRole) y en frontend (Vue Router guards). Una trabajadora puede ser cajera y manicurista simultáneamente; si el admin cambia su sede, "Mi Reporte" lo refleja en el siguiente request sin requerir cierre de sesión.
El dashboard muestra KPIs por período y sede: ingresos, ticket promedio, ranking de servicios, desglose por método de pago (Yape, Plin, Efectivo, Tarjeta). Incluye vista de agenda por especialista, galería de evidencias de trabajos, y editor de contenidos del sitio para que la administradora edite la landing sin tocar código.
Notificación de nueva reserva con Web Audio API
Cuando llega una nueva cita, el panel reproduce un sonido de caja registradora generado en tiempo real: osciladores, ruido blanco filtrado por BiquadFilter, tres campanas superpuestas y DynamicsCompressor. Ni un solo archivo .mp3 o .wav en el proyecto.
Lo que ahorra este sistema — en números reales
SUNAT sin OSE: S/3,000–S/8,000 al año
Los Operadores de Servicios Electrónicos (OSEs) cobran entre S/0.30 y S/1.50 por cada comprobante emitido. Un salón que emite 15–20 boletas diarias paga entre S/1,600 y S/10,950 al año a intermediarios — dinero que sale directo del margen, sin ningún valor agregado.
Este sistema se conecta directamente a SUNAT. Genera el XML, lo firma con certificado digital, lo empaqueta y lo envía al endpoint SOAP oficial. Sin intermediarios. El costo por comprobante es cero.
En 3 años de operación, el ahorro acumulado supera el costo total del sistema.
WhatsApp Bot vs API de Meta: ~S/1,500/año
La API oficial de WhatsApp Business (Meta) cobra por conversación iniciada. En Perú, los mensajes de tipo marketing cuestan aproximadamente $0.05 por conversación. Con 25–30 mensajes automáticos diarios (confirmaciones, recordatorios 24h, recordatorios 30min, cumpleaños, retención), el costo acumulado supera $450/año — más de S/1,700 anuales solo en mensajes.
Con @whiskeysockets/baileys: $0 por mensaje. Sin límites de templates. Sin aprobación de Meta.
Citas perdidas por doble-booking: S/10,000+/año
Sin un sistema de agenda digital, los conflictos de horario son inevitables. 3–4 doble-bookings por semana significa clientes que no vuelven. A S/60 promedio por servicio, 4 conflictos semanales × S/60 × 52 semanas equivale a más de S/12,000 al año en ingresos que se pierden o se complican.
No-shows sin recordatorio
La tasa de no-show en salones sin recordatorio automático está entre el 15–20%. Con recordatorios a 24h y 30 minutos antes vía WhatsApp y push notification, esa tasa baja al 5–8%. En un salón con 300–400 citas mensuales, eso representa 40–60 citas rescatadas por mes.
Resultados e impacto
- Sistema en producción real para Nails Princesas — Arequipa, Perú
- Booking público, portal de trabajadora y panel de admin con 5 roles operativos
- Facturación electrónica SUNAT sin OSE: boletas, facturas, NC y CDB — $0 por comprobante
- WhatsApp Bot sin API de Meta: confirmaciones, recordatorios 30min/24h, cumpleaños y retención
- Push Notifications nativas en iOS y Android — sin Firebase, sin SDK externo
- Anti-doble-booking con cálculo de duración acumulada de múltiples servicios
- 4 crons de automatización de marketing corriendo en producción
- Campañas WhatsApp masivo segmentadas (VIP, inactivas, todas las clientas)
- Cero dependencias de SaaS de marketing externo
¿Tienes un proyecto similar?
Cuéntanos qué quieres construir y lo analizamos juntos — sin compromiso.
Hablemos →