Creating a New Trip
This tutorial shows you how to create and submit a service application for a new trip in Fluxir. It guides you through the process of creating a new service application in Fluxir.
Workflow
Send a POST request to retrieve service intents for a specific trip context:
Use the Get all supported countries for trip planning or refer to the Supported Countries for a list of countries available for planning a trip.
- Request
- Response
curl -X POST 'https://api.fluxir.com/api/app/travel-services/service-intents' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: en' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H 'X-Tenant: <YOUR_TENANT_ID>' \
--data-raw '{
"serviceTypesFilter": [],
"tripContext": {
"items": {
"system.tripFrom": "2025-07-30",
"system.tripTo": "2025-08-20",
"system.tripOrigination": "JOR",
"system.tripDestination": "ARE"
},
"travelerContexts": []
},
"inputRestrictionMode": "ByPassOnMissing",
"continuationToken": ""
}'
{
"items": [
{
"serviceType": "Insurance",
"provider": "TamkeenInsurance",
"destinationCountryCode": null,
"serviceIntentKey": "Insurance-TamkeenInsurance-PlanA",
"title": "Insurance",
"description": "Tamkeen Insurance",
"info": "75000$ Coverage - Trip Cancellation - Lugguage Cover",
"tags": [],
"documentSchemeVersionId": 781,
"pricingRecords": [
{
"serviceType": "Insurance",
"referenceId": null,
"feeScope": "PerService",
"paymentModel": "OneTime",
"title": "Insurance Fee",
"fee": 0,
"commission": 0,
"code": null
}
],
"serviceTypeId": null,
"fee": 0,
"callToActions": [],
"extraProperties": {
"stayDuration": "90",
"stayDurationUnit": "Days"
},
"isDisabled": false,
"disableReasons": []
},
{
"serviceType": "Visa",
"provider": "Fluxir",
"destinationCountryCode": "ARE",
"serviceIntentKey": "Visa-Fluxir-ARE-2",
"title": "United Arab Emirates eVisa",
"description": "United Arab Emirates eVisa",
"info": "A one month tourist visa for the United Arab Emirates allows an individual to visit the UAE for a period of up to 30 days. This type of visa is typically issued for single entry, meaning that the holder can only enter the UAE once during the validity of the visa. The purpose of the visit must be tourism or business, and the visa holder is not allowed to work or engage in any other activities that are not related to tourism or business.",
"tags": [],
"documentSchemeVersionId": 792,
"pricingRecords": [
{
"serviceType": "Visa",
"referenceId": 2,
"feeScope": "PerService",
"paymentModel": "OneTime",
"title": "Government Fee",
"fee": 86,
"commission": 0,
"code": "GOV-1"
},
{
"serviceType": "Visa",
"referenceId": null,
"feeScope": "Global",
"paymentModel": "OneTime",
"title": "Application",
"fee": 35,
"commission": 0,
"code": "VisaComplexityLow_Individual"
}
],
"serviceTypeId": 2,
"fee": 121,
"callToActions": [],
"extraProperties": {
"visaFree": "false",
"appliersCount": "497",
"approvalRate": "98",
"stayDuration": "30",
"stayDurationUnit": "Days",
"validityPeriod": "2",
"validityPeriodUnit": "Months",
"requirements": "Mandatory requirements\n\nCompleted application form\n6x6cm photograph in colour (minimum of 600x600 pixels) with a white background (at least 80% of your face should be visible)\nColour copy of your passport showing your full name, nationality, date and place of birth, passport number, date of issue and expiry, name of father / legal guardian, and the name of your mother\nValid passport with at least six months validity at the time of travel\nConfirmed ticket travelling into Abu Dhabi Airport and onwards from Abu Dhabi to a third destination\n",
"visaFormat": "eVisa",
"entries": "Single",
"expectedProcessingTimeUnit": "Day(s)",
"expectedProcessingTime": "3"
},
"isDisabled": false,
"disableReasons": []
},
{
"serviceType": "Visa",
"provider": "Fluxir",
"destinationCountryCode": "ARE",
"serviceIntentKey": "Visa-Fluxir-ARE-4",
"title": "United Arab Emirates eVisa",
"description": "United Arab Emirates eVisa",
"info": "Tourism visa 2 months",
"tags": [],
"documentSchemeVersionId": 793,
"pricingRecords": [
{
"serviceType": "Visa",
"referenceId": 4,
"feeScope": "PerService",
"paymentModel": "OneTime",
"title": "Government Fee",
"fee": 220,
"commission": 0,
"code": "GOV-3"
},
{
"serviceType": "Visa",
"referenceId": null,
"feeScope": "Global",
"paymentModel": "OneTime",
"title": "Application Fee (Individual)",
"fee": 0,
"commission": 0,
"code": "VisaComplexityNone_Individual"
}
],
"serviceTypeId": 4,
"fee": 220,
"callToActions": [],
"extraProperties": {
"visaFree": "false",
"appliersCount": "6",
"approvalRate": "83",
"stayDuration": "60",
"stayDurationUnit": "Days",
"validityPeriod": "2",
"validityPeriodUnit": "Months",
"requirements": "Mandatory requirements\n\nCompleted application form\n6x6cm photograph in colour (minimum of 600x600 pixels) with a white background (at least 80% of your face should be visible)\nColour copy of your passport showing your full name, nationality, date and place of birth, passport number, date of issue and expiry, name of father / legal guardian, and the name of your mother\nValid passport with at least six months validity at the time of travel\nConfirmed ticket travelling into Abu Dhabi Airport and onwards from Abu Dhabi to a third destination",
"visaFormat": "eVisa",
"entries": "Single",
"expectedProcessingTimeUnit": "Day(s)",
"expectedProcessingTime": "3"
},
"isDisabled": false,
"disableReasons": []
},
{
"serviceType": "Visa",
"provider": "Fluxir",
"destinationCountryCode": "ARE",
"serviceIntentKey": "Visa-Fluxir-ARE-25",
"title": " United Arab Emirates eVisa (Urgent)",
"description": " United Arab Emirates eVisa (Urgent)",
"info": "Urgent one month tourist visa for the United Arab Emirates allows an individual to visit the UAE for a period of up to 30 days. This type of visa is typically issued for single entry, meaning that the holder can only enter the UAE once during the validity of the visa. The purpose of the visit must be tourism or business, and the visa holder is not allowed to work or engage in any other activities that are not related to tourism or business.",
"tags": [],
"documentSchemeVersionId": 794,
"pricingRecords": [
{
"serviceType": "Visa",
"referenceId": 25,
"feeScope": "PerService",
"paymentModel": "OneTime",
"title": "Government Fee",
"fee": 150,
"commission": 0,
"code": "GOV-22"
},
{
"serviceType": "Visa",
"referenceId": null,
"feeScope": "Global",
"paymentModel": "OneTime",
"title": "Application",
"fee": 75,
"commission": 0,
"code": "VisaComplexityHigh_Individual"
}
],
"serviceTypeId": 25,
"fee": 225,
"callToActions": [],
"extraProperties": {
"visaFree": "false",
"appliersCount": "61",
"approvalRate": "100",
"stayDuration": "30",
"stayDurationUnit": "Days",
"validityPeriod": "2",
"validityPeriodUnit": "Months",
"requirements": "Mandatory requirements\nPassport\nCompleted application form\n6x6cm photograph in colour (minimum of 600x600 pixels) with a white background (at least 80% of your face should be visible)\nColour copy of your passport showing your full name, nationality, date and place of birth, passport number, date of issue and expiry, name of father / legal guardian, and the name of your mother\nValid passport with at least six months validity at the time of travel\nConfirmed ticket travelling into Abu Dhabi Airport and onwards from Abu Dhabi to a third destination",
"visaFormat": "eVisa",
"entries": "Single",
"expectedProcessingTimeUnit": "Hour(s)"
},
"isDisabled": false,
"disableReasons": []
},
{
"serviceType": "Visa",
"provider": "Fluxir",
"destinationCountryCode": "ARE",
"serviceIntentKey": "Visa-Fluxir-ARE-596",
"title": "United Arab Emirates eVisa",
"description": "United Arab Emirates eVisa",
"info": "Multiple entry 1 month eVisa",
"tags": [],
"documentSchemeVersionId": 795,
"pricingRecords": [
{
"serviceType": "Visa",
"referenceId": 596,
"feeScope": "PerService",
"paymentModel": "OneTime",
"title": "Goverment Fee",
"fee": 220,
"commission": 0,
"code": "GOV-596"
},
{
"serviceType": "Visa",
"referenceId": null,
"feeScope": "Global",
"paymentModel": "OneTime",
"title": "Application",
"fee": 50,
"commission": 0,
"code": "VisaComplexityMedium_Individual"
}
],
"serviceTypeId": 596,
"fee": 270,
"callToActions": [],
"extraProperties": {
"visaFree": "false",
"appliersCount": "0",
"approvalRate": "100",
"stayDuration": "1",
"stayDurationUnit": "Months",
"validityPeriod": "58",
"validityPeriodUnit": "Days",
"requirements": "",
"visaFormat": "eVisa",
"entries": "Multiple",
"expectedProcessingTimeUnit": "Day(s)",
"expectedProcessingTime": "3"
},
"isDisabled": false,
"disableReasons": []
},
{
"serviceType": "Visa",
"provider": "Fluxir",
"destinationCountryCode": "ARE",
"serviceIntentKey": "Visa-Fluxir-ARE-597",
"title": "United Arab Emirates eVisa",
"description": "United Arab Emirates eVisa",
"info": "Multiple entry 2 months eVisa",
"tags": [],
"documentSchemeVersionId": 780,
"pricingRecords": [
{
"serviceType": "Visa",
"referenceId": 597,
"feeScope": "PerService",
"paymentModel": "OneTime",
"title": "Goverment Fee",
"fee": 300,
"commission": 0,
"code": "GOV-597"
},
{
"serviceType": "Visa",
"referenceId": null,
"feeScope": "Global",
"paymentModel": "OneTime",
"title": "Application",
"fee": 75,
"commission": 0,
"code": "VisaComplexityHigh_Individual"
}
],
"serviceTypeId": 597,
"fee": 375,
"callToActions": [],
"extraProperties": {
"visaFree": "false",
"appliersCount": "0",
"approvalRate": "100",
"stayDuration": "2",
"stayDurationUnit": "Months",
"validityPeriod": "60",
"validityPeriodUnit": "Days",
"requirements": "",
"visaFormat": "eVisa",
"entries": "Multiple",
"expectedProcessingTimeUnit": "Day(s)",
"expectedProcessingTime": "3"
},
"isDisabled": false,
"disableReasons": []
},
{
"serviceType": "Visa",
"provider": "Fluxir",
"destinationCountryCode": "ARE",
"serviceIntentKey": "Visa-Fluxir-ARE-604",
"title": "UAE e-VISA Renewal ",
"description": "UAE e-VISA Renewal ",
"info": "Extension for an existing e-Visa.",
"tags": [],
"documentSchemeVersionId": 827,
"pricingRecords": [
{
"serviceType": "Visa",
"referenceId": 604,
"feeScope": "PerService",
"paymentModel": "OneTime",
"title": "Goverment Fee",
"fee": 300,
"commission": 0,
"code": "GOV-604"
},
{
"serviceType": "Visa",
"referenceId": null,
"feeScope": "Global",
"paymentModel": "OneTime",
"title": "Application",
"fee": 75,
"commission": 0,
"code": "VisaComplexityHigh_Individual"
}
],
"serviceTypeId": 604,
"fee": 375,
"callToActions": [],
"extraProperties": {
"visaFree": "false",
"appliersCount": "2",
"approvalRate": "100",
"stayDuration": "30",
"stayDurationUnit": "Days",
"validityPeriod": "30",
"validityPeriodUnit": "Days",
"requirements": "Valid UAE e-Visa",
"visaFormat": "eVisa",
"entries": "Single",
"expectedProcessingTimeUnit": "Day(s)",
"expectedProcessingTime": "7"
},
"isDisabled": false,
"disableReasons": []
}
]
}
The response will be an array of available service intents for the defined trip context. Select a service intent to be used in the next steps.
This request will retrieve the data you'll need to fill for the chosen service.
You need the documentSchemeVersionId from the service intent selected on Step 1.
- Request
- Response
curl -X GET 'https://api.fluxir.com/api/app/documents-scheme/?visaSchemeVersionId=<VERSION_ID>&normalized=true' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: en' \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H 'X-Tenant: <YOUR_TENANT_ID>'
[
{
"documentsSchemeVersionId": 781,
"nameId": "mainSection",
"order": 0,
"isOptional": false,
"isRecurrent": false,
"maxRecurrency": 0,
"description": null,
"title": {
"nameId": "mainSection.title",
"isSystem": false,
"values": [
{
"language": "English",
"value": "Main Section",
"id": 19
}
],
"isMarkdown": false,
"id": 26
},
"items": [
{
"nameId": "passportNumber",
"description": {
"nameId": "passportNumber.description",
"isSystem": false,
"values": [],
"isMarkdown": false,
"id": 4217
},
"order": 0,
"isSystem": false,
"title": {
"nameId": "system.passportNo",
"isSystem": true,
"values": [
{
"language": "English",
"value": "Passport No.",
"id": 1
}
],
"isMarkdown": false,
"id": 1
},
"itemType": "String",
"enumValue": null,
"validationIsRequired": true,
"validationMinLength": null,
"validationMaxLength": null,
"validationRegexp": null,
"calculationExpression": null,
"isPii": null,
"availabilityCondition": null,
"hasAvailabilityCondition": null,
"id": 3463
},
{
"nameId": "nameEnglish",
"description": {
"nameId": "nameEnglish.description",
"isSystem": false,
"values": [],
"isMarkdown": false,
"id": 4218
},
"order": 1,
"isSystem": false,
"title": {
"nameId": "nameEnglish.title",
"isSystem": false,
"values": [
{
"language": "English",
"value": "Full name ",
"id": 2147
}
],
"isMarkdown": false,
"id": 2374
},
"itemType": "String",
"enumValue": null,
"validationIsRequired": true,
"validationMinLength": null,
"validationMaxLength": null,
"validationRegexp": null,
"calculationExpression": null,
"isPii": null,
"availabilityCondition": null,
"hasAvailabilityCondition": null,
"id": 3465
},
{
"nameId": "dateOfBirth",
"description": {
"nameId": "dateOfBirth.description",
"isSystem": false,
"values": [],
"isMarkdown": false,
"id": 4219
},
"order": 2,
"isSystem": false,
"title": {
"nameId": "system.dateOfBirth",
"isSystem": true,
"values": [
{
"language": "English",
"value": "Date of birth",
"id": 7
}
],
"isMarkdown": false,
"id": 7
},
"itemType": "Date",
"enumValue": null,
"validationIsRequired": true,
"validationMinLength": null,
"validationMaxLength": null,
"validationRegexp": null,
"calculationExpression": null,
"isPii": null,
"availabilityCondition": null,
"hasAvailabilityCondition": null,
"id": 3468
},
{
"nameId": "gender",
"description": {
"nameId": "gender.description",
"isSystem": false,
"values": [],
"isMarkdown": false,
"id": 4220
},
"order": 3,
"isSystem": false,
"title": {
"nameId": "gender.title",
"isSystem": false,
"values": [
{
"language": "English",
"value": "Gender",
"id": 2148
}
],
"isMarkdown": false,
"id": 2375
},
"itemType": "Enum",
"enumValue": {
"nameId": "system.gender",
"isSystem": true,
"enumValues": [
{
"nameId": "gender.male",
"title": {
"nameId": "system.male",
"isSystem": true,
"values": [
{
"language": "English",
"value": "Male",
"id": 14
}
],
"isMarkdown": false,
"id": 14
},
"description": null,
"id": 13
},
{
"nameId": "gender.female",
"title": {
"nameId": "system.female",
"isSystem": true,
"values": [
{
"language": "English",
"value": "Female",
"id": 13
}
],
"isMarkdown": false,
"id": 13
},
"description": null,
"id": 14
}
],
"source": null,
"id": 1
},
"validationIsRequired": true,
"validationMinLength": null,
"validationMaxLength": null,
"validationRegexp": null,
"calculationExpression": null,
"isPii": null,
"availabilityCondition": null,
"hasAvailabilityCondition": null,
"id": 3471
}
],
"id": 2629
}
]
This response will present you with the needed information to create a travel service application (Step 5).
Here, you'll find the information your customer needs to provide for the chosen service. This is found in the items key of the response, which is an array of objects.
Create a new trip.
- Request
- Response
curl -X POST 'https://api.fluxir.com/api/app/trip' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: en' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H 'X-Tenant: <YOUR_TENANT_ID>' \
--data-raw '{
"originationCode": "JOR",
"destinatonCode": "ARE",
"description": null,
"visaApplicationIds": null,
"notes": null,
"from": "2025-07-30",
"to": "2025-08-20"
}'
{
"serviceApplications": [],
"visaType": null,
"originationCode": "JOR",
"destinationCode": "ARE",
"description": null,
"notes": null,
"from": "2025-07-30",
"to": "2025-08-20",
"tenantId": "<YOUR_TENANT_ID>",
"id": 10798
}
You will later (Step 5) connect the Travel Service Application you create to this trip.
Retrieve a list of available travelers to select the person that will be connected to the trip.
- Request
- Response
curl -X GET 'https://api.fluxir.com/api/app/persons?skipCount=0&maxResultCount=15&descending=false' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: en' \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H 'X-Tenant: <YOUR_TENANT_ID>'
{
"totalCount": 2,
"items": [
{
"firstName": "Gabriel",
"lastName": "Raeder",
"email": null,
"residenceCountry": "BRA",
"birthDate": "1991-05-30",
"hasVisas": null,
"identityDocuments": [],
"socialAccounts": null,
"employmentInfo": [],
"visas": [],
"serviceApplications": [
{
"personName": "Gabriel Raeder",
"personId": 7459,
"serviceType": "Insurance",
"providerName": "TamkeenInsurance",
"serviceIntentKey": "Insurance-TamkeenInsurance-PlanA",
"destinationCode": "ARE",
"originationCode": "JOR",
"description": "Tamkeen Insurance Policy PlanA",
"price": 0,
"creationTime": "2025-07-02T19:07:09.744781+00:00",
"state": "ReadyForPayment",
"checkoutStatus": "Unknown",
"hasDownloadableContent": false,
"serviceTypeId": null,
"applyingTime": null,
"dueDate": "2025-07-30",
"expectedCompletionDate": null,
"issuanceTime": null,
"tenantId": "<YOUR_TENANT_ID>",
"appointments": [],
"id": 9256
}
],
"document": {
"documentsSchemeVersionId": 899,
"items": {
"gender.title": "gender.title.sir",
"traveler.dateOfBirth": "1991-05-30",
"traveler.firstName": "Gabriel",
"traveler.lastName": "Raeder",
"traveler.nationality": "BRA",
"traveler.placeOfBirth": "Rio de Janeiro"
},
"id": 18080
},
"id": 7459
},
{
"firstName": "John",
"lastName": "Doe",
"email": "johndoe@email.com",
"residenceCountry": null,
"birthDate": null,
"hasVisas": null,
"identityDocuments": [],
"socialAccounts": null,
"employmentInfo": [],
"visas": [],
"serviceApplications": [],
"document": {
"documentsSchemeVersionId": 899,
"items": {
"traveler.firstName": "John",
"traveler.lastName": "Doe"
},
"id": 18003
},
"id": 7426
}
]
}
This endpoint returns a list of previously created travelers. You need to select the person you want to use, and extract the id to be used in the (next step).
Instead of choosing an existing traveler, you can create a new one. To create a new traveler, use the following endpoint:
Create a New Person
Now, you need to create the travel service application, following the instructions below:
-
From step 1, add the
documentVersionIdfrom the selected service intent. -
From step 2, use the
itemsarray information filled by your customer to send the needed information to create the travel service application. -
From step 3, use the trip's
idin thetripIdfield to link the application to the trip.Service Application LimitsA trip cannot contain multiple service applications of the same type for the same traveler.
For example, you cannot add two insurance policies or two visa applications for the same person within a single trip.However, the same service type can be applied to different travelers in the same trip.
-
From step 4, use the traveler's
idin thepersonIdfield to link the application to the traveler.
- Request
- Response
curl -X POST 'https://api.fluxir.com/api/app/travel-services' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: en' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H 'X-Tenant: <YOUR_TENANT_ID>' \
--data-raw '{
"serviceType": "Insurance",
"providerName": "TamkeenInsurance",
"serviceIntentKey": "Insurance-TamkeenInsurance-PlanA",
"personId": <PERSON_ID_FROM_STEP_4>,
"tripId": <TRIP_ID_FROM_STEP_3>,
"documentVersionId": <DOCUMENT_VERSION_ID_FROM_STEP_1>,
"items": {
<LIST_OF_ITEMS_FROM_STEP_2>
},
"state": "Draft",
"serviceTypeId": null
}'
{
"personId": 7459,
"billingTripId": 10800,
"billingTripFrom": "2025-07-30",
"billingTripTo": "2025-08-20",
"serviceType": "Insurance",
"providerName": "TamkeenInsurance",
"serviceIntentKey": "Insurance-TamkeenInsurance-PlanA",
"notes": null,
"description": "Tamkeen Insurance Policy PlanA",
"destinationCode": "ARE",
"originationCode": "JOR",
"state": "Draft",
"document": {
"documentsSchemeVersionId": 781,
"items": {
"passportNumber": "",
"nameEnglish": "",
"dateOfBirth": "",
"gender": ""
},
"id": 18122
},
"pricingRecords": [
{
"serviceApplicationId": 9278,
"feeScope": "PerService",
"paymentModel": "OneTime",
"serviceType": "Insurance",
"title": "Insurance Fee",
"fee": 0,
"code": null,
"id": 0
}
],
"isPaid": false,
"travelerFirstName": "Gabriel",
"travelerLastName": "Raeder",
"creationTime": "2025-07-04T17:30:13.4680637+00:00",
"lastModificationTime": null,
"applyingTime": null,
"dueDate": "2025-07-30",
"expectedCompletionDate": null,
"issuanceTime": null,
"appointments": [],
"id": 9278
}
If you want to add a service application of a new type that hasn't been added to the trip yet,
you must first perform a service intent search to obtain the relevant serviceIntentKey and documentVersionId.
These values are required to correctly create the service application for the selected service type.
Recognize Identity Documents (Optional)
If a new identity document is needed or an existing one should be updated, follow these steps:
Passport Recognition
Create Identity Document
Update Identity Document
Upload Attachment
These endpoints allow you to recognize document data from an image and store it as structured identity information.
If the customer still needs to update their information, or if you need to change the application status, you will need to update the Travel Service Application. You'll use the following endpoint to update it:
- Request
- Response
curl -X PATCH '/api/app/travel-services/<TRAVEL_SERVICE_ID>' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: en' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H 'X-Tenant: <YOUR_TENANT_ID>' \
--data-raw '{
"state": "Draft",
"items": {
"passportNumber": "569569595",
"nameEnglish": "John Doe",
"dateOfBirth": "1991-05-29",
"gender": "gender.male",
},
"state": "ReadyForPayment"
}'
{
"personId": 7459,
"billingTripId": 10800,
"billingTripFrom": "2025-07-30",
"billingTripTo": "2025-08-20",
"serviceType": "Insurance",
"providerName": "TamkeenInsurance",
"serviceIntentKey": "Insurance-TamkeenInsurance-PlanA",
"notes": null,
"description": "Tamkeen Insurance Policy PlanA",
"destinationCode": "ARE",
"originationCode": "JOR",
"state": "ReadyForPayment",
"document": {
"documentsSchemeVersionId": 781,
"items": {
"dateOfBirth": "1991-05-30",
"gender": "gender.male",
"nameEnglish": "Gabriel Goncalves",
"passportNumber": "2121212"
},
"id": 18122
},
"pricingRecords": [
{
"serviceApplicationId": 9278,
"feeScope": "PerService",
"paymentModel": "OneTime",
"serviceType": "Insurance",
"title": "Insurance Fee",
"fee": 21,
"code": "TamkeenInsurance_PlanA_30_70",
"id": 16877
}
],
"isPaid": false,
"travelerFirstName": "Gabriel",
"travelerLastName": "Raeder",
"creationTime": "2025-07-04T17:30:13.468063+00:00",
"lastModificationTime": "2025-07-04T17:32:03.6762563+00:00",
"applyingTime": null,
"dueDate": "2025-07-30",
"expectedCompletionDate": null,
"issuanceTime": null,
"appointments": [],
"id": 9278
}
Refer to the Application Status reference page for a list of possible statuses an application can have.
After the travel status is ready for payment, you need to present the customer with the payment URL, and, after they pay, let the system now the checkout is finalized.
-
Retrieve the checkout URL, using the
tripId:
- Request
- Response
curl -X GET "https://api.fluxir.com/api/app/trip/<TRIP_ID>/checkout?serviceApplicationIds=<SERVICE_APP_IDS>&successUrl=<URL_ENCODED_SUCCESS_URL>&cancelUrl=<URL_ENCODED_CANCEL_URL>" \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: en' \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H 'X-Tenant: <YOUR_TENANT_ID>'{
"result": "cs_test_a1weSayiHvw9a8gVV6cIuICiZ48zcOg8RA5slLBHGXp9NAUir1DkWF9WAw"
}Attach the result value with the following Stripe URL:
https://checkout.stripe.com/c/pay/cs_test_a1weSayiHvw9a8gVV6cIuICiZ48zcOg8RA5slLBHGXp9NAUir1DkWF9WAwAfter you receive the checkout URL from the response, redirect your user there and let them complete payment.
-
Once the user is redirected to your
successUrl, wait for at least 5 seconds, and make a request to the Finalize checkout endpoint to complete the process.
- Request
- Response
curl -X POST "https://api.fluxir.com/api/app/trip/<TRIP_ID>/finalize-checkout" \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: en' \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H 'X-Tenant: <YOUR_TENANT_ID>' \
--data-raw ''{
"serviceApplications": [
{
"personName": "Gabriel Goncalves",
"personId": 7849,
"serviceType": "Insurance",
"providerName": "TamkeenInsurance",
"serviceIntentKey": "Insurance-TamkeenInsurance-PlanA",
"destinationCode": "ARE",
"originationCode": "JOR",
"description": "Tamkeen Insurance Policy PlanA",
"price": 0,
"creationTime": "2025-07-16T20:58:13.724814+00:00",
"state": "Draft",
"checkoutStatus": "Unknown",
"hasDownloadableContent": false,
"serviceTypeId": null,
"applyingTime": null,
"dueDate": "2025-07-30",
"expectedCompletionDate": null,
"issuanceTime": null,
"tenantId": "3a1ac8ff-78cc-4324-f1d8-3c74664904ce",
"tripId": 11174,
"appointments": [],
"id": 9738
}
],
"visaType": null,
"originationCode": "JOR",
"destinationCode": "ARE",
"description": null,
"notes": null,
"from": "2025-07-30",
"to": "2025-08-20",
"tenantId": "3a1ac8ff-78cc-4324-f1d8-3c74664904ce",
"id": 11174
}
Remember to replace the placeholder values in the requests above before making real requests.