Niveles de fidelidad
El sistema de niveles de fidelidad recompensa a los clientes habituales con descuentos automáticos basados en su actividad acumulada. A medida que los miembros usan el café (gastando dinero, iniciando sesión, comprando paquetes o realizando pedidos) ganan puntos de fidelidad. Cuando sus puntos totales superan el umbral de un nivel, avanzan a un nivel superior y reciben un mayor descuento en los precios de las sesiones.
Estructura de niveles
Cada nivel de fidelidad se define por cuatro campos:
| Campo | Descripción |
|---|---|
code |
Un código corto único para el nivel (por ejemplo, silver, gold, vip). Se usa internamente para identificación y en las respuestas de la API. |
name |
Un nombre visible legible (por ejemplo, "Miembro Plata", "Miembro Oro"). Se muestra en el perfil del miembro y en la pantalla de bloqueo del cliente. |
threshold_points |
La cantidad mínima de puntos de fidelidad que un miembro debe acumular para calificar a este nivel. |
discount_bps |
El descuento aplicado al precio de las sesiones, expresado en puntos base. 100 BPS equivalen al 1%. Un valor de 500 significa un descuento del 5%. |
Los niveles se ordenan por su valor de threshold_points. Un miembro pertenece al nivel más alto para el cual cumple el umbral de puntos.
Descuentos en puntos base (BPS)
Los descuentos se expresan en puntos base (BPS) en lugar de porcentajes para evitar errores de redondeo de punto flotante en los cálculos financieros. Un punto base equivale al 0.01%, o una centésima de porcentaje.
Valores de descuento comunes:
| Valor BPS | Porcentaje | Ejemplo con tarifa de 1000 unidades/hora |
|---|---|---|
| 250 | 2.5% | El miembro paga 975 por hora |
| 500 | 5% | El miembro paga 950 por hora |
| 1000 | 10% | El miembro paga 900 por hora |
| 1500 | 15% | El miembro paga 850 por hora |
| 2000 | 20% | El miembro paga 800 por hora |
Cuando un miembro con descuento de nivel inicia una sesión, el motor de precios reduce la tarifa por hora base según el discount_bps del nivel antes de calcular los costos de los segmentos.
Eventos de fidelidad
Los miembros ganan puntos a través de eventos de fidelidad. Cada evento registra un cambio de puntos y la actividad que lo activó:
| Tipo de evento | Descripción | Puntos típicos |
|---|---|---|
spend |
El miembro pagó por una sesión (pospago o deducción de monedero). Los puntos son proporcionales al monto gastado. | Varía según el monto |
usage |
El miembro usó un PC o consola para una sesión, independientemente del pago. Los puntos se basan en la duración del uso. | Varía según los minutos |
visit |
El miembro inició sesión desde un PC cliente. Un bono fijo por cada visita, incentivando la asistencia regular. | Fijo por visita |
topup |
El miembro agregó fondos a su monedero. Los puntos reflejan el monto de la recarga. | Varía según la recarga |
order |
El miembro realizó un pedido de productos (comida, bebidas, etc.). Los puntos son proporcionales al total del pedido. | Varía según el total |
adjustment |
Un ajuste manual de puntos realizado por un administrador. Se usa para correcciones, promociones o recompensas especiales. | Cualquier valor (positivo o negativo) |
Cada registro de evento de fidelidad incluye:
- points_delta: La cantidad de puntos ganados (positivo) o perdidos (negativo) de este evento.
- amount_minor: El monto monetario asociado al evento (en unidades menores de moneda), si aplica.
- minutes_delta: La cantidad de minutos asociados al evento, si aplica.
- source_entity / source_entity_id: Una referencia a la sesión, pedido o transacción que generó el evento.
- event_at: La marca de tiempo de cuando ocurrió el evento.
Progresión de niveles
La progresión de niveles funciona de la siguiente manera:
- Un miembro realiza una actividad (sesión, compra, inicio de sesión, etc.).
- El sistema crea un evento de fidelidad con el
points_deltacorrespondiente. - Los puntos totales del miembro se recalculan como la suma de todos los valores
points_deltade sus eventos de fidelidad. - El sistema verifica si el nuevo total cumple el umbral para un nivel superior.
- Si el miembro califica para un nuevo nivel, su campo
tierse actualiza y el nuevo descuento toma efecto en su próxima sesión.
La asignación de niveles también puede establecerse manualmente por un administrador, anulando el cálculo automático.
Cómo los descuentos de nivel aplican a los precios de sesión
Cuando el motor de precios calcula el costo de un segmento de sesión para un miembro:
- El precio por hora base se determina por la franja de precios activa.
- Si el miembro tiene un nivel con valor de
discount_bps, el precio base se reduce:precio_descontado = precio_base * (10000 - discount_bps) / 10000. - Adicionalmente, los descuentos individuales a nivel de miembro (
member_discount_bpsen el registro del miembro) se aplican si están presentes. - La tarifa descontada final se usa para calcular el costo del segmento.
Los descuentos de nivel y los descuentos a nivel de miembro pueden acumularse, dando al miembro el beneficio combinado de ambos.
Crear y gestionar niveles
Para crear un nuevo nivel:
- Navegue a Configuración y abra la sección de Precios (o el área dedicada de gestión de niveles).
- Haga clic en Agregar nivel.
- Ingrese el código (único, en minúsculas), nombre (etiqueta visible), puntos de umbral y descuento BPS.
- Guarde el nivel.
Para editar un nivel existente, selecciónelo de la lista y modifique cualquiera de sus campos. Los cambios en el discount_bps de un nivel toman efecto en todos los miembros actualmente asignados a ese nivel, comenzando con su próxima sesión.
Para eliminar un nivel, quítelo de la lista. Los miembros que estaban asignados al nivel eliminado retrocederán al siguiente nivel inferior para el cual califiquen basándose en sus puntos.
Ejemplo de configuración de niveles
Una configuración típica de tres niveles podría verse así:
| Código | Nombre | Puntos de umbral | Descuento BPS |
|---|---|---|---|
bronze |
Bronce | 0 | 0 |
silver |
Plata | 500 | 500 |
gold |
Oro | 2000 | 1000 |
vip |
VIP | 5000 | 1500 |
En esta configuración, un nuevo miembro comienza en Bronce (sin descuento). Después de acumular 500 puntos por visitas, gastos y pedidos, automáticamente sube a Plata con un descuento del 5%. A los 2000 puntos alcanza Oro (10%) y a los 5000 puntos logra el estatus VIP (15%).