HandyCafe Docs
owner

Niveaux de fidélité

Le système de niveaux de fidélité récompense les clients réguliers avec des remises automatiques basées sur leur activité accumulée. À mesure que les membres utilisent le café (en dépensant de l'argent, en se connectant, en achetant des forfaits ou en passant des commandes), ils gagnent des points de fidélité. Lorsque le total de leurs points dépasse le seuil d'un niveau, ils passent au niveau supérieur et bénéficient d'une remise plus importante sur la tarification des sessions.

Structure des niveaux

Chaque niveau de fidélité est défini par quatre champs :

Champ Description
code Un code court unique pour le niveau (par exemple silver, gold, vip). Utilisé en interne pour l'identification et dans les réponses API.
name Un nom d'affichage lisible (par exemple "Membre Argent", "Membre Or"). Affiché dans le profil du membre et sur l'écran de verrouillage du client.
threshold_points Le nombre minimum de points de fidélité qu'un membre doit accumuler pour accéder à ce niveau.
discount_bps La remise appliquée à la tarification de session, exprimée en points de base. 100 BPS équivaut à 1 %. Une valeur de 500 signifie une remise de 5 %.

Les niveaux sont ordonnés par leur valeur threshold_points. Un membre appartient au niveau le plus élevé pour lequel il atteint le seuil de points.

Remises en points de base (BPS)

Les remises sont exprimées en points de base (BPS) plutôt qu'en pourcentages afin d'éviter les erreurs d'arrondi lies aux nombres à virgule flottante dans les calculs financiers. Un point de base équivaut à 0,01 %, soit un centième de pour cent.

Valeurs de remise courantes :

Valeur BPS Pourcentage Exemple sur un tarif de 1000 unités/heure
250 2,5 % Le membre paie 975 par heure
500 5 % Le membre paie 950 par heure
1000 10 % Le membre paie 900 par heure
1500 15 % Le membre paie 850 par heure
2000 20 % Le membre paie 800 par heure

Lorsqu'un membre avec une remise de niveau démarre une session, le moteur de tarification réduit le tarif horaire de base par la valeur discount_bps du niveau avant de calculer les coûts des segments.

Événements de fidélité

Les membres gagnent des points via des événements de fidélité. Chaque événement enregistre un changement de points et l'activité qui l'a déclenché :

Type d'événement Description Points type
spend Le membre a payé une session (postpayée ou déduction de portefeuille). Les points sont proportionnels au montant dépensé. Variable selon le montant dépensé
usage Le membre a utilisé un PC ou une console pour une session, quel que soit le paiement. Les points sont basés sur la durée d'utilisation. Variable selon les minutes utilisées
visit Le membre s'est connecté depuis un PC client. Un bonus fixe par visite, encourageant la fréquentation régulière. Fixe par visite
topup Le membre a ajouté des fonds à son portefeuille. Les points reflètent le montant du rechargement. Variable selon le montant du rechargement
order Le membre a passé une commande de produit (nourriture, boissons, etc.). Les points sont proportionnels au total de la commande. Variable selon le total de la commande
adjustment Un ajustement manuel de points effectué par un administrateur. Utilisé pour les corrections, promotions ou récompenses spéciales. Toute valeur (positive ou négative)

Chaque enregistrement d'événement de fidélité inclut :

  • points_delta : le nombre de points gagnés (positif) ou perdus (négatif) suite à cet événement.
  • amount_minor : le montant monétaire associé à l'événement (en unités monétaires mineures), le cas échéant.
  • minutes_delta : le nombre de minutes associées à l'événement, le cas échéant.
  • source_entity / source_entity_id : une référence vers la session, la commande ou la transaction qui a généré l'événement.
  • event_at : l'horodatage de l'événement.

Progression des niveaux

La progression des niveaux fonctionne comme suit :

  1. Un membre effectue une activité (session, achat, connexion, etc.).
  2. Le système crée un événement de fidélité avec le points_delta correspondant.
  3. Le total de points du membre est recalculé comme la somme de toutes les valeurs points_delta de ses événements de fidélité.
  4. Le système vérifie si le nouveau total atteint le seuil d'un niveau supérieur.
  5. Si le membre est éligible pour un nouveau niveau, son champ tier est mis à jour et la nouvelle remise prend effet dès sa prochaine session.

L'attribution de niveau peut également être définie manuellement par un administrateur, outrepassant le calcul automatique.

Application des remises de niveau à la tarification de session

Lorsque le moteur de tarification calcule le coût d'un segment de session pour un membre :

  1. Le prix horaire de base est déterminé par le créneau tarifaire actif.
  2. Si le membre possède un niveau avec une valeur discount_bps, le prix de base est réduit : prix_remise = prix_base * (10000 - discount_bps) / 10000.
  3. De plus, les remises individuelles au niveau du membre (member_discount_bps sur l'enregistrement du membre) sont appliquées si présentes.
  4. Le tarif final après remise est utilisé pour calculer le coût du segment.

Les remises de niveau et les remises individuelles peuvent se cumuler, offrant au membre le bénéfice combiné des deux.

Création et gestion des niveaux

Pour créer un nouveau niveau :

  1. Rendez-vous dans Paramètres et ouvrez la section Tarification (ou la zone dédiée à la gestion des niveaux).
  2. Cliquez sur Ajouter un niveau.
  3. Saisissez le code (unique, en minuscules), le nom (libellé d'affichage), les points de seuil et la remise BPS.
  4. Enregistrez le niveau.

Pour modifier un niveau existant, sélectionnez-le dans la liste et modifiez ses champs. Les modifications de la valeur discount_bps d'un niveau prennent effet pour tous les membres actuellement assignés à ce niveau, à partir de leur prochaine session.

Pour supprimer un niveau, retirez-le de la liste. Les membres qui étaient assignés au niveau supprimé seront rétrogradés au niveau immédiatement inférieur pour lequel ils sont éligibles en fonction de leurs points.

Exemple de configuration de niveaux

Une configuration typique à trois niveaux pourrait ressembler à ceci :

Code Nom Points de seuil Remise BPS
bronze Bronze 0 0
silver Argent 500 500
gold Or 2000 1000
vip VIP 5000 1500

Dans cette configuration, un nouveau membre commence au niveau Bronze (aucune remise). Après avoir accumulé 500 points grâce aux visites, dépenses et commandes, il passe automatiquement au niveau Argent avec une remise de 5 %. À 2000 points, il atteint le niveau Or (10 %) et à 5000 points, il obtient le statut VIP (15 %).