Inicio
NexoPOS
BellSera — Gestión de reservas de spa y salón para NexoPOS

BellSera — Gestión de reservas de spa y salón para NexoPOS

BellSera — Gestión de reservas de spa y salón para NexoPOS

BellSera agrega la programación de citas de servicio y las operaciones diarias de servicio a NexoPOS. Conecta el catálogo de productos, los clientes, los pedidos, el personal, las salas, los pagos y el TPV para que un negocio de servicios pueda gestionar reservas programadas y clientes que llegan sin cita desde un solo sistema.

El módulo incluye:

  • Una página pública de reserva de autoservicio.
  • Tipos de pedidos POS con reserva y sin reserva.
  • Un calendario de citas del panel de control y una lista de citas.
  • Gestión de la disponibilidad del personal y de las habitaciones.
  • Colas de ejecución de múltiples servicios con temporizadores persistentes.
  • Herramientas de asistencia, pago, cambio de personal, calificación y generación de informes.
  • Mensajes SMS opcionales de confirmación, recordatorio y encuesta a través de NsSMS.

Información del módulo

Item Value
Display name BellSera
Namespace NsAppointments
Version 6.2.0
Author NexoPOS
Supported NexoPOS core 6.2.2 through 6.2.99
Optional integration NsSMS 6.2.1 or newer
Public booking path /appointments

Resumen de características

Reserva en línea pública

La página pública de reservas permite que un cliente:

  1. Explora las categorías de servicios y los servicios disponibles.
  2. Revisa la imagen, la descripción, la duración, el precio y el requisito de pago de cada servicio.
  3. Agrega uno o más servicios a un carrito de reservas.
  4. Elija cualquier miembro del personal disponible o solicite un miembro del personal elegible específico.
  5. Elija una habitación disponible cuando la asignación de habitaciones esté habilitada.
  6. Selecciona una fecha y busca un horario de cita válido.
  7. Ingrese su nombre, dirección de correo electrónico, número de teléfono y notas.
  8. Envíe la solicitud de cita y reciba una referencia de reserva única.

Los espacios disponibles respetan:

  • Días laborables y horarios de apertura configurados.
  • El intervalo de ranura.
  • Aviso mínimo de reserva.
  • La ventana máxima de reserva anticipada.
  • Duración del servicio y buffers antes/después.
  • Funciones del personal asignadas a cada categoría de servicio.
  • Las citas existentes que bloquean al personal, la sala o el recurso seleccionado.
  • El estado operativo actual del personal y las habitaciones.

El pago público crea o reutiliza un cliente de NexoPOS, crea un pedido de NexoPOS vinculado y almacena la cita y sus líneas de servicio individuales.

Nota de pago: la página pública calcula si no se requiere ningún pago, un depósito parcial o el pago completo. Registra ese importe como adeudado y muestra las instrucciones de pago manual configuradas. No procesa directamente un pago en línea.

Los endpoints de disponibilidad pública y de checkout están limitados en cuanto a la tasa para reducir el abuso.

Configuración del catálogo de servicios

BellSera amplía el catálogo de NexoPOS en lugar de mantener una base de datos de productos independiente.

En Configuración de BellSera → Catálogo, los administradores pueden definir:

  • Categorías de servicio: los productos de estas categorías pueden convertirse en servicios reservables.
  • Categorías de productos vendibles: productos minoristas regulares o complementos opcionales para citas.
  • Asignación de habitación: si se debe seleccionar una habitación para los servicios de citas en el TPV.

Una categoría no puede ser, al mismo tiempo, una categoría de servicio y una categoría vendible.

Cada producto tiene una pestaña de configuración de Citas con:

  • Servicio habilitado/deshabilitado para reservas.
  • Duración del servicio en minutos.
  • Tiempo de margen antes del servicio.
  • Tiempo de espera después del servicio.
  • Requisito de pago: ninguno, depósito parcial o pago completo.
  • Tipo de depósito: cantidad fija o porcentaje.
  • Valor del depósito.

Un servicio debe tener una unidad de venta configurada antes de que pueda programarse.

Inscripción del personal y elegibilidad para el servicio

El personal de citas se basa en usuarios y roles normales de NexoPOS.

Los administradores configuran:

  • Los roles de NexoPOS cuyos usuarios activos pueden convertirse en personal de citas.
  • Los roles permitidos para prestar servicios en cada categoría de servicio.
  • El nombre para mostrar de cada trabajador.
  • Si el trabajador tiene habilitadas las citas.
  • La disponibilidad actual del trabajador: disponible, no disponible o ocupado.

Los perfiles de los trabajadores se crean automáticamente a partir de los roles configurados. No se pueden crear o eliminar manualmente desde la pantalla del personal de citas; deshabilita un perfil de trabajador en su lugar.

Solo se ofrecen para nuevas reservas los trabajadores activos y disponibles que tengan un rol elegible para una categoría de servicio. Iniciar un servicio marca a su trabajador como ocupado, y completar o detener el último servicio activo del trabajador lo vuelve a dejar disponible.

Gestión de habitaciones

Las habitaciones se pueden crear y administrar desde BellSera → Habitaciones.

Cada habitación admite:

  • Nombre.
  • Miniatura.
  • Descripción.
  • Precio adicional.
  • Estado de disponibilidad: disponible, no disponible o ocupado.

Solo se pueden asignar habitaciones disponibles. Una habitación puede estar libre o añadir un cargo al servicio.

En el punto de venta, se aplica un cargo por habitación una vez por cada línea de servicio:

total de la línea = (precio unitario del servicio × cantidad − descuento) + cargo por habitación

El cargo de la habitación no se multiplica por la cantidad de servicio. Las habitaciones también se pueden devolver manualmente al estado disponible con Liberar habitación.

Reservas POS y visitas sin cita

El módulo registra dos tipos de pedidos de NexoPOS:

Order type Behavior
Booking A scheduled appointment. Staff select a date/time, service staff, optional rooms, and notes.
Walk-in An immediate appointment. The start time defaults to the current time.

Cuando cualquiera de los tipos de pedido está habilitado en la configuración de tipos de pedido de NexoPOS POS, BellSera agrega el flujo de trabajo de citas al POS:

  • Indica al cajero que elija Booking o Walk-in después de restablecer el carrito.
  • Reconoce productos configurados como servicios de cita.
  • Selecciona una habitación disponible cuando la asignación de habitaciones está habilitada.
  • Selecciona al personal elegible que esté disponible en el momento del servicio.
  • Muestra el personal asignado y la información de la sala debajo de cada línea de carrito de servicio.
  • Permite cambiar las asignaciones de personal y de habitaciones desde el carrito.
  • Gestiona las cantidades reservando un trabajador para cada ocurrencia de servicio programada.
  • Vuelve a validar la información de la reserva antes del pago cuando cambia el carrito del servicio.
  • Evita que una orden pagada/no retenida use un trabajador, una habitación o un intervalo de tiempo no disponible.
  • Conserva los campos de la cita cuando una orden se mantiene, se edita y se vuelve a cargar.
  • Crea automáticamente una cita vinculada después de que se crea o actualiza el pedido en NexoPOS.

El encabezado del TPV también incluye un botón de Citas que abre el calendario y la interfaz de operaciones de servicios en pantalla completa sin salir del TPV.

Panel de gestión de citas

El menú del panel de BellSera proporciona:

  • Calendario
  • Citas
  • Crear cita
  • Habitaciones
  • Disponibilidad del personal
  • Rendimiento del personal
  • Configuración de BellSera

La lista de citas permite crear, editar, eliminar y eliminar en bloque registros de citas según los permisos del usuario actual.

Una cita creada manualmente puede incluir:

  • Una referencia generada o personalizada.
  • Fecha y hora de inicio y de fin.
  • Estado de la cita y origen.
  • Personal o sala asignados.
  • Nombre del cliente, dirección de correo electrónico y número de teléfono.
  • Notas internas.

La programación manual rechaza conflictos de personal o de sala. Debe asignarse al menos un miembro del personal o una sala.

Operaciones de calendario y de día

El calendario muestra las reservas programadas y las visitas sin cita previa, y proporciona una vista operativa detallada para cada cita.

Los operadores pueden:

  • Navega por el calendario mensual y abre todas las citas de un día.
  • Distingue entre reservas y visitas sin cita.
  • Revise la información del cliente, el servicio, el personal, la habitación, el pedido y el pago.
  • Cambiar el estado del ciclo de vida de la cita.
  • Registrar la asistencia y una nota de asistencia.
  • Abre la pestaña de pago de la orden de NexoPOS vinculada para agregar un pago cuando quede un saldo.
  • Abra un servicio individual para iniciarlo, supervisarlo, completarlo o detenerlo.
  • Supervisa cada servicio que se esté ejecutando actualmente desde el centro de servicios activos.

Los estados del ciclo de vida de la cita son:

  • pago_pendiente
  • confirmación_pendiente
  • confirmado
  • registrado/a en el sistema
  • completado
  • cancelado
  • no_show
  • caducado

La asistencia se registra de forma independiente como:

  • se esperaba
  • llegó
  • tarde
  • no_show
  • izquierda

La asistencia y el estado del ciclo de vida se sincronizan de forma flexible. Por ejemplo, marcar como llegado a un cliente confirmado comprueba la cita, mientras que una actualización de asistencia de no presentación puede marcar una cita abierta como no presentada.

Las reservas programadas deben marcarse como Llegado o Tarde antes de que pueda comenzar un servicio. Los clientes sin cita pueden comenzar de inmediato.

Ejecución del servicio, temporizadores y colas

Cada línea de servicio tiene su propio estado operativo:

  • pendiente
  • listo
  • en_progreso
  • completado
  • incompleto
  • cancelado

El primer servicio disponible se promociona a Listo. Los operadores pueden entonces:

  • Inicia el servicio listo.
  • Sigue un temporizador de tiempo transcurrido o de cuenta regresiva basado en la duración del servicio.
  • Cierra y vuelve a abrir el temporizador sin detener el servicio.
  • Complete el servicio correctamente.
  • Detenga el servicio por estar incompleto.
  • Reinicia un servicio incompleto.
  • Inicia el siguiente servicio listo.
  • Reordena los servicios pendientes, listos y no completos con controles de arrastrar y soltar o flechas.

Los servicios en curso, completados y cancelados están bloqueados y no se pueden reordenar.

Iniciar un servicio marca al trabajador y la sala asignados como ocupados. Al completarlo o detenerlo, se liberan esos recursos cuando no se utilizan en otro servicio en ejecución.

El calendario sondea el servidor para detectar servicios activos y resalta los servicios que han alcanzado su duración esperada.

Un trabajo de seguridad por hora puede detener automáticamente los servicios que hayan permanecido en curso durante más tiempo que el umbral de inactividad configurado. Establezca Service Idle Auto-Stop en 0 para desactivar este comportamiento.

Cambio de personal

Los servicios elegibles pueden reasignarse a otro trabajador disponible.

El módulo:

  • Muestra solo a los trabajadores que son elegibles para la categoría de servicio y que son gratuitos para la ventana de servicio.
  • Requiere una razón para el cambio.
  • Detiene un servicio en curso como incompleto antes de cambiar.
  • Libera al trabajador anterior cuando corresponda.
  • Registra una entrada de auditoría que contiene el trabajador anterior, el nuevo trabajador, el motivo, el estado del servicio y la hora de cambio.
  • Recuentos de servicios desviados en los informes de desempeño del personal.

Calificaciones y encuestas de clientes

Los servicios completados pueden recibir una calificación de 1 a 5.

Las calificaciones se pueden introducir:

  • Por un operador autorizado desde la pantalla de operaciones del servicio.
  • Por el cliente a través de un enlace de encuesta pública único enviado por SMS.

Cada enlace de encuesta pertenece a un servicio completado y solo puede usarse mientras ese servicio siga siendo elegible para recibir una calificación. Una vez enviado, la calificación y la marca de tiempo se almacenan en el elemento de la cita.

Informe del desempeño del personal

La página de rendimiento del personal acepta un intervalo de fechas y muestra lo siguiente por trabajador y como totales:

  • Los servicios se han iniciado.
  • Servicios completados.
  • Los servicios se detuvieron por estar incompletos.
  • Servicios cambiados.
  • Número de servicios calificados.
  • Calificación promedio.
  • Tasa de finalización.

De forma predeterminada, el informe cubre el inicio del mes actual hasta hoy.

Notificaciones SMS opcionales

La entrega de SMS es una integración flexible con el módulo opcional NsSMS. La falta o el fallo en la entrega de SMS nunca bloquea el flujo de trabajo de una cita.

Cuando NsSMS se instala, se habilita y se configura con un proveedor, BellSera puede enviar:

  • Una confirmación cuando una cita pasa por primera vez a confirmada.
  • Un recordatorio antes de una cita confirmada.
  • Un enlace de encuesta único cuando se completa un servicio.

Las opciones de antelación para el recordatorio son 1, 3, 6, 12 o 24 horas.

Las plantillas admiten estas etiquetas:

#customer_name# #customer_phone# #appointment_reference# #starts_at# #ends_at# #service_name# #staff_name# #room_name# #store_name# #survey_url#

Los mensajes de confirmación, recordatorio y encuesta se envían, como máximo, una vez para el registro correspondiente.

Lista de verificación de configuración

Use este orden al configurar una nueva instalación:

  1. Habilitar el módulo NsAppointments.
  2. Abra Configuración de BellSera → Catálogo y seleccione las categorías de servicios y vendibles.
  3. Edita cada producto de servicio y configura su pestaña de Citas.
  4. Selecciona los roles de NexoPOS que deben crear el personal de citas.
  5. Edita cada categoría de servicio y asigna los roles que pueden realizarla.
  6. Revisa los perfiles de trabajadores generados en Disponibilidad del personal.
  7. Crea salas y habilita la asignación de salas si el negocio utiliza salas.
  8. Configura los días laborables, el horario, el intervalo de las franjas, el aviso y la ventana de reserva.
  9. Habilitar reservas y/o visitas sin cita en la configuración del tipo de pedido en NexoPOS.
  10. Opcionalmente, instala y configura NsSMS y, a continuación, personaliza las plantillas de SMS de las citas.
  11. Asegúrate de que el programador de Laravel y el trabajador de colas estén en ejecución si se requieren recordatorios por SMS o la detención automática por inactividad.

Referencia de configuración

Catálogo

Setting Purpose
Sellable Product Categories Regular products and appointment add-ons.
Service Categories Product categories treated as bookable services.
Room Assignment Requires room selection for appointment service lines at the POS.

Personal

Setting Purpose
Staff Roles Active users in these roles are provisioned as appointment workers.

Reserva

Setting Default Purpose
Public Booking Enabled Shows or disables the public booking storefront.
Business Days Monday–Saturday Days on which public slots may be generated.
Opening Time 09:00 First possible public slot.
Closing Time 18:00 End of the public booking day.
Slot Interval 15 minutes Step between generated slot start times.
Minimum Notice 120 minutes Earliest allowed public booking relative to now.
Maximum Booking Window 30 days Furthest date available for public booking.
Manual Payment Instructions Empty Instructions displayed when a deposit or full payment is due.
Service Idle Auto-Stop 180 minutes Stops overlong in-progress services; 0 disables it.

SMS

Setting Purpose
Enable SMS Master switch for appointment SMS messages.
Confirmation Send and customize confirmation messages.
Reminder Enable reminders, choose lead time, and customize the template.
Survey Send a one-time rating link after service completion.

Permisos

Las migraciones de módulos asignan todos los permisos de BellSera a los roles Administrador de NexoPOS y Administrador de la Tienda.

Permission Current use
ns.appointments.read View the appointment list, calendar, and appointment details.
ns.appointments.create Create appointments and use appointment POS context/validation.
ns.appointments.update Edit appointments, status, attendance, service queues, timers, staff switches, and ratings.
ns.appointments.delete Delete appointments.
ns.appointments.manage-staff View and update appointment worker profiles.
ns.appointments.manage-rooms Create, update, free, and delete rooms.
ns.appointments.manage-settings Open and save BellSera and SMS settings.
ns.appointments.view-reports View staff performance reports.
ns.appointments.cancel Reserved appointment permission; current calendar status changes use ns.appointments.update.
ns.appointments.manage-services Reserved appointment permission; service products and categories continue to use their normal NexoPOS CRUD access.

Las rutas del servidor aplican estos permisos; la visibilidad del menú no es el límite de seguridad.

Automatización programada

El módulo contribuye con dos trabajos programados:

Job Schedule Purpose
ns-appointments-reminder-sms Every 15 minutes Sends due reminders for confirmed appointments.
ns-appointments-idle-service-stop Hourly Stops in-progress services that exceed the configured idle threshold.

Ambos trabajos implementan el contrato de trabajos en cola de Laravel. Las implementaciones en producción que utilicen estas funciones deben ejecutar el programador de NexoPOS/Laravel y un trabajador de cola.

Datos de demostración

La pantalla de restablecimiento de NexoPOS incluye un modo de demostración de Spa Appointments. Proporciona:

  • Categorías de servicios y comercio minorista orientadas al spa.
  • Productos de servicios reservables con duraciones, buffers, precios y depósitos.
  • Funciones del personal de citas.
  • Clientes de demostración.
  • Habitaciones con imágenes y precios.
  • Programación de citas adecuada para el spa de muestra.

Advertencia: esta opción realiza un restablecimiento suave de NexoPOS antes de cargar la demostración. Úsela solo cuando el restablecimiento de los datos de la aplicación sea intencional.

Modelo de datos principal

BellSera almacena sus datos de dominio en estas tablas:

Table Responsibility
nexopos_appointments Appointment header, customer snapshot, schedule, status, attendance, payment summary, and linked order.
nexopos_appointment_items Individual services, staff/room assignments, timing, queue state, ratings, and survey state.
nexopos_appointment_services Per-product duration, buffers, activation, and payment/deposit settings.
nexopos_appointment_workers Appointment worker profiles and operational availability.
nexopos_appointment_rooms Rooms, prices, media, descriptions, and availability.
nexopos_appointment_category_roles Roles eligible for each service category.
nexopos_appointment_category_workers Materialized category-to-worker assignments.
nexopos_appointment_resources Additional schedulable resources supported by the scheduling domain.
nexopos_appointment_staff_switches Staff reassignment audit trail.

El módulo también agrega campos de citas a los pedidos de NexoPOS y a los productos del pedido para que las asignaciones de POS sobrevivan al guardado, la retención, la edición y la recarga del pedido.

HTTP expone

Páginas públicas

Method Path Purpose
GET /appointments Public booking storefront.
GET /appointments/survey/{token} Public service-rating page.

API pública

Todos los caminos de la API están bajo /api/ns-appointments/public.

Method Path Purpose
GET /catalog Booking settings, categories, services, rooms, and staff.
GET /services/{product} One public service.
GET /availability Available slots for the requested services.
POST /checkout Create the customer, order, appointment, and service items.
GET /appointments/{reference} Booking confirmation payload.
GET /survey/{token} Load a service survey.
POST /survey/{token} Submit a service rating.

Los paneles autenticados, las API de POS, de configuración y de informes se definen en Routes/api.php y están protegidas por los permisos de BellSera.

Diseño del contenido

Path Responsibility
Crud/ Appointment, room, and worker dashboard CRUD resources.
Http/Controllers/ Public, POS, calendar, settings, room, and report endpoints.
Http/Requests/ Public and POS request validation.
Listeners/ NexoPOS order synchronization, validation, product metadata persistence, and asset injection.
Migrations/ Module tables, order extensions, and permissions.
Models/ Appointment domain models.
Resources/Views/ Public, dashboard, POS, settings, and survey Blade entry points.
Resources/ts/ Vue/TypeScript applications and POS integration.
Services/ Scheduling, availability, checkout, operations, SMS, reporting, and demo logic.
Tests/Frontend/ PHPUnit feature coverage and the POS order-type JavaScript test.
Public/build/ Compiled module assets loaded by NexoPOS.

El proyecto/directorio independiente no forma parte de las entradas de activos del módulo NexoPOS en funcionamiento. El frontend del módulo activo se compila desde Resources/ts/ usando el archivo raíz vite.config.js.

Desarrollo

Ejecuta una prueba de módulo enfocada:

php artisan test --compact modules/NsAppointments/Tests/Frontend/PublicBookingFlowTest.php

Otros tests de funciones en modules/NsAppointments/Tests/Frontend cubren:

  • Reservas públicas y comprobaciones de disponibilidad en tiempo real.
  • Creación de pedidos POS y campos de cita entre el pedido y el producto del pedido persistidos.
  • Comportamiento del calendario y asistencia.
  • Asignación de habitaciones y de categoría/personal.
  • Colas de servicio, temporizadores, cambio de personal, calificaciones e informes.
  • Configuración de SMS, recordatorios y encuestas.
  • Permisos y definiciones de demostración.

Crea el frontend del módulo:

npm run build -- --config modules/NsAppointments/vite.config.js

Los puntos de entrada de Vite son:

  • Recursos/ts/pos.ts
  • Recursos/ts/booking.ts
  • Recursos/ts/calendar.ts
  • Recursos/ts/rendimiento-del-personal.ts
  • Recursos/ts/settings.ts
  • Recursos/ts/survey.ts

Los recursos compilados se escriben en Public/build y se cargan mediante directivas de activos del módulo NexoPOS.

Versión v6.2.0
Última actualización 06 Aug 2026
Descargas 0
Precio de renovación Same as purchase