> 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

Chaque billet Secutix qui atteint The Wallet Crew doit être généré avec un modèle Wallet Crew. **Sélection du modèle** est la logique de routage qui choisit ce modèle pour chaque billet.

Elle devient utile dès qu’un seul modèle de billet d’événement ne peut pas couvrir toutes les variantes. Pensez VIP contre standard, abonnement contre entrée unique, différents formats de code-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 d’événement vs abonnement saisonnier.
* **Différentes salles / halls :** mettre en évidence le bon nom de salle et les informations d’entrée.
* **Placement numéroté vs placement libre :** afficher section/rang/place par rapport à « placement libre ».
* **Différentes expériences d’accès :** entrée VIP, accès anticipé, portails réservés au personnel.

</details>

## Options de mappage

Le connecteur détermine 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 la famille de produits.
4. Modèle par défaut configuré pour le connecteur.

Une fois le routage clarifié, implémentez vos 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 de n’importe quel(s) champ(s) Secutix. Il s’agit d’une configuration avancée. Considérez-le comme un dernier recours et gardez-le rare, car il 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’usage réels</strong></summary>

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

* **Site / hall** - exemple : Hall A contre Hall B.
* **Entrée / porte** - instructions d’entrée différentes.
* **Catégorie de place / zone** - VIP, hospitalité, balcon.
* **Date/heure de la représentation** - séance de l’après-midi 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 de sous-type et la valeur par défaut du connecteur.

Ajoutez un script personnalisé dans le **onglet Avancé** 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>carteTypeFinder</code> point d’extension</summary>

Enregistrez `extensions.secutix.ticket.carteTypeFinder` et implémentez `GetPassType`.

* Renvoie une chaîne pour imposer un nom de modèle.
* Retourner `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 du mouvement dans la commande.
 * @param {Object|null|undefined} operationData - Données d’opération facultatives associées au mouvement.
 * @param {Object|null|undefined} product - Détails facultatifs du produit 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 getCarteType(movementData, operationData, product){
  if(operationData.Site == "Hall A") {
    return "HALLA";
  } sinon si(operationData.Site == "Hall B") {
    return "HALLB";
  }
  return null;
}

export default function(context) {
  context.register('extensions.secutix.ticket.CarteTypeFinder', {
    GetCarteType : getCarteType
  });
}
```

</details>

### `WALLET` variable de confort

Ajoutez une variable de confort Secutix sur l’événement cible nommé `WALLET` (en majuscules). Définissez sa valeur sur le **nom exact du modèle Wallet Crew**. Cette valeur est **sensible à la casse**, donc `VIP_Template` n’est pas identique à `vip_template`. Évitez les espaces en début ou en fin.

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

{% hint style="info" %}
Utilisez ceci lorsque vous avez besoin d’un modèle spécial pour un événement. Conservez des noms de modèles stables. Renommer un modèle peut perturber l’acheminement.
{% endhint %}

### Mappage des sous-types 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 Wallet Crew. Vous configurez le mappage sous-type → modèle une fois dans les paramètres du connecteur Secutix. Cela maintient un routage stable sur les événements et les commandes.

Vous pouvez le configurer 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="/files/90bef9fecc1aa29fb2584f5c89d23e8a3932414a" 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 Wallet Crew, commencez par [Modèle](https://github.com/TheWalletCrew/docs/tree/main/design/general.md#template). Lorsque vous êtes prêt à créer ou ajuster le modèle de billet d’événement (et à y mapper les champs Secutix), utilisez [Modèle de Carte Wallet et correspondance 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.
