Skip to main content

Implementation manual for client communication with the web service.

Version
Date
Description
1.0.8
2025-03-25
• New endpoint: GET policy?series=\{series\}&number=\{number\}


1.0.7
2025-02-06
• The following nomenclatures have been updated (the old endpoints will remain available for a period but will be removed in the future):
• /nomenclature/eurolife/travel/gestionari → /nomenclature/eurolife/travel/managers

• /nomenclature/allianz/voiaj/organizatii → /nomenclature/allianz/voiaj/organizations



• Package names have been made more user-friendly.

• A validation was introduced which does not allow the sending of the destination country outside of Europe if areaOfValidity=3 (Europe).

• Fix:
• Allianz Unit group offer

• Fixed Generali transform policy errors




1.0.6
2024-12-04
• The type of the parameter additionalData.coverage.sports.extremeCompetitionSports has been changed from string to number

• Colonnade: Removed coverage for roadside assistance for Europe (areaOfValidity: 3) and for the destination Ukraine (areaOfValidity: 2, destination: UA)

• Generali: Added a new validation: when group_type=family there must be a minimum of 2 policyholders

• Asirom: For the purpose of work travel, only the Simplu package will be returned

• Mondial Assistance: Improved package filtering, filtering is based on additionData.tariffType (family or individual)


1.0.5
2024-10-28
The product.travel.startDate accepts the current day (with some exceptions, see below @ Groupama).
1.0.4
2024-08-08
New field added for Allianz Voiaj
• product.additionalData.coverage.stornoCosts.travelStartDate


The field:
• product.additionalData.coverage.stornoCosts.startDate is now deprecated.


1.0.3
2024-05-09
New Product implementation:
• Colonnade Travel


1.0.2
2024-04-24
New Product implementation:
• Omniasig Medicas


1.0.1
2023-12-22
New Product implementation:
• SignalIduna PostTravel


1.0.0
2023-03-16
Initial version

1. Introduction

The TravelAPI 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)

In order to receive the credentials (both QA and PRODUCTION), the OPERATOR needs the IPs and the application name (or website) from which the services will be accessed.

The service has an integration with the 24Broker application, and policies issued through the API will be automatically transferred to 24Broker. For this, the 24Broker instance and the email address of the account where the transfer is desired must be specified.

Attention! Changing the configured email address may result in policies not being transferred. In other words, if the email address of the account (24Broker) configured in the service is changed, then a request to modify the address in the API must be made.

Environments:

The examples and definitions of the methods and resources offered by the service can be viewed through the Swagger UI platform: https://app.swaggerhub.com/apis-docs/Life-is-Hard3/travel.api.lifeishard.ro/

1.1. Implemented products

- Products which are under development (there are not available in production) - Products which support group offer - Products which support quick offer

Insurer
Product
Packages
Identifiers
Features
Signal Iduna
Travel
insurer: signal_idunaproduct: SignalTravel

PostTravel
insurer: signal_idunaproduct: PostTravel

Eurolife
Travel
insurer: eurolifeproduct: Travel

Allianz
Voiaj
• A - World wide besides US, CA and RO

• B - World wide besides RO

• C - BG, GR, TU, IT, ES, PR, ML, HR, CY (Bulgaria, Greece, Turkey, Italy, Spain, Portugal, Malta, Croatia, Cyprus)


insurer: allianzproduct: Voiaj

Multitravel
Planul 1
Planul 2
insurer: allianz
product: Multitravel

Asirom
Easy Travel
• Sigur

• Simplu


insurer: asiromproduct: EasyTravel

Generali
Travel
• Turist

• Turist Plus Premium

• Turist (Studii)

• Turist Economic

• Profesional


insurer: generaliproduct: Travel

Groupama
TravelHealth
insurer: groupamaproduct: TravelHealth

Uniqa
Travel
• Plan A (EU for travel and business)

• Plan B (World Wide without US and CA)

• Plan C (World Wide with US and CA)

• Plan D (EU for work)


insurer: uniqaproduct: Travel

Omniasig
SafeTravel
• Premium EU

• Standard EU

• Basic EU

• Premium Plus EU

• Premier

• Standard

• Basic

• Premier Plus


insurer: omniasigproduct: SafeTravel

Medicas
• Program de asigurare A - 5000 EURO

• Program de asigurare B - 10000 EURO

• Program de asigurare C - 30000 EURO

• Program de asigurare D - 50000 EURO


insurer: omniasigproduct: Medicas

Mondial Assistance
Travel
• RO My Safe 365 Active Family 2205

• RO My Safe 365 Active Individual 2205

• RO My Safe 365 Family 2205

• RO My Safe 365 Individual 2205

• RO My Safe Essential Family 2205

• RO My Safe Essential Individual 2205

• RO My Safe Essential Long Trip Family 2205

• RO My Safe Essential Long Trip Individual 2205

• RO My Safe Full Family 2205

• RO My Safe Full Individual 2205

• RO My Safe Optim Family 2205

• RO My Safe Optim Individual 2205

• RO My Safe Optim Long Trip Family 2205

• RO My Safe Optim Long Trip Individual 2205

• RO My Safe Travel Family 2205

• RO My Safe Travel Plus Family 2205

• RO My Safe Travel Plus Individual 2205

• RO My Safe Storno Individual 2205

• RO My Safe Storno Plus Individual 2205

• RO My Safe Storno Object 2205

• RO My Safe Storno Plus Object 2205

• RO My Safe Storno Luxury Individual 2205

• RO My Safe Storno Luxury Plus Individual 2205

• RO My Safe Storno Luxury Object 2205

• RO My Safe Storno Luxury Plus Object 2205


insurer: mondial_assistanceproduct: Travel

Allianz Unit
DISCONTINUED from 01.07.2025
Travel
• Travel

• MyTravel


insurer: allianz-unitproduct: Travel

Colonnade
Travel
• Asigurare pentru Anularea Calatoriei Silver

• Asigurare pentru Anularea Calatoriei Gold

• Asigurare Calatorie Internationala in Strainatate Silver

• Asigurare Calatorie Internationala in Strainatate Gold

• Asigurare Calatorie Internationala in Strainatate Platinum

• Asigurare Anuala de Calatorie in Strainatate Silver

• Asigurare Anuala de Calatorie in Strainatate Gold

• Asigurare Anuala de Calatorie in Strainatate Platinum


insurer: colonnade
product: Travel

Phoenix
Travel
• Premium

• Standard


insurer: phoenix
product: Travel

1.2. Workflow

Creating policy:

  1. Authentication Obtain a JWT token using credentials provided by OPERATOR

  2. Create offer the response includes the [offerID] – this id will be needed in the following requests

  3. Transform offer to policy use [offerID] from the offer step for policy to get the policy data

  4. 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

The validation messages are set by default in English. To change the language of the validation messages to Romanian, add the following parameter in the request header: Content-Language, with the value: ro.

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. Deauthenticate account

Endpoint: DELETE /auth

This method is used to deauthenticate an existing and valid auth token.

3. Create offer

3.1 Quick offer

Endpoint: POST /quick-offer

Supported products: see Implemented Products table at 1.1, column Features & legend below table

Business rules are same as normal offer’s business rules

3.1.1. Request

3.1.1.1. Input parameters
Parameter
Type
Required
Description
Validation rules
provider
object
Yes
Informations 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
No
Credentials to access insurer’s web service
provider.authentication.account
string
No
Account
• in DEV / QA environment these fields can be sent empty to use default test credentials


provider.authentication.password
string
No
Password
provider.authentication.code
string
No
Code
product
object
Yes
Informations related to the product
product.name
string
Yes
Product identifier (see 1.1. → Identifiers)
product.currency
string
Yes
Currency
Accepted values: RON
product.travel
object
Yes
Informations related to the travel
product.travel.startDate
string
Yes
The effective date of the policy
• Accepted format: YYYY-MM-DD

• The date must be the current date or in the future.


product.travel.duration
number
Yes
Policy validity in number of days
product.travel.notes
string
No
Notes
product.travel.purpose
string
Yes
The purpose of the trip
Accepted values: travel, business, work, studies
product.travel.areaOfValidity
number
Yes
2 => destination country must be specified in the destination field
3 => Europe
4 => World Wide (including US and Canada)
5 => World Wide (excluding US and Canada)
Accepted values: 2, 3, 4 , 5
, product.travel.destination
string
Yes if areaOfValidity = 2
Destination country iso2 code
Accepted values: iso2 codes from /nomenclature/country nomenclature
If areaOfValidity is 3 and destination is present, then it must be a country in Europe.
product.travel.transportationMethod
string
Yes
Transport means
Accepted values: plane, plane_rental_car, personal_car, ship, bus, other
product.travel.groupType
string
No
Group type
Accepted values: individual, group, family
product.travel.coverage
Coverage object
Yes
List of included coverages
product.policyholder
SimplePerson object or an array of SimplePerson objects
Yes
Policyholder’s data
product.additionalData
object
No
Product related additional informations
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
agreements
object
No
agreements.gdpr
boolean
No
Person agrees with the european GDPR
agreements.marketing
boolean
No
Person agrees with marketing policies
SimplePerson object
Parameter
Type
Required
Description
Validation rules
lastName
string
No
Individual person's last name
firstName
string
No
Individual person's first name
taxId
string
No
Personal identification code for natural persons
It must be a valid Romanian CNP
birthdate
string
Yes
Date of birth
• Accepted format: YYYY-MM-DD

• The date must be in the past.


Product specific additionalData parameters
Eurolife Travel
Parameter
Type
Required
Description
Validation rules
discountCode
string
No
Discount code which would be applied to the
eurolifeArea
string
Yes
Individual person's first name
Value from POST endpoint nomenclature/eurolife/travel/gestionari
SignalIduna Travel
Parameter
Type
Required
Description
Validation rules
peopleGroup
string
No
Group type
Values from [Nu, Intre10Si20, Peste20]
Default value: Nu
clauseTreatmentContinuationInRomania
boolean
No
Clause for continuation of treatment in Romania
Allianz Voiaj
Parameter
Type
Required
Description
Validation rules
coverage.personalAccidents.isIncluded
string
Yes
Should personal accidents be included
coverage.personalAccidents.sumInsured
string
Yes, if coverage.personalAccidents.isIncluded is true
Omniasig SafeTravel
Parameter
Type
Required
Description
Validation rules
product.customer
object
Yes
product.customer.taxId
string
Yes
product.customer.address
object
Yes
product.customer.address.county
string
Yes
product.customer.address.city
string
Yes
Groupama TravelHealth
Parameter
Type
Required
Description
Validation rules
product.travel.coverage.tripExtensionInterruption.isIncluded
boolean
No
product.travel.coverage.sports.includeWinterSports
boolean
Yes, if product.travel.coverage.sports.isIncluded is true
product.travel.coverage.sports.includeSummerSports
boolean
es, if product.travel.coverage.sports.isIncluded is true
Mondial Assitance Travel
Parameter
Type
Required
Description
Validation rules
tripType
string
No
Values from [one-way, annual]
Default value: one-way
tariffType
string
No
Values from [single, object, family]
Default value: single
departureCountry
string
No
Accepts any iso2 code from nomenclature /nomenclature/country
Default value: RO
additionalDestinations
array
No
An array of country codes
Accepts any iso2 code from nomenclature /nomenclature/country
coverage
object
No
coverage.stornoCosts.bookingDate
date
Yes, if product.travel.coverage.stornoCosts.isIncluded is true
coverage.stornoCosts.tripValueType
string
Yes, if product.travel.coverage.stornoCosts.isIncluded is true
Values from [perPerson, perTrip]

3.2 Normal offer

Endpoint**:** POST /offer

3.2.1. Request

3.2.1.1. Input parameters
Parameter
Type
Required
Description
Validation rules
provider
object
Yes
Informations 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
No
Credentials to access insurer’s web service
provider.authentication.account
string
No
Account
• in DEV / QA environment these fields can be sent empty to use default test credentials


provider.authentication.password
string
No
Password
provider.authentication.code
string
No
Code
product
object
Yes
Informations related to the product
product.name
string
Yes
Product identifier (see 1.1. → Identifiers)
product.currency
string
Yes
Currency
Accepted values: RON
product.travel
object
Yes
Informations related to the travel
product.travel.startDate
string
Yes
The effective date of the policy
• Accepted format: YYYY-MM-DD

• The date must be the current date or in the future.


product.travel.duration
number
Yes
Policy validity in number of days
product.travel.notes
string
No
Notes
product.travel.purpose
string
Yes
The purpose of the trip
Accepted values: travel, business, work, studies
product.travel.areaOfValidity
number
Yes
2 => destination country must be specified in the destination field
3 => Europe
4 => World Wide (including US and Canada)
5 => World Wide (excluding US and Canada)
Accepted values: 2, 3, 4
product.travel.destination
string
Yes if areaOfValidity = 2
Destination country iso2 code
Accepted values: iso2 codes from /nomenclature/country nomenclature
product.travel.transportationMethod
string
Yes
Transport means
Accepted values: plane, plane_rental_car, personal_car, ship, bus, other
product.travel.groupType
string
No
Group type
Accepted values: individual, group, family
product.travel.coverage
Coverage object
Yes
List of included coverages
product.travel.intermediaryEmail
string
No
Agent’s email
Must be valid email address
product.customer
Person object
No
Contractor’s data
product.policyholder
Person object or an array of Person objects
Yes
Policyholder’s data
product.additionalData
object
No
Product related additional informations
Must be completed according to the Product specific parameters section
product.additionaData.rafCode
string
No
Fromat: RAFNNNNN (max. 10 digits)
agreements
object
No
agreements.gdpr
boolean
No
Person agrees with the european GDPR
agreements.marketing
boolean
No
Person agrees with marketing policies
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
Company registry number (if the person is a legal entity)
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. It is false by default.
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 minimum 7 and maximum 20 characters

• The phone number can only contain numbers, as special characters are accepted: +, ., () and space


identification
object
No
Informations related to the identification document
identification.idType
string
No
Type of the identification document
Accepted values: CI, PASSPORT
identification.idNumber
string
No
Series and number of the identification document
identification.issueAuthority
string
No
Issuer of the identification document
identification.issueDate
string
No
Issuing date of the identification document
Accepted format: YYYY-MM-DD
address
Address object
No
Person’s home address
correspondenceAddress
Address object
No
Person’s correspondence address
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 Except when country is not RO
city
string
Yes
Locality name
Accepted values: any name from /nomenclature/locality/{cod_judet} nomenclatureExcept when country is not RO
cityCode
number
Yes
Locality code
Accepted values: any siruta code from /nomenclature/locality/{cod_judet} nomenclatureNot required when country is RO
street
string
Yes
Street
Not required when country is RO
houseNumber
string
Yes
House number
Not required when country is RO
building
string
No
Building
staircase
string
No
Staircase
apartment
string
No
Apartment
floor
string
No
Floor
postcode
number
No
Postcode
Coverage object

Include only the coverages that you want to be covered.

Parameter
Type
Required
Description
Validation rules
base
object
Yes
base.isIncluded
boolean
Yes
Must be true
base.sumInsured
number
Yes
The maximum insured amount in EUR
Accepted values: 10000, 30000, 50000
baggageLoss
object
No
Baggage loss coverage
baggageLoss.isIncluded
boolean
Yes
isIncluded.sumInsured
number
Yes if baggageLoss.isIncluded is true
The maximum insured amount in EUR
sports
object
No
Sport and activity coverage
sports.isIncluded
boolean
Yes
sports.sumInsured
number
No
The maximum insured amount in EUR
flightDelay
object
No
Flight delay coverage
flightDelay.isIncluded
boolean
Yes
flightDelay.sumInsured
number
No
The maximum insured amount in EUR
travelLiability
object
No
Travel liability coverage
travelLiability.isIncluded
boolean
Yes
travelLiability.sumInsured
number
Yes if travelLiability.isIncluded is true
The maximum insured amount in EUR
stornoCosts
object
No
Trip cancellation coverage
stornoCosts.isIncluded
boolean
Yes
stornoCosts.sumInsured
number
Yes if stornoCosts.isIncluded is true
The maximum insured amount in EUR
roadsideAssistance
object
No
Roadside assistance coverage
roadsideAssistance.isIncluded
boolean
Yes
roadsideAssistance
Vehicle object
Yes if roadsideAssistance.isIncluded is true
Vehicle object
Parameter
Type
Required
Description
brand
string
No
The business entity that produced the vehicle
model
string
No
Vehicle’s model
vin
string
Yes
Vehicle identification number
licensePlate
string
Yes
License plate number
seats
number
No
Number of seats
totalWeight
number
No
The maximum amount of weight the vehicle can safely carry
yearOfConstruction
number
No
Vehicle’s production year
3.2.1.2. Business rules
  1. The contractor can be a legal entity or an individual over the age of 18

  2. If the contractor is not specified, the first person in the 'insured' category over the age of 18 will be selected

  3. The insured party for TRAVEL products can only be an individual (person) and not a legal entity

3.2.2. Response

The object structure returned in the data field is described in this section.

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 objects
A list of generated offers, which can include offers generated successfully and/or offers generated with errors.
Offer object

In case of successfully generated offer:

Parameter
Type
Description
package
object
Informations related to the package
package.code
string
Package identifier
package.name
string
Package name (defined by insurer)
offerId
number
Unique identifier of the offer.Use this to transform the offer into a policy.
premiumAmount
number
Premium amount defined in the currency returned in currency field
currency
string
Currency
exchangeRate
array of PremiumRate objects
List of premiumAmount expressed in other currencies
payment
object
Informations related to the payment
payment.amount
number
Amount that should be paid
payment.currency
string
The currency in which the payment should be made
coverage
ResponseCoverages object
The object will contain only the included coverages and the maximum insured amounts in EUR for each coverage
startDate
string
The start date of the policy
endDate
string
The end date of the policy
productInformationDocument
string
URL to PID document
termsAndConditions
string
URL to insurance terms and conditions
notes
string
Notes
providerResponse
object
Insurer’s original response

In case of erroneous offer:

Parameter
Type
Description
package
object
Informations related to the package
package.code
string
Package identifier
package.name
string
Package name (defined by insurer)
errorMessage
string
Error description
PremiumRate object
Parameter
Type
Description
currency
string
Currency
amount
number
Amont
exchangeRate
number
Exchange rate
ResponseCoverages object
Parameter
Type
Description
base
object
base.sumInsured
number
The maximum insured amount in EUR
baggageLoss
object
Baggage loss coverage
baggageLoss.sumInsured
number
The maximum insured amount in EUR
sports
object
Sport and activity coverage
sports.sumInsured
number
The maximum insured amount in EUR
flightDelay
object
Flight delay coverage
flightDelay.sumInsured
number
The maximum insured amount in EUR
travelLiability
object
Travel liability coverage
travelLiability.sumInsured
number
The maximum insured amount in EUR
stornoCosts
object
Trip cancellation coverage
stornoCosts.sumInsured
number
The maximum insured amount in EUR
roadsideAssistance
object
Roadside assistance coverage
roadsideAssistance.sumInsured
number
The maximum insured amount in EUR

3.3 Asynchronous offer

Endpoint: POST /async-offer

This endpoint allows clients to submit offer requests without waiting for immediate processing, enabling efficient handling of large volumes of data and reducing client-side latency. The client will receive a correlation ID that can be used to track the status of the request.

The generated offers will be send on a callback URL with the correlation ID generated at request initiation.

3.3.1 Request

Parameter
Type
Required
Description
Validation rules
insurerProductList
array of InsurerProduct objects
Yes
List of products for which client wants to generate an offer
product
object, same as normal offer request’s product parameter
Yes
Informations related to the product
Notes:
• the object must not contain the product.name parameter because it's already provided in insurerProductList

• product.additionalData must contain all product specific informations for all products mentioned in insurerProductList


callbackUrl
string
No
URL from the calling system to which a POST call will be made after generating each offer.
Callback URL must be provided either with the account creation request either it must be included in this request.
timeout
number
No
Number of seconds until calls will be made to the insurer’s services. After timeout expires, no more offer will be generated.
If timeout is not provided in request, then default timeout will be used, which is configurable in the API. Provided timeout must be less than or equal to default timeout (300 sec).
allowGroupOffer
boolean
No
• If true, then for the products that support group offers, we generate group offers; for the rest, we generate individual offers.

• If false or missing from the request, we generate individual offers for all products.


Default value: false
InsurerProduct object
Parameter
Type
Required
Description
Validation rules
provider
object
Yes
Informations 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
No
Credentials to access insurer’s web service
provider.authentication.account
string
No
Account
• in DEV / QA environment these fields can be sent empty to use default test credentials


provider.authentication.password
string
No
Password
provider.authentication.code
string
No
Code
product
object
Yes
Informations related to the product
product.name
string
Yes
Product identifier (see 1.1. → Identifiers)

3.3.2 Response

The object structure returned in the data field is described in this section.

Parameter
Type
Description
correlation_id
string
It will be included in each callback’s POST data.

3.3.3 Callback’s POST data

Same as normal offer’s response, completed with the following parameters:

Parameter
Type
Description
correlation_id
string
Correlation ID from async offer’s response
responseAdditionalData
object
Additional informations
responseAdditionalData.provider
object
Informations related to the insurer
responseAdditionalData.provider.organization
object
Insurer’s data
responseAdditionalData.provider.organization.businessName
string
Insurer identifier (see 1.1. → Identifiers)
responseAdditionalData.product
object
Informations related to the product
responseAdditionalData.product.name
string
Product identifier (see 1.1. → Identifiers)
responseAdditionalData.policyholder
array of objects
List of policyholders included in the generated offer
responseAdditionalData.policyholder.*.taxId
string
sha1 hash calculated from policyholder’s tax ID.

4. Transform offer to policy

Endpoint: POST /policy

For repeated requests using the same offer ID, the response will return the policy that was saved during the first request. If the policy has already been issued, a new one will not be created.

4.1. Request

4.1.1. Input parameters

Parameter
Type
Required
Description
offerId
number
Yes
Unique identifier of the offer (offerId from Offer object)
payment
Payment object
Yes
Payment details
additionalData
object
No (depending on the product)
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 RON
date
string
Yes
Payment date
Accepted format: YYYY-MM-DD
documentNumber
string
Yes
* except for thereceipt method
Payment proof document details
Payment document number, receipt serial number, or RRN for card payments.

4.1.2. Business rules

4.2. Response

The object structure returned in the data field is described in this section.

Parameter
Type
Description
policies
array of Policy objects
A list of issued policies, which can include policies successfully and/or with errors.
Policy object (in case of successfully issued policy)
Parameter
Type
Description
provider
object
provider.organization
object
provider.organization.businessName
string
Insurer identifier
product
object
product.name
string
Product identifier
policyId
number
Unique identifier of the issued policy
series
string
Policy series
number
number
Policy number
payment
ResponsePayment object
startDate
string
Policy start date
endDate
string
Policy end date
premiumAmount
number
Value of the policy
currency
string
Policy value currency
providerResponse
object
Insurer’s original response
ResponsePayment object
Parameter
Type
Description
method
string
Payment method sent to insurer (mapped to insurer’s payment methods)
currency
string
The currency in which the payment was made
amount
number
Paid amount
date
string
Payment date
documentNumber
string
Payment proof document details

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 in the response of transform offer into policy call to access the download feature.

5.2.2 By policy series and number

Endpoint: GET /policy?seriex={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.

In case that the policy was issued with payment.method type receipt the receipt file will be listed as a separate file in the endpoints result with the type equal to Receipt.

For some insurers the receipt will be attached to the issued policy.

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. Signal Iduna Travel

This product does not have an offer PDF document which can be downloaded.

The request input field policyholder.*.mobileNumber and customer.mobileNumber (if customer present) is required. If the policyholder.*.address.country, policyholder.*.correspondenceAddress.country, customer.address.country or customer.correspondenceAddress.country (if customer is present) is not specified the default value is set to RO.

6.1.1. Offer

Parameter
Description
Validation rules
renewPolicy.series
Series of the renewed policy
Required if renewPolicy.number is set
renewPolicy.number
Number of the renewed policy
Required if renewPolicy.series is set
clauseTreatmentContinuationInRomania
Clause for continuation of treatment in Romania.
Boolean value (1, 0, true, false).
product.customer.legalRepresentative
Legal representative of the company
Required if customer is legal person

Business Rules:

  1. The maximum product.travel.duration is 91 days.

  2. This product allows for a maximum of 20 policyholder.

  3. If the policyholder is a minor, then the customer is mandatory.

  4. Coverage for sports activities (product.trave.coverage.sports) can only be included if the purpose of the trip is travel.

  5. The maximum amount insured for baggage coverage (product.trave.coverage.baggageLoss) is 2000 RON.

  6. The product does not cover product.trave.coverage.flightDelay, product.trave.coverage.travelLiability, product.trave.coverage.stornoCosts and product.trave.coverage.roadsideAssistance these values have to be set to false/0

  7. Legal representative of the customer (product.additionalData.product.customer.legalRepresentative) is mandatory if customer is legal person.

  8. Staircase (product.customer.address.staircase and product.policyholder.*.address.staircase) must not be greater than 6 characters.

  9. If 'product.customer.isForeignPerson' or 'product.policyholder.*.isForeignPerson' are set, they myst be false

6.1.2. Transform offer

Parameter
Description
Validation rules
payer.taxId
ID number (CNP/CUI) of payer
The value has to be present in the original offer request product.customer or product.policyholder list.

Business rules:

  1. The payer should only be included in "additional information" (additionalData) if a receipt needs to be issued in a name other than the insured person's.

  2. The field value additionalData.payer.taxId has to be present in the original offer request in the customer or policyholder list

6.2. Eurolife Travel

6.2.1 Offer

Parameter
Type
Required
Description
Validation rules
discountCode
string
No
Discount code
eurolifeArea
string
Yes
The insurance manager code.
Accepted values: any id from /nomenclature/eurolife/travel/managers nomenclature
Ex: Eurolife_0, Eurolife_1, Eurolife_2, Eurolife_3, Eurolife_4
product
object
No
product.customer
object
No
Customer related additional data
product.customer.resident
boolean
No
Indicates if person is resident
Default value: true
product.policyholder
EurolifeTravelPolicyholderAdditionalData object or array of EurolifeTravelPolicyholderAdditionalData objects
No
Policyholder(s) related additional data
EurolifeTravelPolicyholderAdditionalData object
Parameter
Type
Required
Description
Validation rules
taxId
string
Yes
Value used as a linking key with the item / items defined in the product.policyholder parameter.
If the value does not exist in the product.policyholder parameter than it will be ignored.
resident
boolean
No
Indicates if person is resident
Default value: true

Business rules:

  1. The maximum insurance period is 29

  2. The product requires at least 1 and at most 20 policyholders.

  3. The product does not cover flightDelay clauses. This option must be excluded from offer request’s coverage list or they must be send with isIncluded parameter set to false / 0

  4. agreements.gdpr and agreements.marketing parameters are required. If one of them is set to false / 0 an offer will be generated but it cannot be transformed to policy.

  5. birthdate becomes required when resident is set to false

  6. The start date of the trip must be no more than one year later than the current date.

6.2.2 Transform Offer

No extra data needs to be specified here.

Business rules:

  • The payment.method option receipt is not supported by the insurer

6.3. Asirom Easy Travel

The request input field product.travel.groupType has the following validation rules implemented:A

  • individual → there has to be only one person in product.policyholder

  • family → there has to be 2 - 9 persons in product.policyholder

  • group → there has to be 10 - 50 persons in product.policyholder

  • if the field is empty or not sent in the request the field will be set to the correct value matching the number of product.policyholder

The request input field product.customer.nationality (if product.customer exists) and product.policyholder.*.nationality is required to have the value RO (if field does not exists default value is RO). The request input field product.customer.isForeignPerson (if product.customer exists) and

product.policyholder.*.isForeignPerson is required to have the value 0.

6.3.1. Offer

Parameter
Description
Validation rules
discount
Discount percentage
Maximum accepted value is 90
discountReason
Discount reason
Required if discount > 0
multiTrip
MultiTrip option
Boolean value (1, 0, true, false)
insuredInCountry
Boolean value (1, 0, true, false)Defaults to true if not set.
partnershipAuctionAgreement

partnershipAuctionAgreement object

Parameter
Type
Required
Description
Validation rules
policyType
string
No
Policy Type
Accepted values: Auction, Leasing and partnerships, Simple, Affinity
leasingType
string
Yes, if policyType is Leasing si Parteneriate
Leasing Type
Accepted values: Financial leasing, Operational leasing, Other partnerships
auctionNumber
string
Yes, if policyType is Licitatie
ex: LX111
isPartnership
boolean
Yes, if policyType is Leasing si Parteneriate
partnershipNumber
string
Yes, if isPartnership is true or 1
ex: LX111

Business rules:

  1. The product can only be issued for romanian nationalities.

  2. The maximum product.travel.duration is 364 days.

  3. The product.policyholder.*.address is required; if product.customer object is set then the address is required.

  4. The cancellation coverage (product.travel.coverage.stornoCosts) can be included at least 5 days before the policy start date, respectively the start date of the trip.

  5. The cancellation coverage (product.travel.coverage.stornoCosts) cannot be selected simultaneously with the product.additionalData.multiTrip option.

  6. The cancellation coverage (product.travel.coverage.stornoCosts) cannot be selected if the purpose of the trip is study or work.

  7. The product does not cover product.trave.coverage.roadsideAssistance

  8. The product.additionalData.multiTrip option can be selected only if the destination is Europe or a country in Europe.

  9. The product.additionalData.multiTrip option can be selected only if the insured amount is 30000 EUR.

  10. The product.additionalData.multiTrip option can be selected only if the purpose of the trip is travel or business.

  11. The product.additionalData.multiTrip option is not covered by the Sigur package.

  12. Simplu package

  13. Sigur package

  14. If the stronoCosts coverage is included the product.travel.startDate has to be atleast 5 days in the future

  15. The fields product.customer.taxId and product.policyholder.*.taxId in case of individual persons only accepts Romanian issued identification numbers format

6.3.2. Transform offer

No extra data needs to be specified here.

6.4. Allianz Voiaj

The following fields are required for this product:

  • product.customer.email if product.customer exists

  • product.customer.mobileNumber if product.customer exists

  • product.policyholder.*.email

  • product.policyholder.*.mobileNumber

  • poduct.policyholder accepts only 1 person

6.4.1 Offer

Parameter
Description
Validation rules
product.coordonatorId
An unique identifier assigned to the ALLIANZ agent that is creating the offer.
Valid values can be looked up using /nomenclature/allianz/voiaj/organizations endpoint
product.recommenderTaxId
Persons CNP that recommended the insurer (possible discount on ALLINAZ side)
If exists has to be a valid CNP
product.protocolId
An unique identifier assgined by ALLIANZ
coverage.stornoCosts.travelStartDate
Start date of the travel.
Required if product.travel.coverage.stornoCosts.isIncluded is 1/true.
The date has to be after current date and at least one day after product.travel.startDate
coverage.personalAccidents.isIncluded
In case personal accidents should be insured
Required boolean value (1, 0, true, false).
coverage.personalAccidents.sumInsured
Value which will be applied to this insurance cover
Required if coverage.personalAccidents.isIncluded is 1/true
medic
Insured persons medics contact information details.
Structure is the same as the Person object from 3.1.1

Business rules:

  1. The insurance period has to be between 2 and 365 days

  2. The destination has to be specified, which means product.travel.areaOfValidity has to equal 2.

  3. The field product.travel.coverage.base.sumInsured will be mapped to closest value between 30000 EUR or 50000 EUR

  4. The field product.additionalData.coverage.personalAccidents.sumInsured will be mapped to closest value between 0, 1000, 2500, 5000 EUR

  5. The field product.travel.coverage.baggageLoss.sumInsured will be mapped to closest value between 0, 750, 1000 EUR

  6. The field product.travel.coverage.travelLiability.sumInsured will be mapped to closest value between 0, 5000, 10000 EUR

  7. The product does not cover product.travel.coverage.flightDelay and product.travel.coverage.roadsideAssistance, these values have to be set to false/0

  8. The values from product.travel.sports.flightDelay.sumInsured and product.travel.stornoCosts.flightDelay.sumInsured are ignored, only validation that is applied is that they need to be numeric and greater or equal to 1 if include is set to true/1

  9. The field product.travel.areaofValidity only accepts the value 2

  10. Depending on the product.travel.desination value this product has three possible packages

  11. All countries except the USA, Canada, Romania and the country of residence of the Insured

  12. All countries except Romania and the country of residence of the Insured

  13. Bulgaria, Greece, Turkey, Italy, Spain, Portugal, Malta, Croatia, Cyprus, with the exception of the Insured's country of residence

  14. The product.travel.startDate must be within 30 days from the current day.

  15. The field product.travel.areaOfValidity must be in [2, 3, 4, 5].

  16. In case the stornoCosts coverage is included the product.additionalData.coverage.stornoCosts.travelStartDate has to be atleast 1 days in the future compared to product.travel.startDate

Available Packages

  1. Package A

  2. product.travel.purpose is one of [travel, bussiness, work, studies]

  3. product.travel.areaOfValidity is 2 or 3 and product.travel.destination is any country excluding US, CA and RO

  4. optional coverage baggageLoss, travelLiability, stornoCosts and sports

  5. Package B

  6. product.travel.purpose is one of [travel, bussiness, work, studies]

  7. product.travel.areaOfValidity is 2 or 3 and product.travel.destination is any country excluding RO

  8. optional coverage baggageLoss, travelLiability, stornoCosts and sports

  9. Package C

  10. product.travel.purpose is one of [travel, bussiness, work, studies]

  11. product.travel.areaOfValidity is 2 or 3 and product.travel.destination is any country from the following [BG, GR, TU, IT, ES, PR, ML, HR, CY] (Bulgaria, Greece, Turkey, Italy, Spain, Portugal, Malta, Croatia, Cyprus) and excluding the country of residence of the issured

  12. optional coverage baggageLoss, travelLiability, stornoCosts and sports

6.4.2 Transform offer

Parameter
Description
Validation rules
numberOfInstallments
Number of payment installments. For the insurance policy.
If set has to be integer greater then 0.
Default value 1.
Note:The accepted value is set by the insurer company on an account level. It might not allow values greater then 1.

Business rules:

  • The payment.method option receipt is not supported by the insurer

6.5. Generali Travel

6.5.1 Offer

Parameter
Type
Required
Description
Validation rules
consultancy
boolean
No
Determines if the insuree(s) want to be consulted on the suitability of the selected offer.
boolean value (1, 0, true, false)
insuredInCountry
boolean
No
If the insuree(s) aren’t located in Romania at the time of issuing the policy, the ensurer becomes responsible only after 8 days, starting with the first day after issuing.In this situation, in case of damage, the insuree(s) must provide evidence that they left Romania with at most 4 weeks prior to issuing the policy.
boolean value (1, 0, true, false)Note: if not sent, it will default to 1
residency
boolean
No
The policy does not come into effect in a country in which the insuree(s) have residency or citizenship.
boolean value (1, 0, true, false)
product.policyholder.*.taxId
string
No
Value used as a linking key with the persoane list in the root JSON.If the value does not exist in that list it will be ignored.
product.policyholder.*.publiclyExposed
boolean
No
Determines if the insuree(s) are public people.
boolean value (1, 0, true, false)
product.coverage.sports.extremeCompetitionSports
integer
No
If present the value will be the sport code.
Accepted values: any code from /nomenclature/generali/travel/extreme-sports nomenclature.
GeneraliAdditionalData object

Business rules:

  1. Generali accepts the following values for product.travel.coverage.base.sumInsured: 5000, 10000, 30000, 50000

  2. product.travel.startDate must be within a year from today.

  3. product.travel.destination is required regardless of product.travel.areaOfValidity

  4. any person object (e.g. policyholders or customer) must not be foreign persons, so isForeignPerson must be false.

  5. customer.businessName must be at least 2 words long

  6. If agreements.marketing is not set, it defaults to false.

  7. Other required params:

  8. product.customer.email

  9. product.customer.mobileNumber

  10. product.policyholder.*.email

  11. product.policyholder.*.mobileNumber

  12. product.policyholder.*.identification.idNumber

  13. agreements.gdpr (must pe true)

  14. The insurance period for a Turist, Turist Plus Premium, Turist (Studii), Turist Economic, Profesional policy is limited as such:

  15. maximum 364 days for insurees not older than 70

  16. maximum 30 days for insurees older than 70 (including 70)

  17. The insurance period for a Profesional policy has a maximum duration of 364 days regardless of age.

  18. If group_type = family, for Turist, Turist Plus Premiumpolicies, the minimum number of insurees must be 2.

  19. The maximum age of any insuree for a Turist (Studii) policy is 59.

  20. Under 10 policyholders, both individual offers and group offers can be generated. Starting from 10 policyholders, the insurer generates only group offers.

  21. The offer will include only the packages with the most limited area of validity, based on the destination.

  22. If the stornoCosts coverage is included the product.travel.startDate has to be atlest 2 days in the future

  23. The additional included coverage stornoPlaneTickets is only included if stornoCosts is selected and a PREMIUM package is offered

The sumInsured parameter is not required for obtaining quotations. (except for coverage.base.sumInsured)

Packages - travel purpose, coverage and insured sums:

All insured sums are specified for REFERENCE. Generali offers exact packages that cannot be changed, just selected.

  1. Turist (50 000 eur - EUROPA, 50 000 eur - World Wide*, 15 000 eur - World Wide)

  2. Purpose:

  3. business

  4. travel

  5. Coverage:

  6. travelLiability - 1000 eur

  7. stornoCosts

  8. sports

  9. Turist (Studii) (50 000 eur - EUROPA, 30 000 eur - World Wide, 15 000 eur - World Wide)

  10. Purpose:

  11. studies

  12. Coverage:

  13. travelLiability - 1000 eur

  14. Turist Economic (5000 eur - BG, TR, GR, HU) obtainable only when product.travel.coverage.base.sumInsured = 5000

  15. Purpose:

  16. travel

  17. Turist Plus Premium (50 000 eur - EUROPA, 50 000 eur - World Wide*, 15 000 eur - World Wide)

  18. Purpose:

  19. business

  20. travel

  21. Coverage:

  22. baggageLoss - 400 eur

  23. flightDelay - 1000 eur

  24. travelLiability - 10 000 eur

  25. stornoCosts - 2000 eur

  26. stornoPlaneTickets - 1000 eur

  27. roadsideAssistance - 500 eur

  28. sports

  29. Profesional (50 000 eur - EUROPA, 30 000 eur - World Wide*)

  30. Purpose:

  31. work

The following definitions are NOT related to areaOfValidity. They are meant to clarify where each package takes action.

  • EUROPA (areaOfValidity = 3) means the European countries and MA, DZ, TN, LY*, EG

  • World Wide (areaOfValidity = 4) means the whole world without IQ, IR, AF, SY, LB, VE, KP

  • World Wide* (areaOfValidity = 5) means the whole world without US, CA, IL, IQ, IR, AF, SY, LB, VE, KP

NOTE: There are other (unspecified) countries that are not covered by Generali packages.

* Libya does not appear in Generali’s nomenclature, it is currently restricted.

Package selection logic: areaOfValidity is 2 → Existing logic (with updated filters) areaOfValidity is 3 (EU) → all packages from Europe (filtered by the insured amount) → for Europe, offers can only be obtained with 50k areaOfValidity is 4 (WW including USA/CAN) → all packages with WW (filtered by the insured amount) → for WW, offers can only be obtained with 15k (or 30k for studies) areaOfValidity is 5 (WW excluding USA/CAN) → all packages from WW* (filtered by the insured amount) → for WW*, offers can only be obtained with 50k (or 30k for work)

6.5.2 Transform offer

Business rules:

  • payment.currency must me RON

  • The payment.method option receipt is not supported by the insurer

6.6. Groupama Travel&Health

6.6.1. Offer

Parameter
Type
Required
Description
Validation rules
product
object
No
product.travel
object
No
product.travel.startDate
string
Yes
Must be in the future
product.travel.coverage
object
No
product.travel.coverage.tripExtensionInterruption
object
No
product.travel.coverage.tripExtensionInterruption.isIncluded
boolean
No
Additional trip interruption / extension insurance
Required if product.travel.coverage.tripExtensionInterruption is set.
Default value: false
product.beneficiary
object
No
Beneficiary in case of death
product.beneficiary.firstName
string
No
Individual person's first name
Required if product.beneficiary is set.
product.beneficiary.lastName
string
No
Individual person's last name
Required if product.beneficiary is set.
product.beneficiary.taxId
string
No
Personal identification code
Required if product.beneficiary is set.
product.beneficiary.birthdate
string
No
Date of birth
Required if product.beneficiary is set.
• Accepted format: YYYY-MM-DD

• The date must be in the past.


product.policyholder
GroupamaTravelHealthPolicyholderAdditionalData object or array of GroupamaTravelHealthPolicyholderAdditionalData objects
Yes
Policyholder(s) related additional data
GroupamaTravelHealthPolicyholderAdditionalData object
Parameter
Type
Required
Description
Validation rules
taxId
string
Yes
Value used as a linking key with the item / items defined in the product.policyholder parameter.
If the value does not exist in the product.policyholder parameter than it will be ignored.
role
string
Yes
Indicates the relationship of the person to the insured person
Accepted values: insured, spouse, child, additionalAdult

Business rules:

  1. The insurance period is between 3 and 366 days.

  2. The product requires at least 1 and at most 6 policyholders.

  3. If the purpose of the trip differs from travel, then only 1 policyholder is accepted.

  4. If policyholder with role = insured is minor then only 1 policyholder is accepted.

  5. Policyholder with role insured is required.

  6. The minimum age for insured persons is 30 days.

  7. Accepted number of policyholders are mentioned in the table below.

  8. Accepted number of policyholders with role are mentioned in the table below.

  9. Home address is mandatory for both the policyholder and the customer.

  10. The product accepts only addresses from Romania

  11. Sum insured 10000 EUR is accepted only if destination is Europe, the Russian Federation, Turkey and overseas territories of European countries

  12. roadsideAssistance can be selected only if destination is Europe, the Russian Federation, Turkey and overseas territories of European countries

  13. Option travelLiability is not available if product.travel.coverage.base.sumInsured is 10000 EUR

  14. If the stornoCosts option is selected then product.travel.duration can be between 3 and 30 days

  15. If the stornoCosts option is selected then product.trave.startDate must be at least 3 days after issuing the offer/policy

Age interval
Accepted number of policyholders
1 month - 17 years
5
18 years - 40 years
2
41 years - 60 years
2
over 61 years
2
18 years - +
6
Role
Accepted number of policyholders
insured
1
spouse (husband / wife)
1
child
4 / 5 **
additionalAdult
4 / 5 **

** 4 if spouse is included in otherwise 5.

6.6.2. Transform offer

No extra data needs to be specified here.

Business rules:

  • The payment.method option receipt is not supported by the insurer

6.7. Uniqa Travel

This product requires some of the default non-required fields as required and some strict restrictions.

6.7.1. Offer

Parameter
Description
Validation rules
insuredsInRomania
Has to be set false in case if at least one insured person is not in Romania when the policy is being issued.
Default value true.
product.customer.legalForm
Legal form of the business.
Field is required if product.customer.businessName is set.
Only values from the defined enum is accepted.
product.customer.isPublicFunction
Default value false
product.customer.isPoliticallyExposed
Default value false
product.policyholder.*.taxId
Value used as a linking key with the item / items defined in the product.policyholder parameter.
If the value does not exist in the product.policyholder parameter than it will be ignored.
product.policyholder.*.isPublicFunction
Default value false
product.policyholder.*.isPoliticallyExposed
Default value false
coverage.stornoSecondaryClause
Secondary storno clause
Cannot be true if stornoCosts.isIncluded is trueDefault value false

Business rules:

  1. The insurance period is between 3 and 364 days

  2. If product.additionalData.insuredsInRomania is false than the minimum mandatory insurance period is 7 days.

  3. When roadsideAssistance coverage is included, the maximim insurance period is 30 days.

  4. Only the parameters vin and licensePlate are used for the vehicle in roadsideAssistance.

  5. At least one product.policyholder is required

  6. The maximum age of the insured is 80 years, both on the issue date and on the EndDate.

  7. Maximum of 250 insured can be added to product.policyholder

  8. The field product.travel.areaofValidity only accepts the value 2

  9. Available purposes are travel, business and work

  10. Option roadsideAssitance is not available for this product

  11. Option sports can only be selected if purpose is travel

  12. Options baggageLoss, flightDelay, travelLiability and stornoCosts can only be applied for purpose is travel or business

  13. If option stornoCosts is applied then the travel startDate must be at least 14 days from now

  14. In case of non legal entities the product.customer.identification (if exists) and product.policyholder.*.identification is required, with idType and idNumber required.

  15. The product.policyholder.mobileNumber and product.customer.mobileNumber (if exists) is required.

  16. The address and correspondenceAddress have to be from Romania (address.country / correspondenceAddress = RO).

  17. The postcode field from address and correspondenceAddress is required and has to be valid (validation is done by SAS).

  18. In case that product.customer is a legal entity besides the existing mandatory fields the following are also mandatory: businessName, companyRegistryNumberand product.additionalData.product.customer.legalForm

  19. If product.additionalData.coverage.stornoSecondaryClause is true, then the offer requires the insurer’s approval.

Available Packages

  1. Package Plan A

  2. product.travel.purpose is one of [travel, bussiness]

  3. product.travel.areaOfValidity is 2 and product.travel.destination is an European country or product.travel.areaOfValidity is 3

  4. included coverage by default baggageLoss, flightDelay and travelLiability, roadsideAssistance

  5. optional coverage stornoCosts and sports, roadsideAssistance

  6. Package Plan B

  7. product.travel.purpose is one of [travel, bussiness]

  8. product.travel.areaOfValidity is 2 and product.travel.destination is a any country excluding US and CA or if product.travel.areaOfValidity is 5

  9. included coverage by default baggageLoss, flightDelay and travelLiability

  10. optional coverage stornoCosts

  11. Package Plan C

  12. product.travel.purpose is one of [travel, bussiness]

  13. product.travel.areaOfValidity is 2 and product.travel.destination is a any country including US and CA or if product.travel.areaOfValidity is 4

  14. included coverage by default baggageLoss, flightDelay and travelLiability

  15. optional coverage stornoCosts

  16. Package Plan D

  17. product.travel.purpose is work

  18. product.travel.areaOfValidity is 2 and product.travel.destination is an European country or product.travel.areaOfValidity is 3

  19. no default or optional coverage is available for this package

6.7.2. Offer Document

This product will return two PDF files for an offer:

  • generated offer file

  • additional information related to the product

6.7.3. Transform offer

Parameter
Type
Description
Validation rules
payment.method
string
A list of issued policies, which can include policies successfully and/or with errors.
Accepted values: online, direct debit, intermediary receipt, bank transfer, soft pos, cash at bank

Business rules:

  • The payment.method option receipt is not supported by the insurer

6.7.4. Policy Document

This product will return two or more PDF files for a policy:

  • Note: the number of files is influenced of the number of insured

  • generated policy file

  • information note regarding the processing of data with personal character (GDPR)

  • Information terms regarding the processing of personal data

6.8. Omniasig Medicas(Travel)

6.8.1. Offer

Business rules:

  • areaOfValidity must be 2

  • groupType only 'individual', 'group' accepted For the groupType: 'individual' max no of persons is 1 For the group: 'group' min no of persons is 1 PS1: after 50 person set an error message is received "The offer already has blockages generated by the competence limits!", but the offer code is received. PS2: the error message for the number(50) of people is also received with a set discount value, now it is set by default to 0, the same was used in v19

  • purpose only 'travel', 'business', 'work' accepted

  • no Package/Plans exist for medicas Only the basic package is used with all possible parameters.

Extra parameters

Parameter
Type
Required
Description
Validation rule
transit
boolean
yes
'required', 'boolean_value'
product.customer.quota
integer
yes
'required', 'integer', 'min:1', 'max:100'
product.customer.isPublicFunction
boolean
yes
'required', 'boolean_value'
product.policyholder.*.taxId
string
yes
For all holders CNP/CUI is required
'required', 'string'
product.policyholder.*.quota
integer
yes
'required', 'integer', 'min:1', 'max:100'
product.policyholder.*.isPublicFunction
boolean
yes
'required', 'boolean_value'
product.policyholder.*.student
boolean
yes
'required', 'boolean_value'
product.policyholder.*.healthStatus
string
yes
required one of "acceptable","good","excellent"
product.policyholder.*.disease
object
yes
by default all the properties will be set to false
'sometimes'
product.policyholder.*.disease.neuro
boolean
yes
by default if not exist will be set to false
'sometimes', 'boolean_value'
product.policyholder.*.disease.cardio
boolean
yes
by default if not exist will be set to false
'sometimes', 'boolean_value'
product.policyholder.*.disease.internal
boolean
yes
by default if not exist will be set to false
'sometimes', 'boolean_value'
product.policyholder.*.disease.respiratory
boolean
yes
by default if not exist will be set to false
'sometimes', 'boolean_value'
product.policyholder.*.disease.other
boolean
yes
by default if not exist will be set to false
'sometimes', 'boolean_value'
product.policyholder.*.disease.hasDisability
boolean
yes
by default if not exist will be set to false
'sometimes', 'boolean_value'
product.policyholder.*.disease.definitive
boolean
yes
by default if not exist will be set to false
'sometimes', 'boolean_value'

6.8.2. Transform offer

Parameter
Type
Required
Description
flagPdfPolita
boolean
yes
by default set to 0
flagPdfChitanta
boolean
yes
by default set to 0
timpLimita
boolean
yes
by default set to 0

Business rules:

No extra data needs to be specified here.

6.9. Omniasig SafeTravel

6.9.1. Offer

If destination is set to RO (Romania) the sum insured of the packages will be in RON !

For obtaining quotations:

  • maximum duration is 366

  • any person object (e.g. policyholders or customer) must not be legal entity.

  • the given postcode must be valid. This is not validated by us at the moment. If a wrong postcode is sent, the provider will throw an error at the policy step.

  • OptionsroadsideAssistance, flightDelay is not available for this product

Packages:

  • areaOfValidity 2 - Premier RO, Premier Plus RO

  • areaOfValidity 3 - Basic EU, Standard EU, Premier EU, Premier Plus EU

  • areaOfValidity 4&5 - Basic, Standard, Premier, Premier Plus

6.9.2. Transform offer

Parameter
Type
Required
Description
Validation rule
payer
object
No
Payer object
payer.taxId
string
No
Payer’s tax id
valid taxId
payer.lastName
string
No
Payer’s last name
payer.firstName
string
No
Payer’s first name

6.10. Signal Iduna PostTravel

HealthCare coverage provides protection upon returning to Romania in case a medical need arises during travel abroad, as follows:

  • Start of coverage: The latest date between the date the Insured returns to Romania (if proven) or the last date of receiving medical services outside the country.

  • End of coverage: 30 days from the start date of coverage, from which point the insurance contract and coverage cease.

6.10.1. Offer

Parameter
Description
Validation rules
agentName
Name of the agent who generates the offer.

Business rules:

  1. The insurance period is between 1 and 366 days

  2. The product.currency only accepts the value RON

  3. The maximum number of product.policyholder is 6

  4. Options baggageLoss, sports, flightDelay, travelLiability, stornoCosts, roadsideAssistance is not available for this product

6.10.2. Transform offer

No extra data needs to be specified here.

Business rules:

  1. The payment.currency only accepts the value RON

  2. The payment.date has to be equal to current date

  3. The payment.method option receipt is not supported by the insurer

6.11. Mondial Assistance Travel

6.11.1. Offer

Parameter
Type
Required
Description
Validation rules
tripType
string
No
The type of trip
Accepted values: one-way, annualDefault value: one-way
tariffType
string
No
Traveler relationship type
Accepted values: single, family, objectDefault value: single
departureCountry
string
No
Country of departure
Accepted values: any iso2 code from nomenclature /nomenclature/countryDefault value: RO
additionalDestinations
array
No
List of additional destinations
Accepted values: any iso2 code from nomenclature /nomenclature/country
coverage
object
No
coverage.stornoCosts
object
No
coverage.stornoCosts.bookingDate
string
Yes, if product.travel.coverage.stornoCosts.isIncluded is 1 / true
Travel’s booking date
Must be a date before tomorrow.
coverage.stornoCosts.tripValueType
string
Yes, if product.travel.coverage.stornoCosts.isIncluded is 1 / true
Trip’s value type
Accepted values: perPerson, perTrip

Business rules:

  1. Customer (product.customer) is required.

  2. Customer’s email address (product.customer.email) is required.

  3. If product.additionalData.tripType is annual then product.travel.duration must be 365

  4. Trip type (product.additionalData.tripType) is required and must be annual when roadside assistance is included (product.travel.coverage.roadsideAssistance.isIncluded = true)

  5. Additional destinations (product.additionalData.additionalDestinations) are ignored if area of validity (product.travel.areaOfValidity) is Europe (3) or Worldwide (4)

  6. Product does not have offer in PDF format.

  7. Except travel cancellation packages no package offers coverage for North Korea.

  8. The insurance contract and the payment of the insurance premium for travel cancellation protection packages must be made at least 31 days before the start of the trip. In the event that the departure is within less than 30 days, the insurance contract and payment of the premium are only possible at the same time as booking the trip; concluding the insurance within a maximum of 3 calendar days after booking the trip is considered "at the same time."

  9. PACKAGE INFORMATION:

  10. Offers for tariffType = object can only be obtained if:

  11. storno clause is included; it is the only coverage for object packages

  12. additionalData.tripType is one-way

  13. Offers for tariffType = family can only be obtained if at least 2 policyholders are defined.

6.11.2. Transform offer

No extra data needs to be specified here.

Business rules:

  1. payment.currency must be RON

  2. receipt is not accepted for payment.method

  3. The file of the policy cannot be downloaded via API. It is send by the insurer on the customer’s email address.

6.12 Allianz Multitravel

6.12.1. Quotation

The following fields are required for this product:

  • provider.organization.businessName is equal to allianz

  • product.name is equal to Multitravel

  • product.policyholder.citizenship

  • product.policyholder.address.cityCode

  • product.policyholder.address.street

  • product.policyholder.address.houseNumber

  • product.policyholder.mobileNumber

  • product.policyholder.email

  • poduct.policyholder accepts only 1 person

Business Rules

  • product.travel.startDate must be between today+1 and today+30 days.

  • product.travel.duration is fixed number, equal to 365 days.

  • product.policyholder.citizenship must be RO

  • The field product.travel.coverage.base.sumInsured will be mapped to 30000 EUR

  • Allianz Multitravel does not support the following coverages:

  • baggageLoss

  • flightDelay

  • roadsideAssistance

  • product.policyholder is mandatory and must be 1 person

6.12.2. Transform offer

Business rules:

  • The payment.method option receipt is not supported by the insurer

6.13 Colonnade Travel

Colonnade is offering in Romania 3 types of products:

  • Storno package

  • International Travel package

  • International Travel anual package.

6.13.1 Quotation

Parameter
Type
Required
Description
Validation rules
product.policyholder.*.address
object
Yes
Address for each policy holder
product.customer
object
Yes
Customer for the policy
product.customer.address
object
Yes
Customer Address
product.travel.destination
string
Yes in case of areaOfValidity = 2
Destination for the Trip
Cannot be ‘RO’
product.additionalData.coverage.roadsideAssistance.firstRegistration
date
Yes in case if product.travel.coverage.roadsideAssistance.isIncluded equals to true
First Registration for the car
Format to be Y-m-d
product.additionalData.customer.vatPayer
boolean
Required if product.customer.businessName is present
Indicates if the business is VAT payer or not
Value to be boolean
product.additionalData.coverage.stornoCosts.chronicIllnessIncluded
boolean
No
In case of a storno package, indicates if the chronic illness coverage should be supported
Value to be boolean
product.additionalData.coverage.sports.winterSports
boolean
Yes, in case of product.travel.coverage.sports.isIncluded set to true
Add winter sports coverage in case of generic Sports coverage
Value to be boolean
product.additionalData.coverage.sports.extremeCompetitionSports
boolean
Yes, in case of product.travel.coverage.sports.isIncluded set to true
Add extreme competition sports coverage in case of generic Sports coverage
Value to be boolean
product.additionalData.coverage.stornoCosts.currency
string
No. Implicit value if not present is EUR
In case that the storno coverage is in RON, expected value is RON
If present, value to be either RON or EUR
product.additionalData.coverage.physicalWork.isIncluded
boolean
No.
In case physical work coverage is needed, this attribute needs to be set to TRUE. Default value is FALSE.
Value to be boolean
product.additionalData.coverage.pet.isIncluded
boolean
No
In case Pet coverage is needed, this attribute needs to be set to TRUE. Default value is FALSE.
Value to be boolean
product.additionalData.coverage.rentedVehicleBreakage.isIncluded
boolean
No
In case rented vehicle breakage coverage is needed, this attribute needs to be set to TRUE. Default value is FALSE.
Value to be boolean
product.additionalData.coverage.stornoCosts.purchaseDateOfTrip
date
No
In case of storno coverages / package, Colonnade needs to receive the purchase date for the trip.
Format to be Y-m-d
product.additionalData.coverage.base.tranzitCountry
array of ISO2 country codes
No
For Colonnade, we need to send a list of tranzit countries. Travel API will look into product.additionalData.coverage.base.tranzitCountry for the list of tranzit countries.
Expected values: array with min 1 element. Value to be ISO2 country code.
product.additionalData.coverage.sports.sportEquipment
boolean
No
Add sports equipment coverage to Colonnade
Value to be boolean
product.travel.areaOfValidity
number
Yes
2 => destination country must be specified in the destination field
3 => Europe
4 => World Wide
5 => World Wide excluding United States, Canada, Mexic and Caribbean Area
Accepted values: 2, 3, 4, 5

Business Rules

  1. product.travel.startDate must be between today+1 and today+2 years when the storno package is present; otherwise, it must be between today and today+2 years.

  2. product.travel.durationmust be a number:

  • Between 1 day and maximum 120 days

  • Fixed value of 365 - case in which the International Travel Anual Package will be offered

  1. product.customer.address is mandatory

  2. product.policyholder.*.address is mandatory

  3. in case of product.travel.areaOfValidity = 2, product.travel.destination is mandatory and cannot be equal to ‘RO’

  4. in case product.travel.destination is “RO“, only the Storno packages will be retrived

  5. in case of product.travel.coverage.sports.isIncluded = true, one of the following 3 flags will be mandatory in order to offer sports coverage:

product.additionalData.coverage.sports.winterSports

product.additionalData.coverage.sports.extremeCompetitionSports

product.additionalData.coverage.sports.sportEquipment

If all of them will be included in the request but set to false, no sports package will be added to the insurance covers.

  1. in case of product.travel.coverage.roadsideAssistance.isIncluded= true, the following conditions should be met:
  • Destination and tranzit countries (if present) should be in Europe

  • product.additionalData.coverage.roadsideAssistance.firstRegistration refers to the first registration of the car for which the road assistance is covered.

  • It’s format is date Y-m-d

  • It is. mandatory

  1. if product.customer.businessName is present:
  • product.additionalData.customer.vatPayer needs to be added as well

  • it’s value should be boolean

  • will indicate if the business is VAT payer or not.

  • In case it is VAT Payer, we will automatically append ‘RO’ to product.customer.taxId when sending the request to Colonnade

  1. in order to get only the Storno Package Gold, you need to specify: product.additionalData.coverage.stornoCosts.chronicIllnessIncluded value to TRUE.

If you specify any other coverages except base and chronicIllnessIncluded is set to TRUE, no package will be offered as Colonnade does not provide any package to match those coverages.

  1. if it is desired to get anual travel package, product.travel.duration must be set to 365.

  2. Quotation is not available for: Kosovo, Afghanistan, Irak, North Korea, Iran, Palestina, Sudan, Syria, Rusia and Belarus.

  3. In case the quotation has been transformed to a policy, the quotation PDF files will not be available any longer on the GET /offer/:id endpoint. They will be available when trying to download the policy files on GET /policy/:id endpoint.

  4. product.additionalData.coverage.stornoCosts.purchaseDateOfTrip - In case we have a storno request and this field is missing, we will automatically send current date

  5. product.travel.areaOfValidity should always be equal to 2.

product.travel.destination is mandatory and it represents the destination country for the trip.

Additional, if, product.additionalData.coverage.base.tranzitCountry is populated, Travel API will send to Colonnade a list of countries made of product.travel.destination + product.additionalData.coverage.base.tranzitCountry

  1. Storno coverage is not available with anual request. If duration is 365 days and product.travel.coverage.stornoCosts.isIncluded, a validation error will be returned.

  2. product.travel.areaOfValidity - has an added extraValue - 5. Colonnade offers except Worldwide, an option to make insurance for the World Wide excluding United States, Canada, Mexic and Caribbean Area.

  3. product.additionalData.coverage.stornoCosts.purchaseDateOfTrip : If product.travel.startDate is less than 30 days away, the insurance must be concluded now

If areaOfValidity is set to 3,4,5 → destination will not be taken into account.

For this case, travel API goes through the Colonnade Countries list and returns the list of countries based on the chosen areaOfValidity

If a policy has already been issued for a quotation, any attempt to request a new quotation with the same data will result in an error indicating that a policy already exists.

6.13.2 Transform Offer

No extra data needs to be specified here and there are no special business rules.

6.14 Phoenix Travel

6.14.1. Offer

Parameter
Type
Required
Description
Validation rules
purposeId
number
Yes, if travel.purpose= work
Id of purpose from the insurer’s nomenclature /nomenclature/phoenix/travel/trip-purposes
Must be a valid id from the insurer’s nomenclature (only the ids of purposes that have name=”Lucrativ” )
insuredInCountry
boolean
Yes
Indicates if the insured is in the country when the quotation is issued
blockPendingOffer
boolean
No
Indicates if an offer with the status oh_hold from the insurer should be blocked at the quotation step(see info panel below)
If not set, default value is true
issuer.email
string
No
May be required if the offer has on_hold status from the insurer (see info panel below)
Must be valid email
issuer.phone
string
No
Must be valid phone number. See rules for mobileNumber in the general section
coverage.stornoCosts.purchaseDateOfTrip
string
Yes, if stornoCosts.isIncluded = true
Purchase date of trip
Must have valid date format. If it is different from the current date, the product.travel.startDate must be at least 30 days in the future.
coverage.personalAccidents.isIncluded
boolean
No
Indicates if the premium cover personalAccidents is selected
discount
number
No
Discount percentage. If it exceeds insurer’s limit, the offer will not be automatically approved (see info panel below)
Must be numeric and have at most 2 decimals

Business rules:

  1. product.travel.coverage.base.sumInsured accepted values: 10000,20000,30000,50000 (EUR)

  2. By default, both PREMIUM and STANDARD packages will be offered. However, of some covers are selected, only the PREMIUM package will be offered:

  3. PREMIUM covers: flightDelay, baggageLoss, travelLiability, personalAccidents

  4. product.travel.duration can be maximum 365 days

  5. product.travel.purpose can be : travel, work, business

  6. product.travel.policyholder => the policyholder can have as maximum age the maximum age obtained from /nomenclature/phoenix/travel/age-groups

  7. if storno coverage is included, the premiumAmount in the response will be the sum of the base premium + storno premium

on_hold quotations: In some cases, the offer is not automatically approved by the insurer:

  • Selecting the travel purpose TripPurposeId = 34, Lucrative – High-risk lucrative activities – heavy industry, military, aviation, hunting activities, circus actors, wild animal tamers, mountaineering, demolitions, diving, etc.

  • Entering a total service package value greater than 50,000 Euros

  • Discount exceeding the allowed limit (we do not validate this limit, it is validate by the insurer)

  • Additional requests submitted ( if product.travel.notes is sent)

In such cases:

  1. If the parameter blockPendingOffer is true (default value), then the quotation process will be blocked and a validation error will be thrown, indicating the reason the offer has the status on_hold

  2. If the parameter blockPendingOffer is false, the quotation process will not be blocked. A message will be provided in the quotation response notes. However, it will not be possible to transform the offer into policy and a validation error will be thrown at the issuing step

  3. If the issuer.email field is not set, the insurer will throw an error

6.14.2. Transform offer

No extra data needs to be specified here.

Business rules:

  1. Acceptedpayment.method values: broker receipt , payment order, broker payment order, pos

  2. If in the quotation insuredInCountry = false and travel.startDate is less than 3 days from the policy issuing date , the insurer will throw an error

  3. If the offer has the storno coverage included, two separate policies will be issued: the base policy and the storno policy, each with their respective premium and information

6.15 Allianz MyTravel

6.15.1. Offer

Parameter
Type
Required
Description
Validation rules
product.insuranceType
string
No
Type of trip for which the quotation will be generated.
Accepted values: [one-trip, multi-trip]
Default: one-trip
product.coordinatorId
number
Yes
Issuing agency number.
Values received from the insurer.
product.travel.reservationDate
string
Yes, if product.travel.coverage.stornoCosts.isIncluded is true
Travel trip reservation date.
Can be at most 3 days in the past.
product.additionalData.product.travel.coverage.tripInterruption
object
No
Trip cancellation coverage.
product.additionalData.product.travel.coverage.tripInterruption.isIncluded
boolean
No
product.additionalData.product.travel.coverage.tripInterruption.sumInsured
number
Yes, if product.additionalData.product.travel.coverage.tripInterruption.isIncluded is true

Business rules:

  1. The minimum value accepted for product.travel.startDate if product.travel.coverage.stornoCosts.isIncluded is true the minumum value is current day + 2 days, otherwise the current date

  2. The maximum value accepted for product.travel.duration is 365

  3. The minimum value accepted for product.travel.duration is 2

  4. The maximum number of insured people in product.policyholder is 10

  5. The product.travel.reservationDate is required when product.travel.coverage.stornoCosts.isIncluded is true

  6. The product.travel.reservationDate can be at most 3 days in the past and at most the current date

  7. The product.travel.coverage.stornoCosts.sumInsured minimum value is 100 EUR and maximum 3000 EUR

  8. The product.additionalData.product.travel.coverage.tripInterruption.sumInsured minimum value is 100 EUR and maximum 3000 EUR

  9. The product.additionalData.product.travel.insuranceType fields value has the following restrictions

  10. Value equals to one-trip

  11. product.travel.startDate → maximum value is current date + 365 days

  12. product.travel.duration → minimum value 2 and maximum 365

  13. product.travel.coverage.stornoCosts → coverage can be included

  14. product.additionalData.product.travel.coverage.tripInterruption → coverage can be included

  15. Value equals to multi-trip

  16. product.travel.startDate → maximum value is current date + 30 days

  17. product.travel.duration → only accepted value is 365

  18. product.travel.coverage.stornoCosts → coverage cannot be included

  19. product.additionalData.product.travel.coverage.tripInterruption → coverage cannot be included

Additional product specific covers:

  • repatriation → Medical repatriation is covered in the event of a medical emergency occurring during travel abroad. In the event of the insured’s death, repatriation of the deceased’s body is covered.

  • financialProtection → Provides financial protection in the event of unfortunate incidents occurring during the trip as a result of an accident (including the replacement or repair of medical devices such as wheelchairs and prostheses, except for vision correction devices such as prescription glasses and contact lenses), the repatriation of minor children and family members in case of an accident, and the visit of a relative from the home country to the hospitalized insured person).

  • assistanceServices → Assistance is provided and may be activated as a result of an accident, covering rescue and recovery costs, as well as expenses related to the insured person’s emergency medical transport carried out by specialized services (including air ambulance, if necessary); expenses for the replacement of lost documents are also covered.

  • deathPermanentDisability → The consequences of an accident occurring during travel abroad are covered: death and/or permanent disability.

Available Packages

  • all packages are availabe for product.travel.purpose values travel, business, work, and studies

  • for the product.travel.destination only RO is excluded

  • the following coverages are not covered by any of the available packages flightDelay, roadsideAssistance

  • the product.travel.coverage.stornoCosts and product.additionalData.product.travel.coverage.stornoCancellation coverage can be added to all the packages only if the product.additionalData.product.insuranceType is one-trip

  1. Confort

  2. sports coverge can be added additonally to the package

  3. stornoCostscoverge can be added additonally to the package only if the product.additionalData.product.insuranceType is one-trip

  4. stornoCancellationcoverge can be added additonally to the package only if the product.additionalData.product.insuranceType is one-trip

  5. repatriation coverage is included

  6. financialProtection coverage is included

  7. assistanceServices coverage is included

  8. baggageLoss and travelLiability are not availabe for this package

  9. Extra

  10. sports coverge can be added additonally to the package

  11. stornoCostscoverge can be added additonally to the package only if the product.additionalData.product.insuranceType is one-trip

  12. stornoCancellationcoverge can be added additonally to the package only if the product.additionalData.product.insuranceType is one-trip

  13. repatriation coverage is included

  14. financialProtection coverage is included

  15. assistanceServices coverage is included

  16. deathPermanentDisability coverage is included

  17. baggageLoss and travelLiability are not availabe for this package

  18. Max

  19. sports coverge can be added additonally to the package

  20. stornoCosts coverge can be added additonally to the package only if the product.additionalData.product.insuranceType is one-trip

  21. stornoCancellation coverge can be added additonally to the package only if the product.additionalData.product.insuranceType is one-trip

  22. repatriation coverage is included

  23. financialProtection coverage is included

  24. assistanceServices coverage is included

  25. deathPermanentDisability coverage is included

  26. baggageLoss coverage is included

  27. travelLiability coverage is included

6.15.2. Transform offer

Business rules:

  1. The accepted values for payment.method are [broker receipt, payment order, broker payment order, pos]

  2. The accepted value for payment.currency is RON