forked from Toaztr/specs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request Toaztr#367 from mvicrob/copied
feat: Add life insurance
- Loading branch information
Showing
12 changed files
with
612 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
{ | ||
"title": "LifeInsuranceAdjudicationItem", | ||
"x-stoplight": { | ||
"id": "l2blqkdfsa5zq" | ||
}, | ||
"description": "Représente une opération d'arbitrage sur un contrat d'assurance vie, depuis ou vers le fonds euros.", | ||
"type": "object", | ||
"properties": { | ||
"type": { | ||
"default": "FROM_EURO_FUNDS", | ||
"description": "Type d'arbitrage.", | ||
"type": "string", | ||
"enum": [ | ||
"FROM_EURO_FUNDS", | ||
"TO_EURO_FUNDS" | ||
] | ||
}, | ||
"amount": { | ||
"description": "Montant de l'arbitrage.", | ||
"minimum": 0, | ||
"type": "number" | ||
}, | ||
"date": { | ||
"description": "Date de l'arbitrage.", | ||
"format": "date-time", | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"type", | ||
"amount", | ||
"date" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
{ | ||
"title": "LifeInsuranceAdvanceItem", | ||
"x-stoplight": { | ||
"id": "0b9xa584a6b3a" | ||
}, | ||
"description": "Représente une avance sur un contrat d'assurance vie", | ||
"type": "object", | ||
"properties": { | ||
"amount": { | ||
"description": "Montant de l'avance.", | ||
"minimum": 0, | ||
"type": "number" | ||
}, | ||
"percentage_in_euro_fund": { | ||
"type": "number", | ||
"description": "Pourcentage du rachat sur le fond euro.", | ||
"minimum": 0, | ||
"default": 100, | ||
"maximum": 100 | ||
}, | ||
"date_out": { | ||
"description": "Date du déblocage de l'avance.", | ||
"format": "date-time", | ||
"type": "string" | ||
}, | ||
"date_in": { | ||
"description": "Date du remboursement de l'avance.", | ||
"format": "date-time", | ||
"type": "string" | ||
} | ||
}, | ||
"required": [ | ||
"amount", | ||
"date_out", | ||
"date_in" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{ | ||
"title": "LifeInsuranceFees", | ||
"x-stoplight": { | ||
"id": "se1018hcgiqm1" | ||
}, | ||
"oneOf": [ | ||
{ | ||
"properties": { | ||
"percentage": { | ||
"type": "number", | ||
"minimum": 0, | ||
"maximum": 100, | ||
"default": 0 | ||
} | ||
}, | ||
"required": [ | ||
"percentage" | ||
] | ||
}, | ||
{ | ||
"properties": { | ||
"flat": { | ||
"type": "number", | ||
"default": 0, | ||
"minimum": 0 | ||
} | ||
}, | ||
"required": [ | ||
"flat" | ||
] | ||
} | ||
], | ||
"type": "object", | ||
"description": "Frais appliqués à une opération sur un contrat d'assurance vie: valeur fixe + pourcentage du montant de l'opération (versement, rachat, avance)." | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
{ | ||
"title": "LifeInsuranceInstallmentItem", | ||
"description": "Représente le versement d'une prime sur un contrat d'assurance vie", | ||
"type": "object", | ||
"properties": { | ||
"type": { | ||
"default": "ONE_TIME", | ||
"description": "Type de versement.", | ||
"type": "string", | ||
"enum": [ | ||
"INITIAL", | ||
"ONE_TIME", | ||
"RECURRING" | ||
] | ||
}, | ||
"amount": { | ||
"description": "Montant du versement.", | ||
"minimum": 0, | ||
"type": "number" | ||
}, | ||
"percentage_in_euro_fund": { | ||
"type": "number", | ||
"description": "Pourcentage du versement alloué au fond euro.", | ||
"minimum": 0, | ||
"default": 100, | ||
"maximum": 100 | ||
}, | ||
"date_or_periodicity": { | ||
"oneOf": [ | ||
{ | ||
"properties": { | ||
"date": { | ||
"description": "Date du versement.", | ||
"format": "date-time", | ||
"type": "string" | ||
} | ||
} | ||
}, | ||
{ | ||
"properties": { | ||
"periodicity": { | ||
"$ref": "./LifeInsurancePeriodicity.v1.json" | ||
} | ||
} | ||
} | ||
], | ||
"type": "object" | ||
} | ||
}, | ||
"required": [ | ||
"type", | ||
"amount", | ||
"date_or_periodicity" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,163 @@ | ||
{ | ||
"title": "LifeInsuranceParameters", | ||
"type": "object", | ||
"description": "Paramètres de simulation d'un projet d'assurance vie", | ||
"properties": { | ||
"mode": { | ||
"type": "string", | ||
"description": "Mode de simulation: grandeur recherchée", | ||
"enum": [ | ||
"FINAL_CAPITAL", | ||
"INITIAL_CAPITAL", | ||
"MONTHLY_PAYMENT", | ||
"YEARLY_AVERAGE_PERFORMANCE" | ||
] | ||
}, | ||
"contract_parameters": { | ||
"type": "object", | ||
"required": [ | ||
"subscription_date", | ||
"valuation_date", | ||
"horizon_date" | ||
], | ||
"properties": { | ||
"subscription_date": { | ||
"description": "Date de la première souscription.", | ||
"format": "date-time", | ||
"type": "string" | ||
}, | ||
"valuation_date": { | ||
"description": "Date de valorisation du contrat.", | ||
"format": "date-time", | ||
"type": "string" | ||
}, | ||
"horizon_date": { | ||
"description": "Horizon du contrat: date de fin.", | ||
"format": "date-time", | ||
"type": "string" | ||
}, | ||
"percentage_in_non_euro_fund": { | ||
"description": "Pourcentage du capital investis hors du fond euros.", | ||
"type": "number", | ||
"minimum": 0, | ||
"maximum": 100, | ||
"default": 0 | ||
} | ||
} | ||
}, | ||
"installments": { | ||
"type": "array", | ||
"description": "Liste des versements, incluant le versement initial", | ||
"items": { | ||
"$ref": "./LifeInsuranceInstallmentItem.v1.json" | ||
} | ||
}, | ||
"purchases": { | ||
"type": "array", | ||
"description": "Liste des rachats", | ||
"items": { | ||
"$ref": "./LifeInsurancePurchaseItem.v1.json" | ||
} | ||
}, | ||
"advances": { | ||
"type": "array", | ||
"description": "Liste des avances", | ||
"items": { | ||
"$ref": "./LifeInsuranceAdvanceItem.v1.json" | ||
} | ||
}, | ||
"adjudications": { | ||
"type": "array", | ||
"description": "Liste des arbitrages", | ||
"items": { | ||
"$ref": "./LifeInsuranceAdjudicationItem.v1.json" | ||
} | ||
}, | ||
"fees": { | ||
"type": "object", | ||
"description": "Frais sur les opérations du contrat d'assurance vie: versement initial, persement ponctuel, versement régulier, rachat, avance, arbitrage et gestion (du fond euro et UC).", | ||
"properties": { | ||
"initial_installment": { | ||
"$ref": "./LifeInsuranceFees.v1.json" | ||
}, | ||
"installment": { | ||
"$ref": "./LifeInsuranceFees.v1.json" | ||
}, | ||
"regular_installment": { | ||
"$ref": "./LifeInsuranceFees.v1.json" | ||
}, | ||
"purchase": { | ||
"$ref": "./LifeInsuranceFees.v1.json" | ||
}, | ||
"advance": { | ||
"$ref": "./LifeInsuranceFees.v1.json" | ||
}, | ||
"adjudication": { | ||
"$ref": "./LifeInsuranceFees.v1.json" | ||
}, | ||
"management_euro_fund": { | ||
"$ref": "./LifeInsuranceFees.v1.json" | ||
}, | ||
"management_non_euro_fund": { | ||
"$ref": "./LifeInsuranceFees.v1.json" | ||
} | ||
} | ||
}, | ||
"funds_yearly_performances": { | ||
"type": "object", | ||
"description": "Performance annuelle brute de frais de gestion des fonds euro et non euro. Le nombre d'élèments doit correspondre à la durée du contrat, soit le nombre d'années entre les paramètres subscription_date et horizon_date.", | ||
"properties": { | ||
"euro": { | ||
"type": "array", | ||
"description": "Performances annuelles du fond euros", | ||
"items": { | ||
"type": "number", | ||
"minimum": 0 | ||
} | ||
}, | ||
"non_euro": { | ||
"type": "array", | ||
"description": "Performances annuelles du ou des fonds non euros", | ||
"items": { | ||
"type": "number" | ||
} | ||
} | ||
} | ||
}, | ||
"taxes": { | ||
"type": "object", | ||
"description": "Impositions des plus-values", | ||
"properties": { | ||
"tax_mode": { | ||
"type": "string", | ||
"description": "Fiscalité choisie: prélèvement forfaitaire libératoire ou intégration à l'impôt sur le revenu.", | ||
"enum": [ | ||
"ONE_SHOT_PAYING", | ||
"INTEGRATION_TO_INCOME_TAX" | ||
], | ||
"default": "ONE_SHOT_PAYING" | ||
}, | ||
"marginal_tax_rate": { | ||
"type": "number", | ||
"description": "Taux marginal d'imposition", | ||
"minimum": 0, | ||
"maximum": 100 | ||
}, | ||
"allowance": { | ||
"type": "number", | ||
"minimum": 0, | ||
"default": 0, | ||
"description": "Abbatement éventuels" | ||
} | ||
}, | ||
"required": [ | ||
"tax_mode" | ||
] | ||
} | ||
}, | ||
"required": [ | ||
"mode", | ||
"contract_parameters", | ||
"installments" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
{ | ||
"type": "string", | ||
"title": "LifeInsurancePeriodicity", | ||
"enum": [ | ||
"MONTHLY", | ||
"QUARTERLY", | ||
"HALF_YEARLY", | ||
"YEARLY" | ||
], | ||
"description": "Périodicité des évènements d'un contrat d'assurance vie.", | ||
"default": "MONTHLY" | ||
} |
Oops, something went wrong.