DESCRIPTION OF THE WEB SERVICE FOR ORDERING TRAVEL INSURANCE
© TRAVEL SUPPORT SYSTEMS 2023
WS Mont-Blanc is a platform designed to facilitate insurance processes. It offers the following features:
Important Note: All records stored within the system are considered as draft contracts. The transition of a draft contract to a full insurance contract occurs only upon the transfer of the insurance premium payment. This transition is initiated either by launching the UNQPaymentConfirm process or by the client making the insurance premium payment to the insurance company’s account. The export of these finalized contracts takes place daily at 24:00.
Please make sure to adapt this corrected version according to your specific context if needed.
Currently, it is possible to execute orders of UNIQA products:
Table 1 UNIQA insurance products
| Product | Short |
|---|---|
| Annual travel insurance Basic | RBAN |
| Annual travel insurance Plus | RPLN |
| Annual travel insurance Comfort | RKON |
| Annual travel insurance Extra | REXN |
| Annual travel insurance for professional drivers Basic | RBAV |
| Annual travel insurance for professional drivers Plus | RPLV |
| Travel insurance Comfort | KO |
| Travel insurance Extra | EX |
| Travel Insurance Basic | BA |
| Travel Insurance Plus | PL |
| Trip cancellation insurance | ST |
| Travel insurance in Slovakia | CPSK |
| Children’s camps in Slovakia | DTSK |
| Travel Insurance Student | STUD |
| Ticket cancellation insurance | STV |
The set of insurance products available to clients on the Service may vary according to the contractual relationship with the insurance company.
UNQCalculator: This will provide possible insurance types and their prices based on basic selections.UNQInsuranceOrder without an OrderNo: Premiums will be calculated and returned for a specific product.UNQInsuranceOrder with an OrderNo: This action stores the order in Mont-Blanc.Order Delete: You can purge an order using UNQDeleteOrder, provided the order hasn’t been activated by UNQPaymentConfirm.
UNQPaymentConfirm. Typically, partners use this when all ordered services are paid by the client.UNQOrderInfo query to obtain real-time details about the draft insurance policy’s status.To access WS Mont-Blanc, you need to activate the XML service in office Mont-Blanc in the User Profile office mont-blanc and add the required data (as a manager) to generate the UserKey passcode that is available to users who have XMLdirect enabled. In addition, it is necessary to get access from a specific IP address by sending an administration request.
IP address setting from which you will call XMLdirect. IPv4 is expected in e.g. 127.0.0.1 format, or ip/CIDR address range with network mask, e.g. 127.0.0.0/24.
Notes: External IP address is show even in the footer of the tester page.
https://www.mont-blanc.sk/webservices/xmldirect.php
Notes:
Curl request example
XML request:
curl -X POST \
-d "xml=XML_CONTENT_HERE" \
"https://www.mont-blanc.sk/webservices/xmldirect.php"
or json equivalent:
curl -X POST \
-d "json=JSON_CONTENT_HERE" \
"https://www.mont-blanc.sk/webservices/xmldirect.php"'''
Requests and Responses can be tested online at this address https://www.mont-blanc.sk/webservices/tester.php
The calculator is a tool that simplifies the selection of insurance products according to the input parameters.
| Tag Name | Description |
|---|---|
| UNQCalculator | Main Tag |
| UserKey | Assigned code for user authorization |
| Ticketing | 1=ticket insurance, 0=travel insurance |
| Area | W=world, E=Europe, SK=Slovakia |
| DateFrom | Start Date Format: D.M.YYYY |
| DateTo | End date, for annual (Annual=1), makes no sense |
| Annual | Annual travel insurance - 1=annual, 0=short-term |
| Aupair | Study residence insurance abroad 1=Au-pair/student, 0=unelected |
| Bussiness | Business trip insurance 1=manual work, 0=unselected |
| MedCosts | Insurance of medical expenses abroad 1=medical costs, 0=unelected |
| Cancellation | Insurance cancellation fee - 1 =selected, 0 =unelected |
| LegailAid | Insurance containing legal protection 1=selected 0=unelected |
| Luggage | Luggage insurance - 1 =selected, 0=unelected |
| Damage | Foreign liability insurance - 1=selected, 0=unelected |
| Injury | Accident insurance - 1=selected, 0=unelected |
| CarAssistance | Extended assistance services AUTO 1=selected, 0=unelected |
| TourPrice | Price in EUR for all persons |
| Children | Number of children (<18 years), integer |
| Adults | Number of adults, integer |
| Seniors | Number of seniors (70+) |
| Tag name: | Description: |
|---|---|
| UNQCalcResponse | Main Tag |
| Products | |
| - Product | |
| - InsuranceType | Abbreviation of the type of insurance |
| - Supplement | Skratka pripoistenia |
| - SumPrice | Price in EUR |
| - Info | Insurance name for display |
Notes:
UNQInsuranceOrder command through which the order can follow.UNQInsuranceOrder returns only a response without saving if OrderNo is not filled in.
| Tag Name | Length and type | Description |
|---|---|---|
| UNQInsuranceOrder | Main Tag | |
| UserKey | 32, String | Code assigned to you to indicate the insurance intermediary |
| DateFrom | D.M.YYYY, Date | Date of validity from |
| DateTo | D.M.YYYY, Date | Date of validity until |
| InsuranceType | 4, String | Abbreviation of the insurance type according to Table 1 |
| Currency | 3, String | Unit of currency (dafault value: EUR) |
| Area | 2, String | W = World E = Europe, SK = Slovakia If it is filled CountryCode so Area is optional |
| TotalTourPrice | Double (Max.2 decimal places for the EUR currency. Integer for CZK) |
The total price of the tour, ticket, or other services together, for all persons in the units according to the currency used |
| CountryCode | 3, String | Country code according to the Annex, for Storn there is an empty 3-digit iso alpha code, see https://cs.wikipedia.org/wiki/ISO_3166-1 |
| Passangers | Poistené osoby. Elementy Passenger sa môžu opakovať. | |
| - Passenger | Poradové číslo (0 to max 61)Insured persons. Passenger elements can be repeated. | |
| – ID | number2, Integer | Serial number (0 to max 61) |
| – BirthDate | dd.mm.YYYYD.M.YYYY, Date | Client’s date of birth |
| – TourPrice | Double<p>max.2 decimal places for EUR. Integer for CZK. | Price of tour, airfare, or other services in units in currency. Unless the total amount of TotalTourPrice is given, the total amount is the sum of the TourPrice of individual persons. |
| – TicketPrice | Double | Ticket price for STV product. If the price is only for the first person, the service assumes that it is a group/family ticket. |
| Tag name: | Description: |
|---|---|
| UNQResponse | Main Tag |
| - OrderNo | Order number from the request |
| - SumPrice | Cost ofThe amount of premiums |
| - Currency | Currency of premiums |
| - ErrorInfo | Return code |
| - ErrDescription | Error description |
UNQInsuranceOrder with OrderNo filled in, inserts or overwrites an unpaid order.
| Tag Name | Length and type | Description |
|---|---|---|
| UNQInsuranceOrder | Main Tag | |
| OrderNo | 10, String | The order number you specify, when it is empty, will only be recalculated - without registration, if repeated, the old order is deleted (if unpaid). If you wish the system would generate an automatic order number for you, enter a special symbol - three dots (…) in the field. |
| UserKey | 32, String | Assigned code for user authorization |
| DateFrom | D.M.YYYY, Date | Date of validity from |
| DateTo | D.M.YYYY, Date | Date of validity until |
| InsuranceType | 4, String | Abbreviation of the insurance type according to Table 1 |
| Currency | 3, String | Unit of currency used (EUR) |
| Status | 1, String | N = save as paid order (optional) |
| TotalTourPrice | Double (Max.2 decimal places for currency EUR. Integer for CZK) |
Total price of a trip, airfare, or other services total, for all persons in units according to the currency used. |
| CountryCode | 3, String | Country code according to the Annex, for Storn there is an empty 3-digit iso alpha code, see https://cs.wikipedia.org/wiki/ISO_3166-1 |
| Area | 2, String | W = World, E = Europe, SK = Slovakia. If CountryCode is filled in, the Area is optional</p><p>In the case of driver insurance Area is always E. |
| Arrangement | 100, String | Special arrangements for the contract (optional) |
| InternalAcqNum | 20, String | The employee ID, if it is listed in the profile as Int.zisk.číslo, can be distinguished in production report. (optional) |
| IndividualCode | 20, String | Custom code - tour resolution, invoice number, etc. (optional) |
| InsurerFirstName | 10, String | Name of the policyholder/person acting (If not specified, the first legal adult from the group will be used. If no person meets the requirements for the policyholder, the company (CK) that submitted the business case will be set as the policyholder.) |
| InsurerLastName | 20, String | Surname of the policyholder/person acting (if not specified, it is handled similarly as described above at InsurerFirstName) |
| InsurerBirthDate | D.M.YYYY, Date | Date of birth of the policyholder(if not specified, it is handled similarly as described above at InsurerFirstName) |
| InsurerCompany | 50, String | Name of legal entity/ company (optional) |
| InsurerId | 10, String | Company ID of a legal entity/company |
| InsurerIdentityCardType | 3 String | OP=ID card, PAS=passport, RES=residence permit for residents (optional) |
| InsurerIdentityCardNo | 30 String | Document number (optional) |
| Town | 30, String | Municipality – residence of the customer |
| StreetNo | 30, String | Street and Number |
| Zip code | 5, String | Postcode |
| Phone | 30, String | Customer’s phone number |
| 40, String | Email policyholder | |
| Nationality | 3, String | ISO state of the policyholder’s country of residence (Optional field) |
| Passengers | ||
| - Passenger | Insured persons. Passenger elements can be repeated 1 to 60 times. For driver insurance, only one person can be entered. | |
| – ID | 2, Integer | Serial Number |
| – FirstName | 10, String | Client Name |
| – LastName | 20, String | Client’s last name |
| – BirthDate | D.M.YYYY, Date | Client’s date of birth |
| – TourPrice | Float | <p>The price of a trip, airfare, or other services in units by currency. Unless the total amount of TotalTourPrice is given, the total amount is the sum of the TourPrice of individual personsin units according to the currency used. Must be the sum of individual prices - for all persons to state this amount |
| – sp | Double | Ticket price for STV product. If the price is only for the first person, the service assumes that it is a group/family ticket. |
Notes: Possible policyholder combinations:
| InsurerFirstName | InsurerLastName | InsurerBirthDate | InsurerCompany | InsurerId | |
|---|---|---|---|---|---|
| The policyholder is the first person from Passengers | - | - | - | - | - |
| The policyholder is another natural person | + | + | + | - | - |
| The policyholder is a natural person – entrepreneur | + | + | + | - | + |
| The policyholder is a company-legal entity | + (person acting) |
+ (person acting) |
- | + | + |
| Tag name: | Description: |
|---|---|
| UNQResponse | Main Tag |
| OrderNo | Order number from the request |
| SumPrice | Price in EUR |
| Contracts | |
| - Contract | Insurance contracts |
| – ContractNo | Contract No. |
| – InsuranceType | Type of insurance |
| – ContractSum | Total premiums for the draft insurance contract |
| – LegalAidAmount | Amount of insurance protection included in the total amount per application |
| – AgreementUrl | Link to the policy documents page |
| – PassengerID | Serial numbers of persons in the contract |
| – Documens | List of documents and annexes to the draft insurance contract |
| — Document | A document with a key parameter indicates the print order, and the code is truncated in the document label |
| —- Name | Document Name |
| —- Url | Absolute link for downloading a document in pdf |
| —- PaymentURL | Contains a link with an encrypted parameter allowing the customer to be redirected to the payment gateway |
| ErrorInfo | Return code |
| ErrDescription | Error description |
Notes:
Cancellation of the order is possible only if the order has not been paid.
| Tag Name | Length and type | Description |
|---|---|---|
| UNQDeleteOrder | Main Tag | |
| OrderNo | 9, String | Order number |
| UserKey | 32, String | Assigned code for user authorization |
| Tag name: | Description: |
|---|---|
| UNQResponse | Main Tag |
| ErrorInfo | Return code |
| ErrDescription | Error description |
Notes:
Activation of the order is possible only if the order has not been paid. This order only makes sense if you use your own premium collection.
| Tag Name | Length and type | Description |
|---|---|---|
| UNQPaymentConfirm | Main Tag | |
| OrderNo | 9, String | Order number |
| UserKey | 64, String | Assigned code for user authorization |
| Mailing | 1, Char | 1=send an informational e-mail to the client about the conclusion of the insurance contract 0=do not send e-mail. (The User solves on his own account) |
Notes:
UNQPaymentConfirm response is the same as the UNQOrderInfo call responseUse this command to obtain information about the status of the order.
| Tag name | Length and type | Description |
|---|---|---|
| UNQOrderInfo | Main Tag | |
| OrderNo | 9, String | Order number |
| UserKey | 8, String | Assigned code for user authorization |
| Tag name | Length and type | Description | |
|---|---|---|---|
| UNQResponse | Main Tag | ||
| OrderNo | 9, String | Order number | |
| SumPrice | Float | Insurance price | |
| TourPrice | Float | Total trip price, tickets in units by CURRENCY It is the sum of the prices of individuals |
|
| Currency | 3, String | Unit of currency used | |
| Contracts | |||
| - Contract | |||
| – ContractNo | Integer | ||
| – InsuranceType | 4, String | Abbreviation of the insurance type according to Table 1 | |
| – Supplement | 4, String | Abbreviation of additional insurance if it is negotiated | |
| – CarBrand | 100 String | Vehicle brand, if there is a car supplementation | |
| – CarType | 100, String | Type of the vehicle, if the car’s supplementary insurance is negotiated | |
| – CarNumberPlate | 7, String | EČV vehicle if the car is supposed to be adjusted | |
| – ContractSum | Float | Amount of insurance premiums per contract | |
| – NumPersons | Integer | Number of persons | |
| – DateFrom | D.M.YYYY, Date | Date of validity from | |
| – DateTo | D.M.YYYY, Date | Date of validity until | |
| – Area | 1, Char | Possible values: W – World E – Europe SK – Slovakia |
|
| – Paid | 1, Integer | Paid=0 unpaid, Paid=1 activated order paid | |
| – DatePaid | DD.MD.YYYY HH:MM:SS, Datetime | Date and time of activation | |
| – Inserted | DD.MD.YYYY HH:MM:SS, Datetime | Date and time of the order inserted | |
| – Phone | 30, String | Customer’s phone number | |
| 40, String | Client email of the client of the customer | ||
| – Passengers | |||
| — Passenger | Insured persons. | ||
| —- Id | 2, Integer | Serial Number | |
| —- Name | 10, String | Client Name | |
| —- Surame | 20, String | Client’s last name | |
| —- BirthDate | D.M.YYYY, Date | Client’s date of birth | |
| —- AgreementUrl | Link for withdrawal of the insurance contract | ||
| —- Documens | List of documents and annexes to the draft insurance contract | ||
| —– Document | Integer | Document with id indicates print order, and code is truncated document label | |
| —– Name | 255, String | Document Name | |
| —– Url | 255, String | Absolute link for downloading a document in pdf |
Note:
Administrácia Mont-Blanc administration:
Tel. EU: +420777212132
Tel. SK: +421948125132
Email: admin@mont-blanc.sk
Technical implementation:
Karel Větrovský, Ph.D.
Email: vetrovsky@gmail.com
States treated under insurance conditions as risk zone ‘E’:
Albania, Andorra, Belgium, Belarus, Bosnia and Herzegovina, Bulgaria, Czech Republic, Montenegro, Denmark, Estonia, Finland, France, Greece, Netherlands, Croatia, Ireland, Iceland, Libya, Liechtenstein, Lithuania, Latvia, Luxembourg, Macedonia, Hungary, Malta, Moldova, Monaco, Germany, Norway, Poland, Portugal (including the Azores and Madeira), Austria, Romania, Russia (European Part), San Marino, Slovenia, Serbia And the Canary Islands), Switzerland, Sweden, Italy, Ukraine, Vatican City, United Kingdom.
States where extended AUTO assistance applies:
Albania, Andorra, Belgium, Belarus, Bosnia and Herzegovina, Bulgaria, Montenegro, Denmark, Estonia, Finland, France, Croatia, Italy, Ireland, Iceland, Cyprus,
Liechtenstein, Lithuania, Latvia, Luxembourg, Hungary, Macedonia, Malta, Monaco,
Germany, Norway, Poland, Portugal, Austria, Romania, Greece, San Marino, Slovenia, United Kingdom of Great Britain and Northern Ireland, Republic of Serbia, Spain, Sweden, Switzerland, Turkey, Ukraine, Vatican City, Moldova, Morocco, Tunisko.
All others belong to the risk zone “W” with the exception of the Slovak Republic, which does not belong to any of the listed risk zones and has its own risk zone code: SK.
| Error No. | Error text |
|---|---|
| 1 | Unknown product |
| 2 | Failed loading XML |
| 3 | Period exceeded |
| 4 | Wrong riz.zone definition |
| 5 | DateTo is invalid |
| 6 | DateFrom is invalid |
| 7 | Rate does not exist |
| 8 | SellPrice is out of bounds |
| 9 | DB error |
| 10 | This operation is not supported |
| 11 | Invalid userkey |
| 12 | Access expired |
| 13 | Wrong date from |
| 14 | Wrong date to |
| 15 | Area is not defined |
| 16 | Wrong currency |
| 17 | Missing data for person # |
| 18 | Missing OrderNo or UserKey |
| 19 | PIN could not write/update records |
| 20 | User disabled |
| 21 | OrderNo already activated |
| 22 | 0 record was updated. Already activated? |
| 23 | Order not found |
| 24 | OrderNo is already used |
| 25 | Records not exist or already deleted |
| 26 | Duplicity found for person # |
| 27 | No products for such criteria |
| 28 | Over limit 7.000 EUR/person. Please contact hotline. |
| 29 | Invalid age for the product |
| 30 | Missing insurer data |
| 31 | Insurer has to be over 18 |
| 32 | Number of insured persons exceeded |
| 33 | Supplement not applicable |
| 34 | Token not found |
| 35 | Extension not loaded |