# Privilège

A **privilège** est un avantage attaché à une seule carte numérique. Il définit ce que le titulaire peut faire, réclamer ou débloquer. Les privilèges sont séparés de la carte elle-même. Vous pouvez les ajouter, les mettre à jour ou les supprimer sans ré-émission de la carte.

### Pourquoi les privilèges comptent

Les privilèges sont importants parce qu’ils transforment une simple carte en un outil puissant d’engagement et de fidélisation. Une carte seule donne accès, mais un privilège ajoute une raison pour que les clients se soucient, interagissent et reviennent. C’est la différence entre un billet standard et une expérience qui semble personnelle, gratifiante et mémorable.

Ils sont importants pour le marketing car ils créent des opportunités de ravir les clients, générer des revenus supplémentaires et encourager des comportements bénéfiques pour la marque. En offrant des extras comme des réductions, des articles gratuits ou des avantages exclusifs, les privilèges rendent chaque interaction plus précieuse et renforcent la relation entre le client et la marque.

Enfin, les privilèges offrent flexibilité et créativité aux campagnes. Les marques peuvent élaborer des combinaisons uniques d’avantages, cibler différents segments de clientèle ou ajouter des récompenses limitées dans le temps, le tout sans changer la carte de base. Cela facilite l’innovation, les tests d’idées et la création de moments qui transforment un accès ordinaire en expériences significatives.

### Comment se comportent les privilèges

Les privilèges ont un type comportemental :

* **OneTime** : à échanger une fois, puis il disparaît.
* **Unlimited** : toujours disponible tant qu’il est valide.
* **MultiUse** : nombre d’utilisations limité.
* **Unlockable** : n’apparaît que lorsque des progrès ou des conditions sont remplis.

Cela correspond directement à des avantages réels. Boisson gratuite, remise de 10%, 5 entrées, récompenses débloquées par dépenses.

### Comment les privilèges arrivent sur une carte

Les privilèges sont créés de différentes manières. Ils peuvent être générés **interne** par la plateforme via [activations](https://docs.thewalletcrew.io/fr/engager-et-animer/privilege-and-activation/activation). Ils peuvent aussi être créés **externe** via des connecteurs comme [SFMC](https://docs.thewalletcrew.io/fr/connecter/marketing-automation/salesforce-marketing-cloud) ou [Bloomreach](https://docs.thewalletcrew.io/fr/connecter/marketing-automation/bloomreach) ou encore directement via [API](https://docs.thewalletcrew.io/fr/engager-et-animer/privilege-and-activation/broken-reference).

Une carte peut porter jusqu’à **5 privilèges** en même temps. Les conflits utilisent **priorité**, puis **mise à jour la plus récente** comme briseur d’égalité.

## Définition du privilège

Un privilège est un objet structuré. Il regroupe métadonnées, apparence, contenu, liens et valeur/statut.

### Propriétés générales

| Propriété             | Description                                                                                                                                                              |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `privilegeId`         | Identifiant unique du privilège. Auto-généré par le système.                                                                                                             |
| `priorité`            | Entier utilisé pour résoudre les conflits lorsque plusieurs privilèges modifient la même propriété. Le plus élevé l’emporte. Si égal, la dernière mise à jour l’emporte. |
| `type`                | L’un des `OneTime`, `Unlimited`, `MultiUse`, `Unlockable`.                                                                                                               |
| `tags`                | Liste de tags utilisée pour le reporting.                                                                                                                                |
| `origin.generator`    | *(optionnel)* Nom du processus générant le privilège. Utilisez `internal` pour les activations de la plateforme.                                                         |
| `origin.activationId` | *(optionnel)* Identifiant du processus générateur. Exemple : id d’activation interne, ou un `journeyId` (SFMC).                                                          |
| `origin.externalId`   | *(optionnel)* Identifiant unique de ce privilège dans un système externe.                                                                                                |
| `deletionDate`        | Date à laquelle le privilège sera supprimé du système. Une fois supprimé, il n’affecte plus le rendu de la carte.                                                        |

{% hint style="info" %}
Gardez les priorités simples. Utilisez une petite plage comme `0–100`.
{% endhint %}

### Type

La plateforme prend en charge quatre types de privilèges. Chaque type définit comment et quand un privilège peut être utilisé.

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fgit-blob-bcd0fce1bbd33bdb83ca095b1f07fddd01685d25%2Fillustration-privilege-type.png?alt=media" alt="4 different type of privileges"><figcaption></figcaption></figure></div>

{% tabs %}
{% tab title="OneTime" %}
A **OneTime** un privilège peut être utilisé **une seule fois**. Une fois échangé, il est consommé et ne peut plus être utilisé.

{% hint style="success" %}
**Cas d’utilisation réels**

* Café : bon “Expresso gratuit”, échangeable une fois.
* Événement : “Accès salon VIP” pour un participant, 1 scan seulement.
* Commerce : “15 $ de réduction sur votre prochaine commande”, code utilisable une fois.
  {% endhint %}
  {% endtab %}

{% tab title="Unlimited" %}
Un **Unlimited** un privilège peut être utilisé **autant de fois que nécessaire** tant qu’il est valide. Il n’est jamais consommé.

{% hint style="success" %}
**Cas d’utilisation réels**

* Adhésion : “Livraison gratuite” sur chaque commande en ligne.
* Commerce : “10% de réduction sur tous les achats” pendant toute la saison.
* Service : “Support prioritaire” disponible pour chaque ticket soumis.
  {% endhint %}
  {% endtab %}

{% tab title="MultiUse" %}
A **MultiUse** un privilège peut être utilisé un **nombre limité de fois**. Chaque utilisation réduit le nombre restant jusqu’à consommation du privilège.

{% hint style="success" %}
**Cas d’utilisation réels**

* Salle de sport : pack “10 entrées”, chaque enregistrement consomme 1.
* Lieu : “3 passes invité”, chaque scan invité consomme 1.
* Lavage auto : “5 lavages”, chaque lavage consomme 1.
  {% endhint %}
  {% endtab %}

{% tab title="Unlockable" %}
Un **Unlockable** un privilège devient disponible **après que le progrès soit complété**. Il est verrouillé jusqu’à ce que les étapes requises soient accomplies.

{% hint style="success" %}
**Cas d’utilisation réels**

* Restaurant : “Achetez 10 pizzas, obtenez-en 1 gratuite” (le progrès débloque la récompense).
* Café : “Collectez 8 tampons, obtenez 1 boisson gratuite” (chaque achat augmente le progrès).
* Éducation : “Complétez 3 modules, débloquez un bon d’examen” (progrès depuis les événements LMS).
  {% endhint %}
  {% endtab %}
  {% endtabs %}

### Apparence

| Propriété         | Description                                                                                                                                      |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `mainImage`       | *(optionnel, localisable)* Image principale du privilège. Utilisez-la pour expliquer visuellement l’avantage. Gardez-la lisible à petite taille. |
| `thumbnail`       | *(optionnel, localisable)* Petite image pour interfaces compactes. Utilisez un pictogramme simple ou un asset de type logo.                      |
| `backgroundColor` | *(optionnel)* Remplacement de la couleur d’arrière-plan pour les éléments UI du privilège (lorsque pris en charge).                              |
| `foregroundColor` | *(optionnel)* Remplacement de la couleur de premier plan/du texte pour les éléments UI du privilège (lorsque pris en charge).                    |

{% hint style="info" %}
Les images sont redimensionnées automatiquement pour correspondre aux contraintes d’Apple Wallet et Google Wallet. Utilisez une image large. Taille recommandée : `1200px × 400px`.
{% endhint %}

{% tabs fullWidth="false" %}
{% tab title="Apple Wallet" %}
Sera prioritaire sur l’image principale de la carte.

Si la propriété contient des valeurs localisées, la langue du téléphone sélectionne la version localisée. Si aucune version localisée n’existe, `par défaut` est utilisée.

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2FXPUJZb7i0PL8UH8wgGWN%2Fimage.png?alt=media&#x26;token=a41baa1e-07a1-4fa7-9337-d220f0a83fd7" alt="Example of pass privilege appearance for apple wallet"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Les billets d’événement de type affiche peuvent mapper les images différemment selon votre modèle. Si vous avez besoin d’un mappage exact des emplacements, vérifiez la configuration du modèle de votre carte.
{% endhint %}

{% hint style="warning" %}
`thumbnail` n’est pas disponible pour Apple.
{% endhint %}
{% endtab %}

{% tab title="Google Wallet" %}
Affiché comme visuel du privilège lorsque le modèle de carte le prend en charge.

{% hint style="danger" %}
TODO
{% endhint %}
{% endtab %}

{% tab title="Aperçu de la carte" %}
Affiché comme image principale du privilège dans l’interface d’aperçu.

{% hint style="danger" %}
TODO
{% endhint %}
{% endtab %}

{% tab title="Vérification Crew" %}
{% hint style="danger" %}
TODO
{% endhint %}
{% endtab %}
{% endtabs %}

### Contenu

| Propriété     | Description                                                                                                                            |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `title`       | *(optionnel, localisable)* Étiquette courte pour le privilège. Exemple : `Accès salon VIP`, `-10%`, `Boisson gratuite`.                |
| `description` | *(optionnel, localisable)* Texte d’accompagnement pour les utilisateurs et opérateurs. Utilisez-le pour les conditions et contraintes. |

{% tabs %}
{% tab title="Apple Wallet" %}
{% hint style="danger" %}
TODO
{% endhint %}
{% endtab %}

{% tab title="Google Wallet" %}
{% hint style="danger" %}
TODO
{% endhint %}
{% endtab %}

{% tab title="Aperçu de la carte" %}
{% hint style="danger" %}
TODO
{% endhint %}
{% endtab %}

{% tab title="Vérification Crew" %}
{% hint style="danger" %}
TODO
{% endhint %}
{% endtab %}
{% endtabs %}

### Liens

| Propriété          | Description                                                                                     |
| ------------------ | ----------------------------------------------------------------------------------------------- |
| `legalInformation` | *(optionnel, localisable)* Conditions générales liées au privilège. Typiquement un label + URL. |
| `callToAction`     | *(optionnel, localisable)* Action principale pour le privilège. Typiquement un label + URL.     |

{% hint style="info" %}
Les liens sont généralement modélisés comme `{ "label": "...", "url": "https://..." }`. Le rendu exact dépend du modèle de la carte.
{% endhint %}

{% tabs %}
{% tab title="Apple Wallet" %}
Affiché comme l’action principale du privilège lorsque pris en charge.
{% endtab %}

{% tab title="Google Wallet" %}
Affiché comme l’action principale du privilège lorsque pris en charge.
{% endtab %}

{% tab title="Aperçu de la carte" %}
Affiché comme un bouton principal.
{% endtab %}

{% tab title="Vérification Crew" %}
Affiché comme un bouton d’action pour les opérateurs.
{% endtab %}
{% endtabs %}

### Données

Utilisation **data** lorsque le privilège porte un solde échangeable, un progrès ou un code.

| Propriété   | Type         | Description                                             |
| ----------- | ------------ | ------------------------------------------------------- |
| `value`     | `decimal`    | Valeur calculée. Somme de tous les `movements[].value`. |
| `movements` | `movement[]` | Liste des mouvements de valeur (crédits/débits).        |
| `content`   | `string`     | Valeur en texte libre. Exemple : code promo.            |

{% hint style="info" %}
La logique de rachat est appliquée par le système consommateur (POS, scanners, applications). La plateforme stocke les mouvements et calcule `movementValue`.
{% endhint %}

#### Mouvement

| Propriété    | Type               | Description                                                                                               |
| ------------ | ------------------ | --------------------------------------------------------------------------------------------------------- |
| `movementId` | identifiant unique | Généré par la plateforme.                                                                                 |
| `date`       | `dateTime`         | Date à laquelle ce mouvement a eu lieu.                                                                   |
| `remarks`    | `string`           | Remarque en texte libre (audit/debug).                                                                    |
| `value`      | `decimal`          | Peut être négatif lorsque le privilège est utilisé. Peut être fractionnaire pour le progrès (Unlockable). |

{% hint style="info" %}
Votre application doit vérifier `movementValue` avant de procéder à un rachat. Évitez les rachats concurrents sur la même carte/privilège.
{% endhint %}

#### Exemples

{% tabs %}
{% tab title="OneTime" %}
**Cas d’usage**

* Concert : “1 boisson de bienvenue gratuite” pour les billets VIP.
* Commerce : “1 emballage cadeau gratuit” sur le prochain achat.
* Musée : “1 entrée visite guidée” pour une date spécifique.

Chronologie des mouvements (exemple : boisson de bienvenue VIP) :

<table data-full-width="false"><thead><tr><th width="148">date</th><th width="97">value</th><th>remarks</th><th>total</th></tr></thead><tbody><tr><td><code>2025-01-12</code></td><td><code>1</code></td><td>privilège appliqué</td><td><code>1</code></td></tr><tr><td><code>2025-01-15</code></td><td><code>-1</code></td><td>privilège échangé</td><td><code>0</code></td></tr><tr><td><code>2025-01-15</code></td><td><code>1</code></td><td>annulation</td><td><code>1</code></td></tr></tbody></table>
{% endtab %}

{% tab title="Unlimited" %}
**Cas d’usage**

* Palier de fidélité : “10% de réduction” à chaque fois, tant que le palier est actif.
* Compagnie aérienne : “1 bagage en soute gratuit” à chaque segment de vol.
* Abonnement : “Accès illimité” au contenu premium.

Pour les privilèges Unlimited, les mouvements sont souvent omis car rien n’est « consommé ».\nSi vous stockez néanmoins des mouvements pour l’audit (optionnel), cela peut ressembler à ceci :

<table data-full-width="false"><thead><tr><th width="148">date</th><th width="97">value</th><th>remarks</th><th>total</th></tr></thead><tbody><tr><td><code>2025-01-12</code></td><td><code>-1</code></td><td>privilège utilisé</td><td><code>-1</code></td></tr><tr><td><code>2025-01-15</code></td><td><code>-2</code></td><td>privilège utilisé deux fois</td><td><code>-3</code></td></tr></tbody></table>
{% endtab %}

{% tab title="MultiUse" %}
**Cas d’usage**

* Salle de sport : pack prépayé “10 entrées”.
* Festival : “5 jetons boisson” liés au billet.
* Parking : pack “20 sorties” pour une carte de parking d’entreprise.

Chronologie des mouvements (exemple : pack 10 entrées salle de sport) :

<table data-full-width="false"><thead><tr><th width="148">date</th><th width="97">value</th><th>remarks</th><th>total</th></tr></thead><tbody><tr><td><code>2025-01-12</code></td><td><code>10</code></td><td>achat carte 10 entrées</td><td><code>10</code></td></tr><tr><td><code>2025-01-15</code></td><td><code>-1</code></td><td>consommer 1 entrée</td><td><code>9</code></td></tr><tr><td><code>2025-01-17</code></td><td><code>-4</code></td><td>consommer 4 entrées (avec des amis)</td><td><code>5</code></td></tr><tr><td><code>2025-01-17</code></td><td><code>1</code></td><td>offert 1 entrée</td><td><code>6</code></td></tr></tbody></table>
{% endtab %}

{% tab title="Unlockable" %}
**Cas d’usage**

* Restaurant : achetez 10 pizzas, débloquez 1 pizza gratuite.
* Café : collectez 8 tampons, débloquez 1 boisson gratuite.
* Commerce : dépensez 200 $ en un mois, débloquez un bon de 20 $.

Chronologie des mouvements (exemple : achetez 10 pizzas, débloquez 1 gratuite) :

<table data-full-width="false"><thead><tr><th width="148">date</th><th width="97">value</th><th>remarks</th><th>total</th></tr></thead><tbody><tr><td><code>2025-01-12</code></td><td><code>0.2</code></td><td>acheter 2 pizzas</td><td><code>0.2</code></td></tr><tr><td><code>2025-01-15</code></td><td><code>0.5</code></td><td>acheter 5 pizzas</td><td><code>0.7</code></td></tr><tr><td><code>2025-01-17</code></td><td><code>0.4</code></td><td>acheter 4 pizzas</td><td><code>1.1</code></td></tr><tr><td><code>2025-01-17</code></td><td><code>-1</code></td><td>échanger 1 pizza</td><td><code>0.1</code></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

## Cas d’utilisation réel

Utilisez les privilèges lorsque vous avez besoin **d’avantages avec état** sur une carte. L’application native du wallet affichera automatiquement les informations du privilège. Pour une meilleure expérience, il est aussi possible d’utiliser notre [Crew Check](https://docs.thewalletcrew.io/fr/scanner/crew-check) application pour scanner les cartes, lister et échanger les privilèges.

### Billet d’événement

Transformez un billet statique en une surface de campagne dynamique. Gardez une carte pour l’entrée, puis ajoutez des avantages au fur et à mesure de l’événement. Utilisez **OneTime** pour des avantages à réclamation unique (accès salon VIP, accès coupe-file, boisson de bienvenue), **MultiUse** pour des packs de jetons (jetons boisson, crédits vestiaire), et **Unlockable** pour des avantages qui apparaissent après un progrès.

Exemple : tout le monde entre avec la même carte, mais un **Unlockable** privilège “Accès afterparty” apparaît après le troisième scan. Un **MultiUse** privilège “5 jetons boisson” est ajouté à l’ouverture des portes et décrémenté au bar.

### Carte de fidélité

Gérez des promos et des avantages de palier sans changer la carte. Laissez le CRM, le CDP ou le POS mettre à jour les avantages au fur et à mesure de la progression des clients.

Utilisation **Unlimited** pour des droits toujours actifs (remises de palier, livraison gratuite, support prioritaire). Utilisez **Unlockable** pour des déclencheurs de dépense, **MultiUse** pour des compteurs (tampons, entrées), et **OneTime** pour des récompenses à occurrence unique (anniversaire, récupération).

Exemple : donnez aux clients VIP un **Unlimited** privilège “15% de réduction” avec une **priorité** plus élevée que les remises de campagne. Lorsque le client dépense 200 € en un mois, votre CDP ajoute un **Unlockable** privilège “bon de 20 €”, et le POS l’échange une fois.

### Carte cadeau

Utilisez des privilèges lorsque la carte nécessite **valeur échangeable**, **un code**, ou les deux.

Stockez un solde comme **MultiUse** et décrémentez-le avec des mouvements par dépense. Stockez un code promo comme **OneTime** et consommez-le à la première utilisation.

Exemple : démarrez une carte cadeau à `+50`. Un achat de 12 € ajoute un `-12` mouvement et laisse `38`. Une promo de vacances ajoute un `+10` mouvement de recharge. Si cet achat est remboursé, ajoutez un `+12` mouvement d’annulation au lieu de modifier l’historique.

Le rachat est appliqué par votre POS ou votre caisse. La plateforme stocke l’état et les mouvements pour le reporting.

### Adhésion

Utilisez une carte comme surface d’adhésion avec des droits changeants.

Utilisation **Unlimited** pour l’accès continu, **MultiUse** pour des quotas mensuels, **OneTime** pour des réclamations uniques, et **Unlockable** pour des récompenses de jalons.

Exemple : une carte coworking a **Unlimited** “accès premium” plus **MultiUse** “5 passes journaliers” qui se réinitialisent chaque mois. Après l’onboarding, un **Unlockable** privilège “session 1:1” devient échangeable dans le flux de réservation.

## FAQ

<details>

<summary>Combien de privilèges une carte peut-elle avoir en même temps ?</summary>

Vous pouvez attacher jusqu’à 5 privilèges à une seule carte en même temps. Si vous avez besoin de plus d’avantages, regroupez-les en moins de privilèges ou faites-les tourner dans le temps.

</details>

<details>

<summary>Que se passe-t-il lorsque plusieurs privilèges entrent en conflit ?</summary>

Lorsque plusieurs privilèges tentent de modifier la même propriété, la priorité décide du gagnant. Si les priorités sont égales, le privilège mis à jour le plus récemment l’emporte.

</details>

<details>

<summary>Dois-je ré-émmettre la carte lorsqu’un privilège change ?</summary>

Non. Les privilèges sont séparés des données principales de la carte. Vous pouvez ajouter, mettre à jour ou supprimer un privilège sans ré-émission de la carte.

</details>

<details>

<summary>D’où proviennent les privilèges ?</summary>

Vous pouvez créer des privilèges en interne en utilisant des activations, ou en externe via des connecteurs (par exemple SFMC ou Bloomreach). Vous pouvez aussi les créer et les mettre à jour directement via l’API.

</details>

<details>

<summary>Comment l’état de rachat est-il stocké pour les privilèges MultiUse et OneTime ?</summary>

Utilisez des mouvements pour suivre les crédits et débits. La plateforme stocke l’historique des mouvements et calcule le `value`, mais votre système consommateur (POS, scanners, application) applique les règles de rachat.

</details>

<details>

<summary>Puis-je “annuler” un rachat ?</summary>

Oui, si votre processus le permet. Au lieu de modifier l’historique, ajoutez un nouveau mouvement qui compense le débit précédent (un crédit d’annulation) afin que la piste d’audit reste intacte.

</details>

<details>

<summary>Que fait <code>deletionDate</code>  ?</summary>

Il planifie la date à laquelle le privilège est supprimé du système. Après suppression, il n’affecte plus le rendu de la carte et ne doit plus être pris en compte lors des scans et des rachats.

</details>
