Authentication

Authenticates a user and generates an access token. The endpoint uses JSON Web Tokens (JWT) for generating tokens and managing user sessions.

POST https://www.isatravelonline.com/api/v2/Authenticate
Query Parameters:
  • Username: string User's username.
  • Password: string User's password.
Request Body:

{
  "username": "username",
  "password": "********"
}

Success Response:
  • HTTP Status Code: 200 OK
Result Example:

{
    "accessToken": "your_access_token_here"
}

Lookups

This section provides documentation for Lookups.

Genders

This will allow you to return the list of Genders available in the system along with there ID and description

GET https://www.isatravelonline.com/api/v2/Lookup/Genders
Header Parameters:
  • accept: application/json
  • Authorization: Bearer your_access_token_here
Success Response:
  • HTTP Status Code: 200 OK
Result example:

[
    {
        "Id": 1,
        "Description": "Male"
    },
    {
        "Id": 2,
        "Description" : "Female"
    }
]

Marital Status

This will allow you to return the list of Marital Statuses available in the system along with there ID and description.

GET https://www.isatravelonline.com/api/v2/Lookup/GetMaritalStatus
Header Parameters:
  • accept: application/json
  • Authorization: Bearer your_access_token_here
Success Response:
  • HTTP Status Code: 200 OK
Result example:

[
    {
        "Id": 1,
        "Description": "Single"
    },
    {
        "Id": 2,
        "Description" : "Married"
    }
]

Countries

This will allow you to return the list of Countries available in the system along with there ID and description.

GET https://www.isatravelonline.com/api/v2/Lookup/GetCountries
Header Parameters:
  • accept: application/json
  • Authorization: Bearer your_access_token_here
Success Response:
  • HTTP Status Code: 200 OK
Result example:

[
    {
        "id": 203,
        "description": "Aruba"
    },
    {
        "id": 9,
        "description": "Australia"
    },
    {
        "id": 10,
        "description": "Austria"
    }
]

Relation Types

This is used to identify the relationship type between 1 Insured or another, this type could be principle, spouce, or child.

GET https://www.isatravelonline.com/api/v2/Lookup/GetRelationTypes
Header Parameters:
  • accept: application/json
  • Authorization: Bearer your_access_token_here
Success Response:
  • HTTP Status Code: 200 OK
Result example:

[
    {
        "Id": 1,
        "Description": "Spouse"
    },
    {
        "Id": 2,
        "Description" : "Child"
    }
]

Travel Insurance

This section provides documentation for Insurance Api's including issuing info, quotation and policy issuance.

Issue Info

Return related issuing info for user to proceed with issuing policy. It contains the following:

  • List of products:
    • For each product we have:
      • List of packages and each package have:
        • Its coverage area
        • List of destination to this coverage area
        • Benefits
        • Rules
        • Link to general conditions
      • Product type that could be individual/group or family
      • Currency
      • Optional Covers
GET https://www.isatravelonline.com/api/v2/TravelInsurance/issue-info
Header Parameters:
  • accept: application/json
  • Authorization: Bearer your_access_token_here
Success Response:
  • HTTP Status Code: 200 OK
Result example:

[
	{
		"productId": "216 - 514",
		"productDescription": "TCH - Covid-19 - Cash",
		"Packages": [
			{
				"coverageArea": {
					"id": 520,
					"name": "Silver: Worldwide excluding USA, Canada, Australia, & Japan"
				},
				"destinations": [
					{
						"countryID": 5,
						"countryName": "Angola"
					},
					{
						"countryID": 19,
						"countryName": "Benin"
					}
				],
				"benefits": [
					{
						"benefitDesc": "Emergency medical evacuation, up to",
						"benefitshort": "$1,000,000 "
					},
					{
						"benefitDesc": "Emergency medical repatriation, up to",
						"benefitshort": "$1,000,000 "
					}
				],
				"rules": [
					{
						"value": 0,
						"name": "MinimumAge"
					},
					{
						"value": 86,
						"name": "MaximumAge"
					}
				],
				"gc": "link to general conditions"
			}
		],
		"type": {
			"id": 1,
			"description": "individual/group"
		},
		"currency": [
			{
				"id": 1,
				"description": "USD",
				"isoName": "$"
			}
		],
		"optionalCovers": [
			{
				"id": 1,
				"description": "No Deductible"
			},
			{
				"id": 2,
				"description": "Sports Activities"
			},
			{
				"id": 3,
				"description": "Top up benefits"
			}
		]
	}
]

Insurance Offers

Get insurance offers based on the provided request. It contains the following:

  • List of products:
    • For each product we have:
      • List of packages and each package have:
        • Its coverage area
        • List of destination to this coverage area
        • Benefits
        • Rules
        • Link to general conditions
      • Product type that could be individual/group or family
      • Currency
      • Optional Covers
POST https://www.isatravelonline.com/api/v2/TravelInsurance/offers
Header Parameters:
  • accept: application/json
  • Authorization: Bearer your_access_token_here
Query Parameters:
Parameter Type Required Description
FromDate DateTime Yes Start date for insurance coverage.
ToDate DateTime Yes End date for insurance coverage.
Destination string Yes The destination for the insurance coverage (comma-separated for multiple destinations).
Insureds List Yes List of insured object consists of date of birth and optional covers for each insured(comma-separated for Individual/Group policies, if applicable).
IsFamily boolean No Indicates if the policy is for a family and not a group.
AdditionalFees decimal No Additional fees for the insurance.
PolicyOptionalCovers string No Optional covers for the policy (comma-separated for Family policies, if applicable).
Request Body:

{
	"FromDate": "2023-12-01",
	"ToDate": "2024-01-01",
	"Destination": "92",
	"Insureds": [
		{
			"dateOfBirth": "1996-08-01",
			"optionalCovers": "2"
		},
		{
			"dateOfBirth": "1997-07-29",
			"optionalCovers": "1,2"
		}
	],
	"IsFamily": false,
	"AdditionalFees": 10.5,
	"PolicyOptionalCovers": ""
}

Success Response:
  • HTTP Status Code: 200 OK
Result example:

[
	{
		"productId": "216 - 514",
		"productDescription": "TCH - Covid-19 - Cash",
		"Packages": [
			{
				"coverageArea": {
					"id": 520,
					"name": "Silver: Worldwide excluding USA, Canada, Australia, & Japan"
				},
				"destinations": [
					{
						"countryID": 5,
						"countryName": "Angola"
					},
					{
						"countryID": 19,
						"countryName": "Benin"
					}
				],
				"benefits": [
					{
						"benefitDesc": "Emergency medical evacuation, up to",
						"benefitshort": "$1,000,000 "
					},
					{
						"benefitDesc": "Emergency medical repatriation, up to",
						"benefitshort": "$1,000,000 "
					}
				],
				"rules": [
					{
						"value": 0,
						"name": "MinimumAge"
					},
					{
						"value": 86,
						"name": "MaximumAge"
					}
				],
				"price": 10.5,
				"gc": "link to general conditions"
			}
		],
		"type": {
			"id": 1,
			"description": "individual/group"
		},
		"currency": [
			{
				"id": 1,
				"description": "USD",
				"isoName": "$"
			}
		],
		"optionalCovers": [
			{
				"id": 1,
				"description": "No Deductible"
			},
			{
				"id": 2,
				"description": "Sports Activities"
			},
			{
				"id": 3,
				"description": "Top up benefits"
			}
		]
	}
]

Invalid Response:
  • HTTP Status Code: 400 Bad Request
Unexpected Error Response:
  • HTTP Status Code: 500 Internal Server Error

Quotation

Validate Travel Insurance Policy based on the provided request before proceeding to payment and this endpoint is optional.

POST https://www.isatravelonline.com/api/v2/TravelInsurance/quotation
Header Parameters:
  • accept: application/json
  • Authorization: Bearer your_access_token_here
Query Parameters:
Parameter Type Required Description
CoverageAreaId int Yes Id taken from selected package per product from Insurance Offer Endpoint
Insureds Array of insureds Yes List of insureds
Insureds[0].Address.CountryID int Yes Taken from Countries Lookup
Insureds[0].Address.RegionID int No Not used, pass 0
Insureds[0].Address.CityID int No Not used, pass 0
Insureds[0].DateofBirth DateTime Yes Insured Date of Birth
Insureds[0].Firstname String Yes Insured First Name
Insureds[0].GenderID int Yes Taken from Genders Lookup
Insureds[0].Lastname String Yes Insured Last Name
Insureds[0].MaidenName String No Insured Maiden Name
Insureds[0].MiddleName String No Insured Middle Name
Insureds[0].MaritalStatus int No Taken from Marital Status Lookup
Insureds[0].PassportNumber String No Insured Passport Number
Insureds[0].Relation String Yes Taken from Relation Types lookup
Insureds[0].Contact.Email String No Insured Email
Insureds[0].Contact.MobileNumber String Yes Insured Mobile Number
Insureds[0].Contact.PhoneNumber String No Insured Phone Number
Insureds[0].OptionalCovers String No Optional Covers Comma separated
Insureds[0].NationalityId int Yes Taken from Countries Lookup
MarkupValue decimal No Amount added on the price when issuing policy
ProductID string Yes ProductId taken from Insurance Offer Endpoint
DestinationId string Yes Taken from Countries Lookup, use comma for multiple destination
InceptionDate DateTime Yes Date of Policy Inception
ExpiryDate DateTime Yes Date of Policy Expiry
PolicyReferenceId String No Client PolicyId
Policy Optional Covers Array of integers No Optional covers on the level of policy
Request Body:

{
	"coverageAreaId": 520,
	"insureds": [
		{
			"firstName": "Hadi",
			"lastName": "Nasrallah",
			"address": {
				"countryId": 96,
				"regionId": 0,
				"cityId": 0
			},
			"dateOfBirth": "1996-08-01",
			"genderId": 1,
			"middleName": "",
			"maritalStatus": 0,
			"passportNumber": "LR098761",
			"relation": "principal",
			"contact": {
				"email": "hadi.nasrallah@test.com",
				"mobileNumber": "+96170000000",
				"phoneNumber": ""
			},
			"optionalCovers": "1",
			"nationalityId": 0
		}
	],
	"markupValue": 0,
	"productId": "216 - 514",
	"destinationId": "92,2",
	"inceptionDate": "2023-12-07",
	"expiryDate": "2023-12-25",
	"policyReferenceId": "",
	"optionalCovers": []
}

Success Response:
  • HTTP Status Code: 200 OK
Result example:

{
	"totalTaxes": 1.15,
	"policyId": "0",
	"policyNumber": 0,
	"beneficiariesPremium": [
		{
			"id": 0,
			"passportNo": "LR098761",
			"firstName": "Hadi",
			"lastName": "Nasrallah",
			"covers": [
				{
					"premium": 20.0,
					"id": 861,
					"description": "TCH-Covid-19 - Cash-Silver: Worldwide excluding USA, Canada, Australia, & Japan"
				}
			],
			"premium": 23.0,
			"coversPremium": [
				{
					"premium": 3.0,
					"id": 1,
					"description": "No Deductible"
				}
			]
		}
	],
	"currency": {
		"isoName": "$",
		"id": 1,
		"description": "USD"
	},
	"coversPremium": [],
	"premium": 23.0,
	"additionalPremium": 0.0,
	"totalPremium": 24.15,
	"totalUSD": 24.15,
	"issuingFees": 0.0,
	"additionalFees": 0.0,
	"resultStatus": true,
	"errorMessage": "",
	"certificateUrl": ""
}

Issue Policy

Issue Travel Insurance Policy based on the provided request.

POST https://www.isatravelonline.com/api/v2/TravelInsurance/issue
Header Parameters:
  • accept: application/json
  • Authorization: Bearer your_access_token_here
Query Parameters:
Parameter Type Required Description
CoverageAreaId int Yes Id taken from selected package per product from Insurance Offer Endpoint
Insureds Array of insureds Yes List of insureds
Insureds[0].Address.CountryID int Yes Taken from Countries Lookup
Insureds[0].Address.RegionID int No Not used, pass 0
Insureds[0].Address.CityID int No Not used, pass 0
Insureds[0].DateofBirth DateTime Yes Insured Date of Birth
Insureds[0].Firstname String Yes Insured First Name
Insureds[0].GenderID int Yes Taken from Genders Lookup
Insureds[0].Lastname String Yes Insured Last Name
Insureds[0].MaidenName String No Insured Maiden Name
Insureds[0].MiddleName String No Insured Middle Name
Insureds[0].MaritalStatus int No Taken from Marital Status Lookup
Insureds[0].PassportNumber String No Insured Passport Number
Insureds[0].Relation String Yes Taken from Relation Types lookup
Insureds[0].Contact.Email String No Insured Email
Insureds[0].Contact.MobileNumber String Yes Insured Mobile Number
Insureds[0].Contact.PhoneNumber String No Insured Phone Number
Insureds[0].OptionalCovers String No Optional Covers Comma separated
Insureds[0].NationalityId int Yes Taken from Countries Lookup
MarkupValue decimal No Amount added on the price when issuing policy
ProductID string Yes ProductId taken from Insurance Offer Endpoint
DestinationId string Yes Taken from Countries Lookup, use comma for multiple destination
InceptionDate DateTime Yes Date of Policy Inception
ExpiryDate DateTime Yes Date of Policy Expiry
PolicyReferenceId String No Client PolicyId
Policy Optional Covers Array of integers No Optional covers on the level of policy
Request Body:

{
	"coverageAreaId": 520,
	"insureds": [
		{
			"firstName": "Hadi",
			"lastName": "Nasrallah",
			"address": {
				"countryId": 96,
				"regionId": 0,
				"cityId": 0
			},
			"dateOfBirth": "1996-08-01",
			"genderId": 1,
			"middleName": "",
			"maritalStatus": 0,
			"passportNumber": "LR098761",
			"relation": "principal",
			"contact": {
				"email": "hadi.nasrallah@test.com",
				"mobileNumber": "+96170000000",
				"phoneNumber": ""
			},
			"optionalCovers": "1",
			"nationalityId": 0
		}
	],
	"markupValue": 0,
	"productId": "216 - 514",
	"destinationId": "92,2",
	"inceptionDate": "2023-12-07",
	"expiryDate": "2023-12-25",
	"policyReferenceId": "",
	"optionalCovers": []
}

Success Response:
  • HTTP Status Code: 200 OK
Result example:

{
	"totalTaxes": 1.15,
	"policyId": "2512755",
	"policyNumber": 2512755,
	"beneficiariesPremium": [
		{
			"id": 0,
			"passportNo": "LR098761",
			"firstName": "Hadi",
			"lastName": "Nasrallah",
			"covers": [
				{
					"premium": 20.0,
					"id": 861,
					"description": "TCH-Covid-19 - Cash-Silver: Worldwide excluding USA, Canada, Australia, & Japan"
				}
			],
			"premium": 23.0,
			"coversPremium": [
				{
					"premium": 3.0,
					"id": 1,
					"description": "No Deductible"
				}
			]
		}
	],
	"currency": {
		"isoName": "$",
		"id": 1,
		"description": "USD"
	},
	"coversPremium": [],
	"premium": 23.0,
	"additionalPremium": 0.0,
	"totalPremium": 24.15,
	"totalUSD": 24.15,
	"issuingFees": 0.0,
	"additionalFees": 0.0,
	"resultStatus": true,
	"errorMessage": "",
	"certificateUrl": "https://www.isatravelonline.com/api/v1/PrintPolicy/Print?PolicyCode=2512755&ProdCode=0&beneficiaryCode=1&ShowTotal=1"
}