Skip to content

Diana0617/BC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

782 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Beauty Control - Sistema de Gestión de Negocios 1️⃣ Descripción general

Beauty Control (BC) desarrollará un sistema de gestión para negocios de estética y bienestar, donde cada suscriptor (negocio) pueda manejar clientes, agenda de turnos, empleados, procedimientos, inventario, ventas y finanzas. Además, BC gestionará suscripciones y módulos de manera centralizada.

El sistema será una aplicación web (React + Tailwind) y eventualmente se podrá migrar a app móvil (React Native). Redux Toolkit se usará en ambos frentes para manejar el estado compartido.

2️⃣ Roles de usuario

Owner (BC)

Administra suscripciones y planes de negocio.

Define módulos disponibles (agenda, facturación, Wompi, balance, inventario, etc.).

Visualiza métricas globales y movimientos de todos los negocios.

Business / Suscriptor

Accede a los módulos contratados según su plan.

Administra su negocio: empleados, procedimientos, clientes.

Configura reglas de negocio (por ejemplo, permisos para cerrar turnos sin pago o sin consentimiento).

Visualiza balances, movimientos financieros, inventario y reportes.

Specialist

Gestiona su propia agenda y turnos.

Registra procedimientos realizados.

Sube evidencia multimedia (fotos, videos) y PDFs de consentimiento.

Puede registrar pagos o cerrar turno sin pago según reglas del negocio.

Puede vender productos de su negocio.

Receptionist

Acceso a agenda de todos los especialistas del negocio.

Puede registrar procedimientos y pagos, igual que un especialista.

Client (final)

Agenda turnos según disponibilidad.

Puede cancelar turnos indicando motivo, quedando bloqueado para nuevos turnos si existe cancelación pendiente.

3️⃣ Modelos principales 3.1 Negocio y suscripciones

Business: información del negocio, logo, estado.

SubscriptionPlan: define planes con precio y duración.

Module: representa un módulo funcional (agenda, facturación, inventario, Wompi, etc.).

PlanModule: tabla intermedia para relacionar planes con módulos.

BusinessSubscription: suscripción activa de un negocio a un plan.

3.2 Reglas y configuración del negocio

BusinessRules: reglas personalizables por negocio, incluyen:

allowCloseWithoutPayment → cerrar turno sin pago

enableCancellation → permitir cancelación de turnos

autoRefundOnCancel → devolver dinero automáticamente

createVoucherOnCancel → generar voucher

allowCloseWithoutConsent → cerrar turno sin consentimiento

cancellationPolicy → políticas de cancelación adicionales

3.3 Clientes y agenda

Client: información de clientes finales.

BusinessClient: relación entre cliente y negocio, permite que un cliente esté en varios negocios pero cada negocio vea solo su propia información.

Appointment: agenda de turnos con:

especialista asignado

estado (PENDING, COMPLETED, CANCELED)

pago (PENDING, PAID)

evidencia multimedia y PDFs de consentimiento

motivo y fecha de cancelación

ClientHistory: registro histórico de servicios, procedimientos, pagos, evidencia y consentimiento, filtrado por negocio.

3.4 Servicios y productos

Service: define procedimientos o actividades del negocio:

precio, duración

si requiere consentimiento (requiresConsent)

Product: productos de venta o consumibles

InventoryMovement: movimientos de inventario registrados por usuarios del negocio

3.5 Finanzas

FinancialMovement: registro de todo movimiento de dinero (gastos, compras, ventas de servicios/productos)

incluye usuario que lo realizó

método de pago

link a comprobante o voucher

PaymentIntegration: configuración de integraciones externas (Wompi, Taxxa, etc.)

4️⃣ Reglas de negocio clave

Cierre de turno sin pago

Permitido según BusinessRules.allowCloseWithoutPayment.

El especialista recibe alerta si intenta cerrar turno sin pago.

Cancelación de turnos por cliente

Habilitada según BusinessRules.enableCancellation.

Cliente debe indicar motivo.

Mientras exista un turno cancelado pendiente, no puede agendar nuevos turnos.

Posibilidad de devolución automática o voucher según reglas.

Consentimiento para procedimientos

Cada procedimiento puede requerir consentimiento (Service.requiresConsent).

Negocio puede permitir cerrar turno sin consentimiento (BusinessRules.allowCloseWithoutConsent).

Especialista recibe alerta si el turno se cierra sin consentimiento requerido.

Historia del cliente

Cada cliente puede tener múltiples negocios.

Cada negocio ve solo la historia de servicios realizada en su negocio.

Turnos completados o cancelados quedan registrados con evidencia y pagos.

5️⃣ Consideraciones técnicas

Tenancy: todo filtrado por businessId para aislar datos de cada negocio.

Cloudinary: almacenamiento de imágenes, videos y PDFs (consentimientos, evidencias, logos).

Flexibilidad: nuevas reglas o módulos se agregan sin tocar código mediante BusinessRules y módulos dinámicos.

Frontend/Backend: React + Tailwind, React Native para app, Node.js + Express + Sequelize para backend.

Redux compartido entre web y app para manejo de estado global.

About

Aplicacion SaaS para BeautyControl

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •