Aller au contenu principal

Exemples - Calcul tarif assurance auto

· 11 minutes de lecture
Mohammed Boukada

Dans le précédent billet, nous avons vu ensemble un exemple plutôt simpliste de paramétrage et d'utilisation des services RuleShake. Nous allons ici voir un exemple un peu plus complexe.

Pour les impatients, voici le lien vers cet exemple : https://demo.ruleshake.com/car-insurance-quote

Besoin

Prenons l'exemple d'un tarif pour un produit d'assurance automobile. Nous aurons besoin de définir :

  • Un véhicule, à sélectionner à partir d'un référentiel.
  • L'usage de ce véhicule (ex. Pro, Privée, etc)
  • Le mode et le lieu de stationnement du véhicule, à sélectionner à partir d'un référentiel
  • Les informations des conducteurs : date de naissance, date d'obtention du permis, profession
  • Les antécédents du conducteur : résiliation pour sinistre, fausse déclaration, impayés ou autre raison

Nous souhaitons calculer une matrice de tarif de plusieurs formules MINI, MEDIUM et MAXI avec plusieurs fractionnements Mensuel et Annuel. Les garanties couvertes sont réparties dans les formules comme suit :

MiniMediumMaxi
Responsabilité civile✔️✔️✔️
Bris de glace✔️✔️✔️
Protection juridique✔️✔️✔️
Incendie✔️✔️
Vol✔️✔️
Dommages tous accidents✔️

Les formules de calcul pour chaque garantie ont été définies de façon arbitraire pour cet exemple. Voir la partie Implémentation pour plus de détails.

Analyse

Partant de ce besoin, d'un point de vue RuleShake, on va identifier :

  • Un dataset représentant la liste des véhicules
  • Un dataset représentant la liste des communes (pour le lieu de stationnement)
  • Une collection permettant le calcul de la matrice de tarif.

En prime, afin que l'exemple soit le plus complet possible, on va ajouter un classier associé au dataset des communes. Le classier permet de déduire une valeur à partir des données d'un record du classier auquel il est associé.

Implémentation

Référentiel des véhicules

On va commencer par créer un nouveau dataset contenant la liste des véhicules qu'on va appeler VEHICULES :

Les propriétés de ce dataset sont :

  • MARQUE : la marque du véhicule
  • MODELE : le modèle du véhicule
  • ENERGIE : l'énergie ou type du moteur du véhicule
  • PUISSANCE : la puissance du véhicule
  • ANNEE : l'année de mise en circulation du véhicule

A cette liste de propriétés, va s'ajouter le CODE qui est une propriété obligatoire pour chaque record d'un dataset. Pour VEHICULES, le CODE contiendra le code SRA du véhicule.

Maintenant, il ne nous reste plus qu'à remplir ce dataset par des records (véhicules) :

Référentiel des communes

Passons maintenant au référentiel des communes qui va nous servir à déterminer le lieu de stationnement du véhicule.

Ce dataset, que nous appellerons COMMUNES, va avoir comme propriétés :

  • PAYS : le pays de la commune
  • DEPARTEMENT : le département de la commune
  • COMMUNE : le nom de la commune

Nous ajoutons quelques communes de France :

Zonier

Nous allons maintenant définir le classier que nous appellerons ZONIER lié au dataset COMMUNES dont le but est de calculer une valeur numérique à partir des données d'un record du dataset. Lors de l'évaluation de la collection la valeur calculée du classier sera stockée dans la sous-variable ZONIER de la variable de type Record liée au dataset COMMUNES.

Le calcul de la valeur se fera la correspondance la plus proche dans l'ordre des propriétés :

  1. COMMUNE
  2. DEPARTEMENT
  3. PAYS

Les valeurs que nous allons définir dans ce classier doivent être liées à une ou plusieurs valeurs de ces propriétés présentes dans le dataset COMMUNES. Pour cet exemple, nous allons créer les valeurs :

  • BONUS = -10 si COMMUNE = BRON ou DEPARTEMENT = HERAULT
  • MALUS = +10 si DEPARTEMENT= AIN
  • AUTRE = 0 si PAYS = FRANCE

Regardons de plus près le paramétrage de la valeur BONUS qui est liée à plusieurs valeurs de plusieurs propriétés :

Voici quelques exemples de résolution de ce classier :

CodePaysDépartementCommuneZonier
59350FRANCENORDLILLEAUTRE
69029FRANCERHONEBRONBONUS
34172FRANCEHERAULTMONTPELLIERBONUS
01202FRANCEAINLAGNIEUMALUS
01053FRANCEAINBOURG EN BRESSEMALUS

Nous avons maintenant terminé le paramétrage dans RuleShake Referential.

Calcul de la matrice de tarif

Nous allons maintenant créer une collection dans RuleShake Catalog que nous appellerons ASSURANCE_AUTO :

Celle-ci contiendra les variables :

  • VEHICULE: une variable d'entrée de type Composite et contient les sous-variables :
    • INFOS: une variable d'entrée obligatoire de type Record liée au dataset VEHICULES
    • USAGE: une variable d'entrée de type Chaîne avec comme valeurs possibles : Pro, Privé et Privé et pro :
    • MODE_STATIONNEMENT : une variable d'entrée de type Chaîne avec comme valeurs possibles : Parking collectif, Voie publique et Box
    • LIEU_STATIONNEMENT : une variable d'entée obligatoire de type Record liée au dataset COMMUNES et incluant le classier ZONIER Ainsi, les sous-variables fournies pour la variable LIEU_STATIONNEMENT sont :
  • CONDUCTEUR : une variable d'entrée de type Composite et multiple, elle contient les sous-variables :
    • PRINCIPAL : une variable d'entrée de type Booléen
    • DATE_NAISSANCE : une variable d'entrée de type Date
    • DATE_PERMIS : une variable d'entrée de type Date
    • PROFESSION : une variable d'entrée de type Chaîne avec comme valeurs possibles : Edutiant, Indépendant, Retraité, Salarié et Recherche d'emploi
    • AGE : une variable calculée de type Nombre qui calcul l'âge du conducteur : L'usage du mot clé _parent permet de faire référence à l'instance de CONDUCTEUR parente. En effet, CONDUCTEUR étant une variable multiple, utiliser CONDUCTEUR.DATE_NAISSANCE n'est pas possible. Cependant, si on souhaite toujours accéder au premier conducteur par exemple, on peut utiliser CONDUCTEUR[0].DATE_NAISSANCE
  • ANTECEDENTS : une variable d'entée de type Composite et contient les sous-variables :
    • RESIL_SINISTRE : une variable d'entrée de type Booléen
    • RESIL_FAUSSE_DECLA : une variable d'entrée de type Booléen
    • RESIL_IMPAYES : une variable d'entrée de type Booléen
    • RESIL_AUTRE : une variable d'entrée de type Booléen
  • FORMULES : une variable d'entrée multiple de type Chaîne avec comme valeurs possibles : Mini, Medium et Maxi
  • FRACTIONNEMENTS : une variable d'entrée multiple de type Chaîne avec comme valeurs possibles : Mensuel et Annuel
  • TARIF : une variable calculée multiple de type COMPOSITE que nous allons détaillez tout de suite.

La particularité de la variable multiple TARIF est que, contrairement aux variables d'entrées, les instances ne sont pas renseignées en entrée du calcul, mais sont calculées à partir des valeurs des autres variables multiples. Dans cet exemple, TARIF boucle sur les valeurs des variables multiples FORMULES et FRACTIONNEMENTS ce qui nous permet donc d'obtenir notre matrice de tarif.

Pour chaque instance de la variable TARIF, les valeurs des variables FORMULES et FRACTIONNEMENTS de l'instance sont accessibles sous le code FORMULE et FRACTIONNEMENT respectivement.

La variable COEF_FRACTIONNEMENT sous TARIF utilise FRACTIONNEMENT et a comme formule :

if (FRACTIONNEMENT.value == "Annuel") {
return 1.1
} else {
return 0.1
}

Les formules sont écrites dans le langage mvel.

On a également la variable GARANTIES sous TARIF de type Composite et inclut les sous-variables représentants les garanties :

Toutes les garanties sont représentées par une variable de type Composite composée de 3 sous-variables :

  • INCLUSE : variable calculée de type Booléen qui indique si la garantie est incluse dans la formule/fractionnement en cours

    GarantieValeur de INCLUSE
    Responsabilité civiletrue
    Bris de glacetrue
    Protection juridiquetrue
    Incendie
    FORMULE.value == "Medium" || FORMULE.value == "Maxi"
    Vol
    FORMULE.value == "Medium" || FORMULE.value == "Maxi"
    Dommages tous accidents
    FORMULE.value == "Maxi"
  • BASE : variable calculée de type Number qui calcule le tarif de base de la garantie. Dans cet exemple, le choix des formules de calcul pour les garanties a été fait de façon complètement arbitraire :

    GarantieValeur de BASE
    Responsabilité civile
    100 + MultipleHelper.maxBy(CONDUCTEUR, "AGE").AGE.value
    Bris de glace
    50 + DateHelper.extract(DateHelper.today(), "d")
    Protection juridique
    montant = 10;
    if (ANTECENDENTS.RESIL_AUTRE.value == true) {
      montant += 2;
    }
    if (ANTECENDENTS.RESIL_FAUSSE_DECLA.value == true) {
      montant += 2;
    }
    if (ANTECENDENTS.RESIL_IMPAYES.value == true) {
      montant += 2;
    }
    if (ANTECENDENTS.RESIL_SINISTRE.value == true) {
      montant += 2;
    }
    return montant;
    Incendie
    if (VEHICULE.USAGE.value == "Pro") {
      return 36 + VEHICULE.LIEU_STATIONNEMENT.ZONIER.value
    } else {
      return 30 + VEHICULE.LIEU_STATIONNEMENT.ZONIER.value
    }
    Vol
    if (VEHICULE.MODE_STATIONNEMENT.value == "Voie publique") {
      return 40 + (1.8 * VEHICULE.LIEU_STATIONNEMENT.ZONIER.value)
    } else {
      return 40 + (0.8 * VEHICULE.LIEU_STATIONNEMENT.ZONIER.value)
    }
    Dommages tous accidents
    50 + (2 * VEHICULE.INFOS.PUISSANCE.value) - 
    (DateHelper.period(CONDUCTEUR[0].DATE_PERMIS.value, "y"))
  • MONTANT : variable calculée de type Number qui calcule le montant final de la garantie pour la formule/fractionnement en cours. Concrètement, il s'agit d'une multiplication de BASE par COEF_FRACTIONNEMENT:

    _parent._parent._parent.COEF_FRACTIONNEMENT.value * _parent.BASE.value

    La variable COEF_FRACTIONNEMENT étant défini sous TARIF directement, il faut ici utiliser le mot clé _parent 3 fois pour remonter jusqu'à l'instance de TARIF (à partir de MONTANT) et accéder à la valeur de COEF_FRACTIONNEMENT.

Utilisation

Nous avons maintenant terminé le paramétrage du produit d'assurance automobile, on peut maintenant calculer des tarifs.

Il est possible de faire des simulations de calcul dans RuleShake Catalog directement en cliquant sur le bouton Simuler en haut à droite de la fiche de la collection ASSURANCE_AUTO :

Ce formulaire est généré automatiquement à partir des variables définies dans la collection. Il permet de valider le bon calcul des variables avant de pouvoir le publier dans RuleShake Runner.

La publication dans RuleShake Runner se fait par le clic sur le bouton Publier en haut à droite de la fiche de la collection puis en renseigner le formulaire :

On peut maintenant interroger l'API de RuleShake Runner afin d'évaluer la collection ASSURANCE_AUTO et obtenir des tarifs.

Exemple de requête :

POST ruleshake-runner/api/v1/evaluations

Cliquer pour développer la requête
{
"requestTime": "2023-06-14T00:00",
"collectionCode": "ASSURANCE_AUTO",
"inputs": [
{
"reference": "VEHICULE/INFOS",
"value": "CI63033",
"type": "record"
},
{
"reference": "VEHICULE/LIEU_STATIONNEMENT",
"value": "69029",
"type": "record"
},
{
"reference": "VEHICULE/USAGE",
"value": "Privé",
"type": "string"
},
{
"reference": "VEHICULE/MODE_STATIONNEMENT",
"value": "Box",
"type": "string"
},
{
"reference": "CONDUCTEUR[0]/PRINCIPAL",
"value": "true",
"type": "boolean"
},
{
"reference": "CONDUCTEUR[0]/DATE_NAISSANCE",
"value": "1989-11-04",
"type": "date"
},
{
"reference": "CONDUCTEUR[0]/DATE_PERMIS",
"value": "2008-01-01",
"type": "date"
},
{
"reference": "CONDUCTEUR[0]/PROFESSION",
"value": "Indépendant",
"type": "string"
},
{
"reference": "CONDUCTEUR[1]/PRINCIPAL",
"value": "false",
"type": "boolean"
},
{
"reference": "CONDUCTEUR[1]/DATE_NAISSANCE",
"value": "1992-07-11",
"type": "date"
},
{
"reference": "CONDUCTEUR[1]/DATE_PERMIS",
"value": "2011-01-01",
"type": "date"
},
{
"reference": "CONDUCTEUR[1]/PROFESSION",
"value": "Salarié",
"type": "string"
},
{
"reference": "ANTECENDENTS/RESIL_SINISTRE",
"value": "false",
"type": "boolean"
},
{
"reference": "ANTECENDENTS/RESIL_FAUSSE_DECLA",
"value": "false",
"type": "boolean"
},
{
"reference": "ANTECENDENTS/RESIL_IMPAYES",
"value": "false",
"type": "boolean"
},
{
"reference": "ANTECENDENTS/RESIL_AUTRE",
"value": "false",
"type": "boolean"
},
{
"reference": "FORMULES[0]",
"value": "Mini",
"type": "string"
},
{
"reference": "FORMULES[1]",
"value": "Medium",
"type": "string"
},
{
"reference": "FORMULES[2]",
"value": "Maxi",
"type": "string"
},
{
"reference": "FRACTIONNEMENTS[0]",
"value": "Mensuel",
"type": "string"
},
{
"reference": "FRACTIONNEMENTS[1]",
"value": "Annuel",
"type": "string"
}
]
}

Nous obtenons la réponse suivante (attention, contenu long!) :

Cliquer pour développer la réponse
{
"reference": {
"code": "ASSURANCE_AUTO",
"version": 1
},
"variables": [
{
"runtimeReference": "CONDUCTEUR[0]",
"definitionReference": "CONDUCTEUR",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "CONDUCTEUR[0]/DATE_NAISSANCE",
"definitionReference": "CONDUCTEUR/DATE_NAISSANCE",
"type": "DATE",
"value": "1989-11-04",
"properties": {
"LIBELLE": "Date de naissance"
}
},
{
"runtimeReference": "CONDUCTEUR[0]/DATE_PERMIS",
"definitionReference": "CONDUCTEUR/DATE_PERMIS",
"type": "DATE",
"value": "2008-01-01",
"properties": {
"LIBELLE": "Date de permis"
}
},
{
"runtimeReference": "CONDUCTEUR[0]/PROFESSION",
"definitionReference": "CONDUCTEUR/PROFESSION",
"type": "STRING",
"value": "Indépendant",
"properties": {
"LIBELLE": "Profession"
},
"validValues": [
"Etudiant",
"Indépendant",
"Retraité",
"Salarié",
"Recherche d'emploi"
]
},
{
"runtimeReference": "CONDUCTEUR[0]/PRINCIPAL",
"definitionReference": "CONDUCTEUR/PRINCIPAL",
"type": "BOOLEAN",
"value": true,
"properties": {
"LIBELLE": "Conducteur principal"
}
},
{
"runtimeReference": "CONDUCTEUR[0]/AGE",
"definitionReference": "CONDUCTEUR/AGE",
"type": "NUMBER",
"value": 33
}
],
"properties": {
"ONGLET": "Conducteur"
}
},
{
"runtimeReference": "CONDUCTEUR[1]",
"definitionReference": "CONDUCTEUR",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "CONDUCTEUR[1]/DATE_NAISSANCE",
"definitionReference": "CONDUCTEUR/DATE_NAISSANCE",
"type": "DATE",
"value": "1992-07-11",
"properties": {
"LIBELLE": "Date de naissance"
}
},
{
"runtimeReference": "CONDUCTEUR[1]/DATE_PERMIS",
"definitionReference": "CONDUCTEUR/DATE_PERMIS",
"type": "DATE",
"value": "2011-01-01",
"properties": {
"LIBELLE": "Date de permis"
}
},
{
"runtimeReference": "CONDUCTEUR[1]/PROFESSION",
"definitionReference": "CONDUCTEUR/PROFESSION",
"type": "STRING",
"value": "Salarié",
"properties": {
"LIBELLE": "Profession"
},
"validValues": [
"Etudiant",
"Indépendant",
"Retraité",
"Salarié",
"Recherche d'emploi"
]
},
{
"runtimeReference": "CONDUCTEUR[1]/PRINCIPAL",
"definitionReference": "CONDUCTEUR/PRINCIPAL",
"type": "BOOLEAN",
"value": false,
"properties": {
"LIBELLE": "Conducteur principal"
}
},
{
"runtimeReference": "CONDUCTEUR[1]/AGE",
"definitionReference": "CONDUCTEUR/AGE",
"type": "NUMBER",
"value": 30
}
],
"properties": {
"ONGLET": "Conducteur"
}
},
{
"runtimeReference": "ANTECENDENTS",
"definitionReference": "ANTECENDENTS",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "ANTECENDENTS/RESIL_SINISTRE",
"definitionReference": "ANTECENDENTS/RESIL_SINISTRE",
"type": "BOOLEAN",
"value": false,
"properties": {
"LIBELLE": "Résiliation pour sinistre ?"
}
},
{
"runtimeReference": "ANTECENDENTS/RESIL_FAUSSE_DECLA",
"definitionReference": "ANTECENDENTS/RESIL_FAUSSE_DECLA",
"type": "BOOLEAN",
"value": false,
"properties": {
"LIBELLE": "Résiliation pour fausse déclaration ?"
}
},
{
"runtimeReference": "ANTECENDENTS/RESIL_IMPAYES",
"definitionReference": "ANTECENDENTS/RESIL_IMPAYES",
"type": "BOOLEAN",
"value": false,
"properties": {
"LIBELLE": "Résiliation pour impayés"
}
},
{
"runtimeReference": "ANTECENDENTS/RESIL_AUTRE",
"definitionReference": "ANTECENDENTS/RESIL_AUTRE",
"type": "BOOLEAN",
"value": false,
"properties": {
"LIBELLE": "Résiliation pour une autre raison ? "
}
}
],
"properties": {
"ONGLET": "Antécédents"
}
},
{
"runtimeReference": "FRACTIONNEMENTS[0]",
"definitionReference": "FRACTIONNEMENTS",
"type": "STRING",
"value": "Mensuel",
"validValues": [
"Mensuel",
"Annuel"
]
},
{
"runtimeReference": "FRACTIONNEMENTS[1]",
"definitionReference": "FRACTIONNEMENTS",
"type": "STRING",
"value": "Annuel",
"validValues": [
"Mensuel",
"Annuel"
]
},
{
"runtimeReference": "FORMULES[0]",
"definitionReference": "FORMULES",
"type": "STRING",
"value": "Mini",
"validValues": [
"Maxi",
"Mini",
"Medium"
]
},
{
"runtimeReference": "FORMULES[1]",
"definitionReference": "FORMULES",
"type": "STRING",
"value": "Medium",
"validValues": [
"Maxi",
"Mini",
"Medium"
]
},
{
"runtimeReference": "FORMULES[2]",
"definitionReference": "FORMULES",
"type": "STRING",
"value": "Maxi",
"validValues": [
"Maxi",
"Mini",
"Medium"
]
},
{
"runtimeReference": "TARIF[0]",
"definitionReference": "TARIF",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[0]/COEF_FRACTIONNEMENT",
"definitionReference": "TARIF/COEF_FRACTIONNEMENT",
"type": "NUMBER",
"value": 0.1
},
{
"runtimeReference": "TARIF[0]/GARANTIES",
"definitionReference": "TARIF/GARANTIES",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[0]/GARANTIES/RC",
"definitionReference": "TARIF/GARANTIES/RC",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[0]/GARANTIES/RC/INCLUSE",
"definitionReference": "TARIF/GARANTIES/RC/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[0]/GARANTIES/RC/MONTANT",
"definitionReference": "TARIF/GARANTIES/RC/MONTANT",
"type": "NUMBER",
"value": 13.3
},
{
"runtimeReference": "TARIF[0]/GARANTIES/RC/BASE",
"definitionReference": "TARIF/GARANTIES/RC/BASE",
"type": "NUMBER",
"value": 133
}
],
"properties": {
"LIBELLE": "Responsabilité civile"
}
},
{
"runtimeReference": "TARIF[0]/GARANTIES/BDG",
"definitionReference": "TARIF/GARANTIES/BDG",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[0]/GARANTIES/BDG/INCLUSE",
"definitionReference": "TARIF/GARANTIES/BDG/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[0]/GARANTIES/BDG/MONTANT",
"definitionReference": "TARIF/GARANTIES/BDG/MONTANT",
"type": "NUMBER",
"value": 6.4
},
{
"runtimeReference": "TARIF[0]/GARANTIES/BDG/BASE",
"definitionReference": "TARIF/GARANTIES/BDG/BASE",
"type": "NUMBER",
"value": 64
}
],
"properties": {
"LIBELLE": "Bris de glace"
}
},
{
"runtimeReference": "TARIF[0]/GARANTIES/INC",
"definitionReference": "TARIF/GARANTIES/INC",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[0]/GARANTIES/INC/INCLUSE",
"definitionReference": "TARIF/GARANTIES/INC/INCLUSE",
"type": "BOOLEAN",
"value": false
},
{
"runtimeReference": "TARIF[0]/GARANTIES/INC/MONTANT",
"definitionReference": "TARIF/GARANTIES/INC/MONTANT",
"type": "NUMBER",
"value": 2
},
{
"runtimeReference": "TARIF[0]/GARANTIES/INC/BASE",
"definitionReference": "TARIF/GARANTIES/INC/BASE",
"type": "NUMBER",
"value": 20
}
],
"properties": {
"LIBELLE": "Incendie"
}
},
{
"runtimeReference": "TARIF[0]/GARANTIES/VOL",
"definitionReference": "TARIF/GARANTIES/VOL",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[0]/GARANTIES/VOL/INCLUSE",
"definitionReference": "TARIF/GARANTIES/VOL/INCLUSE",
"type": "BOOLEAN",
"value": false
},
{
"runtimeReference": "TARIF[0]/GARANTIES/VOL/MONTANT",
"definitionReference": "TARIF/GARANTIES/VOL/MONTANT",
"type": "NUMBER",
"value": 3.2
},
{
"runtimeReference": "TARIF[0]/GARANTIES/VOL/BASE",
"definitionReference": "TARIF/GARANTIES/VOL/BASE",
"type": "NUMBER",
"value": 32
}
],
"properties": {
"LIBELLE": "Vol"
}
},
{
"runtimeReference": "TARIF[0]/GARANTIES/DTA",
"definitionReference": "TARIF/GARANTIES/DTA",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[0]/GARANTIES/DTA/INCLUSE",
"definitionReference": "TARIF/GARANTIES/DTA/INCLUSE",
"type": "BOOLEAN",
"value": false
},
{
"runtimeReference": "TARIF[0]/GARANTIES/DTA/MONTANT",
"definitionReference": "TARIF/GARANTIES/DTA/MONTANT",
"type": "NUMBER",
"value": 4.7
},
{
"runtimeReference": "TARIF[0]/GARANTIES/DTA/BASE",
"definitionReference": "TARIF/GARANTIES/DTA/BASE",
"type": "NUMBER",
"value": 47
}
],
"properties": {
"LIBELLE": "Dommages tous accidents"
}
},
{
"runtimeReference": "TARIF[0]/GARANTIES/PJ",
"definitionReference": "TARIF/GARANTIES/PJ",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[0]/GARANTIES/PJ/INCLUSE",
"definitionReference": "TARIF/GARANTIES/PJ/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[0]/GARANTIES/PJ/MONTANT",
"definitionReference": "TARIF/GARANTIES/PJ/MONTANT",
"type": "NUMBER",
"value": 1
},
{
"runtimeReference": "TARIF[0]/GARANTIES/PJ/BASE",
"definitionReference": "TARIF/GARANTIES/PJ/BASE",
"type": "NUMBER",
"value": 10
}
],
"properties": {
"LIBELLE": "Protection juridique"
}
}
]
},
{
"runtimeReference": "TARIF[0]/TOTAL",
"definitionReference": "TARIF/TOTAL",
"type": "NUMBER",
"value": 20.7
}
],
"loopStep": {
"FORMULE": "FORMULES[0]",
"FRACTIONNEMENT": "FRACTIONNEMENTS[0]"
}
},
{
"runtimeReference": "TARIF[1]",
"definitionReference": "TARIF",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[1]/COEF_FRACTIONNEMENT",
"definitionReference": "TARIF/COEF_FRACTIONNEMENT",
"type": "NUMBER",
"value": 1.1
},
{
"runtimeReference": "TARIF[1]/GARANTIES",
"definitionReference": "TARIF/GARANTIES",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[1]/GARANTIES/RC",
"definitionReference": "TARIF/GARANTIES/RC",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[1]/GARANTIES/RC/INCLUSE",
"definitionReference": "TARIF/GARANTIES/RC/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[1]/GARANTIES/RC/MONTANT",
"definitionReference": "TARIF/GARANTIES/RC/MONTANT",
"type": "NUMBER",
"value": 146.3
},
{
"runtimeReference": "TARIF[1]/GARANTIES/RC/BASE",
"definitionReference": "TARIF/GARANTIES/RC/BASE",
"type": "NUMBER",
"value": 133
}
],
"properties": {
"LIBELLE": "Responsabilité civile"
}
},
{
"runtimeReference": "TARIF[1]/GARANTIES/BDG",
"definitionReference": "TARIF/GARANTIES/BDG",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[1]/GARANTIES/BDG/INCLUSE",
"definitionReference": "TARIF/GARANTIES/BDG/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[1]/GARANTIES/BDG/MONTANT",
"definitionReference": "TARIF/GARANTIES/BDG/MONTANT",
"type": "NUMBER",
"value": 70.4
},
{
"runtimeReference": "TARIF[1]/GARANTIES/BDG/BASE",
"definitionReference": "TARIF/GARANTIES/BDG/BASE",
"type": "NUMBER",
"value": 64
}
],
"properties": {
"LIBELLE": "Bris de glace"
}
},
{
"runtimeReference": "TARIF[1]/GARANTIES/INC",
"definitionReference": "TARIF/GARANTIES/INC",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[1]/GARANTIES/INC/INCLUSE",
"definitionReference": "TARIF/GARANTIES/INC/INCLUSE",
"type": "BOOLEAN",
"value": false
},
{
"runtimeReference": "TARIF[1]/GARANTIES/INC/MONTANT",
"definitionReference": "TARIF/GARANTIES/INC/MONTANT",
"type": "NUMBER",
"value": 22
},
{
"runtimeReference": "TARIF[1]/GARANTIES/INC/BASE",
"definitionReference": "TARIF/GARANTIES/INC/BASE",
"type": "NUMBER",
"value": 20
}
],
"properties": {
"LIBELLE": "Incendie"
}
},
{
"runtimeReference": "TARIF[1]/GARANTIES/VOL",
"definitionReference": "TARIF/GARANTIES/VOL",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[1]/GARANTIES/VOL/INCLUSE",
"definitionReference": "TARIF/GARANTIES/VOL/INCLUSE",
"type": "BOOLEAN",
"value": false
},
{
"runtimeReference": "TARIF[1]/GARANTIES/VOL/MONTANT",
"definitionReference": "TARIF/GARANTIES/VOL/MONTANT",
"type": "NUMBER",
"value": 35.2
},
{
"runtimeReference": "TARIF[1]/GARANTIES/VOL/BASE",
"definitionReference": "TARIF/GARANTIES/VOL/BASE",
"type": "NUMBER",
"value": 32
}
],
"properties": {
"LIBELLE": "Vol"
}
},
{
"runtimeReference": "TARIF[1]/GARANTIES/DTA",
"definitionReference": "TARIF/GARANTIES/DTA",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[1]/GARANTIES/DTA/INCLUSE",
"definitionReference": "TARIF/GARANTIES/DTA/INCLUSE",
"type": "BOOLEAN",
"value": false
},
{
"runtimeReference": "TARIF[1]/GARANTIES/DTA/MONTANT",
"definitionReference": "TARIF/GARANTIES/DTA/MONTANT",
"type": "NUMBER",
"value": 51.7
},
{
"runtimeReference": "TARIF[1]/GARANTIES/DTA/BASE",
"definitionReference": "TARIF/GARANTIES/DTA/BASE",
"type": "NUMBER",
"value": 47
}
],
"properties": {
"LIBELLE": "Dommages tous accidents"
}
},
{
"runtimeReference": "TARIF[1]/GARANTIES/PJ",
"definitionReference": "TARIF/GARANTIES/PJ",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[1]/GARANTIES/PJ/INCLUSE",
"definitionReference": "TARIF/GARANTIES/PJ/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[1]/GARANTIES/PJ/MONTANT",
"definitionReference": "TARIF/GARANTIES/PJ/MONTANT",
"type": "NUMBER",
"value": 11
},
{
"runtimeReference": "TARIF[1]/GARANTIES/PJ/BASE",
"definitionReference": "TARIF/GARANTIES/PJ/BASE",
"type": "NUMBER",
"value": 10
}
],
"properties": {
"LIBELLE": "Protection juridique"
}
}
]
},
{
"runtimeReference": "TARIF[1]/TOTAL",
"definitionReference": "TARIF/TOTAL",
"type": "NUMBER",
"value": 227.7
}
],
"loopStep": {
"FORMULE": "FORMULES[0]",
"FRACTIONNEMENT": "FRACTIONNEMENTS[1]"
}
},
{
"runtimeReference": "TARIF[2]",
"definitionReference": "TARIF",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[2]/COEF_FRACTIONNEMENT",
"definitionReference": "TARIF/COEF_FRACTIONNEMENT",
"type": "NUMBER",
"value": 0.1
},
{
"runtimeReference": "TARIF[2]/GARANTIES",
"definitionReference": "TARIF/GARANTIES",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[2]/GARANTIES/RC",
"definitionReference": "TARIF/GARANTIES/RC",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[2]/GARANTIES/RC/INCLUSE",
"definitionReference": "TARIF/GARANTIES/RC/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[2]/GARANTIES/RC/MONTANT",
"definitionReference": "TARIF/GARANTIES/RC/MONTANT",
"type": "NUMBER",
"value": 13.3
},
{
"runtimeReference": "TARIF[2]/GARANTIES/RC/BASE",
"definitionReference": "TARIF/GARANTIES/RC/BASE",
"type": "NUMBER",
"value": 133
}
],
"properties": {
"LIBELLE": "Responsabilité civile"
}
},
{
"runtimeReference": "TARIF[2]/GARANTIES/BDG",
"definitionReference": "TARIF/GARANTIES/BDG",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[2]/GARANTIES/BDG/INCLUSE",
"definitionReference": "TARIF/GARANTIES/BDG/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[2]/GARANTIES/BDG/MONTANT",
"definitionReference": "TARIF/GARANTIES/BDG/MONTANT",
"type": "NUMBER",
"value": 6.4
},
{
"runtimeReference": "TARIF[2]/GARANTIES/BDG/BASE",
"definitionReference": "TARIF/GARANTIES/BDG/BASE",
"type": "NUMBER",
"value": 64
}
],
"properties": {
"LIBELLE": "Bris de glace"
}
},
{
"runtimeReference": "TARIF[2]/GARANTIES/INC",
"definitionReference": "TARIF/GARANTIES/INC",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[2]/GARANTIES/INC/INCLUSE",
"definitionReference": "TARIF/GARANTIES/INC/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[2]/GARANTIES/INC/MONTANT",
"definitionReference": "TARIF/GARANTIES/INC/MONTANT",
"type": "NUMBER",
"value": 2
},
{
"runtimeReference": "TARIF[2]/GARANTIES/INC/BASE",
"definitionReference": "TARIF/GARANTIES/INC/BASE",
"type": "NUMBER",
"value": 20
}
],
"properties": {
"LIBELLE": "Incendie"
}
},
{
"runtimeReference": "TARIF[2]/GARANTIES/VOL",
"definitionReference": "TARIF/GARANTIES/VOL",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[2]/GARANTIES/VOL/INCLUSE",
"definitionReference": "TARIF/GARANTIES/VOL/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[2]/GARANTIES/VOL/MONTANT",
"definitionReference": "TARIF/GARANTIES/VOL/MONTANT",
"type": "NUMBER",
"value": 3.2
},
{
"runtimeReference": "TARIF[2]/GARANTIES/VOL/BASE",
"definitionReference": "TARIF/GARANTIES/VOL/BASE",
"type": "NUMBER",
"value": 32
}
],
"properties": {
"LIBELLE": "Vol"
}
},
{
"runtimeReference": "TARIF[2]/GARANTIES/DTA",
"definitionReference": "TARIF/GARANTIES/DTA",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[2]/GARANTIES/DTA/INCLUSE",
"definitionReference": "TARIF/GARANTIES/DTA/INCLUSE",
"type": "BOOLEAN",
"value": false
},
{
"runtimeReference": "TARIF[2]/GARANTIES/DTA/MONTANT",
"definitionReference": "TARIF/GARANTIES/DTA/MONTANT",
"type": "NUMBER",
"value": 4.7
},
{
"runtimeReference": "TARIF[2]/GARANTIES/DTA/BASE",
"definitionReference": "TARIF/GARANTIES/DTA/BASE",
"type": "NUMBER",
"value": 47
}
],
"properties": {
"LIBELLE": "Dommages tous accidents"
}
},
{
"runtimeReference": "TARIF[2]/GARANTIES/PJ",
"definitionReference": "TARIF/GARANTIES/PJ",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[2]/GARANTIES/PJ/INCLUSE",
"definitionReference": "TARIF/GARANTIES/PJ/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[2]/GARANTIES/PJ/MONTANT",
"definitionReference": "TARIF/GARANTIES/PJ/MONTANT",
"type": "NUMBER",
"value": 1
},
{
"runtimeReference": "TARIF[2]/GARANTIES/PJ/BASE",
"definitionReference": "TARIF/GARANTIES/PJ/BASE",
"type": "NUMBER",
"value": 10
}
],
"properties": {
"LIBELLE": "Protection juridique"
}
}
]
},
{
"runtimeReference": "TARIF[2]/TOTAL",
"definitionReference": "TARIF/TOTAL",
"type": "NUMBER",
"value": 25.9
}
],
"loopStep": {
"FORMULE": "FORMULES[1]",
"FRACTIONNEMENT": "FRACTIONNEMENTS[0]"
}
},
{
"runtimeReference": "TARIF[3]",
"definitionReference": "TARIF",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[3]/COEF_FRACTIONNEMENT",
"definitionReference": "TARIF/COEF_FRACTIONNEMENT",
"type": "NUMBER",
"value": 1.1
},
{
"runtimeReference": "TARIF[3]/GARANTIES",
"definitionReference": "TARIF/GARANTIES",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[3]/GARANTIES/RC",
"definitionReference": "TARIF/GARANTIES/RC",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[3]/GARANTIES/RC/INCLUSE",
"definitionReference": "TARIF/GARANTIES/RC/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[3]/GARANTIES/RC/MONTANT",
"definitionReference": "TARIF/GARANTIES/RC/MONTANT",
"type": "NUMBER",
"value": 146.3
},
{
"runtimeReference": "TARIF[3]/GARANTIES/RC/BASE",
"definitionReference": "TARIF/GARANTIES/RC/BASE",
"type": "NUMBER",
"value": 133
}
],
"properties": {
"LIBELLE": "Responsabilité civile"
}
},
{
"runtimeReference": "TARIF[3]/GARANTIES/BDG",
"definitionReference": "TARIF/GARANTIES/BDG",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[3]/GARANTIES/BDG/INCLUSE",
"definitionReference": "TARIF/GARANTIES/BDG/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[3]/GARANTIES/BDG/MONTANT",
"definitionReference": "TARIF/GARANTIES/BDG/MONTANT",
"type": "NUMBER",
"value": 70.4
},
{
"runtimeReference": "TARIF[3]/GARANTIES/BDG/BASE",
"definitionReference": "TARIF/GARANTIES/BDG/BASE",
"type": "NUMBER",
"value": 64
}
],
"properties": {
"LIBELLE": "Bris de glace"
}
},
{
"runtimeReference": "TARIF[3]/GARANTIES/INC",
"definitionReference": "TARIF/GARANTIES/INC",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[3]/GARANTIES/INC/INCLUSE",
"definitionReference": "TARIF/GARANTIES/INC/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[3]/GARANTIES/INC/MONTANT",
"definitionReference": "TARIF/GARANTIES/INC/MONTANT",
"type": "NUMBER",
"value": 22
},
{
"runtimeReference": "TARIF[3]/GARANTIES/INC/BASE",
"definitionReference": "TARIF/GARANTIES/INC/BASE",
"type": "NUMBER",
"value": 20
}
],
"properties": {
"LIBELLE": "Incendie"
}
},
{
"runtimeReference": "TARIF[3]/GARANTIES/VOL",
"definitionReference": "TARIF/GARANTIES/VOL",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[3]/GARANTIES/VOL/INCLUSE",
"definitionReference": "TARIF/GARANTIES/VOL/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[3]/GARANTIES/VOL/MONTANT",
"definitionReference": "TARIF/GARANTIES/VOL/MONTANT",
"type": "NUMBER",
"value": 35.2
},
{
"runtimeReference": "TARIF[3]/GARANTIES/VOL/BASE",
"definitionReference": "TARIF/GARANTIES/VOL/BASE",
"type": "NUMBER",
"value": 32
}
],
"properties": {
"LIBELLE": "Vol"
}
},
{
"runtimeReference": "TARIF[3]/GARANTIES/DTA",
"definitionReference": "TARIF/GARANTIES/DTA",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[3]/GARANTIES/DTA/INCLUSE",
"definitionReference": "TARIF/GARANTIES/DTA/INCLUSE",
"type": "BOOLEAN",
"value": false
},
{
"runtimeReference": "TARIF[3]/GARANTIES/DTA/MONTANT",
"definitionReference": "TARIF/GARANTIES/DTA/MONTANT",
"type": "NUMBER",
"value": 51.7
},
{
"runtimeReference": "TARIF[3]/GARANTIES/DTA/BASE",
"definitionReference": "TARIF/GARANTIES/DTA/BASE",
"type": "NUMBER",
"value": 47
}
],
"properties": {
"LIBELLE": "Dommages tous accidents"
}
},
{
"runtimeReference": "TARIF[3]/GARANTIES/PJ",
"definitionReference": "TARIF/GARANTIES/PJ",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[3]/GARANTIES/PJ/INCLUSE",
"definitionReference": "TARIF/GARANTIES/PJ/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[3]/GARANTIES/PJ/MONTANT",
"definitionReference": "TARIF/GARANTIES/PJ/MONTANT",
"type": "NUMBER",
"value": 11
},
{
"runtimeReference": "TARIF[3]/GARANTIES/PJ/BASE",
"definitionReference": "TARIF/GARANTIES/PJ/BASE",
"type": "NUMBER",
"value": 10
}
],
"properties": {
"LIBELLE": "Protection juridique"
}
}
]
},
{
"runtimeReference": "TARIF[3]/TOTAL",
"definitionReference": "TARIF/TOTAL",
"type": "NUMBER",
"value": 284.9
}
],
"loopStep": {
"FORMULE": "FORMULES[1]",
"FRACTIONNEMENT": "FRACTIONNEMENTS[1]"
}
},
{
"runtimeReference": "TARIF[4]",
"definitionReference": "TARIF",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[4]/COEF_FRACTIONNEMENT",
"definitionReference": "TARIF/COEF_FRACTIONNEMENT",
"type": "NUMBER",
"value": 0.1
},
{
"runtimeReference": "TARIF[4]/GARANTIES",
"definitionReference": "TARIF/GARANTIES",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[4]/GARANTIES/RC",
"definitionReference": "TARIF/GARANTIES/RC",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[4]/GARANTIES/RC/INCLUSE",
"definitionReference": "TARIF/GARANTIES/RC/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[4]/GARANTIES/RC/MONTANT",
"definitionReference": "TARIF/GARANTIES/RC/MONTANT",
"type": "NUMBER",
"value": 13.3
},
{
"runtimeReference": "TARIF[4]/GARANTIES/RC/BASE",
"definitionReference": "TARIF/GARANTIES/RC/BASE",
"type": "NUMBER",
"value": 133
}
],
"properties": {
"LIBELLE": "Responsabilité civile"
}
},
{
"runtimeReference": "TARIF[4]/GARANTIES/BDG",
"definitionReference": "TARIF/GARANTIES/BDG",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[4]/GARANTIES/BDG/INCLUSE",
"definitionReference": "TARIF/GARANTIES/BDG/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[4]/GARANTIES/BDG/MONTANT",
"definitionReference": "TARIF/GARANTIES/BDG/MONTANT",
"type": "NUMBER",
"value": 6.4
},
{
"runtimeReference": "TARIF[4]/GARANTIES/BDG/BASE",
"definitionReference": "TARIF/GARANTIES/BDG/BASE",
"type": "NUMBER",
"value": 64
}
],
"properties": {
"LIBELLE": "Bris de glace"
}
},
{
"runtimeReference": "TARIF[4]/GARANTIES/INC",
"definitionReference": "TARIF/GARANTIES/INC",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[4]/GARANTIES/INC/INCLUSE",
"definitionReference": "TARIF/GARANTIES/INC/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[4]/GARANTIES/INC/MONTANT",
"definitionReference": "TARIF/GARANTIES/INC/MONTANT",
"type": "NUMBER",
"value": 2
},
{
"runtimeReference": "TARIF[4]/GARANTIES/INC/BASE",
"definitionReference": "TARIF/GARANTIES/INC/BASE",
"type": "NUMBER",
"value": 20
}
],
"properties": {
"LIBELLE": "Incendie"
}
},
{
"runtimeReference": "TARIF[4]/GARANTIES/VOL",
"definitionReference": "TARIF/GARANTIES/VOL",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[4]/GARANTIES/VOL/INCLUSE",
"definitionReference": "TARIF/GARANTIES/VOL/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[4]/GARANTIES/VOL/MONTANT",
"definitionReference": "TARIF/GARANTIES/VOL/MONTANT",
"type": "NUMBER",
"value": 3.2
},
{
"runtimeReference": "TARIF[4]/GARANTIES/VOL/BASE",
"definitionReference": "TARIF/GARANTIES/VOL/BASE",
"type": "NUMBER",
"value": 32
}
],
"properties": {
"LIBELLE": "Vol"
}
},
{
"runtimeReference": "TARIF[4]/GARANTIES/DTA",
"definitionReference": "TARIF/GARANTIES/DTA",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[4]/GARANTIES/DTA/INCLUSE",
"definitionReference": "TARIF/GARANTIES/DTA/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[4]/GARANTIES/DTA/MONTANT",
"definitionReference": "TARIF/GARANTIES/DTA/MONTANT",
"type": "NUMBER",
"value": 4.7
},
{
"runtimeReference": "TARIF[4]/GARANTIES/DTA/BASE",
"definitionReference": "TARIF/GARANTIES/DTA/BASE",
"type": "NUMBER",
"value": 47
}
],
"properties": {
"LIBELLE": "Dommages tous accidents"
}
},
{
"runtimeReference": "TARIF[4]/GARANTIES/PJ",
"definitionReference": "TARIF/GARANTIES/PJ",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[4]/GARANTIES/PJ/INCLUSE",
"definitionReference": "TARIF/GARANTIES/PJ/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[4]/GARANTIES/PJ/MONTANT",
"definitionReference": "TARIF/GARANTIES/PJ/MONTANT",
"type": "NUMBER",
"value": 1
},
{
"runtimeReference": "TARIF[4]/GARANTIES/PJ/BASE",
"definitionReference": "TARIF/GARANTIES/PJ/BASE",
"type": "NUMBER",
"value": 10
}
],
"properties": {
"LIBELLE": "Protection juridique"
}
}
]
},
{
"runtimeReference": "TARIF[4]/TOTAL",
"definitionReference": "TARIF/TOTAL",
"type": "NUMBER",
"value": 30.6
}
],
"loopStep": {
"FORMULE": "FORMULES[2]",
"FRACTIONNEMENT": "FRACTIONNEMENTS[0]"
}
},
{
"runtimeReference": "TARIF[5]",
"definitionReference": "TARIF",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[5]/COEF_FRACTIONNEMENT",
"definitionReference": "TARIF/COEF_FRACTIONNEMENT",
"type": "NUMBER",
"value": 1.1
},
{
"runtimeReference": "TARIF[5]/GARANTIES",
"definitionReference": "TARIF/GARANTIES",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[5]/GARANTIES/RC",
"definitionReference": "TARIF/GARANTIES/RC",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[5]/GARANTIES/RC/INCLUSE",
"definitionReference": "TARIF/GARANTIES/RC/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[5]/GARANTIES/RC/MONTANT",
"definitionReference": "TARIF/GARANTIES/RC/MONTANT",
"type": "NUMBER",
"value": 146.3
},
{
"runtimeReference": "TARIF[5]/GARANTIES/RC/BASE",
"definitionReference": "TARIF/GARANTIES/RC/BASE",
"type": "NUMBER",
"value": 133
}
],
"properties": {
"LIBELLE": "Responsabilité civile"
}
},
{
"runtimeReference": "TARIF[5]/GARANTIES/BDG",
"definitionReference": "TARIF/GARANTIES/BDG",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[5]/GARANTIES/BDG/INCLUSE",
"definitionReference": "TARIF/GARANTIES/BDG/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[5]/GARANTIES/BDG/MONTANT",
"definitionReference": "TARIF/GARANTIES/BDG/MONTANT",
"type": "NUMBER",
"value": 70.4
},
{
"runtimeReference": "TARIF[5]/GARANTIES/BDG/BASE",
"definitionReference": "TARIF/GARANTIES/BDG/BASE",
"type": "NUMBER",
"value": 64
}
],
"properties": {
"LIBELLE": "Bris de glace"
}
},
{
"runtimeReference": "TARIF[5]/GARANTIES/INC",
"definitionReference": "TARIF/GARANTIES/INC",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[5]/GARANTIES/INC/INCLUSE",
"definitionReference": "TARIF/GARANTIES/INC/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[5]/GARANTIES/INC/MONTANT",
"definitionReference": "TARIF/GARANTIES/INC/MONTANT",
"type": "NUMBER",
"value": 22
},
{
"runtimeReference": "TARIF[5]/GARANTIES/INC/BASE",
"definitionReference": "TARIF/GARANTIES/INC/BASE",
"type": "NUMBER",
"value": 20
}
],
"properties": {
"LIBELLE": "Incendie"
}
},
{
"runtimeReference": "TARIF[5]/GARANTIES/VOL",
"definitionReference": "TARIF/GARANTIES/VOL",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[5]/GARANTIES/VOL/INCLUSE",
"definitionReference": "TARIF/GARANTIES/VOL/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[5]/GARANTIES/VOL/MONTANT",
"definitionReference": "TARIF/GARANTIES/VOL/MONTANT",
"type": "NUMBER",
"value": 35.2
},
{
"runtimeReference": "TARIF[5]/GARANTIES/VOL/BASE",
"definitionReference": "TARIF/GARANTIES/VOL/BASE",
"type": "NUMBER",
"value": 32
}
],
"properties": {
"LIBELLE": "Vol"
}
},
{
"runtimeReference": "TARIF[5]/GARANTIES/DTA",
"definitionReference": "TARIF/GARANTIES/DTA",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[5]/GARANTIES/DTA/INCLUSE",
"definitionReference": "TARIF/GARANTIES/DTA/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[5]/GARANTIES/DTA/MONTANT",
"definitionReference": "TARIF/GARANTIES/DTA/MONTANT",
"type": "NUMBER",
"value": 51.7
},
{
"runtimeReference": "TARIF[5]/GARANTIES/DTA/BASE",
"definitionReference": "TARIF/GARANTIES/DTA/BASE",
"type": "NUMBER",
"value": 47
}
],
"properties": {
"LIBELLE": "Dommages tous accidents"
}
},
{
"runtimeReference": "TARIF[5]/GARANTIES/PJ",
"definitionReference": "TARIF/GARANTIES/PJ",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "TARIF[5]/GARANTIES/PJ/INCLUSE",
"definitionReference": "TARIF/GARANTIES/PJ/INCLUSE",
"type": "BOOLEAN",
"value": true
},
{
"runtimeReference": "TARIF[5]/GARANTIES/PJ/MONTANT",
"definitionReference": "TARIF/GARANTIES/PJ/MONTANT",
"type": "NUMBER",
"value": 11
},
{
"runtimeReference": "TARIF[5]/GARANTIES/PJ/BASE",
"definitionReference": "TARIF/GARANTIES/PJ/BASE",
"type": "NUMBER",
"value": 10
}
],
"properties": {
"LIBELLE": "Protection juridique"
}
}
]
},
{
"runtimeReference": "TARIF[5]/TOTAL",
"definitionReference": "TARIF/TOTAL",
"type": "NUMBER",
"value": 336.6
}
],
"loopStep": {
"FORMULE": "FORMULES[2]",
"FRACTIONNEMENT": "FRACTIONNEMENTS[1]"
}
},
{
"runtimeReference": "VEHICULE",
"definitionReference": "VEHICULE",
"type": "COMPOSITE",
"value": [
{
"runtimeReference": "VEHICULE/USAGE",
"definitionReference": "VEHICULE/USAGE",
"type": "STRING",
"value": "Privé",
"properties": {
"LIBELLE": "Usage"
},
"minLength": 0,
"maxLength": 2147483647,
"validValues": [
"Privé",
"Privé et pro",
"Pro"
]
},
{
"runtimeReference": "VEHICULE/MODE_STATIONNEMENT",
"definitionReference": "VEHICULE/MODE_STATIONNEMENT",
"type": "STRING",
"value": "Box",
"properties": {
"LIBELLE": "Mode de stationnement"
},
"minLength": 0,
"maxLength": 2147483647,
"validValues": [
"Parking collectif",
"Voie publique",
"Box"
]
},
{
"runtimeReference": "VEHICULE/LIEU_STATIONNEMENT",
"definitionReference": "VEHICULE/LIEU_STATIONNEMENT",
"type": "RECORD",
"value": "69029",
"properties": {
"LIBELLE": "Lieu de stationnement"
},
"datasetCode": "COMMUNES",
"subVariables": [
{
"runtimeReference": "VEHICULE/LIEU_STATIONNEMENT/COMMUNE",
"definitionReference": "VEHICULE/LIEU_STATIONNEMENT/COMMUNE",
"type": "STRING",
"value": "BRON"
},
{
"runtimeReference": "VEHICULE/LIEU_STATIONNEMENT/PAYS",
"definitionReference": "VEHICULE/LIEU_STATIONNEMENT/PAYS",
"type": "STRING",
"value": "FRANCE"
},
{
"runtimeReference": "VEHICULE/LIEU_STATIONNEMENT/DEPARTEMENT",
"definitionReference": "VEHICULE/LIEU_STATIONNEMENT/DEPARTEMENT",
"type": "STRING",
"value": "RHONE"
},
{
"runtimeReference": "VEHICULE/LIEU_STATIONNEMENT/ZONIER",
"definitionReference": "VEHICULE/LIEU_STATIONNEMENT/ZONIER",
"type": "NUMBER",
"value": -10
}
]
},
{
"runtimeReference": "VEHICULE/INFOS",
"definitionReference": "VEHICULE/INFOS",
"type": "RECORD",
"value": "CI63033",
"properties": {
"LIBELLE": "Véhicule"
},
"datasetCode": "VEHICULES",
"subVariables": [
{
"runtimeReference": "VEHICULE/INFOS/MODELE",
"definitionReference": "VEHICULE/INFOS/MODELE",
"type": "STRING",
"value": "C4"
},
{
"runtimeReference": "VEHICULE/INFOS/PUISSANCE",
"definitionReference": "VEHICULE/INFOS/PUISSANCE",
"type": "NUMBER",
"value": 6
},
{
"runtimeReference": "VEHICULE/INFOS/ENERGIE",
"definitionReference": "VEHICULE/INFOS/ENERGIE",
"type": "STRING",
"value": "ESSENCE"
},
{
"runtimeReference": "VEHICULE/INFOS/ANNEE",
"definitionReference": "VEHICULE/INFOS/ANNEE",
"type": "DATE"
},
{
"runtimeReference": "VEHICULE/INFOS/MARQUE",
"definitionReference": "VEHICULE/INFOS/MARQUE",
"type": "STRING",
"value": "CITROEN"
}
]
}
],
"properties": {
"ONGLET": "Véhicule"
}
}
]
}

Comme pour l'exemple précédent, une interface graphique de démo a été réalisée afin de faciliter la lecture du tarif et de rendre tout ça plus user friendly 😄 :

https://demo.ruleshake.com/car-insurance-quote