HandyCafe Docs
owner

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:

  1. Un miembro realiza una actividad (sesion, compra, inicio de sesion, etc.).
  2. El sistema crea un evento de fidelidad con el points_delta correspondiente.
  3. Los puntos totales del miembro se recalculan como la suma de todos los valores points_delta de sus eventos de fidelidad.
  4. El sistema verifica si el nuevo total cumple el umbral para un nivel superior.
  5. Si el miembro califica para un nuevo nivel, su campo tier se 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:

  1. El precio por hora base se determina por la franja de precios activa.
  2. Si el miembro tiene un nivel con valor de discount_bps, el precio base se reduce: precio_descontado = precio_base * (10000 - discount_bps) / 10000.
  3. Adicionalmente, los descuentos individuales a nivel de miembro (member_discount_bps en el registro del miembro) se aplican si estan presentes.
  4. 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:

  1. Navegue a Configuracion y abra la seccion de Precios (o el area dedicada de gestion de niveles).
  2. Haga clic en Agregar nivel.
  3. Ingrese el codigo (unico, en minusculas), nombre (etiqueta visible), puntos de umbral y descuento BPS.
  4. 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%).