Niveles de fidelidad
El sistema de niveles de fidelidad recompensa a los clientes habituales con descuentos automaticos basados en su actividad acumulada. A medida que los miembros usan el cafe (gastando dinero, iniciando sesion, 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 | Descripcion |
|---|---|
code |
Un codigo corto unico para el nivel (por ejemplo, silver, gold, vip). Se usa internamente para identificacion 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 minima 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 mas 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 calculos financieros. Un punto base equivale al 0.01%, o una centesima 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 sesion, el motor de precios reduce la tarifa por hora base segun el discount_bps del nivel antes de calcular los costos de los segmentos.
Eventos de fidelidad
Los miembros ganan puntos a traves de eventos de fidelidad. Cada evento registra un cambio de puntos y la actividad que lo activo:
| Tipo de evento | Descripcion | Puntos tipicos |
|---|---|---|
spend |
El miembro pago por una sesion (pospago o deduccion de monedero). Los puntos son proporcionales al monto gastado. | Varia segun el monto |
usage |
El miembro uso un PC o consola para una sesion, independientemente del pago. Los puntos se basan en la duracion del uso. | Varia segun los minutos |
visit |
El miembro inicio sesion desde un PC cliente. Un bono fijo por cada visita, incentivando la asistencia regular. | Fijo por visita |
topup |
El miembro agrego fondos a su monedero. Los puntos reflejan el monto de la recarga. | Varia segun la recarga |
order |
El miembro realizo un pedido de productos (comida, bebidas, etc.). Los puntos son proporcionales al total del pedido. | Varia segun 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 sesion, pedido o transaccion que genero el evento.
- event_at: La marca de tiempo de cuando ocurrio el evento.
Progresion de niveles
La progresion de niveles funciona de la siguiente manera:
- Un miembro realiza una actividad (sesion, compra, inicio de sesion, 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 proxima sesion.
La asignacion de niveles tambien puede establecerse manualmente por un administrador, anulando el calculo automatico.
Como los descuentos de nivel aplican a los precios de sesion
Cuando el motor de precios calcula el costo de un segmento de sesion 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 estan 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 Configuracion y abra la seccion de Precios (o el area dedicada de gestion de niveles).
- Haga clic en Agregar nivel.
- Ingrese el codigo (unico, en minusculas), nombre (etiqueta visible), puntos de umbral y descuento BPS.
- Guarde el nivel.
Para editar un nivel existente, seleccionelo 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 proxima sesion.
Para eliminar un nivel, quitelo de la lista. Los miembros que estaban asignados al nivel eliminado retrocederan al siguiente nivel inferior para el cual califiquen basandose en sus puntos.
Ejemplo de configuracion de niveles
Una configuracion tipica de tres niveles podria verse asi:
| Codigo | Nombre | Puntos de umbral | Descuento BPS |
|---|---|---|---|
bronze |
Bronce | 0 | 0 |
silver |
Plata | 500 | 500 |
gold |
Oro | 2000 | 1000 |
vip |
VIP | 5000 | 1500 |
En esta configuracion, un nuevo miembro comienza en Bronce (sin descuento). Despues de acumular 500 puntos por visitas, gastos y pedidos, automaticamente 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%).