Implementation manual for client communication with the web service.
| Version | Date | Description |
|---|---|---|
| 1.4.0 | 2026-09-02 | Added Product Signal Iduna Malpraxis |
| 1.3.0 | 2026-08-28 | Added Product Asirom Malpraxis |
| 1.2.0 | 2026-08-14 | Added Product ABC Malprax |
| 1.1.0 | 2023-07-20 | Added Product Omniasig General, Professional and Other |
| 1.0.0 | 2023-07-14 | Initial version |
1. Introduction
The LiabilityApi service allows the generation of offers, the issuance of policies, as well as the printing of corresponding documents.
All requests (except for authentication requests) must contain the "Token" parameter in the Header, which contains an authorization token (JWT) obtained through authentication endpoints using credentials provided by Life Is Hard SA (as OPERATOR).
Environments:
-
test: https://liability-uat.api.lifeishard.ro/ - this is a test environment, where are available latest stable changes
-
production: https://liability.api.lifeishard.ro/
The examples and definitions of the methods and resources offered by the service can be viewed through the Swagger UI platform: https://api.lifeishard.ro/liability-api
On the testing environment, authentication will be performed using the credentials:
jsonwide760
The credentials used in the testing environment are not functional in the production environment.
1.1 Implemented products
🚧 - Products which are under development (there are not available in production only on the testing enviorment)
| Insurer | Identifier |
|---|---|
| Omniasig | insurer:omniasigproduct: general, professional, other |
| ABC Malprax | insurer: abcproduct: malprax |
| Asirom Malpraxis | insurer: asiromproduct: malpraxis |
| Signal Iduna Malpraxis | insurer: signal_idunaproduct: malpraxis |
| 🚧 Uniqa Malpraxis | insurer: uniqaproduct: malpraxis |
| 🚧 Garanta Malpraxis | insurer: garantaproduct: malpraxis |
1.2 Workflow
Creating policy:
-
Authentication Obtain a JWT token using credentials provided by OPERATOR
-
Create offer the response includes the [offerID] – this id will be needed in the following requests
-
Transform offer to policy use [offerID] from the offer step for policy to get the policy data
-
Download documents use [offerID] from the offer step to get offer documents, and [policyID] from the transform policy step to get policy documents
1. 3 Response types
The main structure of response is:
| Parameter | Description |
|---|---|
| error | This indicates the type of response: false indicates success, and true indicates an error. |
| status | HTTP status |
| data | Data related to the response / Additional data regarding the response. |
| message | Error message |
The structure of the responses can be divided into two major categories: successful response and error response.
Success
| Parameter | Description |
|---|---|
| error | false |
| status | 200 |
| data | (object) |
Error
| Parameter | Description |
|---|---|
| error | true |
| status | 400 - 500 |
| message | Error message |
| data | (optional) Additional data |
2. Authentication
2.1 Authenticate account
Endpoint: POST /auth
This method is used to authenticate an account by account and password (provided by OPERATOR).
If the authentication was successful. The response will include a JSON object with the following properties:
-
error: A boolean indicating if an error occurred during the request. In this case, it will be
false. -
status: An integer representing the status code of the response. In this case, it will be
200. -
data: A JSON object containing the following properties:
-
token: A string representing the JWT token generated by the server for the authenticated user.
-
expires_at: A string representing the date and time when the JWT token will expire in the format "YYYY-MM-DD HH:MM:SS".
-
refresh_token: A string representing the refresh token generated by the server for the authenticated user.
2.2 Renew token
Endpoint: PATCH /auth
This method is used to renew an authentication token based on the refresh token.
If the token has been successfully renewed, the generated response will have the same structure as the authentication response.
2.3 De-authenticate account
Endpoint: DELETE /auth
This method is used to deauthenticate an existing and valid auth token.
3. Create offer
Endpoint**:** POST /offer
3.1 Request
3.1.1. Input parameters
a. Main object
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| provider | object | Yes | Information related to the insurer | |
| provider.organization | object | Yes | Insurer’s data | |
| provider.organization.businessName | string | Yes | Insurer identifier (see 1.1. → Identifiers) | |
| provider.authentication | object | Yes | Credentials to access insurer’s web service | |
| provider.authentication.account | string | Yes | Account | In DEV / QA environment these fields can be sent empty to use default test credentials |
| provider.authentication.password | string | Yes | Password | |
| provider.authentication.code | string | Yes | Code | |
| product | object | Yes | Information related to the product | |
| product.name | string | Yes | Product identifier (see 1.1. → Identifiers) | |
| product.currency | string | Yes | Currency | Accepted values: EUR, RON |
| product.liability | Liability object | Yes | Information related to the product | |
| product.customer | Person object | No | Contractor’s data | If not set the policyholder’s information will be used by default |
| product.policyholder | Person object | Yes | Policyholder’s data | |
| product.additionalData | object | No (depending on the product) | Product related additional information | Must be completed according to the Product specific parameters section |
| product.additionalData.rafCode | string | No | Offering agents RAF code | Format validation: RAF1234567891 Starts with RAF followed by at most 10 digits |
b. Liability object
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| type | string | Yes | Type of the liability policy | If set the value has to be one of the following [malpraxis, pharma, veterinary, lawyers, notaries, counselors, executors, insolvency, tax-consultant, personal, hunters, estate-admin] |
| category | string | Yes* for type equal to one of [malpraxis, pharma, veterinary, lawyers] | Type of category | GET /nomenclature/category-speciality/{liabilityType} for the full list per type |
| speciality | string | Yes* for type equal to one of [malpraxis, pharma, veterinary, lawyers] | Type of speciality | GET /nomenclature/category-speciality/{liabilityType}/{category} for the full list per type and category |
| startDate | string | Yes | Start date of the policy | • Accepted format: YYYY-MM-DD • The date must be in the future. |
| termTime | number | Yes | Duration of the policy in months | Integer value between 1 and 12 |
| installmentCount | number | No | Number of installments for payment | If set the value has to be one of the following [1, 2, 4, 12] Note: in some cases the accepted values might change depending on the insurer |
| notes | string | No | Any additional observations regarding the policy | |
| renewPolicy | object | No | Object used in case of renewal of an existing policy | |
| renewPolicy.series | string | Yes, if renewPolicy.number is set | ||
| renewPolicy.number | number | Yes, if renewPolicy.series is set | ||
| additionalInsureds | object | No | Object used to set number of additional insured | |
| additionalInsureds.children | number | No | Number of additional children added to the policy | • Numeric value • Minimum value 0Note: if not set default value is 0 |
| additionalInsureds.residents | number | No | Number of additional residents added to the policy | |
| deductible | object | No | Object used to set policy deductible information | Note: if not set default value for percent is 0 and type is no-deductible |
| deductible.percent | number | No | Percent value | • Numeric value • Minimum value 0 |
| deductible.type | string | No | Type of deductible | Value has to be one of the following [undefined, no-deductible, per-event, of-loss] |
| allowance | object | No | Object used to set “Bonificatie” | |
| allowance.value | number | No | Percent value | • Numeric value • Value between [-99, 99] |
| territory | object | No | Object used to set policy coverage location | |
| territory.coversWorldWide | boolean | No | Coverage for world wide | Note: default value false |
| territory.coversRomania | boolean | No | Coverage for Romania | |
| coverage | Coverage object | Yes | ||
| conditions | Condition Object | Yes | ||
| intermediaryEmail | string | No | Intermediary Email | • valid email address |
c. Person object
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| businessName | string | Yes, if it is present in request | Business name (if the person is a legal entity) | |
| companyRegistryNumber | string | Yes, if businessName field is present | Company registration number (if the person is a legal entity) | |
| caenCode | number | Company CAEN number | ||
| lastName | string | Yes, if businessName field is not present | Individual person's last name | |
| firstName | string | Individual person's first name | ||
| taxId | string | Yes | • Personal identification code for natural persons • Tax identification number for non-natural persons | It must be a valid Romanian CNP if businessName field is not present and isForeignPerson is false (or it’s not present) |
| isForeignPerson | boolean | No | Indicates if person is foreign person | |
| nationality | string | Yes, if isForeignPerson is true | Nationality | Accepted values: iso2 codes from /nomenclature/country nomenclature |
| citizenship | string | Citizenship | Accepted values: iso2 codes from /nomenclature/country nomenclature | |
| gender | string | Gender: • m => male • f => female | Accepted values: m, f | |
| birthdate | string | Date of birth | • Accepted format: YYYY-MM-DD • The date must be in the past. | |
| email | string | No | Email address | It must be a valid email address. |
| mobileNumber | string | No | Mobile phone number | It must be a valid mobile number address. |
| identification | Identification object | Yes, if businessName field is not present | Information related to the identification document | |
| address | Address object | Yes | Person’s home address |
d. Identification object
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| idType | string | Yes | Type of the identification document | Accepted values: CI, PASSPORT |
| idNumber | string | Yes | Series and number of the identification document | If idType = CI it must be a valid romanian identification number, accepted format of 2 letters and 6-7 digits |
| issueAuthority | string | Yes | Issuer of the identification document | |
| issueDate | string | Yes | Issuing date of the identification document | • date before now() +1 day • accepted format: YYYY-MM-DD |
e. Address object
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| country | string | No | iso2 country code | Accepted values: iso2 codes from /nomenclature/country nomenclature |
| county | string | Yes | County code | Accepted values: any code from /nomenclature/county nomenclature |
| city | string | Yes | Locality name | Accepted values: any name from /nomenclature/locality/{county} nomenclature |
| cityCode | number | Yes | Locality code | Accepted values: any siruta code from /nomenclature/locality/{county} nomenclature |
| street | string | Yes | Street | |
| houseNumber | string | Yes | House number | |
| building | string | No | Building | |
| staircase | string | No | Staircase | |
| apartment | string | No | Apartment | |
| floor | string | No | Floor | |
| postcode | number | No | Postcode |
f. Coverage object
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| auxiliaryStaff | object | No | ||
| auxiliaryStaff.isIncluded | boolean | Yes, if auxiliaryStaff is present | ||
| eScooter | object | No | ||
| eScooter.isIncluded | boolean | Yes, if eScooter is present | ||
| eScooter.value | number | Yes, if eScooter.isIncluded is true | • Numeric value • Minimum value 1 | |
| extendedReportingPeriod | object | No | ||
| extendedReportingPeriod.isIncluded | boolean | Yes, if extendedReportingPeriod.isIncluded is present | ||
| extendedReportingPeriod.value | number | Yes, if extendedReportingPeriod.isIncluded.isIncluded is true | Percent value | • Numeric value • Minimum value 1 |
| moralClaims | object | No | ||
| moralClaims.isIncluded | boolean | Yes, if moralClaims is present | ||
| moralClaims.value | number | Yes, if moralClaims.isIncluded is true | Percent value | • Numeric value • Minimum value 1 |
| feesCompensation | object | No | ||
| feesCompensation.isIncluded | boolean | Yes, if feesCompensation is present | ||
| feesCompensation.value | number | Yes, if feesCompensation.isIncluded is true | • Numeric value • Minimum value 1 | |
| perEvent | object | No | ||
| perEvent.isIncluded | boolean | Yes, if perEvent is present | ||
| perEvent.value | number | Yes, if perEvent.isIncluded is true | • Numeric value • Minimum value 1 | |
| policyLimit | object | No | ||
| policyLimit.isIncluded | boolean | Yes, if policyLimit is present | ||
| policyLimit.value | number | Yes, if policyLimit.isIncluded is true | • Numeric value • Minimum value 1 |
g. Conditions object
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| locationCount | object | No | ||
| locationCount.isIncluded | boolean | Yes, if locationCount is present | ||
| locationCount.value | number | Yes, if locationCount.isIncluded is true | • Numeric value • Minimum value 1 | |
| claimsWithin3Years | object | No | ||
| claimsWithin3Years.isIncluded | boolean | Yes, if claimsWithin3Years is present | ||
| lossHistoryWithin5Years | object | No | ||
| lossHistoryWithin5Years.isIncluded | boolean | Yes, if lossHistoryWithin5Years is present | ||
| turnover | object | No | ||
| turnover.isIncluded | boolean | Yes, if turnover is present | ||
| turnover.value | number | Yes, if turnover.isIncluded is true | • Numeric value • Minimum value 1 |
3.1.2 Business rules
product.customer(if present) andproduct.policyholderhave to be adultse
3.2 Response
The object structure returned in the data field is described in this section.
Response data object
| Parameter | Type | Description |
|---|---|---|
| provider | object | |
| provider.organization | object | |
| provider.organization.businessName | string | Insurer identifier |
| product | object | |
| product.name | string | Product identifier |
| offers | array of Offer object | A list of generated offers, which can include offers generated successfully |
Offer object
| Parameter | Type | Description |
|---|---|---|
| offerId | number | • Unique identifier of the offer • Use this to transform the offer into a policy |
| providerOfferCode | string | Unique identifier of the offer generated by the insurer |
| premiumAmount | number | Premium amount defined in the currency returned in currency field |
| currency | string | Currency |
| exhangeRate | object | |
| exhangeRate.currency | string | |
| exhangeRate.amount | number | |
| exhangeRate.exhangeRate | number | |
| payment | object | |
| payment.amount | number | |
| payment.currency | string | |
| startDate | string | The start date of the policy |
| endDate | string | The end date of the policy |
| installments | object | |
| installments.id | number | Number of the installment |
| installments.amount | number | Premium amount of the installment |
| installments.dueDate | string | The due date of the payment |
| notes | string | Additional information from the insurer |
| offerExpiryDate | string | The date till the offer is valid |
4. Transform offer to policy
Endpoint: POST /policy
4.1 Request
4.1.1 Input parameters
Request data object
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| offerId | number | Yes | Unique identifier f the offer that will be transformed to a policy | Offer has to exist |
| payment | Payment object | Yes | Payment information | |
| additionalData | object | No (depending on the product) | Product related additional information | Must be completed according to the Product specific parameters section |
Payment object
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| method | string | Yes | Payment methodNote: not all products will accept every option | Accepted values: receipt, broker receipt, payment order, broker payment order, pos |
| currency | string | Yes | Payment currency | At the moment only RON is accepted |
| amount | number | Yes | The payment amount in the selected currency | |
| date | string | Yes | Payment date | Accepted format: YYYY-MM-DD |
| documentNumber | string | Yes | Payment proof document details | Format: has to start with at least one character followed by digits |
4.2 Response
The object structure returned in the data field is described in this section.
Response data object
| Parameter | Type | Description |
|---|---|---|
| policies | array of Policy object | A list of issued policies, which can include policies successfully and/or with errors. |
Policy object
🚩 Structure might change
| Parameter | Type | Description |
|---|---|---|
| provider | object | |
| provider.organization | object | |
| provider.organization.businessName | string | Insurer identifier |
| policyId | number | Unique identifier of the issued policy |
| series | string | Policy series |
| number | number | Policy number |
| startDate | string | Policy start date |
| endDate | string | Policy end date |
| premiumAmount | number | Value of the policy |
| currency | string | Policy value currency |
| installments | object | |
| installments.id | number | Number of the installment |
| installments.amount | number | Premium amount of the installment |
| installments.dueDate | date | Format:Y-m-d |
5. Documents
5.1 Offer
Endpoint: GET /offer/{OfferID}
This API endpoint enables users to download the offer in PDF format. You will need to provide the OfferID received from the offer request call to access the download feature.
5.2 Policy
This API endpoint enables users to download the policy in PDF format.
5.2.1 By policy identifier
Endpoint: GET /policy/{PolicyID}
You will need to provide the policyId received from the offer transform request call to access the download feature.
5.2.2 By policy series and number
Endpoint: GET /policy?series={series}&number={number}
You will need to provide the series and number received in the response of transform offer into policy call to access the download feature.
5.3 Insurer receipt
Endpoint: GET /policy/{PolicyId}/insurer-receipt
This API endpoint enables users to download the policy receipt in PDF format. You will need to provide the PolicyID received from the offer transform request call to access the download feature.
panel_c1
Implemented products for this endpoint:
-
Abc
-
Signal Iduna
6. Product-specific parameters
This section of the implementation manual outlines the specifications for the additionalData object, which forms part of the request for bidding and transformation of offers into policies.
The section also describes specific validation rules for each product.
6.1 Omniasig
Business rules:
-
At offering the following currencies are accepted for
product.currency[RON, EUR,USD, CHF] -
The
product.liability.termTimefield can have one of the following values [3, 6, 9, 12] -
The
product.liability.deductible.percentvalue has the following restrictions depending on theproduct.liability.deductible.type: -
per-eventvalues from0.3, 0.5, 1, 1.5, 2 -
of-lossvalues from3, 5, 7, 10, 15 -
undefinedorno-deductiblevalue has to be0 -
The
product.liability.coverage.moralClaims.valueandproduct.liability.coverage.feesCompensation.valuecan have the following percentage values[5, 10, 15, 20, 25, 30] -
The
product.liability.coverage.policyLimit.valueminimum value is1ifproduct.liability.coverage.perEvent.valuedoes not exist otherwise the minimum value isproduct.liability.coverage.perEvent.value -
product.policyholder.companyRegistryNumberandproduct.customer.companyRegistryNumberis not required -
🚩
product.customer.isForeignPersonandproduct.policyholder.isForeignPersonhas to be set tofalse, SAS working on development -
The
product.policyholder.address.postcodeis required -
The
product.customer.address.postcodeis required whenproduct.customer.addressis present
6.1.1 General Liability Package
Business rules:
-
product.nameis set togeneral -
product.liability.typecan have the following values ifproduct.policyholderis a regular entity[hunters, estate-admin, personal]otherwise onlyestate-admin
6.1.1.1 Offer
Business rules:
-
product.liability.coverage.perEvent.valueforproduct.currencyEURCHFthe value has to be between[5000, 1000000] -
product.liability.coverage.perEvent.valueforproduct.currencyRON the value has to be between[5500, 1000000]
No additional data is required.
6.1.1.2 Transform offer to policy
No additional data is required.
Business rules:
payment.documentNumberis not required
6.1.2 Professional Liability Package
Business rules:
-
product.nameis set toprofessional -
product.liability.typecan have the following values ifproduct.policyholderis a regular entity[malpraxis, pharma, veterinary, lawyers, notaries, counselors, executors, insolvency, tax-consultant]otherwise[lawyers, notaries, counselors, executors, insolvency, tax-consultant] -
product.liability.conditions.turnover.isIncludedhas to be set totruewhenproduct.liability.typeis one of[lawyers, executors, insolvency, tax-consultant]otherwisefalse -
product.liability.coverage.perEvent.valuelimits list in EUR or the equivalent in RON, values are based on category and specialty see table bellow
Category and speciality limits list4000
| Type | Category | Speciality | Minimum Coverage | Maximum Coverage |
|---|---|---|---|---|
| malpraxis | family-medicine-general-practitioners | applies to all specialities | 12,000 | 200,000 |
| malpraxis | medical-specialists | applies to all specialities | 37,000 | 200,000 |
| malpraxis | surgical-specialists | applies to all specialities | 62,000 | 200,000 |
| malpraxis | dentists | applies to all specialities | 37,000 | 200,000 |
| malpraxis | dental-technicians | applies to all specialities | 10,000 | 200,000 |
| malpraxis | paraclinical-specialists-biochemists-biologists | applies to all specialities | 10,000 | 200,000 |
| malpraxis | pharmacists | applies to all specialities | 5,000 | 200,000 |
| malpraxis | pharmacy-assistants | applies to all specialities | 2,000 | 200,000 |
| malpraxis | nurses-and-midwives | nurses-and-midwives-inpatient-facilities | 10,000 | 200,000 |
| malpraxis | nurses-and-midwives | nurses-and-midwives-primary-care-outpatient-clinics | 2,000 | 200,000 |
| pharma | pharmacists | applies to all specialities | 5,000 | 200,000 |
| pharma | pharmacy-assistants | applies to all specialities | 2,000 | 200,000 |
| veterinary | physicians | applies to all specialities | 5,000 | 200,000 |
| veterinary | medical-staff | applies to all specialities | 5,000 | 200,000 |
| lawyers | intern | applies to all specialities | 3,000 | 200,000 |
| lawyers | permanent | applies to all specialities | 6,000 | 200,000 |
| notaries | — | — | 3,000 | 200,000 |
| counselors | — | — | 5,000 | 200,000 |
| executors | — | — | 5,000 | 200,000 |
| insolvency | — | — | 1,000 | 200,000 |
| tax-consultant | — | — | 10,000 | 200,000 |
product.additionalData.product.conditions.professionalCategory is a mandatory field if product.liability.type is one of [malpraxis, pharma, veterinary, lawyers]🚩 field replaced with the value from product.liability.category
6.1.2.1 Offer
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| product.retroactivePeriod | numeric | No | Value in months | Accepted value from [12, 24, 36] |
| product.conditions | object | No | ||
| product.conditions.activityType | string | No | Accepted value from [accounting, tax-advisory, audit] | |
| product.conditions.consultantsType | array of string | No | Accepted value from [accountant, expert-accountant, tax-consultant, auditor] | |
⚠️ field replaced with the value from product.liability.category | ||||
⚠️ field replaced with the value from product.liability.speciality |
6.1.2.2 Transform offer to policy
No additional data is required.
Business rules:
payment.documentNumberis not required
6.1.3 Other Liability Package
Business rules:
-
product.nameis set toother -
product.liability.typecan have the following values ifproduct.policyholderis a regular entity[hunters, estate-admin, personal]otherwise onlyestate-admin -
product.liability.coverage.perEvent.valuelimits list in EUR or the equivalent in RON, see table bellow
| Type | Minimum Coverage | Maximum Coverage |
|---|---|---|
| estate-administration | 5,000 | 200,000 |
| hunters | 3,000 | 200,000 |
| personal | - | - |
-
product.liability.conditions.turnover.isIncludedhas to be set tofalse -
product.liability.additionalInsureds.residentsandproduct.liability.additionalInsureds.childrenhave to be set to0if they exist in the request
6.1.3.1 Offer
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| product.conditions.accountingDeskActivities | boolean | Yes, if product.conditions.adminTechnicalActivities is false | If product.policyholder performs any accounting or desk activities | Note: default value false At least on of the fields has to be set to true. |
| product.conditions.adminTechnicalActivities | boolean | Yes, if accountingDeskActivities if false | If product.policyholder performs any administration or technical activities |
6.1.3.2 Transform offer to policy
No additional data is required.
Business rules:
payment.documentNumberis not required
6.2 ABC - Malpraxis
6.2.1 Offer
Business rules:
-
The
product.liability.startDatefield value cannot be more then 30 days in the future -
The
product.liability.termTimefield can only be equal to 12 -
The
product.liability.installmentCountfield can have one of the following values [1, 2, 4, 12] -
The following
product.liability.coveragevalues cannot be included: -
perEvent -
policyLimit -
auxiliaryStaff -
eScooter -
extendedReportingPeriod -
feesCompensation -
locationCount -
turnover -
lossHistoryWithin5Years -
The
product.liability.coverage.moralClaims.valuefield can have one of the following values [25, 50, 75] -
The
product.policyholder.mobileNumberis required -
The
product.customer.mobileNumberis required whenproduct.customeris present
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
⚠️ field replaced with the value from product.liability.category | ||||
⚠️ field replaced with the value from product.liability.speciality | ||||
| product.additionalData.product.imageRepairExpenses | object | No | Image repair expenses coverage | |
| product.additionalData.product.imageRepairExpenses.isIncluded | boolean | No | ||
| product.additionalData.product.imageRepairExpenses.value | number | Yes, if product.additionalData.product.imageRepairExpenses.isIncluded is true | Accepted values from [500, 1000, 2500] | |
| product.additionalData.product.mitigationExpenses | object | Mitigation expenses coverage | ||
| product.additionalData.product.mitigationExpenses.isIncluded | boolean | No | ||
| product.additionalData.product.mitigationExpenses.value | number | Yes, if product.additionalData.product.mitigationExpenses.isIncluded is true | Accepted values from [500, 1000, 2500] | |
| product.additionalData.product.retroactivePeriod | object | No | Retroactive period | |
| product.additionalData.product.retroactivePeriod.isIncluded | boolean | No | ||
| product.additionalData.product.retroactivePeriod.value | number | Yes, if product.additionalData.product.retroactivePeriod.isIncluded is true | Accepted values from [12, 24, 36] | |
| product.additionalData.product.knowledgeOfClaims | boolean | No | Knowledge of pending claims | |
| product.additionalData.product.attestationDate | string | No | Professional attestation date | |
| product.additionalData.product.voucherCode | string | No | Voucher code for discounts | |
| product.additionalData.product.premiumAdjustment | number | No | Premium adjustment percentage |
6.2.2 Transform offer to policy
No additional data is required.
6.3 Asirom - Malpraxis
6.3.1 Offer
Business rules:
-
The
product.currencyfield accepts one of [RON, EUR] -
The
product.liability.typefield can only equal "malpraxis" -
The
product.liability.startDatefield must be no more than 3 months and 29 days from today -
The
product.liability.termTimefield accepts "12 to 18" (months) -
The
product.liability.installmentCountfield accepts values [1, 2, 4] -
The
product.liability.deductible.percent.typefield can only equal "no-deductible" or "per-event", and is required whenever adeductibleobject is submitted -
The
product.liability.deductible.percentfield accepts one of [0, 0.5, 1, 2, 3, 4, 5] -
Only the following coverage elements may be included (
product.liability.coverage.*.type):policyLimit,perEvent,moralClaims. Any other coverage option submitted withisIncluded: trueis rejected. -
product.liability.coverage.policyLimit.isIncludedis mandatory to be included -
product.liability.coverage.policyLimit.valuehas ti be a value between EUR 100 and EUR 100,000 or the equivalent value in RON in caseproduct.currencyis equal to RON -
product.liability.coverage.perEvent.isIncludedis mandatory to be included its.valuemust -
product.liability.coverage.perEvent.valuehas to be equal toproduct.liability.coverage.policyLimit.value -
product.liability.coverage.moralClaims.value, when included, the value will be used to calculate a percent of theproduct.liability.coverage.policyLimit.value -
product.policyholder.nationalityandproduct.customer.nationalitycannot be set to RO when the person's tax ID (CNP) starts with 7 or 8, as that prefix indicates foreign tax residency -
product.additionalData.product.discountandproduct.additionalData.product.increasecannot be set at the same time -
product.additionalData.product.authorizationType`must be operating-authorization whenproduct.liability.categoryis healthcare-providers-legal-entities andproduct.liability.specialityis pharmacies-individual-medical-practices; any other authorization type is rejected for that pair
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| product.additionalData.product.authorizationType | string | Yes | Type of document authorizing the insured to practice. | Accepted values: operating-authorization, medical-college-membership-certificate |
| product.additionalData.product.authorizationNumber | string | Yes | Number of the authorization document. | |
| product.additionalData.product.authorizationDate | date | Yes | Issue date of the authorization document. | Format YYYY-MM-DD. Must be on or before the first day of next month. |
| product.additionalData.product.accreditationCertificateNumber | string | No | Number of the accreditation certificate. | |
| product.additionalData.product.accreditationCertificateDate | date | No | Issue date of the accreditation certificate. | Format YYYY-MM-DD |
| product.additionalData.product.workplace | string | No | Workplace of the insured. | |
| product.additionalData.product.professionStartDate | date | Yes | Date on which the insured started practicing the profession. | Format YYYY-MM-DD |
| product.additionalData.product.retroactivePeriod | date | Yes | Start date of the retroactive coverage period. | Format YYYY-MM-DD. Must be on or before product.liability.startDate, no earlier than 3 years before product.liability.startDate, and on or after authorizationDate |
| product.additionalData.product.claimsDetails | string | No | Details of any claims made against the insured. | |
| product.additionalData.product.priorClaimsRequests | string | No | Details of any prior claims requests made against the insured. | |
| product.additionalData.product.priorClaimsPaid | string | No | Details of any prior claims paid on behalf of the insured. | |
| product.additionalData.product.ongoingLitigation | string | No | Details of any ongoing litigation involving the insured.Requested discount percentage. | |
| product.additionalData.product.discount | number | No | Reason for the requested discount. | Requested discount percentage, "0.1 to 90". Mutually exclusive with increase. |
| product.additionalData.product.discountReason | string | Yes*, if product.additionalData.product.discount is set | Reason for the requested discount. | |
| product.additionalData.product.increase | number | No | Requested premium increase percentage. | Requested premium increase percentage, minimum "0.1". Mutually exclusive with discount. |
| product.additionalData.product.increaseReason | string | Yes*, if product.additionalData.product.increase is set | Reason for the requested premium increase. | |
| product.additionalData.product.simulateOffer | boolean | No | Simulate offer generation, cannot be issued. | If true, requests a simulated offer only (cannot be downloaded or issued). Default false. 🚩 Note: the response will not contain the offerId and providerOfferCode fields if it is a simulated offer |
6.3.2 Transform offer to policy
Business rules:
payment.datemust be on or before today's date
No other additional data is required.
6.4 Signal Iduna - Malpraxis
6.4.1 Offer
Business rules:
-
The
product.currencyfield can only equal "EUR" -
The
product.liability.typefield can only equal "malpraxis" -
The
product.liability.termTimefield accepts "12 to 18" (months) -
The
product.liability.installmentCountfield accepts values [1, 2, 4] -
product.liability.coverage.moralClaims.valuesent value is ignored, SignalIduna computes the final moral-claims value itself -
product.liability.coverage.policyLimit.isIncludedmay only be set to true for 2 specific category/speciality combinations (medical-service-providers-legal-entity, andhospital-specialty-outpatient-clinics); for every other combination it must be declined -
product.liability.coverage.policyLimit.value, when the limit is included it has to be one of [5000, 10000, 15000, 25000, 50000, 100000, 150000] (EUR) -
The following coverage/condition elements are not supported at all and must be declined (omitted or
false):perEvent,auxiliaryStaff,eScooter,extendedReportingPeriod,feesCompensation,conditions.locationCount,conditions.turnover,conditions.lossHistoryWithin5Years,conditions.claimsWithin3Years.
Category/speciality combinations by required policyholder entity type4000
| product.liability.category | product.liability.speciality | Required Policyholder Entity Type |
| healthcare-providers-legal-entities | closed-circuit-pharmacies | Legal entity only |
| healthcare-providers-legal-entities | hospital-specialty-outpatient-clinics | Legal entity only |
| healthcare-providers-legal-entities | medical-service-providers-legal-entity | Legal entity only |
| healthcare-providers-legal-entities | pharmacies-individual-medical-practices | Legal entity only |
| ancillary-medical-service-providers | dietitian | Natural person only |
| ancillary-medical-service-providers | staff-providing-ancillary-medical-services | Natural person only |
| dental-technicians | dental-technicians | Natural person only |
| dentists | dental-prosthetics | Natural person only |
| dentists | dentist | Natural person only |
| dentists | dentist-stomatologist | Natural person only |
| dentists | dento-alveolar-and-maxillofacial-stomatological-surgery | Natural person only |
| dentists | dento-alveolar-surgery | Natural person only |
| dentists | endodontics | Natural person only |
| dentists | general-stomatology-and-pediatric-dentistry | Natural person only |
| dentists | orthodontics-and-dento-facial-orthopedics | Natural person only |
| dentists | pediatric-dentistry | Natural person only |
| dentists | periodontology | Natural person only |
| dietitians-nutritionists | nutritionist-dietitian | Natural person only |
| family-medicine-general-practitioners | family-medicine | Natural person only |
| family-medicine-general-practitioners | general-practitioners | Natural person only |
| medical-specialists | allergology-and-clinical-immunology | Natural person only |
| medical-specialists | anesthesia-and-intensive-care | Natural person only |
| medical-specialists | anesthesiologist-and-icu-specialist | Natural person only |
| medical-specialists | cardiology | Natural person only |
| medical-specialists | clinical-pharmacology | Natural person only |
| medical-specialists | dermatovenereology | Natural person only |
| medical-specialists | diabetes-nutrition-and-metabolic-diseases | Natural person only |
| medical-specialists | emergency-medicine | Natural person only |
| medical-specialists | endocrinology | Natural person only |
| medical-specialists | gastroenterology | Natural person only |
| medical-specialists | geriatrics-and-gerontology | Natural person only |
| medical-specialists | hematology | Natural person only |
| medical-specialists | infectious-diseases | Natural person only |
| medical-specialists | internal-medicine | Natural person only |
| medical-specialists | medical-genetics | Natural person only |
| medical-specialists | medical-oncology | Natural person only |
| medical-specialists | medical-work-capacity-assessment | Natural person only |
| medical-specialists | neonatology | Natural person only |
| medical-specialists | nephrology | Natural person only |
| medical-specialists | neurology | Natural person only |
| medical-specialists | obstetrics-and-gynecology | Natural person only |
| medical-specialists | occupational-medicine | Natural person only |
| medical-specialists | ophthalmology | Natural person only |
| medical-specialists | otorhinolaryngology-ent | Natural person only |
| medical-specialists | pediatric-cardiology | Natural person only |
| medical-specialists | pediatric-gastroenterology | Natural person only |
| medical-specialists | pediatric-nephrology | Natural person only |
| medical-specialists | pediatric-neurology | Natural person only |
| medical-specialists | pediatric-oncology-and-hematology | Natural person only |
| medical-specialists | pediatric-ophthalmology | Natural person only |
| medical-specialists | pediatric-psychiatry | Natural person only |
| medical-specialists | pediatric-pulmonology | Natural person only |
| medical-specialists | physical-and-rehabilitation-medicine | Natural person only |
| medical-specialists | pneumophthisiology | Natural person only |
| medical-specialists | psychiatry | Natural person only |
| medical-specialists | public-health-and-health-management | Natural person only |
| medical-specialists | pulmonology | Natural person only |
| medical-specialists | radiotherapy | Natural person only |
| medical-specialists | rheumatology | Natural person only |
| medical-specialists | school-medicine | Natural person only |
| medical-specialists | sports-medicine | Natural person only |
| nurses-and-midwives | general-nurses-midwives-inpatient-facilities-emergency-units-ambulance | Natural person only |
| nurses-and-midwives | nurses-and-midwives-excluding-neonatology-and-ob-gyn | Natural person only |
| nurses-and-midwives | nurses-and-midwives-inpatient-facilities | Natural person only |
| nurses-and-midwives | nurses-and-midwives-inpatient-medical-units | Natural person only |
| nurses-and-midwives | nurses-and-midwives-primary-care-outpatient-clinics | Natural person only |
| nurses-and-midwives | self-employed-independent-practice-nurses-and-midwives-neonatology | Natural person only |
| nurses-and-midwives | self-employed-independent-practice-nurses-and-midwives-obstetrics-gynecology | Natural person only |
| paraclinical-specialists-biochemists-biologists | biochemists-biologists-chemists | Natural person only |
| paraclinical-specialists-biochemists-biologists | biologist | Natural person only |
| paraclinical-specialists-biochemists-biologists | chemist-in-healthcare-system | Natural person only |
| paraclinical-specialists-biochemists-biologists | epidemiology | Natural person only |
| paraclinical-specialists-biochemists-biologists | forensic-medicine | Natural person only |
| paraclinical-specialists-biochemists-biologists | hygiene | Natural person only |
| paraclinical-specialists-biochemists-biologists | laboratory-medicine | Natural person only |
| paraclinical-specialists-biochemists-biologists | medical-microbiology | Natural person only |
| paraclinical-specialists-biochemists-biologists | nuclear-medicine | Natural person only |
| paraclinical-specialists-biochemists-biologists | pathological-anatomy | Natural person only |
| paraclinical-specialists-biochemists-biologists | public-health-and-management | Natural person only |
| paraclinical-specialists-biochemists-biologists | radiology-medical-imaging | Natural person only |
| pharmacists | closed-circuit-pharmacists | Natural person only |
| pharmacists | open-circuit-pharmacists | Natural person only |
| pharmacy-assistants | pharmacy-assistants | Natural person only |
| physiotherapists-kinesiotherapists | kinesiotherapists-and-physio-kinesiotherapists | Natural person only |
| physiotherapists-kinesiotherapists | physiotherapist-kinesiotherapist | Natural person only |
| physiotherapists-kinesiotherapists | physiotherapist-medical-recovery | Natural person only |
| surgical-specialists | cardiac-and-major-vessel-surgery | Natural person only |
| surgical-specialists | cardiovascular-surgery | Natural person only |
| surgical-specialists | general-surgery | Natural person only |
| surgical-specialists | neurosurgery | Natural person only |
| surgical-specialists | obstetrics-and-gynecology-surgical | Natural person only |
| surgical-specialists | ophthalmology-surgical | Natural person only |
| surgical-specialists | oral-and-maxillofacial-surgery | Natural person only |
| surgical-specialists | orthopedics-and-traumatology | Natural person only |
| surgical-specialists | otorhinolaryngology-ent-surgical | Natural person only |
| surgical-specialists | pediatric-neurosurgery | Natural person only |
| surgical-specialists | pediatric-orthopedics | Natural person only |
| surgical-specialists | pediatric-surgery | Natural person only |
| surgical-specialists | plastic-aesthetic-and-reconstructive-microsurgery | Natural person only |
| surgical-specialists | plastic-and-reparatory-surgery | Natural person only |
| surgical-specialists | thoracic-surgery | Natural person only |
| surgical-specialists | urology | Natural person only |
| surgical-specialists | vascular-surgery | Natural person only |
6.4.2 Transform offer to policy
Business rules:
payment.documentNumberbecomes mandatory whenpayment.methodequals broker receipt; for every other payment method it stays optional.
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| additionalData.payer | object | No | Person/entity the payment receipt should be issued to, instead of the insured. | — |
| additionalData.payer.businessName | string | Conditional | Payer’s legal entity name. | Required if lastName and firstName are absent. |
| additionalData.payer.companyRegistryNumber | string | No | Payer’s company registry number, only meaningful for a legal entity. | — |
| additionalData.payer.lastName | string | Conditional | Payer’s last name. | Required if businessName is absent. |
| additionalData.payer.firstName | string | Conditional | Payer’s first name. | Required if businessName is absent. |
| additionalData.payer.taxId | string | Yes, if payer is present | Payer’s CNP/CUI. | — |
| additionalData.payer.address | object | Yes, if payer is present | Payer’s address. | Must include street, houseNumber, county, and city. |
| additionalData.payer.address.street | string | Yes, if payer.address is present | Payer’s street name. | — |
| additionalData.payer.address.houseNumber | string | Yes, if payer.address is present | Payer’s house number. | — |
| additionalData.payer.address.county | string | Yes, if payer.address is present | Payer’s county. | — |
| additionalData.payer.address.city | string | Yes, if payer.address is present | Payer’s city. | — |
| additionalData.premiumAdjustment | number | No | Increased premium amount. | — |
6.5 Uniqa - Malpraxis
6.5.1 Offer
Business rules:
-
The
product.liability.typefield can only equal malpraxis. -
product.liability.coverage.moralClaims.value, whenmoralClaims.isIncludedistrue, must be one of [10, 20, 25, 50] — for Uniqa this field is a sublimit percentage -
product.policyholder.address.postcodeis mandatory and numeric. -
product.customer.address.postcodeis mandatory and numeric wheneverproduct.customeris submitted. -
product.additionalData.product.medicalUnitis mandatory. -
product.additionalData.product.anteriority.startDateis mandatory (format YYYY-MM-DD) only whenanteriority.oneYearistrue; it is not required for the two-year anteriority clause. -
product.additionalData.product.sublimit, when submitted, must be one of [10, 20, 25, 50] (percentage applied to the main insured risk); defaults to 10 when omitted. -
product.liability.coverage.policyLimitorproduct.liability.coverage.perEventneeds to be included
Minimum policy limit per speciality760
| product.liability.category | product.liability.speciality | Minimum policy limit (EUR) |
|---|---|---|
| family-medicine-general-practitioners | all supported specialities | 12000 |
| medical-specialists | all supported specialities | 37000 |
| surgical-specialists | all supported specialities | 62000 |
| dentists | all supported specialities | 37000 |
| paraclinical-specialists-biochemists-biologists | all supported specialities | 10000 |
| nurses-and-midwives | self-employed-independent-practice-nurses-and-midwives | 20000 |
| nurses-and-midwives | general-nurses-midwives-inpatient-facilities-emergency-units-ambulance | 10000 |
| nurses-and-midwives | nurses-and-midwives-primary-care-outpatient-clinics | 4000 |
| nurses-and-midwives | nurses-hygiene-public-health-forensic-institutes | no minimum |
| physiotherapists-kinesiotherapists | all supported specialities | 20000 |
| psychologists | all supported specialities | 37000 |
| pharmacists | all supported specialities | 5000 |
| pharmacy-assistants | all supported specialities | 2000 |
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| product.additionalData.product.medicalUnit | string | Yes | Medical unit where the insured practices | |
| product.additionalData.product.discount | number | No | Requested discount percentage | Defaults to 0 when omitted |
| product.additionalData.product.premiumIncrease | number | No | Requested premium increase percentage | Defaults to false |
| product.additionalData.product.isStaggeredPayment | boolean | No | Whether the premium is paid in staggered installments rather than as a single payment | Defaults to false |
| product.additionalData.product.anteriority.oneYear | boolean | No | One-year anteriority clause | Defaults to false |
| product.additionalData.product.anteriority.twoYears | boolean | No | Two-year anteriority clause | Defaults to false |
| product.additionalData.product.anteriority.startDate | date | Conditional | Start date of the anteriority clause | Format YYYY-MM-DD. Required when product.additionalData.product.anteriority.oneYear is true |
| product.additionalData.product.sublimit | integer | No | Sublimit percentage applied to the main insured risk | One of [10, 20, 25, 50]. Defaults to 10 |
6.5.2 Transform offer to policy
Business rules:
-
payment.datemust be on or after today's date. -
payment.documentNumberis not required; a document-number format rule still applies whenever one is supplied.
No other additional data is required.
6.6 Garanta - Malpraxis
6.6.1 Offer
Business rules:
-
The
product.liability.typefield can only equal malpraxis. -
The
product.liability.termTimemust be exactly 12 -
The
product.liability.installmentCountfield accepts values [1, 2, 4]. -
product.liability.startDatemust fall between tomorrow and today + 120 days -
product.liability.coverage.policyLimit.isIncludedis mandatory and must betrue -
product.liability.coverage.policyLimit.valueandcoverage.moralClaims.valueare checked against a per category/speciality liability-limit table:policyLimit.valuemust fall between that combination's standard limit (floor) and its measured ceiling, inclusive, andmoralClaims.valuemust fall within that combination's min/max band. -
The
product.liability.renewPolicyis mandatory whenproduct.additionalData.product.liability.retroactivePeriodis set with 12-months or 24-months -
Name fields of
product.policyholderandproduct.customerfollow Garanta's limits:lastName,firstNameandbusinessNamemust be strings of 2–100 characters, andcompanyRegistryNumberat most 20 characters -
The
product.policyholdercan only be a natural person. -
Address fields of
product.policyholder.addressandproduct.customer.addressfollow Garanta's limits:streetat most 100 characters,houseNumberat most 12,buildingat most 15,staircaseat most 10,apartmentat most 8, andpostcodemust be exactly 6 digits. -
The
product.liability.renewPolicy.seriesis mandatory to be equal to RCM if sent -
product.policyholder.mobileNumberis mandatory, and so isproduct.customer.mobileNumberwhenever a separatecustomeris submitted -
The following coverage/condition elements are not supported at all and must be declined (omitted or
false):perEvent,auxiliaryStaff,eScooter,extendedReportingPeriod,feesCompensation,conditions.locationCount,conditions.turnover,conditions.lossHistoryWithin5Years,conditions.claimsWithin3Years. -
product.additionalData.product.liability.secondSpecialityis required only whenhasDualSpecialityistrue -
product.additionalData.product.liability.retroactivePeriod, when submitted, must be one of none, 12-months, 24-months (default none). -
product.additionalData.product.policyholder.publicFunctionHeldis required whenpoliticallyExposedPersonistrue. -
product.additionalData.product.policyholder.share, when submitted, must be a number between 0 and 100 (default 100). -
A resident doctor (
residentDoctor=true) cannot be combined with moral claims cover or a retroactive period:coverage.moralClaims.isIncludedmust not betrueandretroactivePeriodmust be none (or omitted). -
product.additionalData.product.policyholder.publicFunctionHeldmay be at most 200 characters.
Category/speciality liability limits1054
| product.liability.category | product.liability.speciality | policyLimitMin (EUR) | policyLimitMax (EUR) | moralClaimsMin (EUR) | moralClaimsMax (EUR) |
|---|---|---|---|---|---|
| nurses-and-midwives | self-employed-independent-practice-nurses-and-midwives-alt | 20000 | 20000 | 1000 | 2500 |
| nurses-and-midwives | self-employed-independent-practice-nurses-and-midwives-neonatology | 20000 | 20000 | 1000 | 2500 |
| nurses-and-midwives | self-employed-independent-practice-nurses-and-midwives-obstetrics-gynecology | 20000 | 20000 | 1000 | 2500 |
| pharmacy-assistants | pharmacy-assistants | 2000 | 5000 | 500 | 1000 |
| pharmacists | open-circuit-pharmacists | 5000 | 5000 | 1000 | 2500 |
| pharmacists | closed-circuit-pharmacists | 5000 | 5000 | 1000 | 2500 |
| family-medicine-general-practitioners | family-medicine | 12000 | 24000 | 2500 | 5000 |
| family-medicine-general-practitioners | general-practitioners | 12000 | 24000 | 2500 | 5000 |
| surgical-specialists | cardiovascular-surgery | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | cardiac-and-major-vessel-surgery | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | general-surgery | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | oral-and-maxillofacial-surgery | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | pediatric-surgery | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | plastic-aesthetic-and-reconstructive-microsurgery | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | plastic-and-reparatory-surgery | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | thoracic-surgery | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | vascular-surgery | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | neurosurgery | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | pediatric-neurosurgery | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | obstetrics-and-gynecology-surgical | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | ophthalmology-surgical | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | orthopedics-and-traumatology | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | pediatric-orthopedics | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | otorhinolaryngology-ent-surgical | 62000 | 124000 | 5000 | 10000 |
| surgical-specialists | urology | 62000 | 124000 | 5000 | 10000 |
| medical-specialists | allergology-and-clinical-immunology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | anesthesia-and-intensive-care | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | anesthesiologist-and-icu-specialist | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | infectious-diseases | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | cardiology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | pediatric-cardiology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | dermatovenereology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | diabetes-nutrition-and-metabolic-diseases | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | endocrinology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | clinical-pharmacology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | gastroenterology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | pediatric-gastroenterology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | medical-genetics | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | geriatrics-and-gerontology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | hematology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | emergency-medicine | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | internal-medicine | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | occupational-medicine | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | school-medicine | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | sports-medicine | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | nephrology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | pediatric-nephrology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | neonatology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | neurology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | pediatric-neurology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | obstetrics-and-gynecology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | ophthalmology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | pediatric-ophthalmology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | medical-oncology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | pediatric-oncology-and-hematology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | otorhinolaryngology-ent | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | pulmonology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | pediatric-pulmonology | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | psychiatry | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | pediatric-psychiatry | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | radiotherapy | 37000 | 74000 | 2500 | 5000 |
| medical-specialists | rheumatology | 37000 | 74000 | 2500 | 5000 |
| dentists | dento-alveolar-surgery | 37000 | 74000 | 2500 | 5000 |
| dentists | dento-alveolar-and-maxillofacial-stomatological-surgery | 37000 | 74000 | 2500 | 5000 |
| dentists | endodontics | 37000 | 74000 | 2500 | 5000 |
| dentists | dental-prosthetics | 37000 | 74000 | 2500 | 5000 |
| dentists | orthodontics-and-dento-facial-orthopedics | 37000 | 74000 | 2500 | 5000 |
| dentists | periodontology | 37000 | 74000 | 2500 | 5000 |
| dentists | general-stomatology-and-pediatric-dentistry | 37000 | 74000 | 2500 | 5000 |
| dentists | pediatric-dentistry | 37000 | 74000 | 2500 | 5000 |
| dentists | dentist-stomatologist | 37000 | 74000 | 2500 | 5000 |
| dentists | dentist | 37000 | 74000 | 2500 | 5000 |
| dietitians-nutritionists | nutritionist-dietitian | 5000 | 5000 | 1000 | 2500 |
| ancillary-medical-service-providers | dietitian | 5000 | 5000 | 1000 | 2500 |
| physiotherapists-kinesiotherapists | physiotherapist-kinesiotherapist | 20000 | 20000 | 1000 | 2500 |
| physiotherapists-kinesiotherapists | physiotherapist-medical-recovery | 20000 | 20000 | 1000 | 2500 |
| physiotherapists-kinesiotherapists | kinesiotherapists-and-physio-kinesiotherapists | 20000 | 20000 | 1000 | 2500 |
| ancillary-medical-service-providers | laboratory-medicine-biochemist-biologist-physicist | 10000 | 40000 | 1000 | 2500 |
| paraclinical-specialists-biochemists-biologists | laboratory-medicine | 10000 | 40000 | 1000 | 2500 |
| paraclinical-specialists-biochemists-biologists | biochemists-biologists-chemists | 10000 | 40000 | 1000 | 2500 |
| paraclinical-specialists-biochemists-biologists | biologist | 10000 | 40000 | 1000 | 2500 |
| ancillary-medical-service-providers | psychologist | 37000 | 74000 | 2500 | 5000 |
| psychologists | psychologists-specialized-in-autism-spectrum-disorder | 37000 | 74000 | 2500 | 5000 |
| paraclinical-specialists-biochemists-biologists | pathological-anatomy | 10000 | 20000 | 1000 | 2500 |
| paraclinical-specialists-biochemists-biologists | epidemiology | 10000 | 20000 | 1000 | 2500 |
| paraclinical-specialists-biochemists-biologists | hygiene | 10000 | 20000 | 1000 | 2500 |
| paraclinical-specialists-biochemists-biologists | forensic-medicine | 10000 | 20000 | 1000 | 2500 |
| paraclinical-specialists-biochemists-biologists | nuclear-medicine | 10000 | 20000 | 1000 | 2500 |
| paraclinical-specialists-biochemists-biologists | medical-microbiology | 10000 | 40000 | 1000 | 2500 |
| paraclinical-specialists-biochemists-biologists | radiology-medical-imaging | 10000 | 20000 | 1000 | 2500 |
| paraclinical-specialists-biochemists-biologists | public-health-and-management | 10000 | 20000 | 1000 | 2500 |
| medical-specialists | public-health-and-health-management | 10000 | 20000 | 1000 | 2500 |
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| product.additionalData.product.liability.residentDoctor | boolean | No | Resident doctor flag | Defaults to false |
| product.additionalData.product.liability.hasDualSpeciality | boolean | No | Whether the insured practices a second speciality | Defaults to false |
| product.additionalData.product.liability.secondSpeciality | string | Conditional | Canonical malpraxis speciality value for the second speciality | Required when hasDualSpeciality is true. Must differ from product.liability.speciality. |
| product.additionalData.product.liability.retroactivePeriod | string | No | Retroactive coverage period | One of none, 12-months, 24-months. Defaults to none. |
| product.additionalData.product.liability.claimsHistory | boolean | No | Prior claims history flag | Defaults to false |
| product.additionalData.product.liability.claimsHistoryDetails | string | No | Free-text claims history details | |
| product.additionalData.product.policyholder.politicallyExposedPerson | boolean | No | Defaults to false | |
| product.additionalData.product.policyholder.publicFunctionHeld | string | Conditional | Required when politicallyExposedPerson is true | |
| product.additionalData.product.policyholder.occupation | string | No | ||
| product.additionalData.product.policyholder.profession | string | No | ||
| product.additionalData.product.policyholder.share | number | No | Insured's share/quota | Between 0 and 100. Defaults to 100 |
6.6.2 Transform offer to policy
Business rules:
-
additionalData.payer.taxIdandadditionalData.payer.address(withstreet,houseNumber,county,city) become mandatory wheneveradditionalData.payeris submitted. -
additionalData.payer.businessNameis required whenever it is present in the payload at all (a legal-entity payer cannot submit an emptybusinessName); for an individual payer,lastName/firstNameare required wheneverbusinessNameis absent. -
additionalData.payer.taxIdandadditionalData.payer.addressare also format-checked, using the same platform rules as the policyholder's own fields. -
additionalData.payer.taxIdmust be a valid CNP for an individual payer, or a valid CUI whenpayer.businessNameis present. -
additionalData.payer.address.countymust be a valid county code from the county nomenclature -
additionalData.payer.lastName,firstNameandbusinessNamemust be strings of 2–100 characters, andcompanyRegistryNumberat most 20 characters
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| additionalData.payer | object | No | Person/entity the payment receipt should be issued to, instead of the insured | |
| additionalData.payer.businessName | string | Conditional | Payer's legal entity name | |
| additionalData.payer.companyRegistryNumber | string | No | Payer's company registry number | |
| additionalData.payer.lastName | string | Conditional | Payer's last name | |
| additionalData.payer.firstName | string | Conditional | Payer's first name | |
| additionalData.payer.taxId | string | Yes, if additionalData.payer is present | Payer's CNP/CUI | |
| additionalData.payer.address | object | Yes, if additionalData.payer is present | Payer's address | |
| additionalData.payer.address.street | string | Yes, if additionalData.payer.address is present | ||
| additionalData.payer.address.houseNumber | string | Yes, if additionalData.payer.address is present | ||
| additionalData.payer.address.county | string | Yes, if additionalData.payer.address is present | ||
| additionalData.payer.address.city | string | Yes, if additionalData.payer.address is present | ||
| additionalData.premiumAdjustment | number | No | Increased premium amount |