Skip to content

Commit

Permalink
feat: Partner billing
Browse files Browse the repository at this point in the history
  • Loading branch information
mvicrob committed Oct 31, 2021
1 parent 275b322 commit 56a3e7b
Show file tree
Hide file tree
Showing 5 changed files with 91 additions and 1 deletion.
5 changes: 4 additions & 1 deletion models/ActivePartner.v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,12 @@
"description": "Lien vers le logo du partenaire. Par exemple: https://www.toaztr.com/assets/toaztr_logo.png",
"type": "string"
},
"billing": {
"$ref": "./PartnerBilling.v1.json"
},
"comment": {
"description": "Commentaire.",
"type": "string"
}
}
}
}
3 changes: 3 additions & 0 deletions models/Partner.v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@
"description": "Lien vers le logo du partenaire. Par exemple: https://www.toaztr.com/assets/toaztr_logo.png",
"type": "string"
},
"billing": {
"$ref": "./PartnerBilling.v1.json"
},
"comment": {
"description": "Commentaire.",
"type": "string"
Expand Down
21 changes: 21 additions & 0 deletions models/PartnerBilling.v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"title": "PartnerBilling",
"type": "object",
"description": "Structure de facturation du partenaire.",
"properties": {
"partner_billing": {
"type": "array",
"items": {
"$ref": "./PartnerBillingTiersPerLoan.v1.json"
}
},
"limit": {
"type": "number",
"description": "Montant maximum du commissionnement de ce partenaire, si un maximum existe.",
"minimum": 0
}
},
"required": [
"partner_billing"
]
}
24 changes: 24 additions & 0 deletions models/PartnerBillingTier.v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"title": "PartnerBillingTier",
"type": "object",
"description": "Modèle de facturation du partenaire: par tranches.\n\nSi from_amount et to_amount ne sont pas remplis, le modèle de facturation s'appliquera sur l'intégralité du montant du prêt, comme: flat_fee + montant_du_prêt * rate\n\nSinon, la facturation pour cette tranche sera calculée comme: flat_fee + (min(montant_du_prêt, to_amount) - from_amount) * rate\n\n",
"properties": {
"from_amount": {
"type": "number",
"minimum": 0,
"description": "Limite basse (incluse) du montant de prêt sur lequel s'applique ce modèle de facturation."
},
"to_amount": {
"type": "number",
"description": "Limite haute (exclue) du montant de prêt sur lequel s'applique ce modèle de facturation."
},
"flat_fee": {
"type": "number",
"description": "Part fixe, à appliquer sur la tranche [0; to_amount - from_amount[."
},
"rate": {
"type": "number",
"description": "Part variable, à appliquer sur la tranche [0; to_amount - from_amount[."
}
}
}
39 changes: 39 additions & 0 deletions models/PartnerBillingTiersPerLoan.v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"title": "PartnerBillingTiersPerLoan",
"type": "object",
"description": "Structure de facturation du partenaire, par type de prêt et par tranches de montants de prêts. Si aucun type de prêt n'est précisé, la structure s'appliquera à tous les types de prêts.\n\nflat_fee et rate s'appliqueront au niveau du ou des prêts, sous la forme flat_fee + rate * montant_du_prêt, en plus de la facturation par tranches.",
"properties": {
"type": {
"type": "string",
"description": "Type de prêt.",
"enum": [
"FREE_LOAN",
"BRIDGE_LOAN",
"PTZ_LOAN",
"BOSS_LOAN"
]
},
"tiers": {
"type": "array",
"items": {
"$ref": "./PartnerBillingTier.v1.json"
}
},
"flat_fee": {
"type": "number",
"description": "Part fixe, niveau prêt."
},
"rate": {
"type": "number",
"description": "Part variable, niveau prêt."
},
"limit": {
"type": "number",
"description": "Montant maximum du comissionnement de ce partenaire pour ce type de prêt, si un maximum existe.",
"minimum": 0
}
},
"required": [
"tiers"
]
}

0 comments on commit 56a3e7b

Please sign in to comment.