{
  "info": {
    "name": "Voraal API · Travel insurance",
    "description": "Insurance quotes and policies.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Booking flow",
      "item": [
        {
          "name": "Search insurance plans",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "apikey",
                "value": "{{apikey}}",
                "type": "text"
              },
              {
                "key": "secretecode",
                "value": "{{secretecode}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/travel-insurance/search",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "travel-insurance",
                "search"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"location\": \"all\",\n  \"journey_start_date\": \"2026-12-15\",\n  \"journey_end_date\": \"2026-12-20\",\n  \"pax_type\": \"Individual\",\n  \"travelers\": [\n    {\n      \"dob\": \"1990-01-01\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Returns available plans in `data[]` (empty on demo for location all) plus `category_items`, `stay_duration_days`, `connected_insurance`. Sample: docs/samples/travel-insurance/search.json."
          },
          "response": []
        },
        {
          "name": "Validate a selected plan",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "apikey",
                "value": "{{apikey}}",
                "type": "text"
              },
              {
                "key": "secretecode",
                "value": "{{secretecode}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/travel-insurance/validation",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "travel-insurance",
                "validation"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"insurance_code\": \"plan-code-1\",\n  \"location\": \"all\",\n  \"journey_start_date\": \"2026-12-15\",\n  \"journey_end_date\": \"2026-12-20\",\n  \"pax_type\": \"Individual\",\n  \"travelers\": [\n    {\n      \"dob\": \"1990-01-01\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Validates one plan. b2b treats a missing `data.insurance_code` as no result and uses the body as checkout data. Search fields are repeated; `addons` is sent as [] by the details page (Observed in itt_b2b; semantics unconfirmed)."
          },
          "response": []
        },
        {
          "name": "Save traveller details",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "apikey",
                "value": "{{apikey}}",
                "type": "text"
              },
              {
                "key": "secretecode",
                "value": "{{secretecode}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/travel-insurance/update-travellers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "travel-insurance",
                "update-travellers"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"booking_tracking_id\": \"11000000000EXAMPLE\",\n  \"member_id\": \"1\",\n  \"save_pax\": \"no\",\n  \"passenger\": [\n    {\n      \"title\": \"Mr\",\n      \"gender\": \"M\",\n      \"first_name\": \"Test\",\n      \"last_name\": \"Traveller\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Saves traveller data for a booking. b2b derives `gender` (M/F) from `title` and adds optional `child<N>_name`, `child<N>_dob`, `child<N>_passportno` keys."
          },
          "response": []
        },
        {
          "name": "Create insurance order",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "apikey",
                "value": "{{apikey}}",
                "type": "text"
              },
              {
                "key": "secretecode",
                "value": "{{secretecode}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/travel-insurance/create-order",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "travel-insurance",
                "create-order"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"booking_tracking_id\": \"11000000000EXAMPLE\",\n  \"member_id\": \"1\",\n  \"isd_code\": \"+000\",\n  \"contact_no\": \"0000000000\",\n  \"email_address\": \"user@example.com\",\n  \"payment_type\": \"account_balance\",\n  \"redirect_url\": \"https://example.com/booking-details/insurance\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "On success b2b reads `tracking_id` (booking) and `pay_tracking_id` (card payment via checkout gateway). b2b default payment_type is account_balance; other values unconfirmed."
          },
          "response": []
        }
      ]
    },
    {
      "name": "More endpoints",
      "item": [
        {
          "name": "List destination countries and groups",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "apikey",
                "value": "{{apikey}}",
                "type": "text"
              },
              {
                "key": "secretecode",
                "value": "{{secretecode}}",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/travel-insurance/location",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "travel-insurance",
                "location"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"member_id\": \"1\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Returns `data[]` of `country_code`, `country_name`, `is_group` (0/1). Verified on demo. Sample: docs/samples/travel-insurance/location.json."
          },
          "response": []
        }
      ]
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://serviceapi.rezencia.com"
    }
  ]
}