HCL Commerce Enterprise

Etude de cas : HCL Commerce modélisation de contrat

HCL Commerce les contrats constituent la base sur laquelle on détermine ce que les clients peuvent acheter dans un magasin en ligne, et à quel prix. Les fonctions des contrats sont souples car elles peuvent prendre en charge de nombreux types de modèles d'affaires de commerce électronique et leurs exigences commerciales complexes. Cette flexibilité est puissante, et une conception optimale du contrat peut réduire l'effort nécessaire pour gérer les comptes d'entreprise et les contrats. En outre, une conception optimale peut minimiser la quantité de ressources système qui sont nécessaires et donc améliorer les performances du système.

Concepts fondamentaux

Après avoir compris ces concepts, vous pouvez les combiner pour former une conception optimale pour un site de commerce électronique.

Contrats
Un contrat définit les modalités qui régissent le comportement d'un acheteur sur un site commercial. Ces conditions modifient l'expérience d'achat du client, y compris les produits que le client peut acheter, à quels prix il est éligible et quelles options d'expédition et de paiement il peut utiliser. Pour qu'un contrat soit accessible aux clients d'un magasin, il doit être déployé dans le magasin.
Modalités
La modalité la plus couramment utilisée concerne le filtre de catalogue. Elle est à la base de la sélection des produits du catalogue et des prix qui s'appliquent. Les paramètres du filtre de catalogue sont les suivants :
Tout le catalogue est sélectionné
Le client peut tout acheter dans le catalogue maître, sauf pour les catégories ou les produits exclus.
Tout le catalogue n'est pas sélectionné
Le client peut acheter les catégories et les produits qui sont inclus, sauf pour les catégories ou les produits exclus.
Le client est éligible à plusieurs conditions de Filtre de catalogue et toute condition exclut une catégorie ou un produit
Le client ne peut pas acheter cette catégorie ou ce produit en vertu du contrat applicable.
Pourcentage d'ajustement défini pour l'ensemble du catalogue, des catégories spécifiques et des produits spécifiques
Dans une condition, le paramètre de plus bas niveau dans la hiérarchie du catalogue est prioritaire sur les prix.
Des prix fixes peuvent être définis sur des produits spécifiques
Crée une liste de prix personnalisée, dont la priorité de tarification est supérieure à la liste de prix maître du magasin. Par conséquent, le prix fixe remplace tout prix de la liste de prix maître.

Si un client est éligible à plusieurs conditions de Filtre de catalogue, il a droit au prix le plus bas de l'ensemble des conditions. La priorité de la liste de prix aide également à déterminer la priorité d'une modalité tarifaire.

Dans certains scénarios commerciaux, les modalités relatives aux prix et produits applicables à un client sont conservées dans un système externe. Ces conditions doivent être importées dans HCL Commerce pour fournir une admissibilité correcte dans le magasin en ligne. Dans ce cas, il est préférable que le contrat fasse référence à une liste de prix et à un ensemble de produits via des stratégies commerciales de prix et de jeux de produits correspondantes. Le contrat utilise les modalités de prix et de jeu de produits appropriées pour désigner la stratégie commerciale respective.

Le Centre de gestion prend en charge un filtre de catalogue qui fonctionne différemment du filtre de catalogue HCL Commerce Accelerator décrit ici. Par exemple, le filtre de catalogue du Centre de gestion est utilisé pour établir des conditions d'admissibilité aux produits uniquement ; pour les conditions tarifaires, vous pouvez créer une règle tarifaire dans le Centre de gestion et l'affecter à un contrat. Pour en savoir plus sur les fonctionnalités de filtrage de catalogue et de tarification du Centre de gestion que vous pouvez utiliser dans les contrats, voir outil Filtre de catalogue et tarification.

Participants
Le système de commerce détermine qui est autorisé à utiliser un contrat parmi les participants 'acheteurs' qui sont associés à un contrat. Les participants acheteurs peuvent être une organisation ou un groupe de membres, et un contrat peut avoir plusieurs participants acheteurs. Un contrat peut également avoir un participant acheteur vide, ce qui signifie que tous les clients sont autorisés à utiliser ce contrat.

Quand un client se connecte au site, il a droit à :

  • Tous les contrats dans lesquels leur organisation parente immédiate, ou une organisation parente, est un participant acheteur. L'organisation parente immédiate peut être l'une des organisations auxquelles le membre est directement affecté ou une organisation dans laquelle il joue un rôle OrganizationParticipant.
  • Tous les contrats dans lesquels un groupe de membres auquel il appartient est un participant acheteur.
  • Tous les contrats ne comportant aucun participant acheteur vide (sauf restriction du compte d'entreprise).

Si un client est un invité ou qu'il n'est pas connecté, il n'a droit qu'aux contrats avec des participants acheteurs vides.

Contrats client
Un contrat client dispose d'un participant acheteur. Il se distingue d'un contrat de base, dans lequel aucun acheteur n'est participant. (Avoir un participant acheteur vide ne revient pas à la même chose que ne pas avoir de participant acheteur.) Lorsque le système HCL Commerce détermine les contrats autorisés d'un client, c'est à partir de l'ensemble des contrats clients déployés dans le magasin.
Contrats de base
Un contrat de base est un contrat sans participant acheteur. Les contrats de base sont utilisés pour obtenir des modalités qui peuvent être partagées par de nombreux contrats. Aucun client n'est directement soumis à un contrat de base. Un client est autorisé à utiliser les modalités d'un contrat de base uniquement si l'un des contrats client fait référence à ce contrat de base.

Un contrat peut faire référence directement à un contrat de base uniquement, mais il peut exister une hiérarchie des contrats qui permet à un contrat de partager les conditions de plusieurs contrats de base. Indiquer le maximum de modalités dans un contrat de base limite la gestion des contrats et la quantité de ressources système requises.

Les contrats de base peuvent être créés dans un magasin ouvert au public pour être partagés par n'importe quel contrat dans le magasin. De même, les contrats de base peuvent être créés dans un magasin de ressources, ce qui permet à ces contrats d'être partagés avec les contrats de nombreux magasins.

Les dispositions applicables à de nombreux clients, ou à de nombreux contrats d'un seul client, doivent être placées dans un contrat de base. Tous les contrats qui font référence au contrat de base partagent les dispositions du contrat de base. Toutes les modifications qui sont apportées à un contrat de base sont automatiquement incluses dans un contrat client qui fait référence au contrat de base.

Pour un site étendu, vous pouvez créer une base de magasin de ressources de vitrine pour le contrat par défaut. Dans le magasin de site étendu, les types de contrats suivants peuvent se référer à la base de magasin de ressources de vitrine pour le contrat par défaut et partagent ses dispositions :
  • Contrats par défaut
  • B2B directBase pour contrats par défaut
Pour des exemples de modélisation de contrat en utilisant la base de contrats de défaut, voir Affectation de filtres de catalogue aux contrats et Affectation de règles de tarification aux contrats.
Contrat par défaut
Un magasin a un contrat de défaut, qui permet aux clients et aux acheteurs non enregistrés de faire des achats dans le magasin. Le contrat a un participant acheteur vide. Les modalités du contrat par défaut stipulent généralement que l'intégralité du catalogue principal est en vente aux prix standard.

Les contrats par défaut peuvent hériter des dispositions de la base des contrats par défaut.

Comptes d'entreprise
Les contrats de base représentent la façon la plus courante de partager des modalités. Cependant, les dispositions qui ne sont applicables à un client particulier doivent être placées dans le compte d'entreprise du client. Tous les contrats au titre du compte d'entreprise partagent les dispositions du compte. Ces dernières incluent les bons de commande et la ligne de crédit.
ContractSetInSession
Comme indiqué, un client peut être éligible à des contrats client. En fonction de votre conception, il peut exister des situations où vous permettez au client d'utiliser un sous-ensemble de ces contrats éligibles dans sa session d'achat en cours uniquement. Par exemple, un client peut avoir droit à trois contrats, chacun pour un département de son entreprise. Toutefois, l'entreprise exige que chaque département ait une commande distincte. Lorsque le client se connecte, il choisit pour quel département il achète et le contrat correspondant à ce département est défini dans la session du client. Par conséquent, le client voit les produits pour le département approprié. Ce processus garantit que la commande s'applique à un seul département.
OrganizationSetInSession
Un client peut avoir une seule organisation immédiatement parente dans la hiérarchie de l'organisation HCL Commerce et donc est autorisé à utiliser uniquement les contrats autorisés pour cette organisation. Cette condition est restrictive dans de nombreuses situations. Un client peut être autorisé à faire des achats au nom de plusieurs organisations. Pour cela, il peut jouer le rôle OrganizationParticipant dans de nombreuses organisations. Lorsque les clients se connectent, ils peuvent choisir pour quelle organisation ils veulent acheter. Cette organisation est définie dans la session du client et elle devient l'organisation active. Le client est ensuite autorisé à utiliser tous les contrats autorisés pour l'organisation active choisie. Par défaut, l'organisation active de la session est l'organisation parente immédiate du client.

Modélisation de contrat - Etude de cas

L'exemple suivant illustre l'application de ces concepts dans la création d'un contrat optimal pour un magasin en ligne. Une société dispose d'un site de commerce B2B pour ses clients. Les conditions suivantes doivent être prises en charge pour les clients :
  • Les clients ont une ou plusieurs adresses de facturation
  • Chaque adresse de facturation contient une ou plusieurs adresses de livraison associée
  • Lorsqu'un client fait ses achats, il utilise une combinaison d'adresse de facturation/livraison
  • Le client est autorisé à acheter un sous-ensemble du catalogue principal.
  • Les clients sont soumis au prix de catalogue à moins qu'ils aient un prix personnalisé défini qui remplace le prix de catalogue

Considérons d'abord une conception simple sans aucun partage. Chaque client dispose d'un ensemble de contrats, représentant chacun une combinaison unique d'adresse de facturation/livraison. Dans l'exemple illustré par le diagramme 1, le client X a deux adresses de facturation associées chacune à 2 adresses de livraison. Le client X a droit à quatre contrats client. Lorsqu'un employé du client X se connecte, il est autorisé à faire des achats dans le cadre des quatre contrats autorisés. (Le compte professionnel du client X précise qu'il n'est pas autorisé à effectuer des achats en utilisant le contrat par défaut du magasin. Si le compte ne comportait pas ce paramètre, le client serait autorisé à bénéficier d'un cinquième contrat : le contrat par défaut du magasin). Cependant, il est nécessaire que le client puisse faire des achats pour une seule combinaison d'adresse de facturation/livraison à la fois. Pour satisfaire à cette exigence, le magasin peut présenter une liste de contrats autorisés pour l'acheteur et permettre à l'acheteur de choisir l'un des contrats. Le client peut utiliser un contrat sélectionné au cours de cette session d'achat.

Image montrant une conception simple, comme décrit dans le paragraphe précédent.

Cette solution, toutefois, présente un problème de convivialité. Chaque client peut avoir 10 adresses de facturation, et chaque adresse de facturation peut avoir au moins cinq adresses de livraison associées. Quand un client se connecte, il dispose d'une liste de 50 combinaisons d'adresses de facturation/livraison. Il ne faut pas que le client ait à faire défiler une longue liste. Lorsque le client se connecte, il sait pour quelle adresse de facturation il fait ses achats. Par conséquent, une liste d'adresses de facturation doit d'abord être affichée. Une fois cette adresse choisie, il doit sélectionner l'adresse de livraison appropriée. Il serait possible d'écrire une logique personnalisée présentant les cinquante contrats, mais il est préférable d'utiliser la fonctionnalité des contrats en vue d'améliorer leur présentation.

Le diagramme 2 illustre ces relations entre contrats. Cette modification de la conception contribue au fait que nous pouvons d'abord présenter l'ensemble des contrats de base de facturation, puis uniquement afficher les contrats de base de livraison de référence, dès que le contrat de facturation a été sélectionné. Cette solution nécessite tout de même l'écriture d'un code personnalisé pour rechercher tous les contrats de base parmi les contrats qui concernent le client.

Image montrant une conception simple, comme décrit dans le paragraphe précédent.

Le regroupement des contrats de facturation et d'expédition associés sous différentes organisations contribue à résoudre ce problème. Nous utilisons la fonction d'organisation active de HCL Commerce. Au lieu d'afficher une liste des contrats de base, nous affichons une liste des organisations pour lesquelles le client peut faire des achats. Un client peut faire des achats pour sa propre organisation, ainsi que pour toute organisation dans laquelle on lui a accordé un rôle d'acheteur spécial. Ce rôle est appelé OrganizationParticipant.

Le client X n'est plus autorisé à bénéficier directement des contrats client. Au lieu de cela, nous créons des organisations qui représentent chacune des adresses de facturation. Ces organisations seront ensuite les participants acheteurs dans les contrats client de livraison de base. Le client X a le droit d'utiliser les contrats pour chaque organisation de facturation grâce à son rôle OrganizationParticipant dans cette organisation. Lorsqu'un client X se connecte, il peut présenter une liste de toutes les organisations dans lesquelles il joue le rôle OrganizationParticipant. Cela signifie essentiellement qu'il dispose d'une liste des organisations de facturation. Lorsque l'une de ces organisations est sélectionnée, la commande OrganizationSetInSession est appelée et l'utilisateur est remplacé par un membre de l'organisation sélectionnée pour cette session. En conséquence, le client a droit aux contrats autorisés pour l'organisation de facturation sélectionnée. Par conséquent, la liste des contrats de livraison qui s'appliquent à l'organisation de facturation peut être présentée au client. Lorsque le client sélectionne l'un des contrats de livraison, ce contrat peut être défini dans la session à l'aide de la commande ContractSetInSession, et le client peut désormais acheter selon les termes du contrat de facturation/livraison sélectionné.

Image montrant un modèle de contrat

La solution basée sur l'utilisation du rôle OrganizationParticipant offre des avantages supplémentaires. Pour chaque organisation active utilisée par le client, un panier séparé est utilisé. Cela correspond parfaitement au modèle commercial car chaque organisation active est mappée à une adresse de facturation. Par conséquent, chaque adresse de facturation a son propre panier et sa commande, de sorte que chaque adresse de facturation est facturée séparément. Toutefois, les adresses de livraison différentes (différents contrats) dans la même facturation partageront la commande.

L'adresse de facturation peut être placée dans le carnet d'adresses de l'organisation de facturation correspondante. Toutes les adresses de facturation sont ainsi conservées distinctement et facilement identifiables lors du processus de règlement. Dans la conception originale, l'utilisateur doit identifier l'adresse de facturation correcte dans le carnet d'adresses du client. A présent, les adresses de facturation sont distinctes dans le carnet d'adresses de chaque organisation de facturation et l'adresse de facturation peut être complétée sur les pages de paiement en sélectionnant l'adresse de facturation à partir du carnet d'adresses de l'organisation active.

Tous les contrats d'un client doivent partager les mêmes modalités de produit et de prix. Un contrat de base est créé qui contient la disposition du filtre de catalogue du client, et tous les contrats de base de facturation du client se réfèrent au contrat de base du filtre de catalogue du client. Ainsi, tous les contrats clients partagent les mêmes dispositions et ces dispositions doivent être conservées dans le cadre d'un contrat. Si des modalités sont ajoutées pour une adresse de facturation ou de livraison spécifique, elles peuvent l'être au contrat applicable. Chaque contrat client d'expédition se compose uniquement de la combinaison des dispositions du contrat d'expédition, du dénommé contrat de base de facturation et du contrat de base d'autorisation du client.

Le client peut accéder à la liste de prix du magasin, à l'exception d'indications portant sur des prix spécifiques du client. Le filtre de catalogue peut préciser toutes les informations relatives aux produits et aux prix. Le filtre utilise deux listes de prix - la liste de prix principale du magasin et la liste de prix exceptionnels du client. La liste de prix des exceptions tarifaires du client a une priorité supérieure par rapport la liste de prix maître du magasin afin d'assurer que les exceptions de prix remplacent le prix catalogue.

Le client est uniquement autorisé à acheter un sous-ensemble du catalogue principal. Toute exclusion de catégories ou de produits peut être définie dans le filtre de catalogue.

Image montrant un modèle de contrat.

Vérification de la conception

Pour revoir la conception :

  • ContractSetInSession a été utilisé pour cibler la session d'achat du client sur un contrat. Le contrat correspondait à une combinaison adresse de facturation/adresse de livraison. Utilisez ContractSetInSession pour restreindre les contrats en usage au cours de la session dans tous les contrats autorisés auxquels un client peut avoir droit.
  • Les contrats de base ont été utilisés pour partager les modalités des clients individuels. L'utilisation des contrats de base permet une utilisation plus efficace des données au sein du système HCL Commerce et nécessite moins d'efforts de gestion.
  • OrganizationSetInSession a été utilisée pour permettre à un client d'acheter avec plusieurs comptes. Le client a ainsi réellement le choix entre plusieurs adresses de facturation/adresses de livraison de manière à créer une commande différente pour chaque adresse de facturation.
  • Il existe plusieurs listes de prix de sorte que chaque client peut disposer de sa propre liste de prix qui remplace les prix standard disponibles pour les produits du catalogue principal. La priorité d'une liste de prix aide à déterminer quelle disposition tarifaire d'un contrat doit prévaloir.

Conclusion : Passer d'un modèle descriptif à un modèle prescriptif

Il existe souvent plusieurs façons de modéliser l'autorisation de produit et de tarification d'un client dans un magasin HCL Commerce. Cependant, en utilisant efficacement les concepts fondamentaux de contrats qui sont décrits dans le sujet, une conception optimale du contrat peut être modélisée. Cette conception peut souvent réduire la gestion de contrat nécessaire et réduire la charge sur les ressources système. Comprendre toutes les fonctions et les capacités d'un contrat peut requérir du temps et de l'expérience. Cependant, une fois que ces concepts sont maîtrisés, la meilleure façon de modéliser les conditions de contrat d'un magasin spécifique devient plus claire.