> 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/wallet-pass-template-and-field-mapping.md).

# Modèle de carte Wallet et mappage des champs

Votre modèle Wallet définit ce que les utilisateurs voient à l’entrée. Le mappage des champs définit quelles données Secutix se retrouvent dans chaque champ du Wallet. Commencez simplement. Assurez-vous que le code-barres, le nom de l’événement, la date, le lieu et le siège sont corrects. N’ajoutez des champs supplémentaires que lorsque vous savez pourquoi ils sont utiles.

## Créez le modèle Carte d’événement

Un modèle est le « modèle » de votre Carte dans Apple Wallet et Google Wallet. C’est ce qui fait que la Carte ressemble à votre marque, et ce qui détermine quelles informations sont affichées au participant.

Vous le créez une seule fois, puis vous le réutilisez pour chaque Carte émise. La plupart des équipes commencent avec un seul modèle Carte d’événement. Même avec de petites variations, vous pouvez souvent conserver un seul modèle, car le moteur de modèles prend en charge les variables et les conditions dans chaque champ personnalisable, y compris les couleurs et les images.

Vous ne créez d’autres modèles que lorsque vous avez besoin d’un visuel complètement différent ou d’un contenu différent pour certaines cartes. Si vous voulez une explication plus détaillée, consultez [Modèle](https://github.com/TheWalletCrew/docs/tree/main/design/general.md#template).

<details>

<summary><strong>Cas d’usage réels</strong></summary>

Utilisez plusieurs modèles lorsque vous avez besoin d’une mise en page ou d’un ensemble de champs clairement différent.

* **Différents types de produits :** un modèle pour une **carte visiteur**, un autre pour une **Carte d’événement**, et un autre pour une **carte d’abonnement**.
* **Différentes salles / halls :** un modèle par salle dans un lieu à plusieurs salles, afin que la Carte mette en avant le bon nom de salle et les informations d’entrée.
* **Changements de configuration du lieu :** des modèles différents lorsque le même lieu a des configurations différentes (assis, debout, en arène).
* **Placement numéroté vs placement libre :** un modèle qui affiche **section/rangée/siège**, et un autre qui se concentre sur **le placement libre**.
* **Différentes expériences d’accès :** des modèles différents lorsque certains spectacles nécessitent des instructions supplémentaires (entrée VIP, accès anticipé, parcours d’entrée spécifique).

</details>

{% stepper %}
{% step %}

#### Créez un nouveau modèle

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/passTypes" class="button secondary" data-icon="chevrons-right">Créez un nouveau modèle</a></p>
{% endstep %}

{% step %}

#### Choisissez « Utiliser un modèle prédéfini »

<div data-with-frame="true"><figure><img src="/files/079f273ed7c69f282ffb717cbf83461ddae44c00" alt="Template creation options with “Use a pre-built” selected" width="375"><figcaption><p>Sélectionnez <strong>Utiliser un modèle prédéfini</strong> pour partir de la bibliothèque.</p></figcaption></figure></div>
{% endstep %}

{% step %}

#### Choisissez le modèle « Carte d’événement »

<div data-with-frame="true"><figure><img src="/files/c039317525a657fdae3d6f70065fda6aad7066eb" alt="Wallet template selection when creating a new template" width="375"><figcaption><p>Choisissez le <strong>Carte d’événement</strong> modèle lorsque vous créez votre Carte.</p></figcaption></figure></div>
{% endstep %}

{% step %}

#### Définissez le nom du modèle

Le nommage des modèles est important. Secutix peut cibler les modèles par nom lors de la distribution. Si vous prévoyez plusieurs modèles, configurez les règles de routage dans [Sélection du modèle (routage)](/connectors/fr/ticketing/secutix/template-selection.md).
{% endstep %}
{% endstepper %}

## Mappage des champs

Le connecteur mappe par défaut les champs de Carte les plus courants. Dans votre modèle, ouvrez l’éditeur de configuration avancée pour parcourir les données Secutix disponibles avec l’autocomplétion. Utilisez la liste de champs ci-dessous pour planifier votre mappage et déboguer les valeurs.

<div data-with-frame="true"><figure><img src="/files/4eec7cdfeb8561212ef529a7f3dada0606074ce4" alt="Field mapping UI: autocomplete information from Secutix" width="375"><figcaption><p>Interface de mappage des champs avec autocomplétion Secutix.</p></figcaption></figure></div>

Utilisez cette page lorsque vous devez :

* Confirmer quels champs Secutix sont disponibles.
* Ajouter des champs calculés supplémentaires à la charge utile de votre Carte.
* Déboguer quels champs de Carte vous pouvez réutiliser dans votre modèle.

Pour en savoir plus sur la configuration du modèle de Carte, consultez [Carte d’événement](https://github.com/TheWalletCrew/docs/tree/main/design/event-ticket.md).

### Champs disponibles

<details>

<summary><strong>Champs disponibles (liste complète)</strong></summary>

Voici le catalogue brut de champs exposé par le connecteur. Considérez-le comme une boîte à outils. Vous avez rarement besoin de tout.

| L'équipe Wallet      | Secutix                                                                                       | Exemple                                       |
| -------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------- |
| firstName            | movementData.beneficiaryFirstname                                                             | Cyril                                         |
| lastName             | movementData.beneficiaryLastname                                                              | DURAND                                        |
| barCode              | movementData.barCode                                                                          | 085035041335220306680099                      |
| ticket.zone3         | movementData.area                                                                             | Zone unique                                   |
| ticket.seatCategory  | movementData.seatCategory                                                                     | Catégorie unique                              |
| address.country      | operationData.siteAddress.countryCode                                                         | FR                                            |
| address.address      | operationData.siteAddress.firstAddressLine                                                    | 116, Avenue du Président Kennedy              |
| address.city         | operationData.siteAddress.locality                                                            | PARIS                                         |
|                      | operationData.siteAddress.phoneNumber                                                         | 33-0156401516                                 |
|                      | operationData.siteAddress.webSite                                                             | <http://www.maisondelaradioetdelamusique.fr/> |
| address.zipCode      | operationData.siteAddress.zipCode                                                             | 75016                                         |
| ticket.zone1         | operationData.site                                                                            | Maison de la Radio et de la Musique           |
| ticket.zone2         | operationData.space                                                                           | Studio 104                                    |
| ticket.price         | operationData.totalAmount                                                                     | 0                                             |
| ticket.name          | operationData.performance                                                                     | Spectacle Wallet                              |
| ticket.subName       | operationData.performanceAddOnName                                                            | Un spectacle exceptionnel                     |
| ticket.startDate     | operationData.performanceDate                                                                 | 2024-07-01T20:00:00.000+02:00                 |
|                      | operationData.product                                                                         | Spectacle Wallet                              |
|                      | operationData.productFamilyType                                                               | SINGLE\_ENTRY                                 |
|                      | operationData.productFamilySubType                                                            | SIMPLE\_TICKET                                |
| ticket.taxNumber     | movementData.TaxNumber                                                                        | 12010124729                                   |
| expirationDate       | expirationDate                                                                                | 2024-02-23T00:03:46.627+01:00                 |
| ticket.orderId       | orderId                                                                                       | 2389856                                       |
| ticket.contactId     | contactReference                                                                              | 897501                                        |
| ticket.fileId        | operationData.fileId                                                                          | 2234582                                       |
| ticket.zone5         | movementData.row                                                                              |                                               |
| ticket.seatNumber    | movementData.seatNumber                                                                       |                                               |
| ticket.zone4         | movementData.block                                                                            |                                               |
| ticket.priceCategory | operation.AudienceSubCategory                                                                 |                                               |
| ticket.priceCurrency | operation.CatalogCurrency.CurrencyCode                                                        |                                               |
| ticket.eventId       | operationData.eventId                                                                         |                                               |
| ticket.entrance      | operationData.entrance                                                                        |                                               |
| ticket.entranceCode  | operationData.entranceCode                                                                    |                                               |
| ticket.floor         | operationData.floor                                                                           |                                               |
| ticket.seatQuality   | operationData.seatQuality                                                                     |                                               |
| ticket.sector        | operationData.sector                                                                          |                                               |
| ticket.canceled      | movementTicketData.TicketState est INVALIDATED ou CANCELLED                                   |                                               |
| address.longitude    | operationData.siteAddress.gpsLongitude ou calculé à partir de l’adresse via l’API Google Maps |                                               |
| address.latitude     | operationData.siteAddress.gpsLatitude ou calculé à partir de l’adresse via l’API Google Maps  |                                               |

</details>

## Personnalisation du mappage (avancé)

N’utilisez le script que lorsque le catalogue de champs par défaut ne suffit pas. Ajoutez un script personnalisé dans l’ **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>

Ceci est utile lorsque vous devez :

* Mapper une valeur Secutix qui n’est pas encore exposée.
* Créer un champ calculé (format, concaténation, valeur conditionnelle).
* Normaliser les valeurs pour que les modèles restent propres (exemple : toujours produire un seul champ « entranceLabel »).

Enregistrez `extensions.secutix.movement.mapper` et implémentez `MapFromSecutix`.

```javascript
/**
 * Étendez le mappage par défaut de Secutix vers Wallet Crew.
 *
 * Ajoutez tous les champs supplémentaires sur `entity`. Ils deviennent disponibles pour le rendu du modèle.
 *
 * @param {Object} params
 * @param {Object} params.Movement - Informations sur le Movement provenant du Web Service Secutix.
 * @param {Object} params.Operation- Informations d’opération liées au Movement actuel provenant du Web Service Secutix.
 * @param {Object|null|undefined} params.Product - Informations produit nullables liées au Movement actuel provenant de Secutix.
 * @param {Object} entity - Entité Wallet cible à enrichir.
 */
function mapFromSecutix(data, entity) {
  // Exemple : exposer un champ Secutix comme champ Wallet supplémentaire
  const stageVisibility = data?.Movement?.StageVisibility;
  if (stageVisibility != null) {
    entity["ticket.stageVisibility"] = stageVisibility;
  }
}

export default function(context) {
  context.register('extensions.secutix.movement.mapper', {
    MapFromSecutix: mapFromSecutix
  });
}
```

Si vous prévoyez d’utiliser plusieurs modèles de Carte, configurez les règles de routage dans [Sélection du modèle (routage)](/connectors/fr/ticketing/secutix/template-selection.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/wallet-pass-template-and-field-mapping.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.
