Skip to content

Travel Insurance Integration Guide

Product code: ltix-stnd-1111

International travel protection underwritten by SanlamAllianz.


Product Overview

Travel insurance covers emergency medical expenses, trip disruptions, baggage loss, and related events during international travel. Coverage zone is determined automatically from the destination country.

Zone Countries
Schengen Austria, Belgium, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Italy, Latvia, Liechtenstein, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Slovakia, Slovenia, Spain, Sweden, Switzerland
Area 1 Ghana, Kenya, Saudi Arabia, South Africa, United Arab Emirates, United Kingdom
Area 2 Canada, Japan, United States
Hajj & Umrah Saudi Arabia only — requires isHajj: true

Plan type: individual (primary traveler only) or family (primary traveler + additional travelers on the same policy).


Premium Rates

Indicative rates. Premiums shown are examples and subject to change. Always use Step 1 (SR10) to get the current rate before collecting payment from your customer.

All rates in NGN. Age of the primary traveler determines the rate tier.

Standard Plans (ages 0–69)

Duration Schengen Indiv Schengen Family Area 1 Indiv Area 1 Family Area 2 Indiv Area 2 Family
1–7 days (7d) 5,072 10,144 5,480 10,960 7,524 15,048
1–15 days (15d) 8,516 17,470 8,220 16,440 9,582 19,166
1–30 days (30d) 14,934 29,868 13,004 26,008 15,744 31,488
1–62 days (62d) 22,260 44,520 19,846 39,692 23,268 46,534
1–92 days (92d) 27,332 54,664 30,110 60,220 30,806 61,612
6-month multi-trip (6m) 37,476 74,952 36,272 72,542 40,374 80,748
12-month multi-trip (12m) 45,366 90,732 45,172 90,346 58,176 116,352

Ages 70–75: multiply above rates × 2. Ages 76–80: multiply × 2.5. Maximum insurable age: 80.

Hajj & Umrah

Duration Ages 0–18 Ages 19–75 Ages 76–80
15 days (15d) 1,828 4,752 9,504
25 days (25d) 2,976 7,736 15,470
45 days (45d) 5,440 14,144 28,288

Hajj & Umrah is only available with isHajj: true and destination: "Saudi Arabia". Durations 15d, 25d, and 45d are exclusive to Hajj — they are not valid for other plans.


What Is Covered

  • Emergency medical and hospital expenses (up to 35,000 EUR, 50 EUR deductible)
  • Emergency dental (up to 150 EUR)
  • COVID-19 emergency medical expenses and quarantine accommodation
  • Medical evacuation and repatriation of remains
  • Trip delay, missed departure, and missed connection
  • Baggage delay (up to 400 EUR after 6 hours), loss (EUR 20/kg up to 500 EUR)
  • Loss of travel documents including passport
  • Loss of personal money
  • Legal expenses and bail bond
  • 24/7 travel assistance services

Integration Flow

Step 1: Get premium quote
Step 2: Register consumer
[Collect payment]
Step 3: Request policy
Step 4: Check policy status

Step 1 — Get Premium Quote

curl -X POST https://octamile-api.azurewebsites.net \
  -H "Content-Type: application/json" \
  -d '{
    "userInfo": {
      "id": "YOUR_PARTNER_ID",
      "athrzt": { "id": "YOUR_AUTH_ID", "key": "YOUR_AUTH_KEY" }
    },
    "cmmnd": {
      "cmmnd": "dump ipck_ltix-stnd-1111*PRMM",
      "seed": {
        "insrncDrtn": "15d",
        "destination": "France",
        "planType": "individual",
        "travelerAge": 35
      }
    }
  }'
Field Type Required Description
insrncDrtn string Yes Duration tier — see supported values below
destination string Yes Destination country — see supported countries above. The coverage zone (Schengen/Area 1/Area 2) is derived automatically.
planType string Yes individual or family
travelerAge integer No Age of primary traveler — affects rate for ages 70+. Defaults to 35 if omitted.
isHajj boolean No Set true for Hajj & Umrah travel. Destination must be "Saudi Arabia".

Supported durations:

Type Values
Standard plans 7d, 15d, 30d, 62d, 92d, 6m, 12m
Hajj & Umrah only 15d, 25d, 45d

Response:

{
  "exctnFdbck": { "id": 75 },
  "prmm": 8516,
  "currency": "NGN"
}


Step 2 — Register Consumer

curl -X POST https://octamile-api.azurewebsites.net \
  -H "Content-Type: application/json" \
  -d '{
    "userInfo": {
      "id": "YOUR_PARTNER_ID",
      "athrzt": { "id": "YOUR_AUTH_ID", "key": "YOUR_AUTH_KEY" }
    },
    "cmmnd": {
      "cmmnd": "prfl entity",
      "seed": {
        "type": "s",
        "class": "h",
        "name": { "first": "Innocent", "last": "Egbeigwe" },
        "phoneNo": "+2348063639347",
        "eMail": "innocent.e@email.com",
        "gender": "m",
        "dob": { "date": "1980-07-03" },
        "addrss": { "addrss": "17 Ishola Street, Lagos, Nigeria" }
      }
    }
  }'

Response: Returns id — store as consumer_id.


Step 3 — Request Policy

Prerequisite: The {CONSUMER_ID} in the command string must be the id returned by SR05 using the same API credentials you are using here. Passing a UUID not returned by SR05 will result in a 409 Consumer not found error.

Individual plan

curl -X POST https://octamile-api.azurewebsites.net \
  -H "Content-Type: application/json" \
  -d '{
    "userInfo": {
      "id": "YOUR_PARTNER_ID",
      "athrzt": { "id": "YOUR_AUTH_ID", "key": "YOUR_AUTH_KEY" }
    },
    "cmmnd": {
      "cmmnd": "entt_{CONSUMER_ID}: insure",
      "seed": {
        "ctgry": "ltix",
        "type": "stnd",
        "pckg": "1111",
        "insrncDrtn": "15d",
        "id": "YOUR_32_CHAR_TX_REF",
        "addtnlFact": {
          "planType": "individual",
          "destination": "France",
          "departureDate": "2024-08-24",
          "returnDate": "2024-09-08",
          "passportNo": "B50120600",
          "occupation": "Business",
          "nokName": "Ngozi Ugochukwu",
          "nokRelationship": "Spouse",
          "nokPhone": "+2348039361541"
        }
      }
    }
  }'

Family plan

For a family plan, include the primary traveler's details at the top level as normal, plus a passengers array for each additional traveler.

curl -X POST https://octamile-api.azurewebsites.net \
  -H "Content-Type: application/json" \
  -d '{
    "userInfo": {
      "id": "YOUR_PARTNER_ID",
      "athrzt": { "id": "YOUR_AUTH_ID", "key": "YOUR_AUTH_KEY" }
    },
    "cmmnd": {
      "cmmnd": "entt_{CONSUMER_ID}: insure",
      "seed": {
        "ctgry": "ltix",
        "type": "stnd",
        "pckg": "1111",
        "insrncDrtn": "15d",
        "id": "YOUR_32_CHAR_TX_REF",
        "addtnlFact": {
          "planType": "family",
          "destination": "France",
          "departureDate": "2024-08-24",
          "returnDate": "2024-09-08",
          "passportNo": "B50120600",
          "occupation": "Business",
          "nokName": "Ngozi Ugochukwu",
          "nokRelationship": "Spouse",
          "nokPhone": "+2348039361541",
          "passengers": [
            {
              "firstName": "Chika",
              "lastName": "Egbeigwe",
              "dob": "1982-03-15",
              "passportNo": "B60234500",
              "gender": "f",
              "occupation": "Teacher"
            }
          ]
        }
      }
    }
  }'

Required Fields

Field Type Description
ctgry string Always "ltix"
type string Always "stnd"
pckg string Always "1111"
insrncDrtn string Duration tier matching the quote
id string Your 32-char lowercase alphanumeric transaction reference
addtnlFact.planType string individual or family
addtnlFact.destination string Destination country — must match a supported country
addtnlFact.departureDate string ISO 8601 (YYYY-MM-DD)
addtnlFact.returnDate string ISO 8601 (YYYY-MM-DD)
addtnlFact.passportNo string Primary traveler's passport number
addtnlFact.occupation string Primary traveler's occupation
addtnlFact.nokName string Next of kin full name
addtnlFact.nokRelationship string Relationship to traveler
addtnlFact.nokPhone string Next of kin phone number

Family Plan — Additional Traveler Fields (passengers array)

Required for planType: "family". Each entry in the passengers array must have:

Field Type Required Description
firstName string Yes
lastName string Yes
dob string Yes ISO 8601 (YYYY-MM-DD)
passportNo string Yes
gender string No "m" or "f"
occupation string No

Optional Fields

Field Type Description
addtnlFact.middleName string Primary traveler's middle name
addtnlFact.nokAddress string Next of kin address
addtnlFact.isHajj boolean true for Hajj & Umrah

Response:

{
  "exctnFdbck": { "id": 75 }
}


Step 4 — Check Policy Status

curl -X POST https://octamile-api.azurewebsites.net \
  -H "Content-Type: application/json" \
  -d '{
    "userInfo": {
      "id": "YOUR_PARTNER_ID",
      "athrzt": { "id": "YOUR_AUTH_ID", "key": "YOUR_AUTH_KEY" }
    },
    "cmmnd": {
      "cmmnd": "dump entt_{CONSUMER_ID}|insr_ltix-stnd-1111-{TX_ID}*STATUS"
    }
  }'

Status values

status Meaning Next step
"p" Pending — SanlamAllianz is processing the booking Continue polling
"a" Approved — certificate URL in response Done
"d" Declined — see statusNote for the reason Do not retry; contact Octamile

Polling: Travel policies typically approve within 60 seconds. Poll every 10–30 seconds. In test mode, approval is instant.

Approved response (live mode):

{
  "exctnFdbck": { "id": 75, "id_v4": 200 },
  "status": "a",
  "certUrl": "https://..."
}

In test mode, the response includes both policyNo (a demo number) and certUrl (a demo link). In live mode, only certUrl is returned.


Common Errors

Error Likely cause Fix
destination not provided destination missing from Step 1 seed Include destination as a required field in your SR10 call
Destination country not recognised Country name not in the supported list Use one of the supported country names from the table at the top of this guide
Nigeria is the country of origin destination set to "Nigeria" Travel must be to a foreign country
Invalid duration for plan Using 7d92d with Hajj, or 15d/25d/45d without isHajj Hajj durations are exclusive
Age exceeds limit travelerAge > 80 Maximum insurable age is 80 years
Missing next of kin nokName, nokRelationship, or nokPhone not provided All three are required
Missing passenger fields Family plan with incomplete passengers entry Each passenger needs firstName, lastName, dob, passportNo

See also