Aller au contenu

Logo literactiv

Notion : Modules complémentaires

Dans le standard, les modules complémentaires permettent de définir des offres qui ne peuvent être commandées que dans le contexte d’une autre offre, ou qui peuvent être commandées à la fois seules et en complément.

Cette notion encadre :

  • la définition des offres principales et complémentaires
  • les règles d’accès à une offre
  • la manière dont ces relations sont exprimées lors du passage de la commande

Contexte d’utilisation

Dans le cadre des ventes liées aux événements littéraires, il est fréquent de proposer des options facultatives (ex. électricité, mobilier, affichage) liées à un offre en vente.

Ces options ne constituent pas des offres autonomes, elles n’ont de sens que lorsqu’elles sont associées à une offre principale.


Principe général

Les modules complémentaires sont définis comme des offres au même titre que toute proposition de vente dans le standard des événements littéraires. On vient cependant préciser le type de l'offre. Elle peut être :

  • commandable seule
  • commandable uniquement en complément
  • commandable dans les deux contextes

Des dépendances sont ensuite définies depuis les offres commandables seules, vers les offres proposées comme modules complémentaires.

Lors du passage à une commande, chaque produit commandé est transformé en une ligne de commande, les modules complémentaires deviennent donc une ligne de la commande à part entière, un mécanisme de liaisons permet cependant d'indiquer si une ligne de commande est un complément d'une autre, pour définir le module complémentaire dans la commande finale.


Définir l’accès à une offre

Le type d’accès à une offre est défini par l’attribut offerAccessModeen utilisant le vocabulaire controlé OfferAccessMode

Valeurs possibles :

Valeur Signification
Standalone L’offre peut être commandée seule
AddOn L’offre ne peut être commandée qu’en complément
StandaloneOrAddOn L’offre peut être commandée seule ou en complément

Définir dépendence entre les offres

Les modules complémentaires disponibles pour une offre sont définis dans l’offre principale, via l’attribut addOn. Ce module permet d'indiquer que cette offre propose des offres complémentaire pour la bonifier.

Exemple : Déclaration des offres dans le catalogue et utilisation des modules complémentaires.

Dans cet exemple, toutes les offres appartiennent à un catalogue (OfferCatalog) rattaché à une édition d’événement (Festival) via subjectOf.

Note de lisibilité : certains attributs obligatoires dans le schéma complet (ex. taxes, priceCurrency, subjectOf, inputRequirement, orderInclusion, etc.) sont omis ici pour garder l’exemple focalisé sur la logique des modules complémentaires et de l’accès à une offre.

Catalogue (contexte)

OfferCatalog:
  identifier: CATALOG-EXPOSANTS-2026
  name: "Catalogue exposant·e·s"
  subjectOf: FESTIVAL-FLL-2026
  itemListElement:
    - # Les offres sont listées plus bas (omises ici pour éviter la répétition)

Module complémentaire (AddOn)

Une offre en mode module complémentaire n’est pas commandable seule : elle doit être attachée à une offre principale lors de la commande.

identifier: OFFER-ELECTRICITY
name: "Branchement électrique"
offerAccessMode: AddOn
inOfferCatalog: CATALOG-EXPOSANTS-2026
# itemOffered, price, taxes, priceCurrency, subjectOf, etc. omis pour lisibilité

Offre hybride (StandaloneOrAddOn)

Une offre hybride peut être commandée seule ou attachée comme option à une autre offre.

identifier: OFFER-FURNITURE
name: "Mobilier de kiosque"
offerAccessMode: StandaloneOrAddOn
inOfferCatalog: CATALOG-EXPOSANTS-2026
# itemOffered, price, taxes, priceCurrency, subjectOf, etc. omis pour lisibilité

Offre principale

Ici, l’offre principale déclare explicitement ses options via addOn.

identifier: OFFER-KIOSK-10X10
name: "Kiosque 10×10 (de base)"
offerAccessMode: Standalone
inOfferCatalog: CATALOG-EXPOSANTS-2026
# Certains champs omis pour lisibilité :
# itemOffered, price, taxes, priceCurrency, subjectOf, inputRequirement, etc.
addOn:
  - identifier: OFFER-ELECTRICITY
    name: "Branchement électrique"
    offerAccessMode: AddOn
    inOfferCatalog: CATALOG-EXPOSANTS-2026
    # itemOffered, price, taxes, priceCurrency, subjectOf, etc. omis

  - identifier: OFFER-FURNITURE
    name: "Mobilier de kiosque"
    offerAccessMode: StandaloneOrAddOn
    inOfferCatalog: CATALOG-EXPOSANTS-2026
    # itemOffered, price, taxes, priceCurrency, subjectOf, etc. omis


Passage à la commande et liaison des offres

Lors du passage à la commande :

  • chaque offre commandée, qu'elle soit commandable seule, ou un module complémentaire, devient une ligne de commande (OrderItem)
  • dans la commande les modules complémentaires sont logiquement rattachés à une offre principale via l’attribut attachedTo

Exemple complet de commande

identifier: ORDER-001
orderedItem:
  - orderItemNumber: 1
    orderedOffer: OFFER-KIOSK-10X10
    orderQuantity: 1

  - orderItemNumber: 2
    orderedOffer: OFFER-ELECTRICITY
    orderQuantity: 1
    attachedTo: 1

  - orderItemNumber: 3
    orderedOffer: OFFER-FURNITURE
    orderQuantity: 1
    attachedTo: 1
# Certains champs omis pour lisibilité

Place du produit

• le produit décrit ce qui est vendu
• l’offre décrit comment il est vendu
• la commande décrit ce qui est réellement acheté

La liaison entre les produit et leur modules complémentaires est géré au niveau des offres, jamais des produits.


En résumé

Les modules complémentaires permettent : • d’ajouter des options sur une offre existante • de signifier dans une commande qu'un ligne de la commande est dépendante d'une autre ligne.