Pour que vous ayez les tenants et aboutissants de notre système vous trouverez ici une présentation rapide de l’architecture de celui-ci. Ainsi vous n’aurez pas à deviner la mécanique qui est implémentée derrière nos routes.
Version imprimable multipages. Cliquer ici pour imprimer.
Concepts
- 1: Concepts
- 2: Zones d'éligibilités
1 - Concepts
Les objets
Notre groupe
Le SI vous permet de commander auprès de diffèrentes entitées du groupe Infra-Corp : Prizz Telecom, Prizz Infrastructure, Qotico Telecom… cela dépend des contrats que vous avez signé.
Chaque entreprise est représentée par une LegalEntity
.
Nos clients
Vous êtes les ClientLegalEntity
et vous êtes liés avec nous (une LegalEntity
) par des ClientContract
que vous pouvez obtenir sur votre objet ClientLegalEntity
attribut contracts
.
Chaque contrat dans cette liste vous indique :
- un catalogue
PriceList
, chaque catalogue représentant une famille de produits. Par exemple L2 Premium, L2 basic, FON, etc… - le délai de paiement des factures
paymentTermDays
vatReverseCharge
, la mise en place ou non de l’autoliquidation de la TVA
Le catalogue
Chaque ClientContract
vous donne accès à une PriceList
, en l’état cette liste ne vous sera pas très utile. Il faut que vous regardiez du côté des offres pour connaître le prix des accès.
Pour interpréter les PriceList
il faut en effet prendre une Offer
, trouver le MainOfferItem
(qui est un item d’une PriceList
) qui constitue la base de l’offre. Ensuite vous aurez une liste de groupes pour lesquels il faudra choisir des PriceListItem
pour construire votre produit.
Les devis
Les devis sont matérialisés par les CommercialOffer
. Pour commander ou modifier un service on passera toujours par un devis qu’il faut accepter en le signant.
Sections
Les devis sont découpés en sections, chaque section comportant un ensemble d’items destinés à un produit (par exemple un accès). Dans ce cas il y aura une ligne pour le produit, une autre pour la bande passante, la GTR… Le tout regroupé dans une section.
Quand un devis est signé, chaque section est transformée en ServiceContract
, le nom de la section sera repris dans la description du ServiceContract
, vous pouvez y mettre de quoi identifier votre client final (il y a aussi un autre champ pour votre référence de service).
Principaux attributs
Les attributs principaux :
rcTotal
: total hors taxes des coûts récurrents, vous y trouverez par récurrence (mois, annéee…) le coût de la prestation.rcVATTotal
: la part de TVA pour chaque récurrencenrcTotal
: total hors taxes des coûts non récurrents, autrement dit les FAS (frais d’accès au service)nrcVATtotal
: la part de TVA pour les FAS (frais d’accès au service)submitDate
: Date à laquelle le devis vous a été soumis, la valeur est nulle tant que le devis est à l’état de brouillonsignDate
: Date de signature, la valeur est nulle tant que le devis n’est pas acceptédeliveryDelay
: Délai de livraison de la prestation (en jours)sections
: Les différents services que vous commandez
Signature
Deux méthodes de signatures existent :
Vous pouvez toujours nous transmettre vos devis signé à l’ADV.
Ou vous pouvez utiliser notre nouvelle procédure de signature automatisée (avec envoi d’un code de validation par mail).
Il faut que la proposition soit validée de notre côté (attribut submitDate
non nul), le code de validation est envoyé à un contact défini au moment de la validation.
Une fois reçu, le contact peut nous soumettre le code sur cette route, qui fera office de signature.
Le contrat de services et les services
Un ServiceContract
est la matérialisation d’une section de CommercialOffer
(devis), lorsque ce dernier est validé et signé, sous forme d’un groupement de Services
.
C’est donc le passage de l’état de proposition commerciale, à celui de service fourni.
Lors de cette conversion, une Section
de CommercialOffer
devient un ServiceContract
, et un Item
de Section
de CommercialOffer
devient un Services
.
Créé lors de la validation d’un devis les ServiceContract
sont les points de regroupement d’un ensemble de Services
.
Sur l’attribut services
d’un ServiceContract
, vous trouverez les Services
qui le composent, à l’image de ce que vous pouvez trouver dans les devis.
Chaque service à son propre statut :
new
: nouveau, juste après la validation du devisstaging
: en cours de construction, le métier a déjà commencé à travailler dessusactive
: en serviceending
: résiliation en cours, il peut encore être opérationnel le temps que la clôture soit actéeterminated
: le service est clôturé, et inactif
Les processus
C’est par leur intermédiaire que vous allez interagir avec les objets. Chaque action ne peut être réalisée que dans un Workflow
en utilisant une transition.
Vous serez en mesure de déclencher certains workflow et d’utiliser certaines transitions dites manuelles.
Un Workflow
s’éxécute sur un objet directement, en lui attribuant un état initial, et en régissant, à la manière d’un automates les changements d’états possibles de l’objet à l’aide de transitions, jusqu’à un état final.
Un Workflow
cadre donc une partie du cycle de vie possible d’un objet (une opération; de création, de signature, d’envoi, …).
Un Workflow
est composé de transitions, qui permettent de le faire avancer. Une transition est définie par :
- Un état possible d’entrée (état dans lequel le
Workflow
doit être positionné pour pouvoir prétendre à éxécuter la transition) - Une liste d’états de sortie, correspondant à l’un des états dans lequel le
Workflow
sera présent à la fin de l’éxécution du code de la transition. - Le contenu du code de la transition, qui va effectuer tous les tests et les règles métiers qui vont décider du changement d’état du
Workflow
. - Le type de la transition (automatique ou manuelle).
Un Workflow
va donc, à partir de son état initial, dérouler automatiquement les tansitions dites “automatiques” jusqu’à se retrouver
- soit dans un état final (pouvant matérialiser le succès comme l’échec de l’opération souhaitée)
- soit bloqué par une transition dite “manuelle” nécéssitant l’action humaine d’une personne de vos équipes, comme des notres (par exemple pour un devis, l’étape de validation du devis par nos équipes, ou l’étape de signature par la personne référrente de vos équipes).
Un fois le blocage manuel résolu, il recommencera à enchainer les transitions jusqu’à un nouveau blocage manuel ou l’atteinte d’un état final.
2 - Zones d'éligibilités
Lors d’un test d’éligibilité plusieurs jeux de données sont mobilisés. Dans la plupart des cas c’est la distance aux câbles qui est importante.
Ce que nous appelons “distance aux câbles” est une estimation approximative du chemin à construire pour rendre une adresse éligible et c’est à partir de cette valeur que nous allons construire notre prix dans le cas général.
Il existe des exceptions, où la zone peut être difficile à construire, dans ce cas la zone est “sur devis”. C’est le cas de la Zone 6 du L2 Premium par exemple.
Une autre exception dans des zones où le réseau est suffisamment dense, ou que nous souhaitons densifier rapidement, pour ne pas demander de FAS .
Dans ce cas, la réponse d’éligibilité est “surclassée” en zone 1, c’est pourquoi il ne faut pas essayer de reproduire le calcul de votre côté en partant de la distance.
Enfin, dans l’offre Basic v2, le FAS est fixe dans un intervalle de distance puis calculé, la distance peut vous permettre de détecter le passage de ce seuil à 250m actuellement.
Le prix des FAS de nos offres dépend également de la durée d’engagement.
Il existe aussi un surcoût lorsque la zone où se trouve la porte de collecte et le point de livraison se trouvent dans des zones éloignées (s’applique pour le Var).
Où trouver les zones dans les réponses d’éligibilités
response[].combinations[].attributes
Sur chaque combinaison les distances sont rappelées en vous basant sur les attributs nrc_built_cable_d_max
ou nrc_built_cable_d_min
vous pouvez déduire la zone.
Si la zone est une zone où nous devons faire une étude pour décider si l’on peut raccorder l’attribut nrcToEstimate
a pour valeur true
.
Rappel : une zone ne donne pas un prix constant, nous vous recommandons d’utiliser les attributs de distance en combinaison de l’attribut nrc
si la construction de votre prix n’est pas basée sur notre prix mais fixe.
"combinations": [
{
"combinationId": "contract:284&offer:1&items:71,73,111,115,149,536",
"total": 9900,
"totalWithoutNrc": 9900,
"nrc": 0,
"attributes": {
"offer_type": 1,
"bw_down": 10,
"bw_down_guaranteed": 10,
"bw_up_guaranteed": 10,
"bw_up": 10,
"grt_hours": 4,
"grt_in_working_hours": true,
"has_grt": true,
"commitment_months": 60,
"nrc_built_cable_d_max": 300,
"nrc_built_cable_d_min": 0,
"construction_time_in_days": 42,
"national": 0
},
"nrcToEstimate": false
},
response[].priceListItemsGroups.nrc
Sans parcourir les combinaisons vous pouvez accéder directement au FAS dans le groupe NRC (non recurrent costs)
{
"id": 115,
"name": "prizz Liaison L2 FAS ZONE 1",
"productName": "Liaison L2 FAS ZONE 1",
"attributes": {
"eligibility_string": "f1",
"nrc_built_cable_d_max": 300,
"nrc_built_cable_d_min": 0,
"construction_time_in_days": 42
}
}
Aperçu des zones par offre
L2 Premium
Description | Interval | d_min | d_max | note |
---|---|---|---|---|
L2 FAS ZONE 1 | 0 à 300m | 0 | 300 | |
L2 FAS ZONE 2 | 300 à 500m | 300 | 500 | |
L2 FAS ZONE 3 | 500 à 700m | 500 | 700 | |
L2 FAS ZONE 4 | 700 à 1000m | 700 | 1000 | |
L2 FAS ZONE 5 | 1000 à 2000m | 1000 | 2000 | |
L2 FAS ZONE 6 | 2000 à 5000m | 2000 | 5000 | estimation sur étude |
L3 Internet
Description | Interval | d_min | d_max | note |
---|---|---|---|---|
L3 FAS ZONE 1 | 0 à 300m | 0 | 300 | |
L3 FAS ZONE 2 | 300 à 500m | 300 | 500 | |
L3 FAS ZONE 3 | 500 à 700m | 500 | 700 | |
L3 FAS ZONE 4 | 700 à 1000m | 700 | 1000 | |
L3 FAS ZONE 5 | 1000 à 2000m | 1000 | 2000 | |
L3 FAS ZONE 6 | 2000 à 5000m | 2000 | 5000 | sur devis ! |
L2 Basic v1
Il n’y avait pas de FAS
L2 Basic v2
Description | Interval | d_min | d_max | note |
---|---|---|---|---|
L2 Basique FAS selon engagement | 0 à 2500m | 0 | 2500 | au delà de 250m ajout d’un surcoût par mètre supplémentaire |
L2 Basique sur devis | estimation sur étude |