Monedero del miembro
El monedero del miembro es un sistema de saldo monetario que permite a los miembros prepagar servicios del café. En lugar de pagar en efectivo por cada sesión individual, un miembro puede cargar fondos en su monedero y el sistema deduce de ese saldo automáticamente mientras usa PCs, consolas o pide productos.
Arquitectura basada en créditos
El monedero usa un sistema de créditos en lugar de un saldo único acumulado. Cada vez que se agregan fondos al monedero de un miembro, el sistema crea un nuevo crédito de monedero. Cada entrada de crédito es un registro individual con su propio saldo, origen, expiración y restricción de dispositivo. Este diseño proporciona:
- Trazabilidad completa del origen de cada unidad de saldo.
- Fechas de expiración independientes por entrada de crédito.
- Restricciones específicas por dispositivo (algunos créditos pueden ser utilizables solo en PCs, otros solo en consolas).
- Separación clara entre fondos pagados y bonificaciones promocionales.
El saldo total del monedero del miembro es la suma de todos los valores restantes en sus entradas de crédito activas.
Tipos de crédito
Cada crédito de monedero tiene un tipo de crédito que identifica cómo los fondos ingresaron al sistema:
| Tipo de crédito | Descripción |
|---|---|
| Pagado | El miembro pagó por estos fondos (efectivo, tarjeta u otro método de pago). Se crea al comprar un paquete de campaña basado en dinero. |
| Bonificación | Fondos promocionales otorgados como parte de una compra de paquete. Por ejemplo, "pague por 100 minutos y reciba 20 minutos equivalentes en crédito de bonificación". |
| Manual | Cargado manualmente por un cajero o administrador. Se usa para créditos de buena voluntad o acuerdos especiales. |
| Corrección | Un ajuste administrativo para corregir un error en el saldo del miembro. |
| Migración | Fondos importados de un sistema anterior durante la migración de datos. |
| Reembolso revertido | Fondos restaurados cuando un reembolso emitido previamente se revierte. |
El tipo de crédito se establece cuando el crédito se crea y no puede cambiarse después. Sirve como una pista de auditoría permanente.
Estado del crédito
Cada crédito de monedero pasa por un ciclo de vida registrado por su estado:
- Activo: El crédito tiene fondos restantes y no ha expirado. Los fondos pueden consumirse de este crédito.
- Expirado: La fecha de expiración del crédito ha pasado. Los fondos restantes ya no son utilizables.
- Consumido: El saldo restante del crédito ha llegado a cero a través del consumo normal.
- Cancelado: El crédito fue cancelado manualmente por un administrador, anulando cualquier saldo restante.
Consumo del monedero
Cuando se cobra al monedero de un miembro (por tiempo de sesión, un pedido u otro evento facturable), el sistema crea un registro de consumo de monedero que se vincula a una entrada de crédito específica y registra exactamente cuánto se dedujo.
Cada registro de consumo incluye un contexto que identifica qué activó la deducción:
| Contexto | Descripción |
|---|---|
| Uso de sesión | Fondos consumidos para pagar el tiempo de uso de sesión. El sistema deduce del monedero mientras la sesión avanza. |
| Pago de monedero | Un pago directo desde el monedero (por ejemplo, cuando el miembro paga un pedido de productos usando el saldo del monedero). |
| Pedido | Fondos consumidos para pagar un pedido de productos en el mostrador del café o entregado al PC del miembro. |
| Reembolso | Un ajuste negativo creado cuando se procesa un reembolso, reduciendo el consumo para devolver fondos a la entrada de crédito. |
Cada registro de consumo se vincula a la sesión, pedido o transacción específica que lo causó, permitiendo trazabilidad completa de auditoría.
Registro de saldo
Además de los registros de consumo a nivel de crédito, el sistema mantiene un registro de saldo del miembro que registra cada evento que cambia el saldo general del monedero del miembro:
| Tipo de evento | Descripción |
|---|---|
load |
Se agregaron fondos al monedero (nueva entrada de crédito creada o una existente recargada). |
spend |
Se consumieron fondos del monedero (pago de sesión, pago de pedido). |
refund |
Se devolvieron fondos al monedero (reembolso de pedido, reembolso de sesión). |
adjustment |
Se realizó un cambio administrativo al saldo (corrección, cancelación). |
Cada entrada del registro de saldo registra el monto del cambio y el saldo resultante, para que pueda reconstruir el saldo del miembro en cualquier punto en el tiempo leyendo el registro cronológicamente.
Restricción de dispositivo
Cada crédito de monedero tiene una restricción de dispositivo que controla qué tipos de dispositivos pueden consumir de él:
| Restricción | Significado |
|---|---|
| Cliente | Utilizable en PCs cliente. También utilizable en consolas a menos que el crédito esté explícitamente restringido. |
| Consola | Utilizable en consolas de juego. También utilizable en PCs a menos que esté explícitamente restringido. |
| Solo PCs | Utilizable exclusivamente en PCs cliente. Las sesiones de consola no pueden consumir este crédito. |
| Solo consolas | Utilizable exclusivamente en consolas de juego. Las sesiones de PC no pueden consumir este crédito. |
| Ambos | Utilizable en cualquier tipo de dispositivo sin restricción. Este es el valor predeterminado. |
Cuando el sistema necesita deducir del monedero de un miembro, filtra los créditos disponibles por restricción de dispositivo para asegurar que solo se cobren los créditos elegibles.
Categoría del monedero y gasto entre categorías
Los créditos del monedero pueden etiquetarse con una categoría de monedero (por ejemplo, "gaming" o "general"). Esto permite al café crear grupos de saldo aislados que solo pueden gastarse en ciertos contextos.
La opción de gasto entre categorías en cada crédito controla si sus fondos pueden usarse fuera de la categoría designada:
- Cuando está deshabilitada (predeterminado), el crédito solo puede consumirse en su propia categoría.
- Cuando está habilitada, el crédito también puede consumirse por transacciones en otras categorías.
Si un crédito no tiene categoría de monedero asignada, se trata como un crédito de propósito general y puede ser consumido por cualquier transacción sin importar la categoría.
Cómo funcionan las recargas
Los fondos del monedero pueden agregarse de varias maneras:
Compra de paquete de campaña: Cuando un miembro compra un paquete basado en dinero de una campaña, el sistema crea automáticamente créditos de monedero basados en la definición del paquete. Una sola compra de paquete puede crear múltiples créditos (uno para la porción pagada, otro para la porción de bonificación).
Carga manual: Un cajero puede agregar fondos manualmente al monedero de un miembro desde el panel de detalles del miembro. Esto crea una entrada de crédito con el tipo "Manual".
Migración: Durante la configuración del sistema, los saldos existentes de un sistema anterior pueden importarse como entradas de crédito con el tipo "Migración".
Cómo se consume el monedero durante las sesiones
Cuando un miembro con saldo de monedero inicia una sesión, el sistema puede pagar automáticamente la sesión desde el monedero:
- El motor de precios de sesión calcula el costo por minuto basado en la franja de precios activa y cualquier descuento de nivel aplicable.
- A medida que la sesión avanza, el sistema deduce periódicamente el costo acumulado de los créditos de monedero elegibles del miembro.
- Los créditos se consumen en orden de fecha de expiración (los créditos que expiran primero se usan primero) para minimizar el desperdicio por expiración.
- Si el saldo del monedero se agota antes de que termine la sesión, el costo restante se cobra como pago en efectivo al cierre de la sesión.
- Cada deducción crea un registro de consumo vinculado a la sesión como una entrada de "Uso de sesión".