> For the complete documentation index, see [llms.txt](https://docs.thewalletcrew.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.thewalletcrew.io/connectors/fr/ticketing/secutix/template-selection.md).

# Sélection du modèle

Acheminez chaque billet Secutix vers le bon modèle The Wallet Crew. Utilisez un hook de recherche du type de Carte, la variable de confort \`WALLET\`, le mappage des sous-types ou la valeur par défaut du connecteur.

Chaque billet Secutix qui parvient à The Wallet Crew doit être rendu avec un modèle de Carte configuré dans The Wallet Crew. **Sélection du modèle** est la logique de routage qui choisit ce modèle pour chaque billet.

Il devient utile dès qu’un modèle de billet événement ne peut pas couvrir toutes les variantes. Pensez VIP contre standard, saison contre entrée unique, différents formats de codes-barres ou différents textes juridiques.

<details>

<summary><strong>Exemples de routage concrets</strong></summary>

Raisons courantes de router les billets vers différents modèles :

* **Différents types de produits :** Carte de visite vs billet événement vs billet saison.
* **Différentes salles / halls :** mettre en évidence le bon nom de salle et les informations d’entrée.
* **Placement numéroté ou libre :** afficher section/rang/place vs « placement libre ».
* **Différentes expériences d'accès :** entrée VIP, accès anticipé, accès réservés au personnel.

</details>

## Options de mappage

Le connecteur résout un nom de modèle pour chaque billet. Il évalue les règles ci-dessous dans l’ordre. **La première correspondance l’emporte.**

#### Ordre de résolution (priorité la plus élevée en premier)

1. Hook de recherche du type de Carte.
2. variable de confort Secutix `WALLET`.
3. Mappage du sous-type de famille de produits.
4. Modèle par défaut configuré pour le connecteur.

Une fois le routage clarifié, implémentez les parcours utilisateur dans [Distribution](/connectors/fr/ticketing/secutix/distribution.md).

### Hook de recherche du type de Carte (avancé)

Utilisez ceci lorsque le routage dépend d’un ou de plusieurs champs Secutix. Il s’agit d’une configuration avancée. Considérez-la comme un dernier recours et utilisez-la rarement, car elle ajoute une logique personnalisée à maintenir. Le moteur de modèles prend déjà en charge les conditions et les variables, ce qui suffit dans la plupart des cas.

<details>

<summary><strong>Cas d'utilisation réels</strong></summary>

Utilisez un hook lorsque le routage dépend de plus d’un champ :

* **Site / salle** - exemple : Hall A contre Hall B.
* **Entrée / porte** - différentes instructions d’entrée.
* **Catégorie de siège / zone** - VIP, hospitalité, balcon.
* **Date/heure de la représentation** - matinée contre soirée, dates spéciales.
* **Logique combinée** - VIP + une date spécifique + un lieu spécifique.

</details>

Si ce hook renvoie un nom de modèle, il remplace `WALLET`, le mappage des sous-types et le paramètre par défaut du connecteur.

Ajoutez un script personnalisé dans le **Avancé** onglet de la page de configuration Secutix.

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/integrations/secutix/settings" class="button secondary" data-icon="chevrons-right">Écran de configuration Secutix</a></p>

<details>

<summary><code>passTypeFinder</code> point d’extensibilité</summary>

Enregistrer `extensions.secutix.ticket.passTypeFinder` et implémentez `GetPassType`.

* Renvoie une chaîne pour imposer un nom de modèle.
* Retournez `null` pour revenir à la sélection par défaut.

```javascript
/**
 * Résout le type de Carte pour un mouvement Secutix.
 *
 * @async
 * @param {Object} movementData - Données de mouvement dans la commande.
 * @param {Object|null|undefined} operationData - Données d’opération optionnelles associées au mouvement.
 * @param {Object|null|undefined} product - Détails du produit optionnels lorsqu’un identifiant de produit est disponible.
 * @returns {Promise<string|null>} La valeur du type de Carte, ou null pour laisser s’appliquer la résolution par défaut.
 */
async function getPassType(movementData, operationData, product){
  if(operationData.Site == "Hall A") {
    return "HALLA";
  } else if(operationData.Site == "Hall B") {
    return "HALLB";
  }
  return null;
}

export default function(context) {
  context.register('extensions.secutix.ticket.passTypeFinder', {
    GetPassType : getPassType
  });
}
```

</details>

### `WALLET` variable de confort

Ajoutez une variable de confort Secutix sur l’événement cible nommée `WALLET` (en majuscules). Définissez sa valeur sur **le nom exact du modèle dans The Wallet Crew**. Cette valeur est **sensible à la casse**, donc `VIP_Template` n’est pas le même que `vip_template`. Évitez les espaces initiaux ou finaux.

Ceci n’est évalué que si le hook de recherche du type de Carte renvoie `null`.

{% hint style="info" %}
Utilisez ceci lorsqu’un modèle spécial est nécessaire pour un événement. Conservez des noms de modèle stables. Renommer un modèle peut casser le routage.
{% endhint %}

### Mappage du sous-type de famille de produits

C’est le mode de routage par défaut lorsqu’aucun hook ou `WALLET` remplacement n’est utilisé.

Le connecteur lit le **sous-type de famille de produits**, puis le traduit en nom de modèle dans The Wallet Crew. Le mappage sous-type → modèle est configuré une seule fois dans les paramètres du connecteur Secutix. Cela maintient un routage stable entre les événements et les commandes.

Il peut être configuré sur la page de configuration Secutix :

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/integrations/secutix/settings" class="button secondary" data-icon="chevrons-right">Écran de configuration Secutix</a></p>

<div data-with-frame="true"><figure><img src="https://3852727835-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlP7d71aYydav6e0pRkxc%2Fuploads%2Fgit-blob-e59b5b038054a74d27e4b0b2c9a4b8145407a1d3%2Fconnect-selection-selection-based-product-family-subtype.png?alt=media" alt="Template selection based on product family subtype." width="563"><figcaption><p>Sélection du modèle basée sur le sous-type de famille de produits.</p></figcaption></figure></div>

### Modèle par défaut du connecteur

Si le hook renvoie `null`, `WALLET` n’est pas défini, et qu’aucun mappage de sous-type ne correspond, le connecteur utilise son **modèle par défaut**.

Utilisez ceci comme filet de sécurité. Gardez-le compatible avec « la plupart des billets ».

## Informations supplémentaires

Pour un rappel rapide sur la structure des modèles The Wallet Crew, commencez par [Types de Carte et modèles](/guides-design/fr/conception/pass-types-and-templates.md). Pour créer ou ajuster le modèle Event Ticket (et y mapper les champs Secutix), utilisez [Modèle de Carte Wallet et mappage des champs](/connectors/fr/ticketing/secutix/wallet-pass-template-and-field-mapping.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.thewalletcrew.io/connectors/fr/ticketing/secutix/template-selection.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
