Appearance
Productos del Miembro
Modulo: Membresias Tipo: Resource Estado: Implementado Fecha: 2026-01-27
Descripcion
Problema que resuelve
Los miembros de la organizacion pueden tener productos asociados que representan servicios o bienes contratados como parte de su membresia. La gestion de estas asignaciones presenta los siguientes desafios:
- Necesidad de vincular productos a miembros con ajustes de precio personalizados
- Configuracion flexible de ajustes: porcentuales o fijos, positivos o negativos (descuentos o recargos)
- Requerimiento de asignar el mismo producto a multiples miembros de forma eficiente
- Necesidad de desasignar productos de forma masiva cuando ya no aplican
- Gestion de observaciones especificas por miembro y producto
Solucion implementada
Se implemento un sistema completo de gestion de productos por miembro con operaciones individuales y masivas:
- Consulta individual: Visualizar productos asignados a un miembro con sus ajustes de precio
- Asignacion individual: Agregar un producto a un miembro con configuracion de ajuste de precio
- Modificacion: Cambiar el ajuste de precio de un producto ya asignado
- Desasignacion individual: Quitar un producto de un miembro
- Asignacion masiva: Asignar el mismo producto con la misma configuracion de ajuste a multiples miembros simultaneamente
- Eliminacion masiva: Desasignar un producto de multiples miembros simultaneamente
Valor de negocio
- Personalizacion: Cada miembro puede tener ajustes de precio especificos para cada producto (descuentos, bonificaciones, recargos)
- Eficiencia operativa: La asignacion masiva reduce significativamente el tiempo de gestion cuando se debe vincular un producto a decenas o cientos de miembros
- Transparencia: Reportes de resultados de operaciones masivas que detallan exitos y omisiones con sus razones
- Flexibilidad: Soporte para ajustes porcentuales y de monto fijo, tanto positivos como negativos
- Trazabilidad: Observaciones por asignacion para documentar condiciones especiales
Contexto del sistema
Esta funcionalidad se relaciona con:
- Gestion de Miembros: Los productos se asignan en el contexto de cada miembro
- Catalogo de Productos: Los productos disponibles estan definidos en el catalogo base del sistema
- Listado de Miembros: El listado permite filtrar miembros por producto asignado y seleccionar multiples miembros para operaciones masivas
- Facturacion de Membresias: Los productos asignados al miembro alimentan el proceso de facturacion periodica con sus ajustes de precio
Frontend (Perspectiva de Usuario)
Vistas
Listado de Productos del Miembro
- Modal que muestra todos los productos asignados a un miembro
- Para cada producto se muestra el nombre, el ajuste de precio configurado y las observaciones
- Acciones disponibles para agregar, editar y eliminar productos
Modal de Asignacion de Producto
- Formulario para agregar un producto al miembro
- Selector de producto (del catalogo disponible)
- Configuracion de ajuste de precio:
- Signo del ajuste: positivo (+) o negativo (-)
- Tipo de ajuste: Porcentual (P) o Fijo (F)
- Valor del ajuste
- Campo de observaciones adicionales
Modal de Edicion de Producto
- Formulario para modificar el ajuste de precio de un producto ya asignado
- Permite cambiar signo, tipo, valor del ajuste y observaciones
Modal de Confirmacion de Eliminacion
- Dialogo de confirmacion antes de desasignar un producto del miembro
Vista de Asignacion Masiva de Productos
- Vista dedicada para operaciones masivas sobre productos de miembros
- Reutiliza la seleccion multiple de miembros del listado principal
- Configuracion del producto y ajuste de precio a aplicar masivamente
- Reporte de resultados de la operacion: cantidad exitosa y omitida con razones
Interacciones del usuario
Gestion individual (desde detalle del miembro):
- Acceder al detalle de un miembro y abrir la gestion de productos
- Visualizar los productos asignados con sus ajustes de precio
- Agregar un producto seleccionandolo del catalogo, configurando el ajuste de precio y opcionalmente ingresando observaciones
- Modificar el ajuste de precio de un producto ya asignado
- Eliminar un producto del miembro previa confirmacion
Asignacion masiva:
- Desde el listado de miembros, seleccionar multiples miembros
- Acceder a la vista de asignacion masiva de productos
- Seleccionar el producto a asignar
- Configurar el ajuste de precio (signo, tipo, valor) que se aplicara a todos los miembros seleccionados
- Confirmar la asignacion masiva
- Revisar el reporte de resultados: miembros asignados exitosamente y miembros omitidos con las razones (por ejemplo, ya tenian el producto asignado)
Eliminacion masiva:
- Desde el listado de miembros, seleccionar multiples miembros
- Acceder a la vista de asignacion masiva de productos
- Seleccionar el producto a desasignar
- Confirmar la eliminacion masiva
- Revisar el reporte de resultados
Permisos
| Permiso | Descripcion | Acciones permitidas |
|---|---|---|
| Visualizar miembros | Acceso de lectura al miembro y sus productos | Listar productos asignados |
| Gestionar miembros | Acceso de escritura sobre el miembro | Asignar, modificar y desasignar productos (individual y masivo) |
Estados de UI
Gestion individual:
- Cargando: Indicador mientras se obtienen los productos del miembro
- Datos disponibles: Listado de productos con ajustes de precio y acciones
- Sin productos: Mensaje informativo cuando el miembro no tiene productos asignados
- Guardando: Indicador de progreso al asignar, modificar o eliminar un producto
- Exito: Confirmacion de la operacion realizada
- Error: Mensaje de error si falla la operacion
Asignacion masiva:
- Configurando: El usuario selecciona producto y ajuste de precio para la asignacion masiva
- Procesando: Indicador de progreso durante la operacion masiva
- Reporte de resultados: Vista que muestra la cantidad de miembros asignados exitosamente y los miembros omitidos con sus razones especificas
- Error: Mensaje de error si la operacion masiva falla completamente
Eliminacion masiva:
- Confirmando: Dialogo de confirmacion de la eliminacion masiva
- Procesando: Indicador de progreso durante la eliminacion
- Reporte de resultados: Vista con el resultado de la eliminacion masiva
- Error: Mensaje de error si la operacion falla
Backend (Perspectiva de Datos de Negocio)
Entidades de negocio
Producto del Miembro
Representa la relacion entre un miembro y un producto del catalogo, incluyendo un ajuste de precio personalizado y observaciones.
Datos necesarios
| Dato | Descripcion | Restricciones |
|---|---|---|
| Miembro | Referencia al miembro al que se asigna el producto | Requerido, debe existir |
| Producto | Referencia al producto del catalogo | Requerido, debe existir en el catalogo |
| Signo del ajuste | Indica si el ajuste es positivo (+) o negativo (-) | Requerido: + o - |
| Tipo de ajuste | Indica si el ajuste es porcentual o de monto fijo | Requerido: P (Porcentual) o F (Fijo) |
| Valor del ajuste | Valor numerico del ajuste a aplicar | Numerico |
| Observaciones | Notas adicionales sobre la asignacion | Opcional, texto libre |
Relaciones de negocio
- Un miembro puede tener multiples productos asignados
- Cada producto asignado referencia a un producto del catalogo base
- Cada asignacion tiene un ajuste de precio independiente (signo + tipo + valor)
- La relacion entre miembro y producto es unica (no se puede asignar el mismo producto dos veces al mismo miembro)
Validaciones de negocio
| Validacion | Descripcion |
|---|---|
| Producto valido | El producto debe existir en el catalogo del sistema |
| Miembro existente | El miembro debe existir en el sistema |
| Signo valido | El signo del ajuste debe ser + (positivo) o - (negativo) |
| Tipo valido | El tipo de ajuste debe ser P (Porcentual) o F (Fijo) |
| Valor numerico | El valor del ajuste debe ser un numero valido |
Reglas de Negocio
RN-001: Ajuste de precio personalizado
Descripcion: Cada asignacion de producto a un miembro incluye un ajuste de precio que modifica el precio base del producto para ese miembro.
Condicion: Al asignar o modificar un producto del miembro.
Accion:
- El ajuste se configura con tres componentes:
- Signo: Positivo (+) para recargo, Negativo (-) para descuento
- Tipo: Porcentual (P) para ajuste en porcentaje, Fijo (F) para ajuste en monto
- Valor: La magnitud del ajuste
- Ejemplo: Signo "-", Tipo "P", Valor "10" significa un descuento del 10% sobre el precio base del producto
- Ejemplo: Signo "+", Tipo "F", Valor "500" significa un recargo fijo de $500 sobre el precio base
RN-002: Unicidad de asignacion de producto
Descripcion: Un miembro no puede tener el mismo producto asignado mas de una vez.
Condicion: Al intentar asignar un producto a un miembro (individual o masivamente).
Accion:
- El sistema verifica si el producto ya esta asignado al miembro
- Si ya existe la asignacion, se rechaza la operacion (individual) o se omite el miembro (masiva) con la razon correspondiente
- Si no existe, se permite la asignacion
RN-003: Asignacion masiva con configuracion unica
Descripcion: La asignacion masiva aplica el mismo producto con la misma configuracion de ajuste de precio a todos los miembros seleccionados.
Condicion: El usuario solicita asignar un producto a multiples miembros.
Accion:
- Se selecciona un unico producto del catalogo
- Se configura un unico ajuste de precio (signo, tipo, valor) que se aplica a todos
- El sistema procesa cada miembro individualmente:
- Si el miembro no tiene el producto: lo asigna con el ajuste configurado
- Si el miembro ya tiene el producto: lo omite y registra la razon
- Al finalizar, se presenta un reporte de resultados
RN-004: Reporte de resultados de operaciones masivas
Descripcion: Las operaciones masivas (asignacion y eliminacion) generan un reporte detallado de resultados.
Condicion: Se completa una operacion masiva de productos.
Accion:
- El reporte incluye:
- Cantidad de miembros procesados exitosamente
- Cantidad de miembros omitidos
- Para cada miembro omitido: la razon especifica de la omision (por ejemplo, "ya tiene el producto asignado", "miembro no encontrado")
- El reporte se presenta al usuario al finalizar la operacion
RN-005: Eliminacion masiva de productos
Descripcion: La eliminacion masiva permite desasignar un producto de multiples miembros en una sola operacion.
Condicion: El usuario solicita eliminar un producto de multiples miembros seleccionados.
Accion:
- Se selecciona el producto a desasignar
- El sistema procesa cada miembro individualmente:
- Si el miembro tiene el producto asignado: lo desasigna
- Si el miembro no tiene el producto: lo omite
- Al finalizar, se presenta un reporte de resultados similar al de la asignacion masiva
RN-006: Observaciones por asignacion
Descripcion: Cada asignacion de producto puede incluir observaciones adicionales para documentar condiciones especiales o acuerdos.
Condicion: Al asignar o modificar un producto del miembro.
Accion:
- El campo de observaciones es opcional
- Permite texto libre para registrar informacion relevante de la asignacion
- Las observaciones se almacenan y se muestran al consultar los productos del miembro
Casos de Uso
CU-001: Asignar producto individual a un miembro
Actor: Usuario administrativo con permiso de gestion de miembros
Objetivo: Vincular un producto del catalogo a un miembro con un ajuste de precio personalizado
Precondiciones:
- Usuario autenticado con permiso de gestion de miembros
- Miembro existente en el sistema
- Catalogo de productos con opciones disponibles
Flujo principal:
- El usuario accede al detalle del miembro
- El usuario abre la gestion de productos
- El sistema muestra los productos actualmente asignados con sus ajustes
- El usuario selecciona la opcion "Agregar producto"
- El sistema presenta el formulario con selector de producto y configuracion de ajuste
- El usuario selecciona el producto del catalogo
- El usuario configura el ajuste de precio:
- Selecciona signo: positivo (+) o negativo (-)
- Selecciona tipo: Porcentual (P) o Fijo (F)
- Ingresa el valor del ajuste
- Opcionalmente, el usuario ingresa observaciones
- El usuario confirma la asignacion
- El sistema valida que el producto no este ya asignado
- El sistema crea la asignacion con el ajuste configurado
- El listado se actualiza mostrando el nuevo producto
Postcondiciones:
- El miembro tiene el producto asignado con su ajuste de precio personalizado
- Las observaciones quedan registradas si fueron ingresadas
Flujos alternativos:
| Paso | Condicion | Accion |
|---|---|---|
| 10a | El producto ya esta asignado al miembro | Mostrar error de duplicado, no crear la asignacion |
CU-002: Asignacion masiva de producto a multiples miembros
Actor: Usuario administrativo con permiso de gestion de miembros
Objetivo: Asignar el mismo producto con la misma configuracion de ajuste a un grupo de miembros de forma eficiente
Precondiciones:
- Usuario autenticado con permiso de gestion de miembros
- Multiples miembros seleccionados en el listado
- Catalogo de productos con opciones disponibles
Flujo principal:
- El usuario accede al listado de miembros
- El usuario selecciona multiples miembros (usando los controles de seleccion)
- El usuario accede a la vista de asignacion masiva de productos
- El usuario selecciona el producto a asignar del catalogo
- El usuario configura el ajuste de precio (signo, tipo, valor) que se aplicara a todos
- El usuario confirma la asignacion masiva
- El sistema procesa cada miembro seleccionado:
- Asigna el producto si el miembro no lo tiene
- Omite el miembro si ya tiene el producto, registrando la razon
- El sistema presenta el reporte de resultados:
- Cantidad de asignaciones exitosas
- Cantidad de miembros omitidos con razones
Postcondiciones:
- Los miembros que no tenian el producto ahora lo tienen asignado con el ajuste configurado
- Los miembros que ya tenian el producto no fueron modificados
- El usuario dispone del reporte de resultados para revision
Flujos alternativos:
| Paso | Condicion | Accion |
|---|---|---|
| 2a | No hay miembros seleccionados | El acceso a asignacion masiva no esta disponible |
| 7a | Todos los miembros ya tienen el producto | El reporte muestra 0 exitosos y el total como omitidos |
CU-003: Eliminacion masiva de producto de multiples miembros
Actor: Usuario administrativo con permiso de gestion de miembros
Objetivo: Desasignar un producto de un grupo de miembros de forma eficiente
Precondiciones:
- Usuario autenticado con permiso de gestion de miembros
- Multiples miembros seleccionados en el listado
Flujo principal:
- El usuario accede al listado de miembros
- El usuario selecciona multiples miembros
- El usuario accede a la vista de asignacion masiva de productos
- El usuario selecciona la opcion de eliminacion masiva
- El usuario selecciona el producto a desasignar
- El usuario confirma la eliminacion masiva
- El sistema procesa cada miembro seleccionado:
- Desasigna el producto si el miembro lo tiene
- Omite el miembro si no tiene el producto
- El sistema presenta el reporte de resultados
Postcondiciones:
- Los miembros que tenian el producto ya no lo tienen asignado
- Los miembros que no tenian el producto no fueron afectados
- El usuario dispone del reporte de resultados
Consideraciones
Seguridad
- Los productos del miembro se gestionan bajo los mismos permisos que el miembro
- Las operaciones masivas requieren los mismos permisos de gestion que las individuales
- Solo usuarios con permiso de gestion pueden asignar, modificar y desasignar productos
Auditoria
- Las operaciones individuales de asignacion, modificacion y desasignacion quedan registradas en el sistema de auditoria
- Las operaciones masivas registran el detalle de cada miembro procesado (exitoso u omitido)
- Se registra el usuario, fecha, hora y la operacion realizada
Rendimiento
- La consulta de productos del miembro se resuelve de forma eficiente como parte del detalle del miembro
- Las operaciones masivas procesan los miembros de forma optimizada para minimizar el tiempo de ejecucion
- El reporte de resultados de operaciones masivas se genera en la misma solicitud
Dependencias
Funcionalidades relacionadas
- Gestion de Miembros: Los productos son un sub-recurso del miembro
- Catalogo de Productos: Define los productos disponibles para asignacion
- Listado de Miembros: Permite filtrar miembros por producto asignado y seleccionar miembros para operaciones masivas
- Facturacion de Membresias: Los productos asignados al miembro con sus ajustes de precio alimentan el proceso de facturacion periodica
Criterios de Aceptacion
Gestion individual
- [x] AC-001: El usuario puede visualizar los productos asignados a un miembro con sus ajustes de precio y observaciones
- [x] AC-002: El usuario puede asignar un producto seleccionandolo del catalogo y configurando el ajuste de precio (signo, tipo, valor)
- [x] AC-003: El ajuste de precio soporta signo positivo (+) y negativo (-), tipo Porcentual (P) y Fijo (F), y un valor numerico
- [x] AC-004: El usuario puede ingresar observaciones al asignar un producto
- [x] AC-005: El usuario puede modificar el ajuste de precio de un producto ya asignado
- [x] AC-006: El usuario puede desasignar un producto del miembro previa confirmacion
- [x] AC-007: El sistema rechaza la asignacion si el producto ya esta asignado al miembro
Asignacion masiva
- [x] AC-008: El usuario puede seleccionar multiples miembros del listado para asignacion masiva
- [x] AC-009: La asignacion masiva permite seleccionar un producto y configurar un ajuste de precio unico para todos los miembros
- [x] AC-010: El sistema procesa cada miembro individualmente, asignando o omitiendo segun corresponda
- [x] AC-011: Al finalizar, el sistema presenta un reporte con la cantidad de miembros asignados exitosamente y los omitidos con sus razones
Eliminacion masiva
- [x] AC-012: El usuario puede seleccionar multiples miembros del listado para eliminacion masiva de un producto
- [x] AC-013: La eliminacion masiva desasigna el producto de todos los miembros que lo tengan
- [x] AC-014: Al finalizar, el sistema presenta un reporte de resultados similar al de la asignacion masiva
Notas Adicionales
Ajuste de precio: componentes y ejemplos
El ajuste de precio se compone de tres elementos que juntos determinan como se modifica el precio base del producto para un miembro especifico:
| Signo | Tipo | Valor | Significado | Ejemplo (precio base $1000) |
|---|---|---|---|---|
| - | P | 10 | Descuento del 10% | Precio final: $900 |
| + | P | 15 | Recargo del 15% | Precio final: $1150 |
| - | F | 200 | Descuento de $200 | Precio final: $800 |
| + | F | 500 | Recargo de $500 | Precio final: $1500 |
Relacion con facturacion
Los productos asignados a los miembros con sus ajustes de precio son un insumo directo para el proceso de facturacion periodica de membresias. Cuando se genera una factura para un miembro, el sistema toma los productos asignados y aplica los ajustes de precio configurados para calcular el monto a facturar.
Vista de asignacion masiva
La vista de asignacion masiva de productos es una vista dedicada que permite tanto la asignacion como la eliminacion masiva. El flujo de trabajo comienza desde el listado de miembros, donde el usuario selecciona los miembros objetivo, y continua en esta vista donde configura la operacion y revisa los resultados.
Historial de Cambios
| Fecha | Version | Autor | Descripcion |
|---|---|---|---|
| 2026-01-27 | 1.0 | Sistema | Creacion del documento - Funcionalidad implementada y en produccion |