Guía de paquetes para tratamientos
¿Cómo controlar paquetes de sesiones en una clínica estética?
Controla los paquetes definiendo la oferta, guardando la venta en la ficha de la clienta y usando una sesión solo en la cita correcta; Bia conserva saldo, vencimiento, estados e idempotencia, pero no sustituye cobros ni conciliación.
Un paquete parece sencillo cuando la clínica mira solo el total de sesiones. La rutina debe responder qué oferta se vendió, qué precio compró la clienta, qué cita usó una sesión, cuánto queda y qué ocurre si alguien repite el clic o intenta usar un paquete vencido. Bia separa el catálogo de la venta y conserva esas respuestas en la ficha. Esta guía explica el flujo real y sus límites: no inventa pagos recibidos, recurrencia, reembolsos ni renovación garantizada.
- Catálogo con paquete o plan mensual y hasta 365 sesiones
- Venta guardada como copia de nombre, total y precio
- Saldo usado sobre sesiones contratadas en la ficha
- Uso ligado a la cita y protegido por idempotencia
- Vencimiento comparado con el día local de la clínica
- Estados activo, finalizado, vencido y cancelado con auditoría
1. Separa la oferta del paquete ya vendido
Empieza por el catálogo de servicios. El equipo guarda nombre, tipo, sesiones, precio total, precio por sesión y, cuando corresponde, un servicio base activo. Paquete y plan mensual son tipos de oferta, no cobros recurrentes. La clínica sigue siendo responsable del acuerdo comercial.
Un elemento activo aparece en una nueva venta; uno desactivado deja de ofrecerse sin desaparecer del historial. El nombre es único en la clínica y el servicio base pertenece al mismo tenant y está activo. Así, el paquete no apunta a otra operación ni a un servicio retirado.
El catálogo acepta de una a 365 sesiones. Elige una cantidad que recepción pueda explicar y revisa los precios antes de publicar. Bia guarda los datos para la venta siguiente; no decide descuentos, promociones ni recurrencia.
- Paquete y plan mensual son tipos del catálogo, no cobros automáticos.
- Nombre y servicio base se validan en el servidor.
- Los elementos desactivados siguen registrados para conservar la operación.
2. Registra la venta en la ficha de la clienta
En la ficha de la clienta, recepción elige un paquete activo y registra el derecho a sus sesiones. La venta copia nombre, total y precio en su propio registro. Si el catálogo cambia mañana, el paquete comprado no cambia de forma silenciosa con la oferta futura.
La operación confirma que la clienta pertenece a la clínica y exige permiso de recepción. La lista muestra elementos activos y registra la venta; no es una pantalla pública de pago. Guardar un paquete no demuestra que se recibió tarjeta, transferencia o efectivo.
Después de vender, comprueba nombre, total y vencimiento si existe. Factura, medio de pago, suscripción y política de devolución deben estar en el flujo que realmente tiene esos campos. No llenes esta página con una promesa que el contrato no permite.
- La venta conserva una copia de nombre, total y precio de ese momento.
- Clienta y paquete deben pertenecer a la misma clínica.
- Venta registrada no es confirmación de pago o reembolso.
3. Lee el saldo como sesiones contratadas y usadas
La ficha muestra total contratado, sesiones usadas, progreso y estado actual. El servidor devuelve el contador después de cada operación, de modo que la clínica no depende de un cálculo solo del navegador. Una venta de diez sesiones empieza con el total y baja cuando una cita válida se asocia al paquete.
Cuando quedan una o dos sesiones, la operación intenta crear un aviso de paquete casi terminado sin duplicados. Ayuda a que recepción hable con la clienta, pero no crea una renovación ni garantiza aceptación. La clave evita varios avisos iguales para el mismo paquete.
El último uso cambia el estado a finalizado y los usos posteriores se rechazan. No corrijas un saldo con una cifra inventada para ocultar una baja perdida. Revisa el registro y la auditoría antes de crear otra venta.
- Saldo es lo contratado menos las sesiones realmente usadas.
- Aviso de una o dos sesiones ayuda al seguimiento, no renueva.
- Estado finalizado bloquea el uso más allá del total.
4. Usa una sesión en la cita correcta
El uso requiere una cita existente de la misma clienta. Recepción elige el paquete en la ficha vinculada a esa cita y envía el identificador de la operación. El servidor confirma el vínculo antes de cambiar el saldo; un paquete de otra clienta o una cita de otro tenant se rechaza.
La misma finalización no puede descontar dos veces la sesión del paquete porque la operación usa una clave de idempotencia.
La transacción bloquea el paquete, comprueba vencimiento y saldo, incrementa sessionsUsed y guarda paquete, clienta, cita, estado, total y responsable. Un reintento idéntico devuelve el resultado guardado; una combinación diferente se convierte en conflicto y no en una segunda baja.
- Una sesión solo se usa en una cita de la misma clienta.
- Bloqueos y clave de idempotencia protegen intentos simultáneos.
- Cada uso deja auditoría y registro del paquete.
5. Comprueba el vencimiento antes de prometer saldo
Un paquete puede no tener vencimiento o usar una fecha civil definida por la clínica. Al listar y antes de usarlo, el servidor compara esa fecha con el día del tenant. La medianoche UTC del servidor no debe terminar un paquete antes del día que la clínica aún considera válido.
Cuando pasa la fecha, activo se convierte en vencido y la transición queda auditada. La comprobación también ocurre dentro del uso. Si cambia el día local entre lectura y actualización, no se fuerza una utilización fuera de plazo.
Antes de confirmar, lee vencimiento, estado y saldo juntos. La aplicación no extiende fechas, no convierte saldo en dinero ni reabre paquetes automáticamente. Una tolerancia es una política aprobada, no un comportamiento supuesto.
- Las fechas civiles se comparan en la zona de la clínica.
- El vencimiento se audita y bloquea usos posteriores.
- Sin fecha no hay vencimiento automático.
6. Distingue activo, finalizado, vencido y cancelado
Activo significa que el uso puede ocurrir si cita, vencimiento y saldo lo permiten. Finalizado significa que se usaron todas las sesiones. Vencido significa que pasó la fecha. Cancelado es una decisión de gestión que no borra el registro. La ficha conserva estos estados separados para no confundir saldo y administración.
La cancelación conserva nombre, total, sesiones usadas, vencimiento y auditoría. Requiere permiso de gestión y bloquea la fila antes de actualizar, para que una cancelación concurrente con un uso no sobrescriba una operación terminada. Cancelar de nuevo se rechaza.
No uses el estado del paquete para representar pago, autorización clínica o asistencia. Uso de sesión y finalización de cita están relacionados, pero son contratos distintos. El paquete registra el uso solicitado por el equipo; los demás estados viven en sus flujos.
- Cada estado responde a una pregunta operativa.
- Cancelar conserva registro y saldo histórico.
- Pago, finalización de cita y paquete son contratos separados.
7. Revisa el paquete cuando quede poco saldo
Cuando el aviso indique una o dos sesiones, abre la ficha y compara las citas usadas. Comprueba nombre, clienta, fechas y responsable con los registros de recepción. El aviso se deduplica y se crea fuera de la transacción principal como mejor esfuerzo; una caída de notificaciones no es renovación automática.
La renovación es una conversación humana. La clínica puede ofrecer otro paquete, cambiar la oferta futura o aceptar que la clienta no continúe. La aplicación no cobra, no agenda recurrencia ni registra una venta hasta que el equipo elige el elemento. No prometas recuperar ingresos que el código no mide.
Si el contador parece incorrecto, no lo compenses en la venta siguiente. Revisa auditoría, cita e idempotencyKey. El conflicto puede indicar reintento, paquete equivocado o clienta equivocada; cada caso necesita una corrección explícita.
- Saldo bajo orienta el seguimiento, pero no crea una venta.
- Compara ficha, cita y auditoría.
- No compenses un uso dudoso en otra venta.
8. Cierra la rutina sin prometer cobros o reembolsos
En el cierre semanal, revisa paquetes activos, vencidos, finalizados y cancelados. Comprueba saldo y citas usadas. La API aplica tenant, vínculo de clienta y permisos en el servidor; ocultar un botón no sería aislamiento. El historial queda disponible para explicar la operación sin reescribirla.
La venta usa una copia, el uso una transacción e idempotencia, el vencimiento la zona de la clínica y la cancelación auditoría. Esto resuelve trazabilidad, no todo el proceso financiero. Cobro recurrente, conciliación, reembolso, factura y comisión deben vivir donde esos contratos existen.
El resultado útil es una frase que recepción pueda repetir: qué paquete se vendió, cuántas sesiones quedan, qué cita hizo el último uso y qué estado requiere decisión. Bia organiza esa copia y evita reintentos silenciosos; no inventa pago, renovación ni resultado clínico.
- Lee paquetes junto con registros financieros reales.
- Aislamiento y permisos se comprueban en el servidor.
- Cobro recurrente, reembolso y factura quedan fuera.
Qué hace el control de paquetes — y qué queda separado
Bia registra ofertas, ventas, saldo, vencimiento, uso idempotente y estados. La página no promete cobro, recurrencia, reembolso, conciliación ni renovación automática.
- El catálogo admite paquete o plan mensual, pero el tipo mensual no crea cobro recurrente.
- La venta guarda nombre, total y precio, pero no confirma cobro o medio de pago.
- El uso exige una cita de la misma clienta y no finaliza la cita por sí solo.
- Vencimiento, saldo y estados bloquean usos inválidos; sin fecha no hay expiración automática.
- Cancelar conserva el historial, pero no reembolsa dinero ni reabre sesiones.
Preguntas frecuentes
Dudas sobre paquetes y sesiones
¿Editar el catálogo cambia un paquete vendido?
No. La venta conserva nombre, total y precio de ese momento. La edición se aplica a ventas futuras.
¿Un reintento puede descontar dos sesiones?
No en la misma operación. La cita y la clave de idempotencia encuentran el uso guardado; los conflictos se rechazan.
¿Qué pasa al usar la última sesión?
El contador llega al total y el paquete pasa a finalizado. Otro uso queda bloqueado.
¿El plan mensual cobra automáticamente?
No. Plan mensual es un tipo del catálogo. Cobro recurrente, pago y conciliación quedan fuera de este flujo.
¿Cancelar borra el paquete?
No. Permanece cancelado con saldo, fechas y auditoría. Cancelar no es reembolsar.
Prueba el recorrido completo antes de la primera venta
Crea un servicio y un paquete de prueba, registra una clienta ficticia y revisa venta, cita y saldo antes de usar la rutina real.
Crear mi cuenta