Travel Insurance

    API Endpoint

        https://test.bima.om/
                

Bima insurance provide APIs for travel insurance, you can use below APIs/Process to generate offers.

Travel APIs & Flow

  • Create quotation: Get travel quotation by passing very basic details
  • Customize offer: Add or remove optional covers
  • Update Travelers: Update travelers details
  • Purchase: Confirm payment by providing payment details

API TOKEN

Token is required to call any API from Bima portal, you can use below API to create new token which is valid for 24 hours.
/api/Auth/GetToken



    Result example :

    {
    "status": 200,
    "data": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ
                CaW1hQXBwVXNlciIsImp0aSI6IkFQoItZSDWyzpIo9E"
    }

REQUEST PARAMETERS

Field Type Description
username String Bima API user Id/Email
password String User password

Create Quotation

To create travel insurance quotation, use this API by sending JSON object as showing below.
/api/Insurance/CreateTravelOffers



    Result example :

    {
    "referenceNo": "6A077B6F-823B-4D97-82B0-6F1CEF9E937E",
    "statusCode": "OK",
    "statusMessage": null,
    "isValidRequest": true,
    "isValidRequestDesc": null,
    "langCode": "en",
    "travelDetails": {
        "CountryCodeFrom": "OM",
        "CountryCodeTo": "AE",
        "CountryNameFrom": "Oman",
        "CountryNameTo": "United Arab Emirates",
        "TravelingWay": "Outbound",
        "AdultsQuantity": 0,
        "ChildsQuantity": 0,
        "SeniorQuantity": 0,
        "TotalTravelersQty": 0,
        "DepartureDate": "2024-02-25T00:00:00",
        "ReturnDate": "2024-02-28T00:00:00",
        "strDepartureDate": "25/02/2024",
        "strReturnDate": "28/02/2024",
        "TripTypeCode": null,
        "InsuredNoOfDays": 0,
        "CustomerTypeCode": null,
        "ResidenceCountryName": "Oman",
        "ResidenceCountryCode": "OM",
        "TravelRegionCode": ""
        },
        "includeTravelers": true,
        "travelers": null,
            "provders": [
                {
                "providerName": "GIG (Previously AXA)",
                "providerCode": "GIG_INS",
                "imageURLThumbnail": "http://localhost:1044/\\Uploads\\Provider\\4KLM77-10A5-8FF1-K647-FC7DB23EK4\\gig-logo-thumb.jpg",
                "ProductName": null,
                "ProductHeading": "",
                "ProductDescription": null,
                "instantPolicyTitle": "instant insurance",
                "offers": [
                {
                "offerRefNo": "AXA82231088-0f7f-4ced-be3e-342b5180bec1",
                "name": "Travel Smart",
                "heading": "",
                "description": "",
                "totalPremium": 16.215,
                "insuredNoOfDays": 5,
                "covers": [
                {
                "code": "AREA_WORLDWIDE",
                "name": "Area : Worldwide",
                "description": null,
                "premium": 0.0,
                "help": null,
                "benefits": null,
                "isMandatory": false,
                "isSelected": false,
                "coverGroupCode": null
                },
                {
                "code": "MEDICAL_TRAVEL",
                "name": "Medical Travel Insurance",
                "description": null,
                "premium": 0.0,
                "help": null,
                "benefits": null,
                "isMandatory": true,
                "isSelected": true,
                "coverGroupCode": null
                },
                {
                "code": "TERRORISM",
                "name": "Terrorism",
                "description": null,
                "premium": 0.0,
                "help": null,
                "benefits": null,
                "isMandatory": false,
                "isSelected": false,
                "coverGroupCode": null
                },
                {
                "code": "TRAVEL_INCONVENIENCE",
                "name": "Travel Inconvenience",
                "description": null,
                "premium": 0.0,
                "help": null,
                "benefits": null,
                "isMandatory": false,
                "isSelected": false,
                "coverGroupCode": null
                },
                {
                "code": "ADVENTURE_SPORTS",
                "name": "Adventure Sports",
                "description": null,
                "premium": 0.0,
                "help": null,
                "benefits": null,
                "isMandatory": false,
                "isSelected": false,
                "coverGroupCode": null
                }
            ]
            }
            ],
            "messagesForCustomer": [],
            "statusCode": null,
            "statusMessage": null
            }
            ],
    "allertMessages": null,
    "errMessages": []
    }

REQUEST PARAMETERS

Field Type Description
CountryCode String Country code/ dialing country code - 968
ContactNo Integer Contact number without country code - 99086408
FirstName String User First Name
MiddleName String (Optional) User Middle Name
LastName String (Optional) User Last Name
LangCode String Language code - en/ar
includeTravelers Bool If true the response will have travelers list as well with updated traveler ID.

Its required to input traveling from country name and traveling to country name, one side/way it must be Oman (either From or To country).

Optional input fields (Travel details)

Field Type Description
CountryCodeFrom String Traveling from Country Code
CountryCodeTo String Traveling To Country Code
strDepartureDate String Departure Date with format dd/MM/yyyy
strReturnDate String Return Date with format dd/MM/yyyy
ResidenceCountryCode String User residence country code

If the customer is traveling to Oman and he/she is resident of Oman is not allowed to get quotation. Note: You can get country name and codes from the api given in the last.

Optional input fields (Traveler data)

Field Type Description
TitleCode String Traveler name title/prefix
FirstName String Traveler First Name
MiddleName String (Optional) Traveler Middle Name
LastName String (Optional) Traveler Last Name
strDOB String Date of Birth with format dd/MM/yyyy
PassportNo String Traveler passport number
Nationality_CountryCode String Traveler nationality country code
RelationShip String The default/first traveler relationship must be marked as "self"
Gender String Male/Female

UPDATE OFFER

Quotation contains multiple provider and offers, each offer contain optional and included covers. Included covers are mandatory and can not be changed, but optional covers can be added or removed and have further multiple options and user can change option as per requirements.
/api/Insurance/UpdateTravelOffer

Note: When FeatureCategoryCode=CHOICE and LabelOptions has more than one options. Allow user to choose option.


    Result example :

    {
        "providerName": "GIG (Previously AXA)",
        "providerCode": "GIG_INS",
        "imageURLThumbnail": "http://localhost:1044/\\Uploads\\Provider\\4KLM77-10A5-8FF1-K647-FC7DB23EK4\\gig-logo-thumb.jpg",
        "ProductName": null,
        "ProductHeading": "",
        "ProductDescription": null,
        "instantPolicyTitle": "instant insurance",
            "offers": [
            {
            "offerRefNo": "AXA1b5c212e-8932-446c-a7fb-4d10264c3d4b",
            "name": "",
            "heading": "",
            "description": "",
            "totalPremium": 36.484,
            "insuredNoOfDays": 5,
                "covers": [
                {
                "code": "AREA_WORLDWIDE",
                "name": "Area : Worldwide",
                "description": null,
                "premium": 0.0,
                "help": null,
                "benefits": null,
                "isMandatory": false,
                "isSelected": false,
                "coverGroupCode": null
                },
                {
                "code": "MEDICAL_TRAVEL",
                "name": "Medical Travel Insurance",
                "description": null,
                "premium": 0.0,
                "help": null,
                "benefits": null,
                "isMandatory": true,
                "isSelected": true,
                "coverGroupCode": null
                },
                {
                "code": "TERRORISM",
                "name": "Terrorism",
                "description": null,
                "premium": 0.0,
                "help": null,
                "benefits": null,
                "isMandatory": false,
                "isSelected": false,
                "coverGroupCode": null
                },
                {
                "code": "TRAVEL_INCONVENIENCE",
                "name": "Travel Inconvenience",
                "description": null,
                "premium": 0.0,
                "help": null,
                "benefits": null,
                "isMandatory": false,
                "isSelected": false,
                "coverGroupCode": null
                },
                {
                "code": "ADVENTURE_SPORTS",
                "name": "Adventure Sports",
                "description": null,
                "premium": 0.0,
                "help": null,
                "benefits": null,
                "isMandatory": false,
                "isSelected": true,
                "coverGroupCode": null
                }
                ]
            }
            ],
        "messagesForCustomer": [],
        "statusCode": "OK",
        "statusMessage": null
    }


REQUEST PARAMETERS

Field Type Description
ReferenceNo String Quotation unique reference number (ReferenceNo)
offerRefNo Integer Selected offer reference no.
providerCode String Offer provider code
LangCode String Language code en/ar

REQUEST PARAMETERS (SELECTED COVER)

Field Type Description
code String Selected cover/add-on code
isSelected Boolean True/False

UPDATE TRAVELERS

Its required to provide all travelers details including TravelerID which is available in create quote api response
/api/Insurance/UpdateTravelerDetails


    Result example :

    {
        "statusCode": "Ok",
        "statusMessage": "Travelers details are updated"
    }


REQUEST PARAMETERS

Field Type Description
ReferenceNo String Quotation unique reference number (ReferenceNo)
offerRefNo Integer Selected offer reference no.
LangCode String Language code en/ar

Optional input fields (Traveler data)

Field Type Description
TitleCode String Traveler name title/prefix
FirstName String Traveler First Name
MiddleName String (Optional) Traveler Middle Name
LastName String (Optional) Traveler Last Name
strDOB String Date of Birth with format dd/MM/yyyy
PassportNo String Traveler passport number
Nationality_CountryCode String Traveler nationality country code
RelationShip String The default/first traveler relationship must be marked as "self"
Gender String Male/Female

VIEW MORE DETAILS

To view more details for the offer, use below URL and system will return html content. You are required to pass offer reference no in query string parameter as below.

/api/Insurance/ViewMoreDetails
Content page is also available to display more details /Insurance/GetTravelPlanBenefits/?id=MIC0b92d05d-93bd-49da-bf48-a37322a7c639_521


    Result example :

    {
        "statusCode": "SUCCESS",
        "requestMessage": null,
        "HtmlContent": "View more details

Coverage in US dollars except for Schengen in Euro.

" }

REQUEST PARAMETERS

Field Type Description
referenceNo String Quotation unique reference number (referenceNo)
offerRefNo Integer Selected offer reference number
langCode String Language ar/en

PURCHASE

In order to proceed for payment, its required to check offer validity variable (IsValidRequest) in offer response, offer can not be confirmed when IsValidRequest=false.
Content page is also available to display more details /api/Insurance/ConfirmRequest_Travel


    Result example :

    {
    "ofr_ReferenceNo": "75069F2D-369F-42C6-8775-B40938278562",
    "PID": 0,
    "Payment_TrackId": 24020027596633,
    "Payment_TransId": "230221379710",
    "Payment_Id": "728010",
    "PaymentStatus": "APPROVED",
    "WayOfPayment": "Online",
    "PaymentGateway": "EXTERNAL-",
    "LangCode": "en",
    "RequestStatus": "Success",
    "RequestMessage": "Our dear customer\r\n\r\nThe insurance request was received in Bima, the insurance policy is usually issued within 15 minutes. 
                If there are required documents, you will be contacted via WhatsApp.\r\n\r\nThank you for choosing Bima.",
    "Amount": 103.7,
    "FeeAmount": 0.0,
    "customer": {
                    "FirstName": "Ahmed",
                    "LastName": "Al Ajmi",
                    "Email": null
                },
            "additional_drivers": {
            "NotRequired": "no",
                                "data": [
                                            {
                                            "FirstName": "Ahmed ",
                                            "LastName": "Al Ajmi",
                                            "DriverAge": 45
                                            },
                                            {
                                            "FirstName": "Mohammad ",
                                            "LastName": "Al Jabbar",
                                            "DriverAge": 33
                                            }
                                          ]
                                 }
    }


REQUEST PARAMETERS

Field Type Description
ofr_ReferenceNo String Quotation unique reference number (ofr_ReferenceNo)
ofr_ReferenceNo_Plan String Selected offer reference number (ofr_ReferenceNo_Plan)
Payment_TransId String Collector/External payment gateway transaction id
Payment_Id String Collector/External payment id
PaymentStatus String APPROVED
LangCode String Language code en/ar (default English)
Amount Double Selected offer amount
FeeAmount Double Payment gateway fee if any

OTHER APIs


List of APIs required to load predefined data options for user additional input

  1. Get quotation details /api/Insurance/GetTravelOffers
  2. Country List /api/Common/GetCounteries/?langCode=en
  3. Nationality List /api/Common/GetNantionalities/?langCode=en
  4. Name titles /api/Insurance/GetPrefixTitles/?langCode=ar
  5. Relationship /api/Common/GetRelationshpOptions_Travel/?langCode=en