HandyCafe Docs
owner cashier

Portefeuille des membres

Le portefeuille des membres est un système de solde monétaire qui permet aux membres de prépayer les services du café. Au lieu de payer en espèces pour chaque session individuelle, un membre peut charger des fonds dans son portefeuille et le système déduit automatiquement de ce solde lorsqu'il utilise des PC, des consoles ou commande des produits.

Architecture basée sur les crédits

Le portefeuille utilise un système de crédits plutôt qu'un simple solde courant. Chaque fois que des fonds sont ajoutés au portefeuille d'un membre, le système crée un nouveau crédit de portefeuille. Chaque entrée de crédit est un enregistrement individuel avec son propre solde, sa source, sa date d'expiration et ses restrictions d'appareil. Cette conception offre :

  • Une traçabilité complète de l'origine de chaque unité de solde.
  • Des dates d'expiration indépendantes par entrée de crédit.
  • Des restrictions spécifiques par appareil (certains crédits ne peuvent être utilisés que sur PC, d'autres uniquement sur console).
  • Une séparation nette entre les fonds payés et les bonus promotionnels.

Le solde total du portefeuille du membre est la somme de toutes les valeurs restantes de ses entrées de crédit actives.

Types de crédit

Chaque crédit de portefeuille possède un type de crédit qui identifie la manière dont les fonds sont entrés dans le système :

Type de crédit Description
Payé Le membre a payé ces fonds (espèces, carte ou autre mode de paiement). Créé lors de l'achat d'un forfait de campagne basé sur l'argent.
Bonus Fonds promotionnels accordés dans le cadre d'un achat de forfait. Par exemple : "payez pour 100 minutes, obtenez 20 minutes bonus en crédit."
Manuel Chargé manuellement par un caissier ou un administrateur. Utilisé pour les crédits de bonne volonté ou les arrangements spéciaux.
Correction Un ajustement administratif pour corriger une erreur dans le solde du membre.
Migration Fonds importés depuis un système existant lors de la migration des données.
Remboursement annulé Fonds restaurés lorsqu'un remboursement précédemment émis est annulé.

Le type de crédit est défini lors de la création du crédit et ne peut pas être modifié par la suite. Il sert de piste d'audit permanente.

Statut du crédit

Chaque crédit de portefeuille passe par un cycle de vie suivi par son statut :

  • Actif : le crédit dispose de fonds restants et n'a pas expiré. Les fonds peuvent être consommés à partir de ce crédit.
  • Expiré : la date d'expiration du crédit est passée. Les fonds restants ne sont plus utilisables.
  • Consommé : le solde restant du crédit a atteint zéro par consommation normale.
  • Annulé : le crédit a été annulé manuellement par un administrateur, invalidant tout solde restant.

Consommation du portefeuille

Lorsque le portefeuille d'un membre est débité (pour du temps de session, une commande ou un autre événement facturable), le système crée un enregistrement de consommation de portefeuille qui est lié à une entrée de crédit spécifique et enregistre le montant exact déduit.

Chaque enregistrement de consommation inclut un contexte identifiant ce qui a déclenché la déduction :

Contexte Description
Utilisation de session Fonds consommés pour payer le temps d'utilisation de la session. Le système réduit du portefeuille pendant la session.
Paiement par portefeuille Un paiement direct depuis le portefeuille (par exemple lorsque le membre paie une commande de produit avec le solde de son portefeuille).
Commande Fonds consommés pour payer une commande de produit au comptoir ou livrée au PC du membre.
Remboursement Un ajustement négatif créé lors du traitement d'un remboursement, réduisant la consommation pour restituer les fonds à l'entrée de crédit.

Chaque enregistrement de consommation est relié à la session, la commande ou la transaction spécifique qui l'a provoqué, permettant une traçabilité d'audit complète.

Journal de solde

En plus des enregistrements de consommation au niveau du crédit, le système maintient un journal de solde du membre qui enregistre chaque événement modifiant le solde global du portefeuille du membre :

Type d'événement Description
load Des fonds ont été ajoutés au portefeuille (nouvelle entrée de crédit créée ou rechargement d'une entrée existante).
spend Des fonds ont été consommés depuis le portefeuille (paiement de session, paiement de commande).
refund Des fonds ont été restitués au portefeuille (remboursement de commande, remboursement de session).
adjustment Un changement administratif a été effectué sur le solde (correction, radiation).

Chaque entrée du journal de solde enregistre le montant du changement et le solde résultant, permettant de reconstituer le solde du membre à tout moment en lisant le journal chronologiquement.

Restriction d'appareil

Chaque crédit de portefeuille possède une restriction d'appareil qui contrôle quels types d'appareils peuvent le consommer :

Restriction Signification
Client Utilisable sur les PC clients. Également utilisable sur les consoles, sauf restriction explicite.
Console Utilisable sur les consoles de jeux. Également utilisable sur les PC, sauf restriction explicite.
PC uniquement Utilisable exclusivement sur les PC clients. Ne peut pas être consommé par les sessions console.
Consoles uniquement Utilisable exclusivement sur les consoles de jeux. Ne peut pas être consommé par les sessions PC.
Les deux Utilisable sur tout type d'appareil sans restriction. C'est la valeur par défaut.

Lorsque le système doit débiter le portefeuille d'un membre, il filtre les crédits disponibles par restriction d'appareil pour s'assurer que seuls les crédits éligibles sont débités.

Catégorie de portefeuille et dépenses inter-catégories

Les crédits de portefeuille peuvent être étiquetés avec une catégorie de portefeuille (par exemple "jeux" ou "général"). Cela permet au café de créer des réserves de solde isolées qui ne peuvent être dépensées que dans certains contextes.

L'option de dépenses inter-catégories sur chaque crédit contrôle si ses fonds peuvent être utilisés en dehors de la catégorie désignée :

  • Lorsque désactivée (par défaut), le crédit ne peut être consommé que dans sa propre catégorie.
  • Lorsque activée, le crédit peut également être consommé par des transactions d'autres catégories.

Si un crédit n'a pas de catégorie de portefeuille attribuée, il est traité comme un crédit à usage général et peut être consommé par toute transaction quelle que soit la catégorie.

Fonctionnement des rechargements

Les fonds de portefeuille peuvent être ajoutés par plusieurs méthodes :

  1. Achat de forfait de campagne : lorsqu'un membre achète un forfait basé sur l'argent depuis une campagne, le système crée automatiquement des crédits de portefeuille selon la définition du forfait. Un seul achat de forfait peut créer plusieurs crédits (un pour la partie payée, un pour la partie bonus).

  2. Chargement manuel : un caissier peut ajouter manuellement des fonds au portefeuille d'un membre depuis le panneau de détail du membre. Cela crée une entrée de crédit avec le type "Manuel".

  3. Migration : lors de la mise en place du système, les soldes existants d'un système précédent peuvent être importés comme entrées de crédit avec le type "Migration".

Consommation du portefeuille durant les sessions

Lorsqu'un membre disposant d'un solde de portefeuille démarre une session, le système peut automatiquement payer la session depuis le portefeuille :

  1. Le moteur de tarification calcule le coût par minute en fonction du créneau tarifaire actif et des remises de niveau applicables.
  2. Pendant le déroulement de la session, le système déduit périodiquement le coût accumulé des crédits de portefeuille éligibles du membre.
  3. Les crédits sont consommés par ordre de date d'expiration (les crédits expirant le plus tôt sont utilisés en premier) pour minimiser les pertes dues à l'expiration.
  4. Si la vente du portefeuille est épuisée avant la fin de la session, le coût restant est facturé en espèces de paiement à la clôture de la session.
  5. Chaque déduction crée un enregistrement de consommation situé à la session en tant qu'entrée "Utilisation de session".