{"info":{"_postman_id":"a4fe9749-07da-4b53-b50a-320914e6d38b","name":"Hermex-Backend-API-Doc-Original","description":"<html><head></head><body><p>API DOC for HERMEX</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"32500125","collectionId":"a4fe9749-07da-4b53-b50a-320914e6d38b","publishedId":"2sAYJ4j1om","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-03-23T19:38:51.000Z"},"item":[{"name":"User Endpoints","item":[{"name":"Login/Register/Logout/Delete account","item":[{"name":"google-login","id":"28830ddc-e3cc-4c3d-a6d0-dd3067b88e8b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:5000/user/login/google","urlObject":{"protocol":"http","port":"5000","path":["user","login","google"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[],"_postman_id":"28830ddc-e3cc-4c3d-a6d0-dd3067b88e8b"},{"name":"user/register","id":"47868ce9-d451-4db0-8dcc-067c46b1f988","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"Rassy1\",\r\n    \"password\": \"Password1234\",\r\n    \"email\": \"boronicle@gmail.com\",\r\n    \"first_name\": \"Praise\",\r\n    \"last_name\": \"Ordu\",\r\n    \"phone_number\": \"+1234567890\",\r\n    \"country\": \"USA\",\r\n    \"preferred_language\": \"English\",\r\n    \"travel_preferences\": \"Beach, Adventure\",\r\n    \"auth_provider\": \"local\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/register","description":"<p>This endpoint allows users to register by submitting their user details via an HTTP POST request. The request should include the user's username, password, email, full name, phone number, country, preferred language, and travel preferences.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li><p><code>username</code> (string): The username of the user.</p>\n</li>\n<li><p><code>password</code> (string): The password for the user account.</p>\n</li>\n<li><p><code>email</code> (string): The email address of the user.</p>\n</li>\n<li><p><code>first_name</code> (string): The first name of the user.</p>\n</li>\n<li><p><code>last_name</code> (string): The last name of the user.</p>\n</li>\n<li><p><code>phone_number</code> (string): The phone number of the user.</p>\n</li>\n<li><p><code>country</code> (string): The country of the user.</p>\n</li>\n<li><p><code>preferred_language</code> (string): The preferred language of the user.</p>\n</li>\n<li><p><code>travel_preferences</code> (string): The travel preferences of the user.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response to the request is a JSON object with a status code of 201 (Created) and a content type of application/json. The response includes a message field, which may contain a success message or any additional information related to the registration process.</p>\n<h3 id=\"json-schema\">JSON Schema</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"message\": {\n      \"type\": \"string\"\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["user","register"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"47868ce9-d451-4db0-8dcc-067c46b1f988"},{"name":"user/login","id":"5ee7b9d2-81ac-449e-82da-51942e9f4894","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"Cyberpraise\",\r\n    \"password\": \"Jakehicks@123\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/login","description":"<h1 id=\"user-login\"><strong>User Login</strong></h1>\n<h2 id=\"description\"><strong>Description</strong></h2>\n<p>This endpoint handles user authentication via multiple methods:</p>\n<ul>\n<li><p><strong>Local authentication</strong> using a username/password or a 4-digit PIN (if configured).</p>\n</li>\n<li><p><strong>OAuth 2.0</strong> (Google/Apple) authentication (requires prior OAuth registration).</p>\n</li>\n</ul>\n<p>If Multi-Factor Authentication (MFA) is enabled, a One-Time Password (OTP) is sent via email for verification.</p>\n<hr />\n<h2 id=\"endpoint\"><strong>Endpoint</strong></h2>\n<p><code>POST {{base_url}}/login</code></p>\n<hr />\n<h2 id=\"authorization\"><strong>Authorization</strong></h2>\n<ul>\n<li><p><strong>Type</strong>: None</p>\n<ul>\n<li>No JWT token is required for this endpoint.</li>\n</ul>\n</li>\n</ul>\n<hr />\n<h2 id=\"request-body\"><strong>Request Body</strong></h2>\n<p>Send a JSON object with the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Validation</th>\n<th>Condition</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>username</code></td>\n<td>String</td>\n<td>Required</td>\n<td>Must match a registered username.</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>String</td>\n<td>Required for local auth</td>\n<td>Required if <code>auth_provider</code> is <code>local</code> <strong>and</strong> <code>pin</code> is not provided.</td>\n</tr>\n<tr>\n<td><code>pin</code></td>\n<td>String</td>\n<td>4 digits, numeric</td>\n<td>Optional for <code>local</code> auth. Used instead of <code>password</code> if provided.</td>\n</tr>\n<tr>\n<td><code>auth_provider</code></td>\n<td>String</td>\n<td><code>local</code>, <code>google</code>, or <code>apple</code></td>\n<td>Defaults to <code>local</code>. Use <code>google</code>/<code>apple</code> for OAuth logins.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Request Body (Local Auth)</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"username\": \"john_doe\",\n  \"password\": \"securePassword123\",\n  \"auth_provider\": \"local\"\n}\n\n</code></pre>\n<p><strong>Example Request Body (OAuth)</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"username\": \"jane_doe\",\n  \"auth_provider\": \"google\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"responses\"><strong>Responses</strong></h2>\n<h3 id=\"success-200-ok\"><strong>Success (200 OK)</strong></h3>\n<h4 id=\"mfa-enabled-otp-sent\"><strong>MFA Enabled (OTP Sent)</strong></h4>\n<p><strong>Description</strong>: OTP sent to the user's email.<br /><strong>Response</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"OTP sent to your registered email. Validate OTP to complete login.\",\n  \"access_token\": \"&lt;temporary-jwt&gt;\",\n  \"refresh_token\": \"&lt;refresh-jwt&gt;\"  // Only for local auth\n}\n\n</code></pre>\n<h4 id=\"mfa-disabled\"><strong>MFA Disabled</strong></h4>\n<p><strong>Description</strong>: Login successful with access/refresh tokens.<br /><strong>Response</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Login successful\",\n  \"access_token\": \"&lt;access-jwt&gt;\",\n  \"refresh_token\": \"&lt;refresh-jwt&gt;\",\n  \"user\": {\n    \"email\": \"john@example.com\",\n    \"username\": \"john_doe\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"country\": \"US\",\n    \"phone Number\": \"+1234567890\",\n    \"profile_image\": \"https://example.com/profile.jpg\",\n    \"role\": \"user\",\n    \"id\": 123\n  }\n}\n\n</code></pre>\n<hr />\n<h3 id=\"error-responses\"><strong>Error Responses</strong></h3>\n<h4 id=\"400-bad-request\"><strong>400 Bad Request</strong></h4>\n<ul>\n<li><p><strong>Conditions</strong>:</p>\n<ul>\n<li>Missing <code>username</code> or <code>password</code> (for local auth without <code>pin</code>).<br />  <strong>Example Response</strong>:</li>\n</ul>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Missing required fields\"\n}\n\n</code></pre>\n<h4 id=\"401-unauthorized\"><strong>401 Unauthorized</strong></h4>\n<ul>\n<li><p><strong>Conditions</strong>:</p>\n<ul>\n<li><p>Invalid credentials (username/password/PIN).</p>\n</li>\n<li><p>User exists but email is not verified.<br />  <strong>Example Responses</strong>:</p>\n</li>\n</ul>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid username or password\"\n}\n\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid PIN\"\n}\n\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid username or password, or email not verified\"\n}\n\n</code></pre>\n<h4 id=\"500-internal-server-error\"><strong>500 Internal Server Error</strong></h4>\n<ul>\n<li><strong>Condition</strong>: Failed to send OTP.<br />  <strong>Example Response</strong>:</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Failed to send OTP. Try again later.\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"audit-trail\"><strong>Audit Trail</strong></h2>\n<p>Log entries are created in the <code>audit_trail</code> table for these actions:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Scenario</th>\n<th>Action</th>\n<th>Details Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Invalid credentials</td>\n<td><code>Incorrect Password Used</code></td>\n<td><code>Incorrect login credentials used for 'john_doe'</code></td>\n</tr>\n<tr>\n<td>Invalid PIN</td>\n<td><code>Incorrect PIN Used</code></td>\n<td><code>Incorrect PIN used for 'john_doe'</code></td>\n</tr>\n<tr>\n<td>OTP sent</td>\n<td><code>OTP sent to user</code></td>\n<td><code>OTP sent for verification</code></td>\n</tr>\n<tr>\n<td>Login success</td>\n<td><code>Login successful</code></td>\n<td><code>User 'john_doe' logged in</code></td>\n</tr>\n<tr>\n<td>OAuth login success</td>\n<td><code>Login with Google/Apple successful</code></td>\n<td><code>User 'jane_doe' logged in via Google</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["user","login"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"4cd38e6f-8523-4666-bf4e-4ae8056ee04f","name":"with Username&Password","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"Rassy1\",\r\n    \"password\": \"123456\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Thu, 23 Jan 2025 00:48:39 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"957","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"{{vault:json-web-token}}\",\n    \"message\": \"Login successful\",\n    \"refresh_token\": \"{{vault:json-web-token}}\",\n    \"user\": {\n        \"country\": \"USA\",\n        \"email\": \"boronicle@gmail.com\",\n        \"first_name\": \"Praise\",\n        \"id\": \"8f516bc2-0394-4587-85d0-ef1139e5533a\",\n        \"last_name\": \"Ordu\",\n        \"phone Number\": \"+1234567890\",\n        \"profile_image\": null,\n        \"role\": \"user\",\n        \"username\": \"Rassy1\"\n    }\n}"},{"id":"af74af57-d747-4b66-ac72-5d2d45d80a80","name":"with Username&PIN","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"Rassy1\",\r\n    \"pin\": \"1739\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Thu, 23 Jan 2025 00:35:14 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"957","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"{{vault:json-web-token}}\",\n    \"message\": \"Login successful\",\n    \"refresh_token\": \"{{vault:json-web-token}}\",\n    \"user\": {\n        \"country\": \"USA\",\n        \"email\": \"boronicle@gmail.com\",\n        \"first_name\": \"Praise\",\n        \"id\": \"8f516bc2-0394-4587-85d0-ef1139e5533a\",\n        \"last_name\": \"Ordu\",\n        \"phone Number\": \"+1234567890\",\n        \"profile_image\": null,\n        \"role\": \"user\",\n        \"username\": \"Rassy1\"\n    }\n}"}],"_postman_id":"5ee7b9d2-81ac-449e-82da-51942e9f4894"},{"name":"/user/logout","id":"56721484-bf5c-488c-85a5-60d984207fb1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"CbPraiseq\",\r\n    \"password\": \"securepassword123\"\r\n    \r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/logout","description":"<p>This endpoint allows the user to log out and terminate their current session.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>This request does not require a request body.</p>\n<h3 id=\"response\">Response</h3>\n<p>Upon successful logout, the server will respond with a status code of 200 and a JSON object with a \"message\" key indicating the success of the logout operation.</p>\n","urlObject":{"path":["user","logout"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"56721484-bf5c-488c-85a5-60d984207fb1"},{"name":"user/set-pin","id":"314fce7e-6cf9-4f77-9389-6a55873053ae","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pin\": \"1739\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/set-pin","description":"<h1 id=\"set-user-pin\"><strong>Set User PIN</strong></h1>\n<h2 id=\"description\"><strong>Description</strong></h2>\n<p>This endpoint allows authenticated users to set or update their 4-digit PIN. The PIN is validated to ensure it contains exactly 4 numeric digits. An audit trail is recorded upon success.</p>\n<hr />\n<h2 id=\"endpoint\"><strong>Endpoint</strong></h2>\n<p><code>POST {{base_url}}/set-pin</code></p>\n<hr />\n<h2 id=\"authorization\"><strong>Authorization</strong></h2>\n<ul>\n<li><p><strong>Type</strong>: Bearer Token (JWT)</p>\n</li>\n<li><p>Authorization: Bearer</p>\n<ul>\n<li>Include the JWT token in the <code>Authorization</code> header.<br />  Example:</li>\n</ul>\n</li>\n</ul>\n<hr />\n<h2 id=\"request-body\"><strong>Request Body</strong></h2>\n<p>Send a JSON object with the following field:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Validation</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pin</code></td>\n<td>String</td>\n<td>4 digits, numeric</td>\n<td>The 4-digit PIN to set.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Request Body</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"pin\": \"1234\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"responses\"><strong>Responses</strong></h2>\n<h3 id=\"success-200-ok\"><strong>Success (200 OK)</strong></h3>\n<p><strong>Description</strong>: PIN set successfully.<br /><strong>Example Response</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"PIN set successfully\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"error-responses\"><strong>Error Responses</strong></h3>\n<h4 id=\"400-bad-request\"><strong>400 Bad Request</strong></h4>\n<ul>\n<li><p><strong>Conditions</strong>:</p>\n<ul>\n<li><p>Missing <code>pin</code> field.</p>\n</li>\n<li><p><code>pin</code> is not exactly 4 digits.</p>\n</li>\n<li><p><code>pin</code> contains non-numeric characters.<br />  <strong>Example Response</strong>:</p>\n</li>\n</ul>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"PIN must be exactly 4 digits and contain only numbers\"\n}\n\n</code></pre>\n<h4 id=\"401-unauthorized\"><strong>401 Unauthorized</strong></h4>\n<ul>\n<li><strong>Condition</strong>: Invalid or missing JWT token.<br />  <strong>Example Response</strong>:</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Missing or invalid JWT\"\n}\n\n</code></pre>\n<h4 id=\"404-not-found\"><strong>404 Not Found</strong></h4>\n<ul>\n<li><strong>Condition</strong>: User not found (based on JWT identity).<br />  <strong>Example Response:</strong></li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<h4 id=\"500-internal-server-error\"><strong>500 Internal Server Error</strong></h4>\n<ul>\n<li><strong>Condition</strong>: Server/database error (e.g., audit trail failure).<br />  <strong>Example Response</strong>:</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Internal server error\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"audit-trail\"><strong>Audit Trail</strong></h2>\n<p>A log entry is created in the <code>audit_trail</code> table with the following details:</p>\n<ul>\n<li><p><strong>Action</strong>: \"PIN set successfully\"</p>\n</li>\n<li><p><strong>Performed By</strong>: User ID from JWT.</p>\n</li>\n<li><p><strong>Target Resource</strong>: \"PIN Details\".</p>\n</li>\n<li><p><strong>Details</strong>: Describes the action (e.g., <code>\"User: 'john_doe' set their 4-digit PIN.\"</code>).</p>\n</li>\n</ul>\n","urlObject":{"path":["user","set-pin"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"314fce7e-6cf9-4f77-9389-6a55873053ae"},{"name":"check-user","id":"34b45b40-31b4-4588-b787-f7f16dba2adb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"Boron\",\r\n    \"email\": \"boronicle@gmail.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/get_user","description":"<p>StartFragment</p>\n<h2 id=\"endpoint-check-user\">Endpoint: <code>/check-user</code></h2>\n<h3 id=\"description\">Description</h3>\n<p>This endpoint checks whether a given username and email are available for registration. Both inputs are converted to lowercase before checking to ensure the validation is case-insensitive.</p>\n<h3 id=\"http-method\">HTTP Method</h3>\n<p><strong>GET</strong></p>\n<h3 id=\"query-parameters\">Query Parameters</h3>\n<ul>\n<li><p><strong>username</strong> (string, required):<br />  The desired username. It will be converted to lowercase before being checked.</p>\n</li>\n<li><p><strong>email</strong> (string, required):<br />  The desired email address. It will be converted to lowercase before being checked.</p>\n</li>\n</ul>\n<h3 id=\"responses\">Responses</h3>\n<h4 id=\"1-success-both-username-and-email-are-available\">1. Success (Both username and email are available)</h4>\n<ul>\n<li><strong>Status Code:</strong> <code>200 OK</code></li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{    \n\"username_taken\": false,    \n\"email_taken\": false,   \n\"message\": \"Username and email are available.\"\n}\n\n</code></pre>\n<ul>\n<li><p>jsonCopyEdit</p>\n</li>\n<li><p><strong>Logging:</strong><br />  An info log is recorded with the message:<br />  <code>Email and Username is available for use</code></p>\n</li>\n</ul>\n<h4 id=\"2-error-missing-parameters\">2. Error: Missing Parameters</h4>\n<ul>\n<li><strong>Status Code:</strong> <code>400 Bad Request</code></li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{    \n\"error\": \"Both username and email are required.\"\n}\n\n</code></pre>\n<ul>\n<li><strong>Description:</strong><br />  This error is returned if either the <code>username</code> or <code>email</code> parameter is not provided.</li>\n</ul>\n<h4 id=\"3-error-username-or-email-already-in-use\">3. Error: Username or Email Already in Use</h4>\n<ul>\n<li><strong>Status Code:</strong> <code>400 Bad Request</code></li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{    \n\"error\": \"Username is already in use. Email is already in use.\"\n}\n\n</code></pre>\n<ul>\n<li><p><strong>Description:</strong><br />  If the username or email (or both) is already associated with an existing user in the database, the endpoint returns an error message indicating which field is in use.</p>\n</li>\n<li><p><strong>Logging:</strong></p>\n<ul>\n<li><p>If the username is taken, an error log is recorded with:<br />  <code>Username chosen is already in use</code></p>\n</li>\n<li><p>If the email is taken, an error log is recorded with:<br />  <code>Email chosen is already in use</code></p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"usage-example\">Usage Example</h3>\n<h4 id=\"request\">Request</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-sql\">GET /check-user?username=TestUser&amp;email=Test@Example.com\n\n</code></pre>\n<h4 id=\"possible-responses\">Possible Responses</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{    \n\"username_taken\": false,    \n\"email_taken\": false,    \n\"message\": \"Username and email are available.\"\n}\n\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{    \n\"error\": \"Username is already in use.\"\n}\n\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{    \n\"error\": \"Email is already in use.\"\n}\n\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{    \n\"error\": \"Username is already in use. Email is already in use.\"\n}\n\n</code></pre>\n","urlObject":{"path":["user","get_user"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"34b45b40-31b4-4588-b787-f7f16dba2adb"},{"name":"refresh_token","id":"33c08221-8a98-4471-8d1b-152327ef4d4a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"url":"{{baseUrl}}/user/token/refresh","description":"<h2 id=\"how-it-works\"><strong>How It Works</strong></h2>\n<ol>\n<li><p>The user logs in and receives an <strong>access token</strong> and a <strong>refresh token</strong>.</p>\n</li>\n<li><p>When the <strong>access token expires</strong>, the user sends a <strong>POST request</strong> to <code>user/refresh/token</code> with the <strong>refresh token</strong> in the <strong>Authorization header</strong>.</p>\n</li>\n<li><p>The <code>user/refresh/token</code> route verifies the <strong>refresh token</strong> and issues a <strong>new access token</strong>.</p>\n</li>\n<li><p>The user can continue using the application without re-entering credentials.</p>\n</li>\n</ol>\n<hr />\n<h2 id=\"usage\"><strong>Usage</strong></h2>\n<h3 id=\"1-request-headers\"><strong>1. Request Headers</strong></h3>\n<p>Send a <code>POST</code> request to <code>user/refresh/token</code> with the <strong>refresh token</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">POST user/refresh/token\nAuthorization: Bearer &lt;refresh_token&gt;\n\n</code></pre>\n<h3 id=\"2-example-response\"><strong>2. Example Response</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"access_token\": \"new_access_token_here\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"common-issues--fixes\"><strong>Common Issues &amp; Fixes</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Issue</th>\n<th>Cause</th>\n<th>Fix</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Refresh token is rejected</td>\n<td>Token is expired or invalid</td>\n<td>Ensure you're using the correct refresh token and that it's within its expiration period</td>\n</tr>\n<tr>\n<td><code>jwt_required(refresh=True)</code> raises an error</td>\n<td>Access token was sent instead of refresh token</td>\n<td>Ensure that the <strong>refresh token</strong> is used in the <code>Authorization</code> header, not an access token</td>\n</tr>\n<tr>\n<td>Refresh token expires too quickly</td>\n<td><code>JWT_REFRESH_TOKEN_EXPIRES</code> is set too low</td>\n<td>Increase <code>JWT_REFRESH_TOKEN_EXPIRES</code> in your configuration</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["user","token","refresh"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"c95636f8-9666-44d7-8406-036b0d130fbe","name":"refresh_token","originalRequest":{"method":"POST","header":[],"url":"{{baseUrl}}/user/token/refresh"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Fri, 04 Apr 2025 18:27:39 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"413","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"{{vault:json-web-token}}\"\n}"}],"_postman_id":"33c08221-8a98-4471-8d1b-152327ef4d4a"},{"name":"user/delete-account","id":"7ee6e136-0e89-427a-9d49-a5ec1e96f2c8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"password\": \"Damilola\"\n}\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/delete-account","description":"<h2 id=\"delete-account-api\">Delete Account API</h2>\n<p>This endpoint allows users to delete their account from the system. To successfully delete an account, the user must provide their account password for verification.</p>\n<h3 id=\"request\">Request</h3>\n<ul>\n<li><p><strong>Method:</strong> POST</p>\n</li>\n<li><p><strong>URL:</strong> <code>{{baseUrl}}/user/delete-account</code></p>\n</li>\n<li><p><strong>Request Body:</strong></p>\n<ul>\n<li><strong>password</strong> (string, required): The password associated with the user's account. This is used to authenticate the request for account deletion.</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"example-request-body\">Example Request Body:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"password\": \"your_password_here\"\n}\n\n</code></pre>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><p><strong>Status Code:</strong> 200 OK</p>\n</li>\n<li><p><strong>Content-Type:</strong> application/json</p>\n</li>\n<li><p><strong>Response Body:</strong></p>\n<ul>\n<li><strong>message</strong> (string): A confirmation message indicating the result of the account deletion request. In this case, the message is returned as an empty string.</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"example-response\">Example Response:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"\"\n}\n\n</code></pre>\n<h3 id=\"notes\">Notes</h3>\n<ul>\n<li><p>Ensure that the password provided is correct, as it is required for the account deletion process.</p>\n</li>\n<li><p>The response will not contain any error messages if the deletion is successful; however, it is important to handle any potential errors in your implementation.</p>\n</li>\n</ul>\n","urlObject":{"path":["user","delete-account"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"7ee6e136-0e89-427a-9d49-a5ec1e96f2c8"}],"id":"3c9faca4-5a3f-4ced-81db-38993b80b27e","description":"<p>Endpoints for login/register/logout user functions in hermex travels</p>\n","_postman_id":"3c9faca4-5a3f-4ced-81db-38993b80b27e"},{"name":"mfa","item":[{"name":"user/validate_otp","id":"73e6cf52-f17e-40d2-9556-1672e16a0606","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"otp\": \"218759\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/validate_otp","description":"<h2 id=\"endpoint\"><strong>Endpoint</strong></h2>\n<p><code>POST /validate_otp</code></p>\n<p>This endpoint validates the One-Time Password (OTP) provided by the user for Multi-Factor Authentication (MFA) before completing the login process.</p>\n<hr />\n<h2 id=\"request-headers\"><strong>Request Headers</strong></h2>\n<p>Ensure the request includes the following headers:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Header</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Required</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Content-Type</td>\n<td><code>application/json</code></td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Authorization</td>\n<td><code>Bearer</code></td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"request-body\"><strong>Request Body</strong></h2>\n<p>The request body must include the following field in JSON format:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Required</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>otp</code></td>\n<td><code>string</code></td>\n<td>The OTP sent to the user's email.</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request-body\">Example Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"otp\": \"123456\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"response\"><strong>Response</strong></h2>\n<h3 id=\"success-response\">Success Response</h3>\n<p><strong>Status Code:</strong> <code>200 OK</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"OTP validated and you are logged In Successfully\",\n  \"access_token\": \"ACCESS_TOKEN_HERE\",\n  \"refresh_token\": \"REFRESH_TOKEN_HERE\",\n  \"user\": {\n    \"email\": \"johndoe@example.com\",\n    \"username\": \"johndoe\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"profile_image\": \"https://example.com/images/johndoe.jpg\",\n    \"country\": \"USA\",\n    \"phone Number\": \"+1234567890\",\n    \"role\": \"user\"\n  }\n}\n\n</code></pre>\n<hr />\n<h3 id=\"error-responses\">Error Responses</h3>\n<h4 id=\"missing-otp\">Missing OTP</h4>\n<p><strong>Status Code:</strong> <code>400 Bad Request</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"OTP is required\"\n}\n\n</code></pre>\n<h4 id=\"user-not-found\">User Not Found</h4>\n<p><strong>Status Code:</strong> <code>404 Not Found</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<h4 id=\"mfa-not-enabled\">MFA Not Enabled</h4>\n<p><strong>Status Code:</strong> <code>400 Bad Request</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"MFA is not enabled for this user\"\n}\n\n</code></pre>\n<h4 id=\"invalid-otp\">Invalid OTP</h4>\n<p><strong>Status Code:</strong> <code>400 Bad Request</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid OTP\"\n}\n\n</code></pre>\n<h4 id=\"expired-otp\">Expired OTP</h4>\n<p><strong>Status Code:</strong> <code>400 Bad Request</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"OTP has expired\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"behavioral-workflow\"><strong>Behavioral Workflow</strong></h2>\n<ol>\n<li><p><strong>Request OTP Validation:</strong></p>\n<ul>\n<li>The user sends the OTP received on their registered email along with the temporary access token (<code>access_token</code>).</li>\n</ul>\n</li>\n<li><p><strong>Verify OTP:</strong></p>\n<ul>\n<li><p>Check if the OTP is correct and not expired.</p>\n</li>\n<li><p>If the OTP is valid, issue new <code>access_token</code> and <code>refresh_token</code>.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Clear OTP:</strong></p>\n<ul>\n<li>After successful validation, the OTP is cleared from the database to prevent reuse.</li>\n</ul>\n</li>\n</ol>\n","urlObject":{"path":["user","validate_otp"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"73e6cf52-f17e-40d2-9556-1672e16a0606"},{"name":"user/disable_mfa","id":"3226c482-c8d8-4287-8b77-1b52ff3b4cb9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/disable_mfa","description":"<h1 id=\"disable-mfa-for-user-api-endpoint\">Disable MFA for User API Endpoint</h1>\n<h2 id=\"endpoint\"><strong>Endpoint</strong></h2>\n<p><code>POST /disable_mfa</code></p>\n<p>This endpoint allows users to disable Multi-Factor Authentication (MFA) on their account.</p>\n<hr />\n<h2 id=\"request-headers\"><strong>Request Headers</strong></h2>\n<p>Ensure the request includes the following headers:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Header</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Required</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Content-Type</td>\n<td><code>application/json</code></td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Authorization</td>\n<td><code>Bearer</code></td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"request-body\"><strong>Request Body</strong></h2>\n<p>This endpoint does not require a request body.</p>\n<hr />\n<h2 id=\"response\"><strong>Response</strong></h2>\n<h3 id=\"success-response\">Success Response</h3>\n<p><strong>Status Code:</strong> <code>200 OK</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"MFA disabled successfully\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"error-responses\">Error Responses</h3>\n<h4 id=\"user-not-found\">User Not Found</h4>\n<p><strong>Status Code:</strong> <code>404 Not Found</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"behavioral-workflow\"><strong>Behavioral Workflow</strong></h2>\n<ol>\n<li><p><strong>JWT Authentication:</strong></p>\n<ul>\n<li>The user must be authenticated using a valid <code>access_token</code>.</li>\n</ul>\n</li>\n<li><p><strong>Find User:</strong></p>\n<ul>\n<li>Retrieve the user from the database using the <code>username</code> extracted from the JWT.</li>\n</ul>\n</li>\n<li><p><strong>Disable MFA:</strong></p>\n<ul>\n<li>Set the <code>mfa_enabled</code> flag for the user to <code>False</code>.</li>\n</ul>\n</li>\n<li><p><strong>Commit Changes:</strong></p>\n<ul>\n<li>Save the changes to the database to disable MFA for the user.</li>\n</ul>\n</li>\n</ol>\n","urlObject":{"path":["user","disable_mfa"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"3226c482-c8d8-4287-8b77-1b52ff3b4cb9"},{"name":"user/enable_mfa","id":"a8c19955-ed5a-4da0-8c45-1e9ce8f9767a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/enable_mfa","description":"<h1 id=\"enable-mfa-for-user-api-endpoint\">Enable MFA for User API Endpoint</h1>\n<h2 id=\"endpoint\"><strong>Endpoint</strong></h2>\n<p><code>POST /enable_mfa</code></p>\n<p>This endpoint allows users to enable Multi-Factor Authentication (MFA) on their account for enhanced security.</p>\n<hr />\n<h2 id=\"request-headers\"><strong>Request Headers</strong></h2>\n<p>Ensure the request includes the following headers:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Header</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Required</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Content-Type</td>\n<td><code>application/json</code></td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Authorization</td>\n<td><code>Bearer</code></td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"request-body\"><strong>Request Body</strong></h2>\n<p>This endpoint does not require a request body.</p>\n<hr />\n<h2 id=\"response\"><strong>Response</strong></h2>\n<h3 id=\"success-response\">Success Response</h3>\n<p><strong>Status Code:</strong> <code>200 OK</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"MFA enabled successfully\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"error-responses\">Error Responses</h3>\n<h4 id=\"user-not-found\">User Not Found</h4>\n<p><strong>Status Code:</strong> <code>404 Not Found</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"behavioral-workflow\"><strong>Behavioral Workflow</strong></h2>\n<ol>\n<li><p><strong>JWT Authentication:</strong></p>\n<ul>\n<li>The user must be authenticated using a valid <code>access_token</code>.</li>\n</ul>\n</li>\n<li><p><strong>Find User:</strong></p>\n<ul>\n<li>Retrieve the user from the database using the <code>username</code> extracted from the JWT.</li>\n</ul>\n</li>\n<li><p><strong>Enable MFA:</strong></p>\n<ul>\n<li>Set the <code>mfa_enabled</code> flag for the user to <code>True</code>.</li>\n</ul>\n</li>\n<li><p><strong>Commit Changes:</strong></p>\n<ul>\n<li>Save the changes to the database to enable MFA for the user.</li>\n</ul>\n</li>\n</ol>\n","urlObject":{"path":["user","enable_mfa"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"a8c19955-ed5a-4da0-8c45-1e9ce8f9767a"},{"name":"user/resend_otp","id":"758b43a6-41c2-4ed2-b968-30f4842c80f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{baseUrl}}/user/resend_otp","description":"<h1 id=\"resend-otp-api-endpoint\">Resend OTP API Endpoint</h1>\n<h2 id=\"endpoint\"><strong>Endpoint</strong></h2>\n<p><code>POST /resend_otp</code></p>\n<p>This endpoint allows users to request a new OTP (One-Time Password) for Multi-Factor Authentication (MFA).</p>\n<hr />\n<h2 id=\"request-headers\"><strong>Request Headers</strong></h2>\n<p>Ensure the request includes the following headers:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Header</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Required</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td><code>Bearer</code></td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"rate-limiting\"><strong>Rate Limiting</strong></h2>\n<p>This endpoint is rate-limited to <strong>1 request per minute per user</strong>.<br />If the rate limit is exceeded, a <code>429 Too Many Requests</code> error is returned.</p>\n<h3 id=\"rate-limit-error-response\">Rate Limit Error Response:</h3>\n<p><strong>Status Code:</strong> <code>429 Too Many Requests</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Rate limit exceeded\",\n  \"message\": \"You have made too many requests. Please wait and try again after a minute.\",\n  \"details\": \"Default error details for rate limit exceedance\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"response\"><strong>Response</strong></h2>\n<h3 id=\"success-response\">Success Response</h3>\n<p><strong>Status Code:</strong> <code>200 OK</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"OTP has been resent successfully. Please check your email.\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"error-responses\">Error Responses</h3>\n<h4 id=\"user-not-found\">User Not Found</h4>\n<p><strong>Status Code:</strong> <code>404 Not Found</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<h4 id=\"mfa-not-enabled\">MFA Not Enabled</h4>\n<p><strong>Status Code:</strong> <code>400 Bad Request</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"MFA is not enabled for this user\"\n}\n\n</code></pre>\n<h4 id=\"failed-to-send-otp\">Failed to Send OTP</h4>\n<p><strong>Status Code:</strong> <code>500 Internal Server Error</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Failed to send OTP. Please try again later.\"\n}\n\n</code></pre>\n<h4 id=\"unexpected-server-error\">Unexpected Server Error</h4>\n<p><strong>Status Code:</strong> <code>500 Internal Server Error</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"An unexpected error occurred. Please try again later.\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"behavioral-workflow\"><strong>Behavioral Workflow</strong></h2>\n<ol>\n<li><p><strong>JWT Authentication:</strong></p>\n<ul>\n<li>The user must be authenticated using a valid JWT token.</li>\n</ul>\n</li>\n<li><p><strong>Validate User:</strong></p>\n<ul>\n<li><p>Retrieve the user based on the <code>username</code> from the JWT.</p>\n</li>\n<li><p>Return an error if the user does not exist.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Check MFA Status:</strong></p>\n<ul>\n<li>Confirm that MFA is enabled for the user.</li>\n</ul>\n</li>\n<li><p><strong>Send OTP:</strong></p>\n<ul>\n<li><p>Use the <code>send_otp_email</code> function to resend the OTP.</p>\n</li>\n<li><p>Return a success message if the OTP is sent successfully.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Error Handling:</strong></p>\n<ul>\n<li><p>Handle rate limit violations with a custom error response.</p>\n</li>\n<li><p>Handle other unexpected server errors gracefully.</p>\n</li>\n</ul>\n</li>\n</ol>\n","urlObject":{"path":["user","resend_otp"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"758b43a6-41c2-4ed2-b968-30f4842c80f9"},{"name":"user/mfa_status","id":"6cef1157-d261-4608-bc3c-4d3eeec4a409","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/user/mfa_status","description":"<h1 id=\"check-mfa-status-api-endpoint\">Check MFA Status API Endpoint</h1>\n<h2 id=\"endpoint\"><strong>Endpoint</strong></h2>\n<p><code>GET /mfa_status</code></p>\n<p>This endpoint allows users to check if Multi-Factor Authentication (MFA) is enabled on their account.</p>\n<hr />\n<h2 id=\"request-headers\"><strong>Request Headers</strong></h2>\n<p>Ensure the request includes the following headers:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Header</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Required</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Content-Type</td>\n<td><code>application/json</code></td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Authorization</td>\n<td><code>Bearer</code></td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"request-body\"><strong>Request Body</strong></h2>\n<p>This endpoint does not require a request body.</p>\n<hr />\n<h2 id=\"response\"><strong>Response</strong></h2>\n<h3 id=\"success-response\">Success Response</h3>\n<p><strong>Status Code:</strong> <code>200 OK</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"mfa_enabled\": true\n}\n\n</code></pre>\n<ul>\n<li>The <code>mfa_enabled</code> field will be <code>true</code> if MFA is enabled and <code>false</code> otherwise.</li>\n</ul>\n<hr />\n<h3 id=\"error-responses\">Error Responses</h3>\n<h4 id=\"user-not-found\">User Not Found</h4>\n<p><strong>Status Code:</strong> <code>404 Not Found</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"behavioral-workflow\"><strong>Behavioral Workflow</strong></h2>\n<ol>\n<li><p><strong>JWT Authentication:</strong></p>\n<ul>\n<li>The user must be authenticated using a valid <code>access_token</code>.</li>\n</ul>\n</li>\n<li><p><strong>Find User:</strong></p>\n<ul>\n<li>Retrieve the user from the database using the <code>username</code> extracted from the JWT.</li>\n</ul>\n</li>\n<li><p><strong>Check MFA Status:</strong></p>\n<ul>\n<li>Return the current MFA status (<code>mfa_enabled</code>) for the user.</li>\n</ul>\n</li>\n</ol>\n","urlObject":{"path":["user","mfa_status"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"6cef1157-d261-4608-bc3c-4d3eeec4a409"}],"id":"cf4c2d26-6acb-49f5-a7d0-a6c2fc193040","description":"<p>Endpoints for user MFA functions in hermex travels</p>\n","_postman_id":"cf4c2d26-6acb-49f5-a7d0-a6c2fc193040"},{"name":"profile","item":[{"name":"user/profile","event":[{"listen":"test","script":{"id":"687d9370-7d59-4cca-921c-7819e7efdca6","exec":[""],"type":"text/javascript","packages":{}}}],"id":"afa0a443-732d-41da-b7c1-cfe57301353d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/user/profile","description":"<h3 id=\"get-user-profile\">Get User Profile</h3>\n<p>This endpoint is used to retrieve the profile information of a user.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<p>This is a GET request and does not require a request body.</p>\n<h4 id=\"response\">Response</h4>\n<p>The response will be a JSON object with the following properties:</p>\n<ul>\n<li><p><code>country</code> (string): The country of the user.</p>\n</li>\n<li><p><code>email</code> (string): The email address of the user.</p>\n</li>\n<li><p><code>email_verification_status</code> (boolean): The verification status of the user's email.</p>\n</li>\n<li><p><code>first_name</code> (string): The first name of the user.</p>\n</li>\n<li><p><code>last_name</code> (string): The last name of the user.</p>\n</li>\n<li><p><code>phone_number</code> (string): The phone number of the user.</p>\n</li>\n<li><p><code>points_balance</code> (number): The points balance of the user.</p>\n</li>\n<li><p><code>preferred_language</code> (string): The preferred language of the user.</p>\n</li>\n<li><p><code>profile_image</code> (image): The profile image of the user.</p>\n</li>\n<li><p><code>role</code> (string): The role of the user.</p>\n</li>\n<li><p><code>travel_preferences</code> (string): The travel preferences of the user.</p>\n</li>\n<li><p><code>username</code> (string): The username of the user.</p>\n</li>\n<li><p><code>wallet_address</code> (string): The wallet address of the user.</p>\n</li>\n<li><p><code>wallet_qr_code</code> (string): The wallet QR code of the user.</p>\n</li>\n</ul>\n<h4 id=\"example\">Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"country\": \"\",\n    \"email\": \"\",\n    \"email_verification_status\": true,\n    \"first_name\": \"\",\n    \"last_name\": \"\",\n    \"phone_number\": \"\",\n    \"points_balance\": 0,\n    \"preferred_language\": \"\",\n    \"profile_image\":\"\",\n    \"role\": \"\",\n    \"travel_preferences\": \"\",\n    \"username\": \"\",\n    \"wallet_address\": \"\",\n    \"wallet_qr_code\": \"\"\n}\n\n</code></pre>\n<h4 id=\"response-json-schema\">Response JSON Schema</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"country\": {\"type\": \"string\"},\n        \"email\": {\"type\": \"string\"},\n        \"email_verification_status\": {\"type\": \"boolean\"},\n        \"first_name\": {\"type\": \"string\"},\n        \"last_name\": {\"type\": \"string\"},\n        \"phone_number\": {\"type\": \"string\"},\n        \"points_balance\": {\"type\": \"number\"},\n        \"preferred_language\": {\"type\": \"string\"},\n        \"profile_image\": {\"type\": \"ïmage\"},\n        \"role\": {\"type\": \"string\"},\n        \"travel_preferences\": {\"type\": \"string\"},\n        \"username\": {\"type\": \"string\"},\n        \"wallet_address\": {\"type\": \"string\"},\n        \"wallet_qr_code\": {\"type\": \"string\"}\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["user","profile"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"b3807bab-5b3d-4abb-b74b-bd13bbb2cca7","name":"user/profile","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"ErasmusTay\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/profile"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.12.7","enabled":true},{"key":"Date","value":"Sat, 30 Nov 2024 23:54:25 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"1581","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"country\": \"Ghana\",\n    \"email\": \"boronicle@gmail.com\",\n    \"email_verification_status\": true,\n    \"first_name\": \"Edinam\",\n    \"last_name\": \"Mensah\",\n    \"mfa_enabled\": false,\n    \"phone_number\": \"0243457467\",\n    \"points_balance\": 0,\n    \"preferred_language\": null,\n    \"profile_image\": \"C:\\\\Users\\\\StarmannRassy\\\\Desktop\\\\COMPANIES\\\\HERMEX\\\\backend\\\\uploads\\\\profile_images\\\\profile_images\\\\mmm.png\",\n    \"role\": \"user\",\n    \"travel_preferences\": null,\n    \"username\": \"ErasmusTay\",\n    \"wallet_address\": \"FZihejUPDHs8BQBtWvJ3V2eCRNTnNhVW5w2oa4TK3UGH\",\n    \"wallet_qr_code\": \"iVBORw0KGgoAAAANSUhEUgAAAZoAAAGaAQAAAAAefbjOAAAC9ElEQVR4nO2cTW7bMBCFv6kEZCkBOUCPQt+s6JFyA+kouYG0NEDhdcEfy26AInBqOdJoQSgyP5iEH4bDN1RMfPoaf3yeAYcccsghhxxyaJ+Q5auF0czsNLfpYzuxGMylw2mT4Tn0QAhJEkGSNDWCTtJAIw3ljjA1WvUbnnxODt0D5VjA3EN4A8JbG41uwsAgaDEADJr48OE59HCo/etJdzbB0pZtaSP7km9y6HtC+t2DWQ8wtzD2/+ubHHpOqMSITsAMSQdhQAYNFqbcYe1kPfmcHPoCaDQzsx7s19Qoy2KCdAdL2mpsNTyHHh0jrqzsxaCLiJnU5AiyxfAcejj0we4zpvCgoVMVQiMNpbPvPncNZUUkHUgCmpVAUjMABEVXxAGgnFmGYUGjAeHtFeru0+giRjdtNDyHNoI0zC3ZruwiMLfYqTub9N5CmBZjtPYaetzwHNpg1ShmdWqgWaUQ+VnnLvYRoHUeUZuUYwapljQinlkeCkq5I/NLCg92Ss8Wy4sIkPWyyfAceniMyCVOxeJLdZEUGTSRmksB1GPErqGsCCkClN9cZa1IOhhKyumK2D90lVmq5BF1rbiyIrJl4YrYNVQ8y5sdRjKscpPDw4Qr4gBQWQguEpjWBnaJFkUqrojdQ9V1asRoAF1sgaUlDEtr8CILAxCGeormyefk0D1QrXRFkgdV6xoXwyqFjFA8Co8Ru4bqOctXwdxGpWr43MPYN7kBEJzNY8T+oZpZUmufkM5i31yXZx4j9gxVF/tiU2WB5KRy5VnKFXEAiJtIQD4ds9ZGvvPzEYeAqkMFUN/byQZ2U7alKcf0StcRoNtTdcW7ptQ1ilMJnkccCprLS51jX1YN5hcx9o0YzYygs5/FPiQ0mzH+jNipi9iv93y4irHPZfJvOCeH7oDCJa1IJ+3Ols7chWnxGHEA6IN3ul4jzAbVq7KgxTRarYM9+Zwcuge63Wtkn5p1jgnlT88s9w+Z/t3n9vL/TOaQQw455JBDDgH8ARn5mW0Lank4AAAAAElFTkSuQmCC\"\n}"}],"_postman_id":"afa0a443-732d-41da-b7c1-cfe57301353d"},{"name":"user/update_profile","id":"2b396406-07a1-4b9c-98eb-48e7f82891dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"password\": \"abc123\",\n    \"first_name\": \"ElmoDaad\",\n    \"last_name\": \"Tayviah\",\n    \"phone_number\": \"+254778452\",\n    \"country\": \"Nigeria\",\n    \"preferred_language\": \"Ga, English\",\n    \"travel_preferences\": \"Beach, Adventure, Hiking, swiming\"\n}\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/update_profile","description":"<h3 id=\"update-user-profile\">Update User Profile</h3>\n<p>This endpoint allows the user to update their profile information via an HTTP PUT request. The request should include the user's email, password, full name, phone number, country, preferred language, travel preferences, and profile image.</p>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<ul>\n<li><p><code>email</code> : The user's email.</p>\n</li>\n<li><p><code>password</code> : The user's password.</p>\n</li>\n<li><p><code>first_name</code> : The user's full name.</p>\n</li>\n<li><p><code>last_name</code> : The user's full name.</p>\n</li>\n<li><p><code>phone_number</code> : The user's phone number.</p>\n</li>\n<li><p><code>country</code> The user's country.</p>\n</li>\n<li><p><code>preferred_language</code> : The user's preferred language.</p>\n</li>\n<li><p><code>travel_preferences</code> : The user's travel preferences.</p>\n</li>\n<li><p><code>profile_image</code> (base64encodedstring): The user's profile image.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response to the request will be a JSON object with a status code of 200 and a content type of application/json. The response will contain a message indicating the result of the update operation.</p>\n<h4 id=\"json-schema\">JSON Schema</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"message\": {\n      \"type\": \"string\"\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["user","update_profile"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"686a1863-e0d0-4518-876d-b2aa76376156","name":"user/update_profile","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"username\": \"ElmoT\",\n    \"password\": \"abc123\",\n    \"email\": \"amffloresteresa5@gmail.com\",\n    \"first_name\": \"ElmoDaadaa\",\n    \"last_name\": \"Tayviah\",\n    \"phone_number\": \"+254778451\",\n    \"country\": \"Niger\",\n    \"preferred_language\": \"Spanish, English\",\n    \"travel_preferences\": \"Beach, Adventure, Hiking\"\n}\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/update_profile"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Wed, 25 Dec 2024 10:51:52 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"313","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Profile updated successfully. Please verify your new email if it was updated.\",\n    \"user\": {\n        \"country\": \"Niger\",\n        \"email\": \"amffloresteresa5@gmail.com\",\n        \"email_verified\": true,\n        \"first_name\": \"ElmoDaadaa\",\n        \"last_name\": \"Tayviah\",\n        \"phone_number\": \"+254778451\",\n        \"preferred_language\": \"Spanish, English\",\n        \"username\": \"ElmoT\"\n    }\n}"}],"_postman_id":"2b396406-07a1-4b9c-98eb-48e7f82891dd"},{"name":"user/profile/image","id":"67b901e8-d5b3-4279-8bbf-d4f35b6ee3e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"profile_image","description":"<p>profile image</p>\n","type":"file","src":"/C:/Users/StarmannRassy/Pictures/3D GLASS best Transparent Wallpapers  [ MyShare ]/2009_nissan_qazana_concept_2-wallpaper-1920x1080.jpg"}]},"url":"{{baseUrl}}/user/profile/image","description":"<h1 id=\"upload-user-profile-picture-api-endpoint\">Upload User Profile Picture API Endpoint</h1>\n<h2 id=\"endpoint\"><strong>Endpoint</strong></h2>\n<p><code>POST /profile/image</code></p>\n<p>This endpoint allows users to upload or update their profile picture.</p>\n<hr />\n<h2 id=\"request-headers\"><strong>Request Headers</strong></h2>\n<p>Ensure the request includes the following headers:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Header</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Required</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Content-Type</td>\n<td><code>multipart/form-data</code></td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Authorization</td>\n<td><code>Bearer</code></td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"request-body\"><strong>Request Body</strong></h2>\n<p>The request body must include the file upload for the profile image.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Required</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>profile_image</code></td>\n<td>File (image)</td>\n<td>The user's profile image to upload.</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"supported-file-types\"><strong>Supported File Types</strong></h3>\n<ul>\n<li><p><code>png</code></p>\n</li>\n<li><p><code>jpg</code></p>\n</li>\n<li><p><code>jpeg</code></p>\n</li>\n<li><p><code>gif</code></p>\n</li>\n</ul>\n<hr />\n<h2 id=\"response\"><strong>Response</strong></h2>\n<h3 id=\"success-response\">Success Response</h3>\n<p><strong>Status Code:</strong> <code>200 OK</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"New Profile image uploaded successfully\",\n  \"profile_image\": \"path/to/uploaded/profile_image.jpg\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"error-responses\">Error Responses</h3>\n<h4 id=\"user-not-found\">User Not Found</h4>\n<p><strong>Status Code:</strong> <code>404 Not Found</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<h4 id=\"no-profile-image-uploaded\">No Profile Image Uploaded</h4>\n<p><strong>Status Code:</strong> <code>400 Bad Request</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"No profile image uploaded\"\n}\n\n</code></pre>\n<h4 id=\"invalid-file-type\">Invalid File Type</h4>\n<p><strong>Status Code:</strong> <code>400 Bad Request</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid file type. Allowed: png, jpg, jpeg, gif\"\n}\n\n</code></pre>\n<h4 id=\"failed-to-save-profile-image\">Failed to Save Profile Image</h4>\n<p><strong>Status Code:</strong> <code>500 Internal Server Error</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Failed to upload profile image\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"behavioral-workflow\"><strong>Behavioral Workflow</strong></h2>\n<ol>\n<li><p><strong>JWT Authentication:</strong></p>\n<ul>\n<li>The user must be authenticated using a valid <code>access_token</code>.</li>\n</ul>\n</li>\n<li><p><strong>Validate User:</strong></p>\n<ul>\n<li><p>Retrieve the user based on the <code>username</code> extracted from the JWT.</p>\n</li>\n<li><p>If the user does not exist, return a <code>404</code> error.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Validate File:</strong></p>\n<ul>\n<li><p>Ensure the request contains a <code>profile_image</code> file.</p>\n</li>\n<li><p>Check the file type against the allowed extensions (<code>png</code>, <code>jpg</code>, <code>jpeg</code>, <code>gif</code>).</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Upload Image:</strong></p>\n<ul>\n<li><p>Save the image to the server's upload directory (<code>UPLOAD_FOLDER</code>).</p>\n</li>\n<li><p>If a previous profile image exists, delete it from the server.</p>\n</li>\n<li><p>Update the user's profile image path in the database.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Error Handling:</strong></p>\n<ul>\n<li>Handle any errors during the file upload or database update process.</li>\n</ul>\n</li>\n</ol>\n","urlObject":{"path":["user","profile","image"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"67b901e8-d5b3-4279-8bbf-d4f35b6ee3e6"},{"name":"user/update_password","id":"e53a0683-4c39-4981-8c04-05353f3b61f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n  \"old_password\": \"1234567890\",\n  \"new_password\": \"NewPassword456\",\n  \"confirm_password\": \"NewPassword456\"\n}\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/update_password","description":"<h3 id=\"update-user-password\">Update User Password</h3>\n<p>This endpoint is used to update the password for a user.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p>old_password (string) : The old password of the user.</p>\n</li>\n<li><p>new_password (string) : The new password for the user.</p>\n</li>\n<li><p>confirm_password (string) : Confirmation of the new password.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["user","update_password"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e53a0683-4c39-4981-8c04-05353f3b61f9"},{"name":"user/reset_password","id":"f0415be5-8b17-4701-b40c-1bfb5d9b94e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"praiseordu@gmail.com\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/reset_password","urlObject":{"path":["user","reset_password"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f0415be5-8b17-4701-b40c-1bfb5d9b94e6"},{"name":"/user/reset_password/InByYWlzZS5vcmR1QHlhaG9vLmNvbSI.Zspk2A.wjnhqmG9EDihqU64mRjypRxymlk","id":"55c3f9a1-725e-435c-87db-25c63998900b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"password\": \"123456789\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/user/reset_password/InByYWlzZS5vcmR1QHlhaG9vLmNvbSI.Zspk2A.wjnhqmG9EDihqU64mRjypRxymlk","urlObject":{"protocol":"http","port":"5000","path":["user","reset_password","InByYWlzZS5vcmR1QHlhaG9vLmNvbSI.Zspk2A.wjnhqmG9EDihqU64mRjypRxymlk"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"55c3f9a1-725e-435c-87db-25c63998900b"}],"id":"89e11493-1292-456c-8d2b-c1830d93c648","description":"<p>Endpoints for users profile functions in hermex travels</p>\n","_postman_id":"89e11493-1292-456c-8d2b-c1830d93c648"},{"name":"wallet","item":[{"name":"user/wallet/balance","id":"eade2a48-2397-488f-a81d-3a2097aab072","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/user/wallet/balance","description":"<h3 id=\"get-user-wallet-balance\">Get User Wallet Balance</h3>\n<p>This endpoint is used to retrieve the wallet balance for the user.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p>Method: GET</p>\n</li>\n<li><p>URL: {{baseUrl}}/user/wallet/balance</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><p>Status: 200 OK</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n</ul>\n<h5 id=\"response-body\">Response Body</h5>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"HMEX balance\": 0,\n    \"SOL balance\": 0\n}\n\n</code></pre>\n","urlObject":{"path":["user","wallet","balance"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"eade2a48-2397-488f-a81d-3a2097aab072"},{"name":"user/wallet/transactions","id":"5a78bddf-c056-4e19-8833-46d1054d7713","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/user/wallet/transactions","description":"<p>This endpoint retrieves the transactions related to the user's wallet.</p>\n<h3 id=\"request\">Request</h3>\n<p>This is a GET request to the <code>{{baseUrl}}/user/wallet/transactions</code> endpoint.</p>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful execution, the API returns a status code of 200 and a JSON object in the response body. The response contains an array of <code>transactions</code>, with each transaction object including the following properties:</p>\n<ul>\n<li><p><code>action</code> (string): Indicates the action related to the transaction.</p>\n</li>\n<li><p><code>change_amount</code> (number): Represents the amount of change in the wallet balance.</p>\n</li>\n<li><p><code>from</code> (string): Specifies the sender of the transaction.</p>\n</li>\n<li><p><code>signature</code> (string): Represents the signature of the transaction.</p>\n</li>\n<li><p><code>time</code> (number): Indicates the timestamp of the transaction.</p>\n</li>\n<li><p><code>to</code> (string): Specifies the recipient of the transaction.</p>\n</li>\n<li><p><code>token</code> (string): Represents the token associated with the transaction.</p>\n</li>\n</ul>\n","urlObject":{"path":["user","wallet","transactions"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5a78bddf-c056-4e19-8833-46d1054d7713"},{"name":"user/wallet/send","id":"c0339c6c-6730-4162-bdaf-c312f74d3ecb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"dest_addr\": \"bosEqyDRmau6S8r4cnmkXz1cofck6JWW6eD8aCXVM9u\",\n    \"tkn_amt\": 0.1,\n    \"send_max\": false,\n    \"show_details_yn\": \"Y\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/wallet/send","description":"<h3 id=\"send-tokens-to-user-wallet\">Send Tokens to User Wallet</h3>\n<p>This endpoint allows the user to send tokens to another wallet.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>dest_addr</code> (string): The destination address to which the tokens will be sent.</p>\n</li>\n<li><p><code>tkn_amt</code> (number): The amount of tokens to be sent.</p>\n</li>\n<li><p><code>send_max</code> (boolean): Indicates whether to send the maximum available tokens.</p>\n</li>\n<li><p><code>show_details_yn</code> (string): Indicates whether to show transaction details.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Upon successful execution, the API returns a JSON response with the following fields:</p>\n<ul>\n<li><p><code>solana_fm_url</code> (string): The Solana transaction URL.</p>\n</li>\n<li><p><code>transaction_details</code> (array): An array containing transaction details such as action, source, status, and timestamp.</p>\n</li>\n<li><p><code>txn_hash</code> (string): The transaction hash for the sent tokens.</p>\n</li>\n</ul>\n","urlObject":{"path":["user","wallet","send"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c0339c6c-6730-4162-bdaf-c312f74d3ecb"}],"id":"1107c703-3d3d-406a-85e8-a155dbf6c69a","description":"<p>Endpoints for user crypto wallet functions in hermex travels</p>\n","_postman_id":"1107c703-3d3d-406a-85e8-a155dbf6c69a"},{"name":"Feedback/Trip-form","item":[{"name":"user/submit_feedback","id":"9ab5b2b9-ee30-4d24-aa5c-ca50b4192585","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"content\": \"This is a sample feedback message.\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://praiseordu.pythonanywhere.com/user/submit_feedback","description":"<h3 id=\"submit-user-feedback\">Submit User Feedback</h3>\n<p>This endpoint allows users to submit feedback by making an HTTP POST request to the specified URL.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><code>content</code> (string, required): The content of the feedback.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Upon successful submission, the API returns a status code of 201 and a JSON response with a message indicating the success of the operation.</p>\n<p>Example response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Feedback submitted successfully\"\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["user","submit_feedback"],"host":["praiseordu","pythonanywhere","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9ab5b2b9-ee30-4d24-aa5c-ca50b4192585"},{"name":"user/submit_trip_form","id":"0838758b-1c4d-4c0e-b2a1-db3bf96622bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"name","value":"John Doe","type":"text"},{"key":"destination","value":"Paris","type":"text"},{"key":"activity","value":"Sightseeing","type":"text"},{"key":"duration","value":"5 days","type":"text"},{"key":"date","value":"2024-12-01","type":"text"},{"key":"email","value":"john.doe@example.com","type":"text"}]},"url":"https://praiseordu.pythonanywhere.com/user/submit_trip_form?name =\"John Doe\"&email=\"ohn.doe@example.com\"&destination=\"Paris\"&activity=\"Sightseeing\"&date=\"2024-12-01\"","description":"<p>The endpoint <code>https://praiseordu.pythonanywhere.com/user/submit_trip_form</code> is a POST request that allows users to submit a trip form. The request includes parameters such as <code>name</code>, <code>email</code>, <code>destination</code>, <code>activity</code>, <code>date</code>, and <code>duration</code> in the form-data request body type.</p>\n","urlObject":{"protocol":"https","path":["user","submit_trip_form"],"host":["praiseordu","pythonanywhere","com"],"query":[{"key":"name ","value":"\"John Doe\""},{"key":"email","value":"\"ohn.doe@example.com\""},{"key":"destination","value":"\"Paris\""},{"key":"activity","value":"\"Sightseeing\""},{"key":"date","value":"\"2024-12-01\""}],"variable":[]}},"response":[],"_postman_id":"0838758b-1c4d-4c0e-b2a1-db3bf96622bf"}],"id":"16d2aef8-027c-4e60-9f3a-5dad7e8f9d3f","description":"<p>Endpoints for user <strong>Feedback // Trip-form</strong> functions in hermex travels</p>\n","_postman_id":"16d2aef8-027c-4e60-9f3a-5dad7e8f9d3f"},{"name":"Others","item":[{"name":"user/list_users","id":"1d3672b5-c2e0-4dea-9c4f-dc72c83af59c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/user/list_users","description":"<p>The <code>list_users</code> endpoint retrieves a list of users.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response is in JSON format and has the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"users\": {\n            \"type\": \"array\",\n            \"items\": {\n                \"type\": \"string\"\n            }\n        }\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["user","list_users"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"1d3672b5-c2e0-4dea-9c4f-dc72c83af59c"}],"id":"de15a18a-5dab-4c02-8137-f3edf23459d0","description":"<p>Endpoints for user <strong>OTHER</strong> functions in hermex travels</p>\n","_postman_id":"de15a18a-5dab-4c02-8137-f3edf23459d0"},{"name":"Email verification","item":[{"name":"resend_email_verification","id":"f67d73a2-091e-4b90-8c31-300bcc75cfd3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/resend_verification_email","urlObject":{"path":["user","resend_verification_email"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f67d73a2-091e-4b90-8c31-300bcc75cfd3"}],"id":"92a99b6b-091e-49b7-9790-42898a3a501a","_postman_id":"92a99b6b-091e-49b7-9790-42898a3a501a","description":""},{"name":"Points","item":[{"name":"user/add_points","id":"dca40a96-38ea-4261-ae60-ae72333eff83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"points_earned\": 21\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/add_points","urlObject":{"path":["user","add_points"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"dca40a96-38ea-4261-ae60-ae72333eff83"},{"name":"user/redeem_points","id":"54fba188-1acd-4021-b560-245bfedf221a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","urlObject":{"query":[],"variable":[]}},"response":[],"_postman_id":"54fba188-1acd-4021-b560-245bfedf221a"}],"id":"0e6d4dfe-723f-436c-8892-14b6c74adea3","_postman_id":"0e6d4dfe-723f-436c-8892-14b6c74adea3","description":""},{"name":"Pin","item":[{"name":"user/create-pin","id":"ba4212f1-3677-4bec-9159-ea20a92994f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pin\": \"2468\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/create-pin","description":"<h2 id=\"🔐-post-usercreate-pin\">🔐 POST <code>/user/create-pin</code></h2>\n<h3 id=\"description\">Description:</h3>\n<p>Sets a <strong>4-digit PIN</strong> for an authenticated user. This PIN is hashed and securely stored in the database.</p>\n<hr />\n<h3 id=\"🛡️-authorization\">🛡️ Authorization:</h3>\n<p>✅ Requires JWT access token in the <code>Authorization</code> header.</p>\n<hr />\n<h3 id=\"📥-request-body\">📥 Request Body:</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"pin\": \"1234\"\n}\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pin</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>Must be a 4-digit number (e.g. \"1234\")</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"✅-validation-rules\">✅ Validation Rules:</h3>\n<ul>\n<li><p>PIN <strong>must</strong> be exactly 4 digits.</p>\n</li>\n<li><p>PIN <strong>must contain only numbers</strong> (<code>0-9</code>).</p>\n</li>\n<li><p>PIN is securely stored as a <strong>hashed value</strong> (not plain text).</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"📤-response-success\">📤 Response (Success):</h3>\n<p><strong>HTTP 200 OK</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"PIN set successfully\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"❌-response-error-examples\">❌ Response (Error Examples):</h3>\n<h4 id=\"missing-or-invalid-pin\">Missing or Invalid PIN:</h4>\n<p><strong>HTTP 400 Bad Request</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"PIN must be exactly 4 digits and contain only numbers\"\n}\n\n</code></pre>\n<h4 id=\"user-not-found\">User Not Found:</h4>\n<p><strong>HTTP 404 Not Found</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"📝-audit-trail\">📝 Audit Trail:</h3>\n<ul>\n<li><p>Logs an entry in the <code>AuditTrail</code> table with:</p>\n<ul>\n<li><p>Action: <code>PIN set successfully</code></p>\n</li>\n<li><p>Resource: <code>PIN Details</code></p>\n</li>\n<li><p>Performed by: Authenticated user ID</p>\n</li>\n<li><p>Timestamp and details of the action</p>\n</li>\n</ul>\n</li>\n</ul>\n<hr />\n<h3 id=\"🧪-example-curl\">🧪 Example cURL:</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">bashCopyEditcurl -X POST http://localhost:5000/create-pin \\\n -H \"Authorization: Bearer &lt;your_token&gt;\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"pin\": \"1234\"}'\n\n</code></pre>\n","urlObject":{"path":["user","create-pin"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"0c2693cb-6716-465d-b2b2-a3ab33736d4a","name":"New Request","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pin\": \"2468\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/create-pin"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Fri, 25 Apr 2025 01:15:38 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"35","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"PIN set successfully\"\n}"}],"_postman_id":"ba4212f1-3677-4bec-9159-ea20a92994f6"},{"name":"user/input-pin","id":"3844218d-88c3-449c-8852-408f1f1daddf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"pin\": \"2468\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/input-pin","description":"<h2 id=\"🔐-post-userinput-pin\">🔐 POST <code>/user/input-pin</code></h2>\n<h3 id=\"description\">Description:</h3>\n<p>Validates a user’s <strong>4-digit PIN</strong>. Implements attempt limiting and lockout logic to prevent brute-force attacks.</p>\n<hr />\n<h3 id=\"🛡️-authorization\">🛡️ Authorization:</h3>\n<p>✅ Requires JWT access token in the <code>Authorization</code> header.</p>\n<hr />\n<h3 id=\"📥-request-body\">📥 Request Body:</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"pin\": \"1234\"\n}\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>pin</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>The 4-digit PIN to validate (e.g., \"1234\")</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"✅-logic-and-features\">✅ Logic and Features:</h3>\n<ul>\n<li><p>Validates the PIN format (must be 4 digits).</p>\n</li>\n<li><p>Checks the hashed PIN against the stored value.</p>\n</li>\n<li><p>Tracks failed attempts:</p>\n<ul>\n<li><p>Locks user out after <code>MAX_PIN_ATTEMPTS</code>.</p>\n</li>\n<li><p>Lockout duration is enforced (<code>LOCKOUT_TIME</code>).</p>\n</li>\n</ul>\n</li>\n<li><p>Resets attempt count on success.</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"📤-response-success\">📤 Response (Success):</h3>\n<p><strong>HTTP 200 OK</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"PIN validated successfully\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"❌-response-error-examples\">❌ Response (Error Examples):</h3>\n<h4 id=\"invalid-or-missing-pin\">Invalid or Missing PIN:</h4>\n<p><strong>HTTP 400 Bad Request</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"PIN must be exactly 4 digits.\"\n}\n\n</code></pre>\n<h4 id=\"user-not-found\">User Not Found:</h4>\n<p><strong>HTTP 404 Not Found</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<h4 id=\"too-many-attempts-lockout\">Too Many Attempts (Lockout):</h4>\n<p><strong>HTTP 403 Forbidden</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Too many attempts. Try again in a few minutes.\"\n}\n\n</code></pre>\n<h4 id=\"incorrect-pin\">Incorrect PIN:</h4>\n<p><strong>HTTP 401 Unauthorized</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid PIN. Attempts left: 2\"\n}\n\n</code></pre>\n","urlObject":{"path":["user","input-pin"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"3844218d-88c3-449c-8852-408f1f1daddf"},{"name":"user/change-pin","id":"43ab81f7-1760-48ef-b769-4ce6b7f09148","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"old_pin\": \"2468\",\r\n    \"new_pin\": \"1234\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/change-pin","description":"<h2 id=\"🔄-post-userchange-pin\">🔄 POST <code>/user/change-pin</code></h2>\n<h3 id=\"description\">Description:</h3>\n<p>Allows a user to securely <strong>reset their PIN</strong> by providing the correct <strong>old PIN</strong> and a valid <strong>new 4-digit PIN</strong>. Includes lockout protection after multiple failed attempts.</p>\n<hr />\n<h3 id=\"🛡️-authorization\">🛡️ Authorization:</h3>\n<p>✅ Requires JWT access token in the <code>Authorization</code> header.</p>\n<hr />\n<h3 id=\"📥-request-body\">📥 Request Body:</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"old_pin\": \"1234\",\n  \"new_pin\": \"5678\"\n}\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>old_pin</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>The user's current 4-digit PIN</td>\n</tr>\n<tr>\n<td>new_pin</td>\n<td>string</td>\n<td>✅ Yes</td>\n<td>The new 4-digit PIN to set</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"✅-logic-and-features\">✅ Logic and Features:</h3>\n<ul>\n<li><p>Validates the format of both old and new PINs.</p>\n</li>\n<li><p>Verifies the old PIN matches the stored hashed PIN.</p>\n</li>\n<li><p>Checks for lockout if too many failed attempts have occurred.</p>\n</li>\n<li><p>Resets failed attempt count and updates PIN on success.</p>\n</li>\n<li><p>Enforces retry wait time after lockout (<code>LOCKOUT_TIME</code>).</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"📤-response-success\">📤 Response (Success):</h3>\n<p><strong>HTTP 200 OK</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"PIN reset successfully\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"❌-response-error-examples\">❌ Response (Error Examples):</h3>\n<h4 id=\"missing-or-invalid-pin-format\">Missing or Invalid PIN Format:</h4>\n<p><strong>HTTP 400 Bad Request</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Old PIN must be exactly 4 digits\"\n}\n\n</code></pre>\n<h4 id=\"user-not-found\">User Not Found:</h4>\n<p><strong>HTTP 404 Not Found</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<h4 id=\"too-many-failed-attempts-lockout-active\">Too Many Failed Attempts (Lockout Active):</h4>\n<p><strong>HTTP 403 Forbidden</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Too many attempts. Try again in a few minutes.\"\n}\n\n</code></pre>\n<h4 id=\"incorrect-old-pin\">Incorrect Old PIN:</h4>\n<p><strong>HTTP 401 Unauthorized</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Incorrect old PIN. Attempts left: 2\"\n}\n\n</code></pre>\n","urlObject":{"path":["user","change-pin"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"43ab81f7-1760-48ef-b769-4ce6b7f09148"},{"name":"user/check-pin","id":"296123be-be78-4f7a-a147-6f6948f0cdcd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/user/check-pin","description":"<h1 id=\"📄-get-check-pin\">📄 <code>GET /check-pin</code></h1>\n<p><strong>Description</strong>:</p>\n<p>Check if the currently authenticated user has already set up a 4-digit PIN.</p>\n<hr />\n<h2 id=\"🔐-authentication\">🔐 Authentication</h2>\n<ul>\n<li><p>Requires JWT authentication (<code>@jwt_required()</code>).</p>\n</li>\n<li><p>Must include a valid <code>Authorization</code> header with a Bearer token.</p>\n</li>\n</ul>\n<p><strong>Example Header</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">Authorization: Bearer &lt;your_token_here&gt;\n\n</code></pre>\n<hr />\n<h2 id=\"📥-request\">📥 Request</h2>\n<ul>\n<li><p><strong>Method</strong>: <code>GET</code></p>\n</li>\n<li><p><strong>URL</strong>: <code>/check-pin</code></p>\n</li>\n<li><p><strong>Body</strong>: None (no request body needed).</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"📤-response\">📤 Response</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pin_set</code></td>\n<td>boolean</td>\n<td><code>true</code> if the user has set a PIN, <code>false</code> otherwise</td>\n</tr>\n<tr>\n<td><code>message</code></td>\n<td>string</td>\n<td>A message describing the status</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"✅-example-successful-response-pin-set\">✅ Example Successful Response (PIN Set)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"pin_set\": true,\n  \"message\": \"PIN has been set\"\n}\n\n</code></pre>\n<p><strong>HTTP Status Code</strong>: <code>200 OK</code></p>\n<hr />\n<h3 id=\"✅-example-successful-response-pin-not-set\">✅ Example Successful Response (PIN Not Set)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"pin_set\": false,\n  \"message\": \"PIN has not been set\"\n}\n\n</code></pre>\n<p><strong>HTTP Status Code</strong>: <code>200 OK</code></p>\n<hr />\n<h3 id=\"❌-example-error-response-user-not-found\">❌ Example Error Response (User Not Found)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<p><strong>HTTP Status Code</strong>: <code>404 Not Found</code></p>\n<hr />\n<h2 id=\"⚡-notes\">⚡ Notes</h2>\n<ul>\n<li><p>This endpoint does <strong>not</strong> return the actual PIN (for security reasons).</p>\n</li>\n<li><p>It only checks if a PIN exists for the user account.</p>\n</li>\n<li><p>If the user is not authenticated or token is invalid/expired, a <code>401 Unauthorized</code> response will be returned automatically.</p>\n</li>\n</ul>\n","urlObject":{"path":["user","check-pin"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"296123be-be78-4f7a-a147-6f6948f0cdcd"},{"name":"user/request-pin-reset","id":"b2124024-1588-44e9-b800-a9b248337ebf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/request-pin-reset","description":"<h1 id=\"📄-api-documentation-request-pin-reset-otp\">📄 API Documentation: <code>Request PIN Reset OTP</code></h1>\n<h3 id=\"endpoint\"><strong>Endpoint</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">POST /request-pin-reset\n\n</code></pre>\n<h3 id=\"authentication\"><strong>Authentication</strong></h3>\n<ul>\n<li><p>Requires a <strong>valid JWT</strong> access token.</p>\n</li>\n<li><p>makefileCopyEditAuthorization: Bearer</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This endpoint allows an <strong>authenticated user</strong> to request a <strong>One-Time Password (OTP)</strong> for <strong>PIN reset</strong>.</p>\n<p>The OTP is securely generated, hashed, and stored in the database along with an expiration timestamp.</p>\n<p>A reset email containing the plain OTP is sent to the user’s registered email address.</p>\n<hr />\n<h3 id=\"request\"><strong>Request</strong></h3>\n<p><strong>Headers:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td>Bearer</td>\n</tr>\n<tr>\n<td>Content-Type</td>\n<td>application/json</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Body:</strong></p>\n<ul>\n<li>No body parameters are required for this request.</li>\n</ul>\n<hr />\n<h3 id=\"process-flow\"><strong>Process Flow</strong></h3>\n<ol>\n<li><p>Extract the <strong>current user's username</strong> from the JWT token.</p>\n</li>\n<li><p>Find the corresponding <strong>user record</strong> in the database.</p>\n</li>\n<li><p>If the user is not found, return a <code>404 Not Found</code> error.</p>\n</li>\n<li><p>Generate a <strong>secure 6-digit OTP</strong>.</p>\n</li>\n<li><p>Hash the OTP using the <strong>Scrypt</strong> hashing algorithm with:</p>\n<ul>\n<li><p>Randomly generated salt</p>\n</li>\n<li><p>Parameters: <code>n=16384</code>, <code>r=8</code>, <code>p=1</code>, <code>dklen=64</code></p>\n</li>\n</ul>\n</li>\n<li><p>Store the hashed OTP and salt (in hex format) in the user's database record.</p>\n</li>\n<li><p>Set the OTP expiration time to <strong>10 minutes</strong> from now.</p>\n</li>\n<li><p>Send an <strong>email</strong> to the user containing the OTP using <code>send_brevo_email</code>.</p>\n</li>\n<li><p>If email sending fails, <strong>rollback</strong> the database changes.</p>\n</li>\n<li><p>Return a <code>200 OK</code> response if successful.</p>\n</li>\n</ol>\n<hr />\n<h3 id=\"success-response\"><strong>Success Response</strong></h3>\n<p><strong>Status Code:</strong> <code>200 OK</code></p>\n<p><strong>Example Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"PIN Reset OTP sent to your registered email\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"error-responses\"><strong>Error Responses</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Description</th>\n<th>Example Response</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>404</td>\n<td>User not found</td>\n<td><code>{ \"error\": \"User not found\" }</code></td>\n</tr>\n<tr>\n<td>500</td>\n<td>Failed to send email</td>\n<td>Internal rollback and a <code>False</code> return (handled internally)</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"security-notes\"><strong>Security Notes</strong></h3>\n<ul>\n<li><p><strong>OTP is hashed</strong> using a strong algorithm (Scrypt) to prevent brute-force attacks.</p>\n</li>\n<li><p><strong>Salt</strong> is random per OTP, preventing rainbow table attacks.</p>\n</li>\n<li><p><strong>OTP expires</strong> after 10 minutes, ensuring temporary validity.</p>\n</li>\n<li><p><strong>Plain OTP</strong> is sent only via <strong>email</strong>, and never stored in plain text.</p>\n</li>\n</ul>\n","urlObject":{"path":["user","request-pin-reset"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"b2124024-1588-44e9-b800-a9b248337ebf"},{"name":"user/reset-pin-with-otp","id":"e01a98b4-b082-48d8-b9b4-81b04c3c2872","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"new_pin\": \"1739\",\r\n    \"otp\": \"139052\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/reset-pin-with-otp","description":"<h1 id=\"📄-api-documentation-reset-pin-with-otp\">📄 API Documentation: <code>Reset PIN with OTP</code></h1>\n<h3 id=\"endpoint\"><strong>Endpoint</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">POST /reset-pin-with-otp\n\n</code></pre>\n<h3 id=\"authentication\"><strong>Authentication</strong></h3>\n<ul>\n<li><p>Requires a <strong>valid JWT</strong> access token.</p>\n</li>\n<li><p>makefileCopyEditAuthorization: Bearer</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This endpoint allows an <strong>authenticated user</strong> to <strong>reset their PIN</strong> by submitting a previously generated <strong>OTP</strong> (received via email).</p>\n<p>The submitted OTP is securely verified against the stored hashed OTP, and upon success, the user's PIN is updated.</p>\n<hr />\n<h3 id=\"request\"><strong>Request</strong></h3>\n<p><strong>Headers:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td>Bearer</td>\n</tr>\n<tr>\n<td>Content-Type</td>\n<td>application/json</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Body Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>new_pin</td>\n<td>string</td>\n<td>Yes</td>\n<td>New 4-digit PIN (must match <code>^\\d{4}$</code> regex)</td>\n</tr>\n<tr>\n<td>otp</td>\n<td>string</td>\n<td>Yes</td>\n<td>OTP received by the user via email</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Request Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"new_pin\": \"1234\",\n  \"otp\": \"654321\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"process-flow\"><strong>Process Flow</strong></h3>\n<ol>\n<li><p><strong>Validate input</strong>:</p>\n<ul>\n<li><p>Ensure <code>new_pin</code> is provided and is exactly <strong>4 digits</strong>.</p>\n</li>\n<li><p>Ensure <code>otp</code> is provided.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Retrieve the current user</strong> from the JWT token.</p>\n</li>\n<li><p><strong>Check for user existence</strong>:</p>\n<ul>\n<li>If the user does not exist, return <code>404 Not Found</code>.</li>\n</ul>\n</li>\n<li><p><strong>Check for active OTP</strong>:</p>\n<ul>\n<li>Verify that an OTP exists and has <strong>not expired</strong>.</li>\n</ul>\n</li>\n<li><p><strong>Verify the submitted OTP</strong>:</p>\n<ul>\n<li><p>Extract <strong>salt</strong> and <strong>hashed OTP</strong> from stored user data.</p>\n</li>\n<li><p>Re-hash the submitted OTP using the same salt and Scrypt parameters.</p>\n</li>\n<li><p>Compare the hashes securely.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Handle OTP verification</strong>:</p>\n<ul>\n<li><p>If OTP is invalid, return a <code>400 Bad Request</code>.</p>\n</li>\n<li><p>If an error occurs during verification, return <code>500 Internal Server Error</code>.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>On successful OTP verification</strong>:</p>\n<ul>\n<li><p><strong>Update the user's PIN</strong> securely (hashed).</p>\n</li>\n<li><p><strong>Reset</strong> the OTP fields (<code>otp</code>, <code>otp_expires_at</code>) to <code>None</code>.</p>\n</li>\n<li><p><strong>Reset PIN attempt counters</strong> (<code>pin_attempts</code>, <code>locked_until</code>).</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Audit the action</strong>:</p>\n<ul>\n<li>Create an entry in the <code>AuditTrail</code> table recording the PIN reset.</li>\n</ul>\n</li>\n<li><p><strong>Commit</strong> all changes to the database.</p>\n</li>\n<li><p>Return a <code>200 OK</code> response indicating successful PIN reset.</p>\n</li>\n</ol>\n<hr />\n<h3 id=\"success-response\"><strong>Success Response</strong></h3>\n<p><strong>Status Code:</strong> <code>200 OK</code></p>\n<p><strong>Example Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Your PIN has been reset successfully\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"error-responses\"><strong>Error Responses</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Description</th>\n<th>Example Response</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td>Invalid new PIN format</td>\n<td><code>{ \"error\": \"New PIN must be exactly 4 digits\" }</code></td>\n</tr>\n<tr>\n<td>400</td>\n<td>OTP missing</td>\n<td><code>{ \"error\": \"OTP is required\" }</code></td>\n</tr>\n<tr>\n<td>404</td>\n<td>User not found</td>\n<td><code>{ \"error\": \"User not found\" }</code></td>\n</tr>\n<tr>\n<td>400</td>\n<td>No OTP request found</td>\n<td><code>{ \"error\": \"No OTP request found\" }</code></td>\n</tr>\n<tr>\n<td>400</td>\n<td>OTP expired</td>\n<td><code>{ \"error\": \"OTP has expired\" }</code></td>\n</tr>\n<tr>\n<td>400</td>\n<td>Invalid OTP</td>\n<td><code>{ \"error\": \"Invalid OTP\" }</code></td>\n</tr>\n<tr>\n<td>500</td>\n<td>Internal error during OTP verification</td>\n<td><code>{ \"error\": \"Error verifying OTP: \" }</code></td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"security-notes\"><strong>Security Notes</strong></h3>\n<ul>\n<li><p><strong>New PIN</strong> is securely hashed using a password hashing function (<code>generate_password_hash</code>) before storage.</p>\n</li>\n<li><p><strong>OTP</strong> verification is done with the originally used <strong>salt</strong> and <strong>Scrypt</strong> settings.</p>\n</li>\n<li><p><strong>Expired OTPs</strong> are properly rejected.</p>\n</li>\n<li><p><strong>Audit trail</strong> logs the reset action for traceability and security monitoring.</p>\n</li>\n<li><p><strong>OTP</strong> is <strong>deleted</strong> after use to prevent replay attacks.</p>\n</li>\n</ul>\n","urlObject":{"path":["user","reset-pin-with-otp"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e01a98b4-b082-48d8-b9b4-81b04c3c2872"}],"id":"9f7075a2-97be-4491-b49d-bf7fdfc11f95","_postman_id":"9f7075a2-97be-4491-b49d-bf7fdfc11f95","description":""},{"name":"Newsletter","item":[{"name":"Newsletter Subscribe","id":"02a895b9-0ed1-4923-80a8-b3a2ff2e787c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{baseUrl}}/user/newsletter/subscribe","description":"<h2 id=\"📬-newsletter-subscription-endpoint\">📬 Newsletter Subscription Endpoint</h2>\n<h3 id=\"endpoint\"><strong>Endpoint</strong></h3>\n<p><code>POST /user/newsletter/subscribe</code></p>\n<hr />\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This endpoint allows users to subscribe to the newsletter by providing a valid email address. It checks if the user is already subscribed and prevents duplicate subscriptions.</p>\n<hr />\n<h3 id=\"request\"><strong>Request</strong></h3>\n<h4 id=\"headers\"><strong>Headers</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Content-Type</td>\n<td><code>application/json</code></td>\n<td>✅ Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\"><strong>Body Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>The email address to subscribe</td>\n<td>✅ Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"example-request-payload\">Example Request Payload</h5>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"email\": \"user@example.com\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"responses\"><strong>Responses</strong></h3>\n<h4 id=\"✅-201-created\">✅ 201 Created</h4>\n<p>User is successfully subscribed to the newsletter.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"You have subscribed to our newsletters successfully\"\n}\n\n</code></pre>\n<hr />\n<h4 id=\"⚠️-400-bad-request\">⚠️ 400 Bad Request</h4>\n<p>The <code>email</code> field was not provided or is empty.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Email is required\"\n}\n\n</code></pre>\n<hr />\n<h4 id=\"🚫-409-conflict\">🚫 409 Conflict</h4>\n<p>The email is already subscribed to the newsletter.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"You are already subscribed to our newsletters\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"business-logic-overview\"><strong>Business Logic Overview</strong></h3>\n<ul>\n<li><p>The endpoint first checks if the email field is present in the request body.</p>\n</li>\n<li><p>If the email is missing, it returns a 400 error.</p>\n</li>\n<li><p>It then checks the database for an existing subscriber with the same email.</p>\n</li>\n<li><p>If found, a 409 conflict is returned to avoid duplicate entries.</p>\n</li>\n<li><p>If not, a new <code>Subscriber</code> record is created and stored in the database.</p>\n</li>\n<li><p>Upon success, a 201 response is returned with a confirmation message.</p>\n</li>\n</ul>\n","urlObject":{"path":["user","newsletter","subscribe"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"f334e176-5365-4c88-bd13-4bf7c76b12ba","name":"User Subscribed","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"boronicle@gmail.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/newsletter/subscribe"},"status":"CREATED","code":201,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0"},{"key":"Date","value":"Tue, 01 Jul 2025 18:13:56 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"66"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:3000"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Vary","value":"Origin"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"You have subscribed to our newsletters successfully\"\n}"},{"id":"eb2dab85-b9c1-4ca6-bb4d-6aa15fccc3da","name":"User already subscribed","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"boronicle@gmail.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/newsletter/subscribe"},"status":"CONFLICT","code":409,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0"},{"key":"Date","value":"Tue, 01 Jul 2025 18:15:57 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"60"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:3000"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Vary","value":"Origin"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"You are already subscribed to our newsletters\"\n}"}],"_postman_id":"02a895b9-0ed1-4923-80a8-b3a2ff2e787c"},{"name":"Newsletter Unsubscribe","id":"3d83ebcf-237a-440c-9af4-a40e1e462651","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"boronicle@gmail.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/newsletter/unsubscribe","description":"<h2 id=\"🔕-newsletter-unsubscribe-endpoint\">🔕 Newsletter Unsubscribe Endpoint</h2>\n<h3 id=\"endpoint\"><strong>Endpoint</strong></h3>\n<p><code>POST /user/newsletter/unsubscribe</code></p>\n<hr />\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This endpoint allows users to unsubscribe from the newsletter by providing their email address. It ensures the email exists in the subscriber list before processing the unsubscription.</p>\n<hr />\n<h3 id=\"request\"><strong>Request</strong></h3>\n<h4 id=\"headers\"><strong>Headers</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Content-Type</td>\n<td><code>application/json</code></td>\n<td>✅ Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\"><strong>Body Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>The email address to unsubscribe</td>\n<td>✅ Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"example-request-payload\">Example Request Payload</h5>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"email\": \"user@example.com\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"responses\"><strong>Responses</strong></h3>\n<h4 id=\"✅-200-ok\">✅ 200 OK</h4>\n<p>The user has been successfully unsubscribed.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"You have been unsubscribed from our newsletters successfully\"\n}\n\n</code></pre>\n<hr />\n<h4 id=\"⚠️-400-bad-request\">⚠️ 400 Bad Request</h4>\n<p>The request does not include the <code>email</code> field.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Email is required\"\n}\n\n</code></pre>\n<hr />\n<h4 id=\"🚫-404-not-found\">🚫 404 Not Found</h4>\n<p>The email provided is not in the subscriber list.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Email not found in our subscriber list\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"business-logic-overview\"><strong>Business Logic Overview</strong></h3>\n<ul>\n<li><p>The endpoint validates if the <code>email</code> is present in the request body.</p>\n</li>\n<li><p>If not provided, it returns a <code>400</code> response.</p>\n</li>\n<li><p>The system then searches for a subscriber with that email.</p>\n</li>\n<li><p>If the subscriber is not found, it returns a <code>404</code> response.</p>\n</li>\n<li><p>If found, the subscriber is deleted from the database and a success message is returned with <code>200 OK</code>.</p>\n</li>\n</ul>\n","urlObject":{"path":["user","newsletter","unsubscribe"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"b9178cdf-bc34-4537-97af-f13da95acb7b","name":"Newsletter Unsubscribe","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"boronicle@gmail.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/newsletter/unsubscribe"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0"},{"key":"Date","value":"Tue, 01 Jul 2025 18:13:36 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"75"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:3000"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Vary","value":"Origin"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"You have been unsubscribed from our newsletters successfully\"\n}"}],"_postman_id":"3d83ebcf-237a-440c-9af4-a40e1e462651"}],"id":"5322f47c-d1a1-4f73-9b41-aed7225c7fda","_postman_id":"5322f47c-d1a1-4f73-9b41-aed7225c7fda","description":""},{"name":"Virtual Wallet","item":[{"name":"Fund Wallet","id":"147c2acd-bec2-43fb-996d-56753325c467","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 200000,\r\n    \"currency\": \"NGN\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/v2/user/virtualwallet/credit","description":"<p>StartFragment</p>\n<h1 id=\"virtual-wallet-deposit-api-documentation\">Virtual Wallet Deposit API Documentation</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This API endpoint handles virtual wallet deposits by processing payment requests, validating currencies, and initializing payments through supported payment gateways (Paystack for NGN, Flutterwave for USD/GHS).</p>\n<hr />\n<h2 id=\"endpoint\">Endpoint</h2>\n<p><code>POST /api/v2/user/virtualwallet/deposit</code></p>\n<h2 id=\"authentication\">Authentication</h2>\n<ul>\n<li><p><strong>Required</strong>: JWT (JSON Web Token)</p>\n</li>\n<li><p><strong>Method</strong>: Bearer Token in Authorization header</p>\n</li>\n<li><p><strong>Example</strong>: <code>Authorization: Bearer</code></p>\n</li>\n</ul>\n<h2 id=\"request-headers\">Request Headers</h2>\n<p>http</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">Content-Type: application/json\nAuthorization: Bearer &lt;jwt_token&gt;\n\n</code></pre>\n<h2 id=\"request-body-json\">Request Body (JSON)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Fi  <br />eld</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Constraints</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>Decimal/String</td>\n<td>Yes</td>\n<td>Deposit amount</td>\n<td>Must be &gt; 0</td>\n</tr>\n<tr>\n<td><code>currency</code></td>\n<td>String</td>\n<td>No</td>\n<td>Payment currency (default: NGN)</td>\n<td>NGN, USD, or GHS</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-example\">Request Example</h3>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"amount\": 1000.50,\n  \"currency\": \"NGN\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"response-structure\">Response Structure</h2>\n<h3 id=\"success-response-200\">Success Response (200)</h3>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": true,\n  \"message\": \"Authorization URL created\",\n  \"data\": {\n    \"authorization_url\": \"https://checkout.paystack.com/...\",\n    \"access_code\": \"xxxxxx\",\n    \"reference\": \"txn_ref_123\"\n  }\n}\n\n</code></pre>\n<h3 id=\"error-responses\">Error Responses</h3>\n<h4 id=\"400---bad-request\">400 - Bad Request</h4>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid amount\"\n}\n\n</code></pre>\n<p>OR</p>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"error\",\n  \"success\": false,\n  \"message\": \"Wallet funding currency mismatch\",\n  \"code\": \"400       --&gt; BAD REQUEST\",\n  \"wallet_currency\": \"NGN\",\n  \"payment_currency\": \"USD\",\n  \"meta\": {\n    \"timestamp\": \"2024-01-01T12:00:00Z\",\n    \"user_message\": \"This wallet is denominated in NGN. You can only fund it using NGN not USD. Please try again with the correct currency.\"\n  }\n}\n\n</code></pre>\n<h4 id=\"404---user-not-found\">404 - User Not Found</h4>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<h4 id=\"409---duplicate-transaction\">409 - Duplicate Transaction</h4>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Duplicate transaction\"\n}\n\n</code></pre>\n<h4 id=\"502---payment-gateway-error\">502 - Payment Gateway Error</h4>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Payment initialization failed\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"workflow\">Workflow</h2>\n<h3 id=\"1-validation-phase\">1. <strong>Validation Phase</strong></h3>\n<ul>\n<li><p>Validates request JSON format</p>\n</li>\n<li><p>Ensures amount is valid decimal &gt; 0</p>\n</li>\n<li><p>Checks if currency is supported (NGN, USD, GHS)</p>\n</li>\n</ul>\n<h3 id=\"2-user-identification\">2. <strong>User Identification</strong></h3>\n<ul>\n<li><p>Extracts username from JWT token</p>\n</li>\n<li><p>Retrieves user from database</p>\n</li>\n<li><p>Returns 404 if user not found</p>\n</li>\n</ul>\n<h3 id=\"3-wallet-management\">3. <strong>Wallet Management</strong></h3>\n<ul>\n<li><p>Retrieves user's virtual wallet</p>\n</li>\n<li><p>Creates new wallet with NGN default if none exists</p>\n</li>\n<li><p><strong>Critical</strong>: Enforces currency matching between payment currency and wallet currency</p>\n</li>\n</ul>\n<h3 id=\"4-transaction-creation\">4. <strong>Transaction Creation</strong></h3>\n<ul>\n<li><p>Generates unique transaction reference</p>\n</li>\n<li><p>Creates idempotency key to prevent duplicate transactions</p>\n</li>\n<li><p>Creates two transaction records:</p>\n<ul>\n<li><p><code>WalletTransaction</code>: Tracks wallet credit intent</p>\n</li>\n<li><p><code>PaymentTransaction</code>: Tracks payment processing</p>\n</li>\n</ul>\n</li>\n<li><p>Both transactions start in \"pending\" status</p>\n</li>\n</ul>\n<h3 id=\"5-payment-gateway-selection\">5. <strong>Payment Gateway Selection</strong></h3>\n<ul>\n<li><p><strong>Paystack</strong>: Used for NGN transactions</p>\n</li>\n<li><p><strong>Flutterwave</strong>: Used for USD and GHS transactions</p>\n</li>\n</ul>\n<h3 id=\"6-platform-detection\">6. <strong>Platform Detection</strong></h3>\n<ul>\n<li><p>Detects if request is from mobile or web</p>\n</li>\n<li><p>Adjusts callback URLs accordingly</p>\n</li>\n</ul>\n<h3 id=\"7-gateway-initialization\">7. <strong>Gateway Initialization</strong></h3>\n<h4 id=\"for-ngn-paystack\">For NGN (Paystack):</h4>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"email\": \"user@example.com\",\n  \"amount\": 100050,  // Amount in kobo (×100)\n  \"currency\": \"NGN\",\n  \"reference\": \"txn_ref_123\",\n  \"callback_url\": \"https://your-domain.com/callback/paystack/...\"\n}\n\n</code></pre>\n<h4 id=\"for-usdghs-flutterwave\">For USD/GHS (Flutterwave):</h4>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"tx_ref\": \"txn_ref_123\",\n  \"amount\": \"1000.50\",\n  \"currency\": \"USD\",\n  \"redirect_url\": \"https://your-domain.com/callback/flutterwave/...\",\n  \"customer\": {\n    \"email\": \"user@example.com\",\n    \"phonenumber\": \"+1234567890\",\n    \"name\": \"John Doe\"\n  }\n}\n\n</code></pre>\n<h3 id=\"8-error-handling\">8. <strong>Error Handling</strong></h3>\n<ul>\n<li><p>If gateway request fails (non-200 response):</p>\n<ul>\n<li><p>Updates both transactions to \"failed\" status</p>\n</li>\n<li><p>Logs error with full exception details</p>\n</li>\n<li><p>Returns 502 Gateway Error</p>\n</li>\n</ul>\n</li>\n</ul>\n<hr />\n<h2 id=\"currency-rules\">Currency Rules</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Wallet Currency</th>\n<th>Allowed Payment Currencies</th>\n<th>Gateway</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>NGN</td>\n<td>NGN only</td>\n<td>Paystack</td>\n</tr>\n<tr>\n<td>USD</td>\n<td>USD only</td>\n<td>Flutterwave</td>\n</tr>\n<tr>\n<td>GHS</td>\n<td>GHS only</td>\n<td>Flutterwave</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Important</strong>: Users can only fund wallets with the same currency as the wallet denomination.</p>\n<hr />\n<h2 id=\"idempotency\">Idempotency</h2>\n<ul>\n<li><p>Uses <code>idempotency_key</code> to prevent duplicate transactions</p>\n</li>\n<li><p>Key format: <code>wallet_deposit:{user_id}:{currency}:{timestamp}</code></p>\n</li>\n<li><p>Returns 409 Conflict if duplicate detected</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"callback-urls\">Callback URLs</h2>\n<h3 id=\"paystack-callback-format\">Paystack Callback Format</h3>\n<p>text</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://your-domain.com/api/wallet/callback/paystack?reference=txn_ref_123&amp;platform=web&amp;provider=paystack\n\n</code></pre><h3 id=\"flutterwave-callback-format\">Flutterwave Callback Format</h3>\n<p>text</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://your-domain.com/api/wallet/callback/flutterwave?reference=txn_ref_123&amp;platform=mobile&amp;provider=flutterwave\n\n</code></pre><hr />\n<h2 id=\"logging\">Logging</h2>\n<ul>\n<li><p>Logs payment initialization attempts</p>\n</li>\n<li><p>Logs gateway selection (Paystack/Flutterwave)</p>\n</li>\n<li><p>Logs errors with full stack trace</p>\n</li>\n<li><p>Uses <code>routes_logger</code> for all payment-related logging</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"database-schema-impact\">Database Schema Impact</h2>\n<h3 id=\"tables-modified\">Tables Modified:</h3>\n<ol>\n<li><p><strong>virtual_wallets</strong></p>\n<ul>\n<li><p>Created if user doesn't have one</p>\n</li>\n<li><p>Balance updated after successful payment verification (not in this endpoint)</p>\n</li>\n</ul>\n</li>\n<li><p><strong>wallet_transactions</strong></p>\n<ul>\n<li><p>New record with type \"credit\"</p>\n</li>\n<li><p>Status: \"pending\" → \"completed\"/\"failed\"</p>\n</li>\n</ul>\n</li>\n<li><p><strong>payment_transactions</strong></p>\n<ul>\n<li><p>New record with payment details</p>\n</li>\n<li><p>Links to wallet transaction via reference</p>\n</li>\n</ul>\n</li>\n</ol>\n<hr />\n<h2 id=\"security-considerations\">Security Considerations</h2>\n<ol>\n<li><p><strong>PCI Compliance</strong>: Transaction intent is persisted before contacting payment gateway</p>\n</li>\n<li><p><strong>Input Validation</strong>: All inputs validated and sanitized</p>\n</li>\n<li><p><strong>JWT Authentication</strong>: Required for all requests</p>\n</li>\n<li><p><strong>Currency Enforcement</strong>: Strict currency matching prevents conversion issues</p>\n</li>\n<li><p><strong>Idempotency</strong>: Prevents duplicate charges</p>\n</li>\n</ol>\n<hr />\n<h2 id=\"example-usage\">Example Usage</h2>\n<h3 id=\"curl-example\">cURL Example</h3>\n<p>bash</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">curl -X POST https://api.your-domain.com/api/virtual-wallet/deposit \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_JWT_TOKEN\" \\\n  -d '{\n    \"amount\": 5000.00,\n    \"currency\": \"NGN\"\n  }'\n\n</code></pre>\n<h3 id=\"python-example\">Python Example</h3>\n<p>python</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">import requests\nheaders = {\n    \"Authorization\": \"Bearer YOUR_JWT_TOKEN\",\n    \"Content-Type\": \"application/json\"\n}\ndata = {\n    \"amount\": 100.00,\n    \"currency\": \"USD\"\n}\nresponse = requests.post(\n    \"https://api.your-domain.com/api/virtual-wallet/deposit\",\n    headers=headers,\n    json=data\n)\nprint(response.json())\n\n</code></pre>\n<hr />\n<h2 id=\"notes\">Notes</h2>\n<ol>\n<li><p>The actual wallet balance is NOT updated in this endpoint</p>\n</li>\n<li><p>Balance updates occur in separate callback endpoints after payment verification</p>\n</li>\n<li><p>Amounts are stored as Decimal with 2 decimal places precision</p>\n</li>\n<li><p>Mobile detection affects callback URL construction but not business logic</p>\n</li>\n<li><p>All timestamps are in UTC</p>\n</li>\n</ol>\n","urlObject":{"path":["api","v2","user","virtualwallet","credit"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"c2e6d2ba-be84-4ad2-b835-388a0d88aec5","name":"New Request","originalRequest":{"method":"POST","header":[{"key":"X-CSRF-Token","value":"","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 2000,\r\n    \"currency\": \"GHS\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/v2/user/virtualwallet/credit"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0"},{"key":"Date","value":"Thu, 25 Dec 2025 13:31:49 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"138"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:3000"},{"key":"Access-Control-Expose-Headers","value":"Authorization, Content-Type, X-Page, X-Per-Page, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-Request-Id, X-Total-Count"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Vary","value":"Origin"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"link\": \"https://checkout-v2.dev-flutterwave.com/v3/hosted/pay/3944a0427288692511fb\"\n    },\n    \"message\": \"Hosted Link\",\n    \"status\": \"success\"\n}"},{"id":"1225faaf-8d8c-47ce-aec6-ac0d696c009b","name":"Error - Currency Mismatch","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <jwt_token>"}],"body":{"mode":"raw","raw":"{\n  \"amount\": 500.00,\n  \"currency\": \"USD\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/v2/user/virtualwallet/credit"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","enabled":true},{"key":"Authorization","value":"Bearer <jwt_token>","description":"","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"error\",\n  \"success\": false,\n  \"message\": \"Wallet funding currency mismatch\",\n  \"code\": \"400 --> BAD REQUEST\",\n  \"wallet_currency\": \"NGN\",\n  \"payment_currency\": \"USD\",\n  \"meta\": {\n    \"timestamp\": \"2024-01-15T10:30:00Z\",\n    \"user_message\": \"This wallet is denominated in NGN. You can only fund it using NGN not USD. Please try again with the correct currency.\"\n  }\n}"},{"id":"3313b52c-738d-4aea-9115-98b808ae7478","name":"Error - Invalid Amount","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <jwt_token>"}],"body":{"mode":"raw","raw":"{\n  \"amount\": -50.00,\n  \"currency\": \"NGN\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/v2/user/virtualwallet/credit"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","enabled":true},{"key":"Authorization","value":"Bearer <jwt_token>","description":"","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n  \"error\": \"Invalid amount\"\n}"}],"_postman_id":"147c2acd-bec2-43fb-996d-56753325c467"},{"name":"Debit Wallet","id":"304b6eba-2298-4729-84fd-6f9c36bbfe50","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\":259.17,\r\n    \"request_currency\":\"USD\",\r\n    \"booking_id\":\"46940364-b465-4ad8-8f1d-1fc2d681b115\",\r\n    \"source\":\"amadeus\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/v2/user/virtualwallet/debit","description":"<p>StartFragment</p>\n<h1 id=\"virtual-wallet-debit-api-documentation\">Virtual Wallet Debit API Documentation</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This API handles debiting user virtual wallets for booking payments (flights, hotels, etc.). It reserves funds, processes currency conversions, applies markup, and integrates with payment providers (Flutterwave/Paystack) for fund transfers.</p>\n<hr />\n<h2 id=\"main-debit-endpoint\"><strong>Main Debit Endpoint</strong></h2>\n<h3 id=\"post-apiv2uservirtualwalletdebit\"><code>POST /api/v2/user/virtualwallet/debit</code></h3>\n<p>Debits a user's virtual wallet for booking payments.</p>\n<h3 id=\"authentication\">Authentication</h3>\n<ul>\n<li><p><strong>Required</strong>: JWT (JSON Web Token)</p>\n</li>\n<li><p><strong>Method</strong>: Bearer Token in Authorization header</p>\n</li>\n<li><p><strong>Example</strong>: <code>Authorization: Bearer</code></p>\n</li>\n</ul>\n<h3 id=\"request-headers\">Request Headers</h3>\n<p>http</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Content-Type: application/json\nAuthorization: Bearer &lt;jwt_token&gt;\n\n</code></pre><h3 id=\"request-body-json\">Request Body (JSON)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Constraints</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>Decimal/String</td>\n<td>Yes</td>\n<td>Debit amount</td>\n<td>Must be &gt; 0</td>\n</tr>\n<tr>\n<td><code>request_currency</code></td>\n<td>String</td>\n<td>No</td>\n<td>Request currency (default: NGN)</td>\n<td>NGN, USD, or GHS</td>\n</tr>\n<tr>\n<td><code>reason</code></td>\n<td>String</td>\n<td>No</td>\n<td>Reason for debit (default: \"Wallet debit\")</td>\n<td>Max 255 chars</td>\n</tr>\n<tr>\n<td><code>booking_id</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Booking reference ID</td>\n<td>Must exist in system</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-example\">Request Example</h3>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"amount\": 500.00,\n  \"request_currency\": \"NGN\",\n  \"reason\": \"Flight booking payment\",\n  \"booking_id\": \"BOOK_123456\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"response-structure\"><strong>Response Structure</strong></h2>\n<h3 id=\"success-response-200---general\">Success Response (200) - General</h3>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"success\",\n  \"success\": true,\n  \"code\": \"200  --&gt; OK\",\n  \"message\": \"Wallet debited successfully for FLIGHT booking\",\n  \"data\": {\n    \"debited_amount\": \"500.00\",\n    \"wallet_currency\": \"NGN\",\n    \"reference\": \"TXN_REF_789\",\n    \"new_balance\": \"2500.00\",\n    \"booking_details\": {\n      \"order_id\": \"ORDER_ABC123\",\n      \"type\": \"flight\"\n    }\n  },\n  \"meta\": {\n    \"timestamp\": \"2024-01-01T12:00:00Z\"\n  }\n}\n\n</code></pre>\n<h3 id=\"success-response-200---flight-flutterwave-transfer\">Success Response (200) - Flight (Flutterwave Transfer)</h3>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"success\",\n  \"success\": true,\n  \"code\": \"200  --&gt; OK\",\n  \"message\": \"Intraverse transfer money sent successfully\",\n  \"data\": {\n    \"reference\": \"TXN_REF_789\",\n    \"external provider\": \"flutterwave\",\n    \"booking_orderID\": \"ORDER_ABC123\"\n  },\n  \"meta\": {\n    \"timestamp\": \"2024-01-01T12:00:00Z\"\n  }\n}\n\n</code></pre>\n<h3 id=\"success-response-200---idempotency-check\">Success Response (200) - Idempotency Check</h3>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"success\",\n  \"success\": true,\n  \"code\": \"200  --&gt; OK\",\n  \"message\": \"Transaction already processed\",\n  \"data\": {\n    \"amount\": \"500.00\",\n    \"currency\": \"NGN\",\n    \"reference\": \"TXN_REF_789\",\n    \"status\": \"success\"\n  },\n  \"meta\": {\n    \"timestamp\": \"2024-01-01T12:00:00Z\"\n  }\n}\n\n</code></pre>\n<hr />\n<h2 id=\"error-responses\"><strong>Error Responses</strong></h2>\n<h3 id=\"400---bad-request\">400 - Bad Request</h3>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"error\",\n  \"success\": false,\n  \"code\": \"400  --&gt; BAD REQUEST\",\n  \"message\": \"amount is required\",\n  \"meta\": {\n    \"timestamp\": \"2024-01-01T12:00:00Z\"\n  }\n}\n\n</code></pre>\n<h3 id=\"400---insufficient-balance\">400 - Insufficient Balance</h3>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"error\",\n  \"success\": false,\n  \"code\": \"400  --&gt; BAD REQUEST\",\n  \"message\": \"Insufficient wallet balance\",\n  \"data\": {\n    \"balance\": \"1000.00\",\n    \"amount_required\": \"1500.00\",\n    \"currency\": \"NGN\"\n  },\n  \"meta\": {\n    \"timestamp\": \"2024-01-01T12:00:00Z\"\n  }\n}\n\n</code></pre>\n<h3 id=\"404---walletbooking-not-found\">404 - Wallet/Booking Not Found</h3>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"error\",\n  \"success\": false,\n  \"code\": \"404  --&gt; NOT FOUND\",\n  \"message\": \"Wallet not found\",\n  \"meta\": {\n    \"timestamp\": \"2024-01-01T12:00:00Z\"\n  }\n}\n\n</code></pre>\n<h3 id=\"500---internal-server-error\">500 - Internal Server Error</h3>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"error\",\n  \"success\": false,\n  \"code\": \"500  --&gt; INTERNAL SERVER ERROR\",\n  \"message\": \"Wallet debit failed\",\n  \"details\": \"Transfer to Flutterwave failed\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"workflow-details\"><strong>Workflow Details</strong></h2>\n<h3 id=\"1-validation-phase\">1. <strong>Validation Phase</strong></h3>\n<ul>\n<li><p>Validates <code>amount</code> is present and positive</p>\n</li>\n<li><p>Converts amount to Decimal with 2 decimal places using <code>to_money()</code></p>\n</li>\n<li><p>Validates <code>request_currency</code> is supported (NGN, USD, GHS)</p>\n</li>\n<li><p>Validates <code>booking_id</code> is provided and exists</p>\n</li>\n</ul>\n<h3 id=\"2-user--wallet-validation\">2. <strong>User &amp; Wallet Validation</strong></h3>\n<ul>\n<li><p>Extracts username from JWT</p>\n</li>\n<li><p>Retrieves user and their virtual wallet</p>\n</li>\n<li><p>Returns 404 if no wallet exists</p>\n</li>\n</ul>\n<h3 id=\"3-idempotency-check\">3. <strong>Idempotency Check</strong></h3>\n<ul>\n<li><p>Generates idempotency key: <code>wallet_debit:{booking_type}:{booking_id}:{timestamp}</code></p>\n</li>\n<li><p>Prevents duplicate processing of same booking</p>\n</li>\n<li><p>Returns existing transaction data if duplicate detected</p>\n</li>\n</ul>\n<h3 id=\"4-currency-conversion\">4. <strong>Currency Conversion</strong></h3>\n<ul>\n<li><p>Converts <code>request_currency</code> to <code>wallet_currency</code> if different</p>\n</li>\n<li><p>Uses <code>convert_currency()</code> function for accurate conversion</p>\n</li>\n<li><p>Rounds to 2 decimal places using <code>ROUND_HALF_UP</code></p>\n</li>\n</ul>\n<h3 id=\"5-balance-check\">5. <strong>Balance Check</strong></h3>\n<ul>\n<li><p>Calculates available balance: <code>balance - reserved_balance</code></p>\n</li>\n<li><p>Returns 400 if insufficient funds</p>\n</li>\n<li><p><strong>Important</strong>: Uses <code>Decimal</code> for precise calculations</p>\n</li>\n</ul>\n<h3 id=\"6-balance-reservation\">6. <strong>Balance Reservation</strong></h3>\n<ul>\n<li><p>Increases <code>reserved_balance</code> by debit amount</p>\n</li>\n<li><p>Creates <code>WalletTransaction</code> with status \"pending\"</p>\n</li>\n<li><p>Generates unique transaction reference</p>\n</li>\n</ul>\n<h3 id=\"7-hermex-markup-application\">7. <strong>Hermex Markup Application</strong></h3>\n<ul>\n<li><p>Applies 3% markup: <code>debit_amount \\\\* 0.03</code></p>\n</li>\n<li><p>Calculates actual transfer amount: <code>debit_amount - markup</code></p>\n</li>\n<li><p>Marks up amount is stored in payment transaction</p>\n</li>\n</ul>\n<h3 id=\"8-booking-type-processing\">8. <strong>Booking Type Processing</strong></h3>\n<h4 id=\"a-flight-bookings\">A. <strong>Flight Bookings</strong></h4>\n<ul>\n<li><p><strong>NGN Wallets</strong>: Uses Paystack for transfers</p>\n</li>\n<li><p><strong>USD/GHS Wallets</strong>: Uses Flutterwave for transfers</p>\n</li>\n<li><p>Transfers funds to external provider account</p>\n</li>\n<li><p>Transaction status becomes \"processing\"</p>\n</li>\n<li><p>External provider handles actual payout</p>\n</li>\n</ul>\n<h4 id=\"b-hotel-bookings\">B. <strong>Hotel Bookings</strong></h4>\n<ul>\n<li><p><strong>Direct Debit</strong>: Immediately reduces wallet balance</p>\n</li>\n<li><p>Updates booking status to \"PROCESSING\"</p>\n</li>\n<li><p>Marks booking source as \"INTERNAL WALLET DEBITING\"</p>\n</li>\n<li><p>Transaction becomes \"success\" immediately</p>\n</li>\n</ul>\n<h4 id=\"c-other-booking-types\">C. <strong>Other Booking Types</strong></h4>\n<ul>\n<li><p>Similar to hotel bookings (direct debit)</p>\n</li>\n<li><p>Wallet balance immediately reduced</p>\n</li>\n</ul>\n<h3 id=\"9-transaction-finalization\">9. <strong>Transaction Finalization</strong></h3>\n<ul>\n<li><p>For non-flight bookings: Finalizes debit immediately</p>\n</li>\n<li><p>For flight bookings: Defers to callback/webhook for final status</p>\n</li>\n<li><p>Updates wallet balance and reduces reserved balance</p>\n</li>\n</ul>\n<h3 id=\"10-error-handling--rollback\">10. <strong>Error Handling &amp; Rollback</strong></h3>\n<ul>\n<li><p>On any exception: Rolls back database changes</p>\n</li>\n<li><p>Releases reserved balance</p>\n</li>\n<li><p>Updates transaction status to \"failed\"</p>\n</li>\n<li><p>Returns 500 with error details</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"payment-provider-integration\"><strong>Payment Provider Integration</strong></h2>\n<h3 id=\"flutterwave-usdghs-wallets\"><strong>Flutterwave (USD/GHS Wallets)</strong></h3>\n<p><strong>Payload Structure:</strong></p>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"account_bank\": \"BANK_CODE\",\n  \"account_number\": \"ACCOUNT_NUMBER\",\n  \"amount\": \"450.00\",\n  \"currency\": \"USD\",\n  \"reference\": \"TXN_REF_789\",\n  \"beneficiary_name\": \"BENEFICIARY_NAME\",\n  \"debit_currency\": \"USD\",\n  \"callback_url\": \"https://your-domain.com/callback/flutterwave\",\n  \"narration\": \"Payment for flight ticket ORDER_ABC123\",\n  \"action\": \"instant\"\n}\n\n</code></pre>\n<h3 id=\"paystack-ngn-wallets\"><strong>Paystack (NGN Wallets)</strong></h3>\n<p><strong>Implementation Note:</strong> Paystack integration logic is handled in callback/webhook functions, not in the main debit endpoint.</p>\n<hr />\n<h2 id=\"callbackwebhook-endpoints\"><strong>Callback/Webhook Endpoints</strong></h2>\n<h3 id=\"1-flutterwave-webhook-post-apicallbackflutterwave\"><strong>1. Flutterwave Webhook</strong> <code>POST /api/callback/flutterwave</code></h3>\n<p>Handles Flutterwave transfer status updates.</p>\n<h4 id=\"headers\">Headers</h4>\n<p>http</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>verif-hash: &lt;FLW_SECRET_HASH&gt;\nContent-Type: application/json\n\n</code></pre><h4 id=\"sample-webhook-data\">Sample Webhook Data</h4>\n<p>json</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data\": {\n    \"reference\": \"TXN_REF_789\",\n    \"id\": \"TRANSFER_ID_123\",\n    \"status\": \"SUCCESSFUL\"\n  }\n}\n\n</code></pre>\n<h4 id=\"security\">Security</h4>\n<ul>\n<li><p>Validates <code>verif-hash</code> header matches <code>FLW_SECRET_HASH</code></p>\n</li>\n<li><p>Returns 403 on invalid signature</p>\n</li>\n</ul>\n<h3 id=\"2-paystack-webhook-post-apicallbackpaystack\"><strong>2. Paystack Webhook</strong> <code>POST /api/callback/paystack</code></h3>\n<p>Handles Paystack transfer status updates.</p>\n<h4 id=\"headers-1\">Headers</h4>\n<p>http</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>x-paystack-signature: &lt;HMAC_SHA512_SIGNATURE&gt;\nContent-Type: application/json\n\n</code></pre><h4 id=\"security-1\">Security</h4>\n<ul>\n<li><p>Validates HMAC SHA512 signature using <code>PAYSTACK_SECRET_KEY</code></p>\n</li>\n<li><p>Returns 403 on invalid signature</p>\n</li>\n</ul>\n<h3 id=\"3-paystack-ui-callback-get-apicallbackpaystackredirect\"><strong>3. Paystack UI Callback</strong> <code>GET /api/callback/paystack/redirect</code></h3>\n<p>User-facing callback for Paystack transfers.</p>\n<h4 id=\"query-parameters\">Query Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>reference</code></td>\n<td>Yes</td>\n<td>Transaction reference</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"behavior\">Behavior</h4>\n<ul>\n<li><p>Verifies transaction status with Paystack API</p>\n</li>\n<li><p>Does NOT update wallet balance directly</p>\n</li>\n<li><p>Triggers webhook logic for processing</p>\n</li>\n<li><p>Returns current transaction status</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"idempotency-implementation\"><strong>Idempotency Implementation</strong></h2>\n<h3 id=\"key-generation\"><strong>Key Generation</strong></h3>\n<p>text</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>wallet_debit:{booking_type}:{booking_id[:10]}:{timestamp}\n\n</code></pre><h3 id=\"duplicate-handling\"><strong>Duplicate Handling</strong></h3>\n<ul>\n<li><p>Checks for existing transaction with same idempotency key</p>\n</li>\n<li><p>Returns existing transaction data (200 OK)</p>\n</li>\n<li><p>Prevents double-charging for same booking</p>\n</li>\n</ul>\n<h3 id=\"database-schema\"><strong>Database Schema</strong></h3>\n<p>python</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>WalletTransaction:\n    idempotency_key: String (unique)\n    reference: String (unique)\n    status: String (pending/processing/success/failed)\n\n</code></pre><hr />\n<h2 id=\"currency-handling\"><strong>Currency Handling</strong></h2>\n<h3 id=\"conversion-logic\"><strong>Conversion Logic</strong></h3>\n<p>text</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>if request_currency == wallet_currency:\n    debit_amount = amount\nelse:\n    converted = convert_currency(amount, request_currency, wallet_currency)\n    debit_amount = round(converted, 2)\n\n</code></pre><h3 id=\"markup-calculation\"><strong>Markup Calculation</strong></h3>\n<p>text</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>hermex_markup = debit_amount * 0.03  # 3% markup\nreal_debit_amount = debit_amount - hermex_markup\n\n</code></pre><h3 id=\"provider-amount-conversion\"><strong>Provider Amount Conversion</strong></h3>\n<p>text</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>if wallet_currency == request_currency:\n    provider_amount = real_debit_amount\nelse:\n    provider_amount = convert_currency(real_debit_amount, wallet_currency, request_currency)\n\n</code></pre><hr />\n<h2 id=\"database-impact\"><strong>Database Impact</strong></h2>\n<h3 id=\"tables-modified\"><strong>Tables Modified:</strong></h3>\n<ol>\n<li><p><strong>virtual_wallets</strong></p>\n<ul>\n<li><p><code>balance</code>: Reduced on successful debit</p>\n</li>\n<li><p><code>reserved_balance</code>: Temporarily increased then reduced</p>\n</li>\n</ul>\n</li>\n<li><p><strong>wallet_transactions</strong></p>\n<ul>\n<li><p>New \"debit\" type transaction</p>\n</li>\n<li><p>Status: pending → processing → success/failed</p>\n</li>\n</ul>\n</li>\n<li><p><strong>payment_transactions</strong></p>\n<ul>\n<li><p>Links to booking and wallet transaction</p>\n</li>\n<li><p>Stores provider details and markup</p>\n</li>\n</ul>\n</li>\n<li><p><strong>bookings</strong></p>\n<ul>\n<li><p><code>booking_status</code>: Updated to \"PROCESSING\"</p>\n</li>\n<li><p><code>source</code>: Set to \"INTERNAL WALLET DEBITING\"</p>\n</li>\n</ul>\n</li>\n</ol>\n<hr />\n<h2 id=\"logging\"><strong>Logging</strong></h2>\n<h3 id=\"key-log-events\"><strong>Key Log Events:</strong></h3>\n<ol>\n<li><p><code>\"Debiting wallet for Intraverse flight booking\"</code></p>\n</li>\n<li><p><code>\"Intraverse flight booking debit for USD/GHS wallet via Flutterwave\"</code></p>\n</li>\n<li><p><code>\"Debiting wallet for Hotel Booking\"</code></p>\n</li>\n<li><p>All exceptions with full stack trace</p>\n</li>\n</ol>\n<h3 id=\"logger-routes_logger\"><strong>Logger:</strong> <code>routes_logger</code></h3>\n<hr />\n<h2 id=\"security-considerations\"><strong>Security Considerations</strong></h2>\n<h3 id=\"1-authentication--authorization\"><strong>1. Authentication &amp; Authorization</strong></h3>\n<ul>\n<li><p>JWT token required</p>\n</li>\n<li><p>User can only debit their own wallet</p>\n</li>\n</ul>\n<h3 id=\"2-input-validation\"><strong>2. Input Validation</strong></h3>\n<ul>\n<li><p>All inputs validated and sanitized</p>\n</li>\n<li><p>Decimal precision maintained throughout</p>\n</li>\n</ul>\n<h3 id=\"3-idempotency\"><strong>3. Idempotency</strong></h3>\n<ul>\n<li><p>Prevents duplicate charges</p>\n</li>\n<li><p>Safe retry mechanism</p>\n</li>\n</ul>\n<h3 id=\"4-webhook-security\"><strong>4. Webhook Security</strong></h3>\n<ul>\n<li><p>Flutterwave: <code>verif-hash</code> validation</p>\n</li>\n<li><p>Paystack: HMAC SHA512 signature validation</p>\n</li>\n</ul>\n<h3 id=\"5-balance-reservation\"><strong>5. Balance Reservation</strong></h3>\n<ul>\n<li><p>Prevents race conditions with concurrent debits</p>\n</li>\n<li><p>Ensures funds are available during processing</p>\n</li>\n</ul>\n<h3 id=\"6-atomic-operations\"><strong>6. Atomic Operations</strong></h3>\n<ul>\n<li><p>Database operations wrapped in transactions</p>\n</li>\n<li><p>Automatic rollback on failures</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"example-usage\"><strong>Example Usage</strong></h2>\n<h3 id=\"curl-example---flight-booking\"><strong>cURL Example - Flight Booking</strong></h3>\n<p>bash</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">curl -X POST https://api.your-domain.com/api/virtual-wallet/debit \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_JWT_TOKEN\" \\\n  -d '{\n    \"amount\": 1000.00,\n    \"request_currency\": \"USD\",\n    \"reason\": \"Flight to London\",\n    \"booking_id\": \"FLIGHT_789\"\n  }'\n\n</code></pre>\n<h3 id=\"curl-example---hotel-booking\"><strong>cURL Example - Hotel Booking</strong></h3>\n<p>bash</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">curl -X POST https://api.your-domain.com/api/virtual-wallet/debit \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_JWT_TOKEN\" \\\n  -d '{\n    \"amount\": 250.00,\n    \"request_currency\": \"NGN\",\n    \"reason\": \"Hotel reservation\",\n    \"booking_id\": \"HOTEL_456\"\n  }'\n\n</code></pre>\n<h3 id=\"python-example\"><strong>Python Example</strong></h3>\n<p>python</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">import requests\nheaders = {\n    \"Authorization\": \"Bearer YOUR_JWT_TOKEN\",\n    \"Content-Type\": \"application/json\"\n}\ndata = {\n    \"amount\": 750.50,\n    \"request_currency\": \"GHS\",\n    \"reason\": \"Flight booking\",\n    \"booking_id\": \"BOOK_GH123\"\n}\nresponse = requests.post(\n    \"https://api.your-domain.com/api/virtual-wallet/debit\",\n    headers=headers,\n    json=data\n)\nprint(f\"Status: {response.status_code}\")\nprint(f\"Response: {response.json()}\")\n\n</code></pre>\n<hr />\n<h2 id=\"status-flow-diagram\"><strong>Status Flow Diagram</strong></h2>\n<p>text</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>User Request\n    ↓\nValidate Inputs\n    ↓\nCheck Wallet &amp; Balance\n    ↓\nGenerate Idempotency Key\n    ↓\nReserve Balance\n    ↓\nApply Markup (3%)\n    ↓\n    ├── Flight Booking → External Provider → Processing Status\n    ├── Hotel Booking → Direct Debit → Success Status\n    └── Other Booking → Direct Debit → Success Status\n    ↓\n    ├── Success → Update Balance &amp; Booking\n    └── Failure → Rollback &amp; Release Funds\n\n</code></pre><hr />\n<h2 id=\"important-notes\"><strong>Important Notes</strong></h2>\n<ol>\n<li><p><strong>Flight bookings</strong> require external provider integration and may have delayed status updates</p>\n</li>\n<li><p><strong>Hotel/other bookings</strong> are processed immediately</p>\n</li>\n<li><p><strong>Reserved balance</strong> ensures funds aren't double-spent during processing</p>\n</li>\n<li><p><strong>Markup (3%)</strong> is deducted before provider transfer</p>\n</li>\n<li><p><strong>Callbacks/webhooks</strong> are essential for flight booking completion</p>\n</li>\n<li><p><strong>Currency conversions</strong> happen at current exchange rates via <code>convert_currency()</code></p>\n</li>\n<li><p><strong>Decimal precision</strong> is maintained throughout (2 decimal places)</p>\n</li>\n<li><p><strong>Error responses</strong> include detailed metadata for debugging</p>\n</li>\n<li><p><strong>Timestamps</strong> are always in UTC format (ISO 8601)</p>\n</li>\n</ol>\n","urlObject":{"path":["api","v2","user","virtualwallet","debit"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"812ee759-bd29-4fca-9fff-501243892ca8","name":"New Request","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\":56.75,\r\n    \"request_currency\":\"USD\",\r\n    \"booking_id\":\"85cc3a32-05ba-494c-b921-9d3fd294cf3a\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/v2/user/virtualwallet/debit"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0"},{"key":"Date","value":"Thu, 25 Dec 2025 13:05:17 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"184"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:3000"},{"key":"Access-Control-Expose-Headers","value":"Authorization, Content-Type, X-Page, X-Per-Page, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-Request-Id, X-Total-Count"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Vary","value":"Origin"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"booking_orderID\": \"HeX_#-251225735745\",\n    \"debited_amount\": \"631.44\",\n    \"message\": \"Wallet debited successfully\",\n    \"new_balance\": \"270.54\",\n    \"reference\": \"WTX-251225684C4\",\n    \"wallet_currency\": \"GHS\"\n}"},{"id":"f875af50-0694-4e56-89b3-b6dff0fd2ca3","name":"Success - Flight Booking Debit","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <jwt_token>"}],"body":{"mode":"raw","raw":"{\n  \"amount\": 500.00,\n  \"request_currency\": \"NGN\",\n  \"reason\": \"Flight booking payment\",\n  \"booking_id\": \"BOOK_FLT_123456\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/v2/user/virtualwallet/debit"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","enabled":true},{"key":"Authorization","value":"Bearer <jwt_token>","description":"","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"success\",\n  \"success\": true,\n  \"code\": \"200 --> OK\",\n  \"message\": \"Intraverse transfer moved to Flutterwave successfully\",\n  \"data\": {\n    \"debited_amount\": \"500.00\",\n    \"wallet_currency\": \"NGN\",\n    \"reference\": \"TXN_REF_FLT_789012\",\n    \"new_balance\": \"2500.00\",\n    \"booking_details\": {\n      \"order_id\": \"ORDER_FLT_ABC123\",\n      \"type\": \"flight\"\n    },\n    \"flutterwave_transfer\": {\n      \"status\": \"success\",\n      \"transfer_id\": \"FW_TRF_456789\",\n      \"amount\": \"500.00\",\n      \"currency\": \"NGN\"\n    }\n  },\n  \"meta\": {\n    \"timestamp\": \"2024-01-15T11:00:00Z\"\n  }\n}"}],"_postman_id":"304b6eba-2298-4729-84fd-6f9c36bbfe50"},{"name":"View Balance","id":"9f70eb20-b404-4eea-8e57-562459ce0d44","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/v2/user/virtualwallet/balance","urlObject":{"path":["api","v2","user","virtualwallet","balance"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"27fbdfa2-83c5-4e27-b558-66c92722a472","name":"New Request","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/v2/user/virtualwallet/balance"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0"},{"key":"Date","value":"Thu, 25 Dec 2025 13:53:45 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"88"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:3000"},{"key":"Access-Control-Expose-Headers","value":"Authorization, Content-Type, X-Page, X-Per-Page, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-Request-Id, X-Total-Count"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Vary","value":"Origin"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"balance\": \"2270.54\",\n    \"currency\": \"GHS\",\n    \"user_id\": \"cfa07125-3af6-47f1-857b-c0417a56d9c3\"\n}"}],"_postman_id":"9f70eb20-b404-4eea-8e57-562459ce0d44"}],"id":"4911bba8-3f77-4c05-85ce-128a6c9f6b1c","description":"<h1 id=\"virtual-wallet-api-documentation\">Virtual Wallet API Documentation</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>The Virtual Wallet system provides a comprehensive solution for managing user wallet balances, enabling deposits, debits for bookings, and balance inquiries. The system supports multiple currencies (NGN, USD, GHS) and integrates with leading payment gateways including Paystack (for NGN) and Flutterwave (for USD/GHS).</p>\n<p>Key features include:</p>\n<ul>\n<li>Multi-currency wallet support</li>\n<li>Automated currency conversion with markup</li>\n<li>Payment gateway integration (Paystack/Flutterwave)</li>\n<li>Transaction reference tracking</li>\n<li>Booking integration for flights, hotels, and other services</li>\n<li>Duplicate transaction prevention</li>\n<li>Real-time balance management</li>\n</ul>\n<hr />\n<h2 id=\"authentication\">Authentication</h2>\n<p>All endpoints require JWT (JSON Web Token) authentication.</p>\n<p><strong>Method</strong>: Bearer Token in Authorization header</p>\n<p><strong>Example</strong>: <code>Authorization: Bearer &lt;jwt_token&gt;</code></p>\n<hr />\n<h2 id=\"endpoints\">Endpoints</h2>\n<h3 id=\"1-fund-wallet\">1. Fund Wallet</h3>\n<p><strong>Endpoint</strong>: <code>POST {{baseUrl}}/api/v2/user/virtualwallet/credit</code></p>\n<p>Handles virtual wallet deposits by processing payment requests, validating currencies, and initializing payments through supported payment gateways.</p>\n<h4 id=\"request-headers\">Request Headers</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">Content-Type: application/json\nAuthorization: Bearer &lt;jwt_token&gt;\n</code></pre>\n<h4 id=\"request-body-parameters\">Request Body Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Constraints</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>Decimal/String</td>\n<td>Yes</td>\n<td>Deposit amount</td>\n<td>Must be &gt; 0</td>\n</tr>\n<tr>\n<td><code>currency</code></td>\n<td>String</td>\n<td>No</td>\n<td>Payment currency (default: NGN)</td>\n<td>NGN, USD, or GHS</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-example\">Request Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"amount\": 1000.50,\n  \"currency\": \"NGN\"\n}\n</code></pre>\n<h4 id=\"success-response-200\">Success Response (200)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": true,\n  \"message\": \"Authorization URL created\",\n  \"data\": {\n    \"authorization_url\": \"https://checkout.paystack.com/...\",\n    \"access_code\": \"xxxxxx\",\n    \"reference\": \"txn_ref_123\"\n  }\n}\n</code></pre>\n<h4 id=\"error-responses\">Error Responses</h4>\n<p><strong>400 - Bad Request (Invalid Amount)</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid amount\"\n}\n</code></pre>\n<p><strong>400 - Currency Mismatch</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"error\",\n  \"success\": false,\n  \"message\": \"Wallet funding currency mismatch\",\n  \"code\": \"400 --&gt; BAD REQUEST\",\n  \"wallet_currency\": \"NGN\",\n  \"payment_currency\": \"USD\",\n  \"meta\": {\n    \"timestamp\": \"2024-01-01T12:00:00Z\",\n    \"user_message\": \"This wallet is denominated in NGN. You can only fund it using NGN not USD. Please try again with the correct currency.\"\n  }\n}\n</code></pre>\n<p><strong>404 - User Not Found</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n</code></pre>\n<p><strong>409 - Duplicate Transaction</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Duplicate transaction\"\n}\n</code></pre>\n<p><strong>502 - Payment Gateway Error</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Payment gateway error\"\n}\n</code></pre>\n<hr />\n<h3 id=\"2-debit-wallet\">2. Debit Wallet</h3>\n<p><strong>Endpoint</strong>: <code>POST {{baseUrl}}/api/v2/user/virtualwallet/debit</code></p>\n<p>Debits a user's virtual wallet for booking payments (flights, hotels, etc.). The system reserves funds, processes currency conversions, applies markup, and integrates with payment providers for fund transfers.</p>\n<h4 id=\"request-headers-1\">Request Headers</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">Content-Type: application/json\nAuthorization: Bearer &lt;jwt_token&gt;\n</code></pre>\n<h4 id=\"request-body-parameters-1\">Request Body Parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Constraints</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>Decimal/String</td>\n<td>Yes</td>\n<td>Debit amount</td>\n<td>Must be &gt; 0</td>\n</tr>\n<tr>\n<td><code>request_currency</code></td>\n<td>String</td>\n<td>No</td>\n<td>Request currency (default: NGN)</td>\n<td>NGN, USD, or GHS</td>\n</tr>\n<tr>\n<td><code>reason</code></td>\n<td>String</td>\n<td>No</td>\n<td>Reason for debit (default: \"Wallet debit\")</td>\n<td>Max 255 chars</td>\n</tr>\n<tr>\n<td><code>booking_id</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Booking reference ID</td>\n<td>Must exist in system</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-example-1\">Request Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"amount\": 500.00,\n  \"request_currency\": \"NGN\",\n  \"reason\": \"Flight booking payment\",\n  \"booking_id\": \"BOOK_123456\"\n}\n</code></pre>\n<h4 id=\"success-response-200---general\">Success Response (200) - General</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"success\",\n  \"success\": true,\n  \"code\": \"200 --&gt; OK\",\n  \"message\": \"Wallet debited successfully for FLIGHT booking\",\n  \"data\": {\n    \"debited_amount\": \"500.00\",\n    \"wallet_currency\": \"NGN\",\n    \"reference\": \"TXN_REF_789\",\n    \"new_balance\": \"2500.00\",\n    \"booking_details\": {\n      \"order_id\": \"ORDER_ABC123\",\n      \"type\": \"flight\"\n    }\n  },\n  \"meta\": {\n    \"timestamp\": \"2024-01-01T12:00:00Z\"\n  }\n}\n</code></pre>\n<h4 id=\"success-response-200---flight-with-flutterwave-transfer\">Success Response (200) - Flight with Flutterwave Transfer</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"success\",\n  \"success\": true,\n  \"code\": \"200 --&gt; OK\",\n  \"message\": \"Intraverse transfer completed successfully\",\n  \"data\": {\n    \"debited_amount\": \"500.00\",\n    \"wallet_currency\": \"NGN\",\n    \"reference\": \"TXN_REF_789\",\n    \"new_balance\": \"2500.00\",\n    \"transfer_details\": {\n      \"provider\": \"flutterwave\",\n      \"status\": \"completed\"\n    }\n  }\n}\n</code></pre>\n<h4 id=\"error-responses-1\">Error Responses</h4>\n<p><strong>400 - Bad Request (Invalid Amount)</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid amount\"\n}\n</code></pre>\n<p><strong>400 - Insufficient Funds</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"error\",\n  \"success\": false,\n  \"message\": \"Insufficient wallet balance\",\n  \"code\": \"400 --&gt; BAD REQUEST\",\n  \"data\": {\n    \"required_amount\": \"500.00\",\n    \"available_balance\": \"200.00\",\n    \"currency\": \"NGN\"\n  },\n  \"meta\": {\n    \"timestamp\": \"2024-01-01T12:00:00Z\"\n  }\n}\n</code></pre>\n<p><strong>404 - Booking Not Found</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Booking not found\"\n}\n</code></pre>\n<p><strong>404 - User Not Found</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n</code></pre>\n<p><strong>409 - Duplicate Transaction</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Duplicate transaction\"\n}\n</code></pre>\n<p><strong>502 - Payment Provider Error</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Payment provider error\"\n}\n</code></pre>\n<h4 id=\"special-notes\">Special Notes</h4>\n<ul>\n<li>The system automatically handles currency conversion when the wallet currency differs from the request currency</li>\n<li>Markup is applied based on configured rates</li>\n<li>Funds are reserved during the transaction to prevent double-spending</li>\n<li>Integration with Flutterwave/Paystack for fund transfers to merchant accounts</li>\n<li>Transaction references are generated for tracking and reconciliation</li>\n</ul>\n<hr />\n<h3 id=\"3-view-balance\">3. View Balance</h3>\n<p><strong>Endpoint</strong>: <code>GET {{baseUrl}}/api/v2/user/virtualwallet/balance</code></p>\n<p>Retrieves the current balance of the user's virtual wallet.</p>\n<h4 id=\"request-headers-2\">Request Headers</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">Authorization: Bearer &lt;jwt_token&gt;\n</code></pre>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<p>No request body or query parameters required.</p>\n<h4 id=\"success-response-200-1\">Success Response (200)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"success\",\n  \"success\": true,\n  \"code\": \"200 --&gt; OK\",\n  \"message\": \"Wallet balance retrieved successfully\",\n  \"data\": {\n    \"balance\": \"2500.00\",\n    \"currency\": \"NGN\",\n    \"wallet_id\": \"WALLET_123\",\n    \"last_transaction_date\": \"2024-01-01T12:00:00Z\"\n  },\n  \"meta\": {\n    \"timestamp\": \"2024-01-01T12:00:00Z\"\n  }\n}\n</code></pre>\n<h4 id=\"error-responses-2\">Error Responses</h4>\n<p><strong>404 - Wallet Not Found</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"error\",\n  \"success\": false,\n  \"message\": \"Wallet not found\",\n  \"code\": \"404 --&gt; NOT FOUND\",\n  \"meta\": {\n    \"timestamp\": \"2024-01-01T12:00:00Z\"\n  }\n}\n</code></pre>\n<p><strong>401 - Unauthorized</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Unauthorized access\"\n}\n</code></pre>\n<hr />\n<h2 id=\"supported-currencies\">Supported Currencies</h2>\n<p>The Virtual Wallet system supports three currencies:</p>\n<ul>\n<li><strong>NGN</strong> (Nigerian Naira) - Default currency, processed via Paystack</li>\n<li><strong>USD</strong> (US Dollar) - Processed via Flutterwave</li>\n<li><strong>GHS</strong> (Ghanaian Cedi) - Processed via Flutterwave</li>\n</ul>\n<h2 id=\"payment-gateway-integration\">Payment Gateway Integration</h2>\n<h3 id=\"paystack\">Paystack</h3>\n<ul>\n<li>Used for NGN transactions</li>\n<li>Provides authorization URLs for payment completion</li>\n<li>Returns access codes and transaction references</li>\n</ul>\n<h3 id=\"flutterwave\">Flutterwave</h3>\n<ul>\n<li>Used for USD and GHS transactions</li>\n<li>Handles international payments</li>\n<li>Supports intraverse transfers for booking payments</li>\n</ul>\n<h2 id=\"currency-conversion--markup\">Currency Conversion &amp; Markup</h2>\n<ul>\n<li>Automatic currency conversion when wallet currency differs from request currency</li>\n<li>Configurable markup rates applied to conversions</li>\n<li>Real-time exchange rate integration</li>\n<li>Transparent conversion details in transaction records</li>\n</ul>\n<h2 id=\"transaction-references--booking-integration\">Transaction References &amp; Booking Integration</h2>\n<ul>\n<li>Unique transaction references generated for all operations</li>\n<li>Booking ID integration for payment tracking</li>\n<li>Support for multiple booking types (flights, hotels, etc.)</li>\n<li>Duplicate transaction prevention using reference checking</li>\n<li>Complete audit trail for reconciliation</li>\n</ul>\n","_postman_id":"4911bba8-3f77-4c05-85ce-128a6c9f6b1c"},{"name":"Contact us","id":"2b2723c3-129e-4b76-b65b-6a33f6a9b1d6","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"name\": \"Alice Example\",\n  \"email\": \"alice@example.com\",\n  \"subject\": \"Question about pricing\",\n  \"message\": \"Hi team, I’d like to know more about your corporate plans.\"\n}\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/user/contact-us","description":"<h3 id=\"contact-us-api-endpoint\">Contact Us API Endpoint</h3>\n<p>This endpoint allows users to submit inquiries or feedback through a contact form. It is designed to facilitate communication between users and the support team regarding questions, suggestions, or any other concerns.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p><strong>Method</strong>: POST</p>\n</li>\n<li><p><strong>Endpoint</strong>: <code>{{baseUrl}}/user/contact-us</code></p>\n</li>\n</ul>\n<h4 id=\"request-body\">Request Body</h4>\n<p>The request body must be in JSON format and should include the following parameters:</p>\n<ul>\n<li><p><strong>name</strong> (string): The name of the user submitting the inquiry.</p>\n</li>\n<li><p><strong>email</strong> (string): The email address of the user for follow-up communication.</p>\n</li>\n<li><p><strong>subject</strong> (string): A brief subject line summarizing the inquiry.</p>\n</li>\n<li><p><strong>message</strong> (string): The detailed message or question from the user.</p>\n</li>\n</ul>\n<p><strong>Example Request Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"name\": \"Alice Example\",\n  \"email\": \"alice@example.com\",\n  \"subject\": \"Question about pricing\",\n  \"message\": \"Hi team, I’d like to know more ...\"\n}\n\n</code></pre>\n<h4 id=\"response\">Response</h4>\n<p>Upon successful submission, the API will respond with a status code of <code>200</code> and a JSON object containing a message.</p>\n<ul>\n<li><p><strong>Status Code</strong>: 200</p>\n</li>\n<li><p><strong>Content-Type</strong>: application/json</p>\n</li>\n</ul>\n<p><strong>Example Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"\"\n}\n\n</code></pre>\n<p>This response indicates that the inquiry has been successfully received, and any further communication will be directed to the provided email address.</p>\n","urlObject":{"path":["user","contact-us"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"2b2723c3-129e-4b76-b65b-6a33f6a9b1d6"}],"id":"732b4ecf-d117-4a78-9f8e-3945a110fba1","description":"<p>Endpoints for USERS/CLIENTS in hermex travels</p>\n","_postman_id":"732b4ecf-d117-4a78-9f8e-3945a110fba1"},{"name":"Admin & Super_Admin Endpoints","item":[{"name":"AdminRoute/Create/Login","item":[{"name":"admin/login","id":"64a6bdd6-16ac-449e-975b-acd1dc89e102","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"Super=Admin\",\r\n    \"password\": \"SuperAdmin123\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/admin/login","description":"<h3 id=\"admin-login\">Admin Login</h3>\n<p>This endpoint allows administrators to log in.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>username</code> (string): The username of the administrator.</p>\n</li>\n<li><p><code>password</code> (string): The password of the administrator.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"access_token\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["admin","login"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"64a6bdd6-16ac-449e-975b-acd1dc89e102"},{"name":"/admin/dashboard","id":"f8ec672b-052d-4d29-a0cf-2251ac955429","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/admin/dashboard","description":"<h3 id=\"endpoint-description\">Endpoint Description</h3>\n<p>This endpoint is used to access the admin interface.</p>\n<h3 id=\"request\">Request</h3>\n<p>The request to this endpoint is an HTTP GET request with no request body.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>This request does not require a request body.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response to this request is in JSON format and includes the following fields:</p>\n<ul>\n<li><p><code>total_bookings</code> (number): The total number of bookings.</p>\n</li>\n<li><p><code>total_revenue</code> (number): The total revenue generated.</p>\n</li>\n<li><p><code>total_users</code> (number): The total number of users.</p>\n</li>\n<li><p><code>trip_forms</code> (array): An array of trip forms, each containing the following fields:</p>\n<ul>\n<li><p><code>activity</code> (string): The activity of the trip.</p>\n</li>\n<li><p><code>date</code> (string): The date of the trip.</p>\n</li>\n<li><p><code>destination</code> (string): The destination of the trip.</p>\n</li>\n<li><p><code>duration</code> (string): The duration of the trip.</p>\n</li>\n<li><p><code>name</code> (string): The name of the trip.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"json-schema-for-response\">JSON Schema for Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"total_bookings\": {\n      \"type\": \"number\"\n    },\n    \"total_revenue\": {\n      \"type\": \"number\"\n    },\n    \"total_users\": {\n      \"type\": \"number\"\n    },\n    \"trip_forms\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"activity\": {\n            \"type\": \"string\"\n          },\n          \"date\": {\n            \"type\": \"string\"\n          },\n          \"destination\": {\n            \"type\": \"string\"\n          },\n          \"duration\": {\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["admin","dashboard"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f8ec672b-052d-4d29-a0cf-2251ac955429"}],"id":"f8fb4f29-e942-4ac9-acd7-fa1a91441e10","description":"<p>Endpoints for ADMIN Route/Create/Login functions in hermex travels</p>\n","_postman_id":"f8fb4f29-e942-4ac9-acd7-fa1a91441e10"},{"name":"Super Admin Only","item":[{"name":"admin/create_admin","id":"67a7dc37-9716-486a-bc86-ffbe39de3a88","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"adminElmo\",\r\n    \"password\": \"admin123\",\r\n    \"email\": \"boronicle@gmail.com\",\r\n    \"full_name\": \"Admin User\",\r\n    \"phone_number\": \"+1234567890\",\r\n    \"country\": \"CountryName\",\r\n    \"preferred_language\": \"English\",\r\n    \"travel_preferences\": {\"destinations\": [\"Paris\", \"London\"]}\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/admin/create_admin","description":"<p>This endpoint allows you to create a new admin user. The request should be sent as an HTTP POST to the specified URL. The request body should be in raw JSON format and include the following parameters:</p>\n<ul>\n<li><p>username (string): The username of the admin user.</p>\n</li>\n<li><p>password (string): The password for the admin user.</p>\n</li>\n<li><p>email (string): The email address of the admin user.</p>\n</li>\n<li><p>full_name (string): The full name of the admin user.</p>\n</li>\n<li><p>phone_number (string): The phone number of the admin user.</p>\n</li>\n<li><p>country (string): The country of residence of the admin user.</p>\n</li>\n<li><p>preferred_language (string): The preferred language of the admin user.</p>\n</li>\n<li><p>travel_preferences (object): An object containing the travel preferences of the admin user, including a list of destinations.</p>\n</li>\n</ul>\n<p>The response to this request will have a status code of 201 and a content type of application/json. The response body will contain a message confirming the successful creation of the admin user.</p>\n","urlObject":{"path":["admin","create_admin"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"67a7dc37-9716-486a-bc86-ffbe39de3a88"},{"name":"admin/assign_admin/","id":"e34fbfd2-831b-4582-b647-de6f64a80d06","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"PUT","header":[],"url":"{{baseUrl}}/admin/assign_admin/ElmoT","description":"<p>The <code>PUT</code> request is used to update or create the admin assignment for a specific user at the given endpoint. The request should include the user identifier in the URL path.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response returned with a status code of 200 and a content type of <code>application/json</code>. The response body follows the JSON schema below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"\"\n}\n\n</code></pre>\n","urlObject":{"path":["admin","assign_admin","ElmoT"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e34fbfd2-831b-4582-b647-de6f64a80d06"},{"name":"admin/update_user_role","id":"8a937cef-0333-4f68-97e3-849cb52d57d5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"StarmannRassy\",\r\n    \"new_role\": \"admin\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/admin/update_user_role","description":"<h3 id=\"update-user-role\">Update User Role</h3>\n<p>This endpoint is used to update the role of a user in the admin system.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>username</code> (string, required): The username of the user whose role needs to be updated.</p>\n</li>\n<li><p><code>role</code> (string, required): The new role to be assigned to the user.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"string\"\n}\n\n</code></pre>\n<ul>\n<li><code>message</code> (string): A message indicating the status of the role update operation.</li>\n</ul>\n","urlObject":{"path":["admin","update_user_role"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8a937cef-0333-4f68-97e3-849cb52d57d5"},{"name":"/delete_user","id":"fd62bd79-0598-45b3-971d-52bc6ebbad7c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"{{baseUrl}}/admin/delete_user?username=Rassy1","description":"<p>This endpoint sends an HTTP DELETE request to delete a user with the specified username.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response is in JSON format and has the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["admin","delete_user"],"host":["{{baseUrl}}"],"query":[{"key":"username","value":"Rassy1"}],"variable":[]}},"response":[],"_postman_id":"fd62bd79-0598-45b3-971d-52bc6ebbad7c"}],"id":"f61b5380-7eb7-44cf-ac4f-1c5fc504a52e","description":"<p>Endpoints for SUPER ADMIN ALONE</p>\n","_postman_id":"f61b5380-7eb7-44cf-ac4f-1c5fc504a52e"},{"name":"Basic Functions","item":[{"name":"/admin/deactivate_user","id":"c9d15cac-9eb7-4182-ba2a-fbd9dba05872","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"PUT","header":[],"url":"{{baseUrl}}/admin/deactivate_user/Rassy1","description":"<p>The endpoint sends an HTTP PUT request to deactivate a user with the specified ID. Upon successful execution, the response returns a status code of 200 and a JSON object with a key \"message\" and an empty string value.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["admin","deactivate_user","Rassy1"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c9d15cac-9eb7-4182-ba2a-fbd9dba05872"},{"name":"admin/list_users","id":"a2362bd0-71cd-41a5-a620-175dc677eed5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/admin/list_users","description":"<h3 id=\"get-adminlist_users\">GET /admin/list_users</h3>\n<p>This endpoint retrieves a list of users from the admin panel.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body is required for this endpoint.</p>\n<h4 id=\"response\">Response</h4>\n<p>The response will be in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"users\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    }\n  }\n}\n\n</code></pre>\n<p>The response will include a <code>users</code> array containing the list of users.</p>\n","urlObject":{"path":["admin","list_users"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"a2362bd0-71cd-41a5-a620-175dc677eed5"},{"name":"admin/reactivate_user","id":"432546e1-e331-4acd-a21c-be3b6ed72ab5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"PUT","header":[],"url":"https://praiseordu.pythonanywhere.com/admin/reactivate_user/NjiraWanjiru","description":"<p>This endpoint sends an HTTP PUT request to reactivate a user with the specified ID.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response returns a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["admin","reactivate_user","NjiraWanjiru"],"host":["praiseordu","pythonanywhere","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"432546e1-e331-4acd-a21c-be3b6ed72ab5"},{"name":"admin/view_user","id":"1459979d-d83f-4b70-8f9b-3d8723e64d53","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://praiseordu.pythonanywhere.com/admin/view_user/Elo","description":"<p>This endpoint makes an HTTP GET request to retrieve user information for the specified user ID. The response returns a JSON object with the user's details including country, email, full name, active status, phone number, preferred language, role, and travel preferences.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>This request does not require a request body.</p>\n<h3 id=\"response-body\">Response Body</h3>\n<p>The response is in the form of a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"country\": \"\",\n    \"email\": \"\",\n    \"full_name\": \"\",\n    \"is_active\": null,\n    \"phone_number\": \"\",\n    \"preferred_language\": \"\",\n    \"role\": \"\",\n    \"travel_preferences\": \"\",\n    \"username\": \"\"\n}\n\n</code></pre>\n<p>The response schema includes the user's details such as country, email, full name, active status, phone number, preferred language, role, travel preferences, and username.</p>\n","urlObject":{"protocol":"https","path":["admin","view_user","Elo"],"host":["praiseordu","pythonanywhere","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1459979d-d83f-4b70-8f9b-3d8723e64d53"},{"name":"admin/view_booking","id":"a9f14d8d-4209-48ee-93a2-5245e00a2312","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/admin/view_booking/123","description":"<h3 id=\"get-adminview_booking123\">GET /admin/view_booking/123</h3>\n<p>This endpoint retrieves the details of a specific booking with the ID 123.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body is required for this endpoint.</p>\n<h4 id=\"response\">Response</h4>\n<p>The response will be in JSON format and will follow the schema below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"error\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n<p>The response will include the following key:</p>\n<ul>\n<li><code>error</code>: A string indicating the error message, if any.</li>\n</ul>\n","urlObject":{"path":["admin","view_booking","123"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"a9f14d8d-4209-48ee-93a2-5245e00a2312"},{"name":"admin/list_feedback","id":"0b801234-5bda-43ff-b8ee-96a86c6f5521","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/admin/list_feedback","description":"<h3 id=\"get-adminlist_feedback\">GET /admin/list_feedback</h3>\n<p>This endpoint retrieves a list of feedback from the admin panel.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body is required for this endpoint.</p>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format and follows the schema below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"feedback\": []\n}\n\n</code></pre>\n<p>The <code>feedback</code> key contains an array of feedback objects. In this particular response, the array is empty.</p>\n","urlObject":{"path":["admin","list_feedback"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0b801234-5bda-43ff-b8ee-96a86c6f5521"}],"id":"2319fa51-109c-4291-9b46-4f3f60137f0d","description":"<p>Endpoints for basic ADMIN user functions in hermex travels</p>\n","_postman_id":"2319fa51-109c-4291-9b46-4f3f60137f0d"},{"name":"Advanced Functions","item":[{"name":"user/total_revenue","id":"214fc9c1-c7f3-4334-93b9-d0da637b3843","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/user/total_revenue","description":"<h3 id=\"get-total-revenue\">Get Total Revenue</h3>\n<p>This endpoint retrieves the total revenue for the user.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<p>This request does not require a request body.</p>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><code>total_revenue</code> (number): The total revenue generated by the user.</li>\n</ul>\n<p>Example Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"total_revenue\": 0\n}\n\n</code></pre>\n","urlObject":{"path":["user","total_revenue"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"214fc9c1-c7f3-4334-93b9-d0da637b3843"},{"name":"admin/manage_bookings","id":"e112c0c6-f397-4aa4-b440-a33f4705d1dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/admin/manage_bookings","description":"<p>This endpoint makes an HTTP GET request to retrieve and manage bookings from the admin interface.</p>\n<h3 id=\"request\">Request</h3>\n<p>The request should be made to the following URL:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://praiseordu.pythonanywhere.com/admin/manage_bookings\n\n</code></pre><p>The request should include the following payload in the raw request body type:</p>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful execution, the response will have a status code of 200 and a content type of <code>application/json</code>. The response body will follow the JSON schema below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"bookings\": {\n            \"type\": \"array\"\n        }\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["admin","manage_bookings"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e112c0c6-f397-4aa4-b440-a33f4705d1dd"},{"name":"/admin/update_booking_status","id":"2574ab43-79ef-4a5f-8473-3cd68314007e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"booking_id\": 123,\r\n  \"status\": \"newStatus\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://praiseordu.pythonanywhere.com/admin/update_booking_status","description":"<p>This endpoint allows administrators to update the status of a booking. The HTTP PUT request should be made to <a href=\"https://praiseordu.pythonanywhere.com/admin/update_booking_status\">https://praiseordu.pythonanywhere.com/admin/update_booking_status</a>. The request should include a JSON payload with the \"booking_id\" and \"status\" fields.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li><p><code>booking_id</code> (number): The ID of the booking to be updated.</p>\n</li>\n<li><p><code>status</code> (string): The new status to be assigned to the booking.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response will be in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"error\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n<p>The response will have a status code of 404 if there is an error, and the \"error\" property will contain a string describing the error.</p>\n","urlObject":{"protocol":"https","path":["admin","update_booking_status"],"host":["praiseordu","pythonanywhere","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2574ab43-79ef-4a5f-8473-3cd68314007e"},{"name":"/admin/generate_reports","id":"a4adabe2-0296-4e91-8bfd-877545268a03","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/admin/generate_reports","description":"<p>This endpoint sends an HTTP GET request to retrieve reports from the admin. The response is in JSON format and includes the following fields:</p>\n<ul>\n<li><p>total_bookings (number): The total number of bookings.</p>\n</li>\n<li><p>total_revenue (number): The total revenue generated.</p>\n</li>\n<li><p>total_users (number): The total number of users.</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"total_bookings\": 0,\n    \"total_revenue\": 0,\n    \"total_users\": 0\n}\n\n</code></pre>\n","urlObject":{"path":["admin","generate_reports"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"a4adabe2-0296-4e91-8bfd-877545268a03"},{"name":"admin/update_feedback_status","id":"43eccd47-68b4-4e51-ab36-186169a6d6e8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"feedback_id\": 123,\r\n  \"status\": \"newStatus\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://praiseordu.pythonanywhere.com/admin/update_feedback_status","description":"<h3 id=\"update-feedback-status\">Update Feedback Status</h3>\n<p>This endpoint allows the admin to update the status of a feedback entry.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>feedback_id</code> (number): The ID of the feedback entry to be updated.</p>\n</li>\n<li><p><code>status</code> (string): The new status to be assigned to the feedback entry.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response will be in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"error\": {\n            \"type\": \"string\"\n        }\n    }\n}\n\n</code></pre>\n<h4 id=\"example\">Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"feedback_id\": 0,\n    \"status\": \"\"\n}\n\n</code></pre>\n<h4 id=\"response-1\">Response</h4>\n<ul>\n<li><p>Status: 404</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n<li><p>{ \"error\": \"\"}</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["admin","update_feedback_status"],"host":["praiseordu","pythonanywhere","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"43eccd47-68b4-4e51-ab36-186169a6d6e8"},{"name":"admin/audit_trails","id":"eacf65a9-3d0b-4079-b8cd-20e5e734b4ec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/admin/audit_trails","description":"<p>StartFragment</p>\n<h1 id=\"get-audit-trails-endpoint\">Get Audit Trails Endpoint</h1>\n<h2 id=\"endpoint\"><strong>Endpoint</strong></h2>\n<p><code>GET /audit_trails</code></p>\n<p>This endpoint allows administrators (<code>admin</code> or <code>super_admin</code>) to view audit trail logs, optionally filtered by action type, user, and date range.</p>\n<hr />\n<h2 id=\"request-headers\"><strong>Request Headers</strong></h2>\n<p>Ensure the request includes the following headers:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Header</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Required</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td><code>Bearer</code></td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"request-parameters\"><strong>Request Parameters</strong></h2>\n<p>Optional query parameters to filter the audit trails:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Required</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>action</td>\n<td><code>string</code></td>\n<td>Filter by specific action (e.g., \"login\", \"update\").</td>\n<td>No</td>\n</tr>\n<tr>\n<td>performed_by</td>\n<td><code>integer</code></td>\n<td>Filter by the ID of the user who performed the action.</td>\n<td>No</td>\n</tr>\n<tr>\n<td>start_date</td>\n<td><code>datetime</code></td>\n<td>Filter actions performed on or after this date (ISO 8601 format, e.g., <code>2023-01-01T00:00:00Z</code>).</td>\n<td>No</td>\n</tr>\n<tr>\n<td>end_date</td>\n<td><code>datetime</code></td>\n<td>Filter actions performed on or before this date (ISO 8601 format, e.g., <code>2023-01-31T23:59:59Z</code>).</td>\n<td>No</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"response\"><strong>Response</strong></h2>\n<h3 id=\"success-response\">Success Response</h3>\n<p><strong>Status Code:</strong> <code>200 OK</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"audit_trails\": [\n    {\n      \"id\": 1,\n      \"action\": \"login\",\n      \"performed_by\": 42,\n      \"target_user\": null,\n      \"target_resource\": \"auth_service\",\n      \"timestamp\": \"2024-01-10T15:30:00Z\",\n      \"details\": \"User logged in successfully.\"\n    },\n    {\n      \"id\": 2,\n      \"action\": \"update\",\n      \"performed_by\": 42,\n      \"target_user\": 45,\n      \"target_resource\": \"user_management\",\n      \"timestamp\": \"2024-01-11T10:00:00Z\",\n      \"details\": \"Updated user profile.\"\n    }\n  ],\n  \"total_logs\": 2,\n  \"message\": \"Audit trails retrieved successfully.\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"error-responses\">Error Responses</h3>\n<h4 id=\"unauthorized-access\">Unauthorized Access</h4>\n<p><strong>Status Code:</strong> <code>403 Forbidden</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Unauthorized access. Only admins and super_admins are allowed.\"\n}\n\n</code></pre>\n<h4 id=\"invalid-performed_by-value\">Invalid <code>performed_by</code> Value</h4>\n<p><strong>Status Code:</strong> <code>400 Bad Request</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid performed_by value. It should be a numeric user ID.\"\n}\n\n</code></pre>\n<h4 id=\"invalid-start_date-or-end_date-format\">Invalid <code>start_date</code> or <code>end_date</code> Format</h4>\n<p><strong>Status Code:</strong> <code>400 Bad Request</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid start_date format. Use ISO 8601 format (e.g., 2023-01-01T00:00:00Z).\"\n}\n\n</code></pre>\n<h4 id=\"user-not-found\">User Not Found</h4>\n<p><strong>Status Code:</strong> <code>404 Not Found</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User not found\"\n}\n\n</code></pre>\n<h4 id=\"unexpected-server-error\">Unexpected Server Error</h4>\n<p><strong>Status Code:</strong> <code>500 Internal Server Error</code><br /><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"An unexpected error occurred. Please try again later.\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"behavioral-workflow\"><strong>Behavioral Workflow</strong></h2>\n<ol>\n<li><p><strong>JWT Authentication</strong></p>\n<ul>\n<li>Requires a valid JWT token in the <code>Authorization</code> header.</li>\n</ul>\n</li>\n<li><p><strong>User Role Validation</strong></p>\n<ul>\n<li><p>The logged-in user must have the role of <code>admin</code> or <code>super_admin</code>.</p>\n</li>\n<li><p><code>403 Forbidden</code> is returned for unauthorized roles.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Optional Filters</strong></p>\n<ul>\n<li>Filters for <code>action</code>, <code>performed_by</code>, <code>start_date</code>, and <code>end_date</code> are applied if provided in the request query.</li>\n</ul>\n</li>\n<li><p><strong>Role-Based Filtering</strong></p>\n<ul>\n<li><p><code>admin</code>: Can view only the logs they performed and that of regular users but not other admins or the super admin.</p>\n</li>\n<li><p><code>super_admin</code>: Can view all logs.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Query Execution</strong></p>\n<ul>\n<li>Fetches and formats the logs based on the filters and role-based access control.</li>\n</ul>\n</li>\n<li><p><strong>Response Construction</strong></p>\n<ul>\n<li>A success response includes the list of logs and their total count.</li>\n</ul>\n</li>\n</ol>\n","urlObject":{"path":["admin","audit_trails"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"eacf65a9-3d0b-4079-b8cd-20e5e734b4ec"}],"id":"5a40b0e4-3ff0-443b-aa74-babac67c5ab4","description":"<p>Endpoints for Advanced ADMIN user functions in hermex travels</p>\n","_postman_id":"5a40b0e4-3ff0-443b-aa74-babac67c5ab4"},{"name":"Events & Organizations","item":[{"name":"Events","item":[{"name":"New Request","id":"8f755bac-6af8-41e8-8822-b2d555d3cad8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","urlObject":{"query":[],"variable":[]}},"response":[],"_postman_id":"8f755bac-6af8-41e8-8822-b2d555d3cad8"}],"id":"8dcd29dd-f3ed-4c20-aea4-35123e008ae7","_postman_id":"8dcd29dd-f3ed-4c20-aea4-35123e008ae7","description":""},{"name":"Organizatinos","item":[{"name":"Create/Add Orgs","id":"c2401a4b-1a0e-4be6-9f0c-d7fa51bc1d05","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Pajoma Tours\",\r\n    \"contact_number\": \"+5244555885555\",\r\n    \"contact_email\": \"pajomatours@pajoma.com\",\r\n    \"description\": \"A fantastic place to visit with your family and friends\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/admin/events/orgs_services/add_organization","urlObject":{"path":["admin","events","orgs_services","add_organization"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c2401a4b-1a0e-4be6-9f0c-d7fa51bc1d05"}],"id":"ae22cc1f-6e82-4763-8a72-9d884caf5b1c","_postman_id":"ae22cc1f-6e82-4763-8a72-9d884caf5b1c","description":""}],"id":"a3702d54-749b-4200-b9fb-2ea377f1fa78","_postman_id":"a3702d54-749b-4200-b9fb-2ea377f1fa78","description":""},{"name":"PIN Reset","item":[{"name":"Reset User Pin","id":"7fd2ac63-06fa-4d7f-b147-1620c71f714d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{baseUrl}}/admin/reset-pin","urlObject":{"path":["admin","reset-pin"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"7fd2ac63-06fa-4d7f-b147-1620c71f714d"}],"id":"7cd52c0f-4a6b-4437-979d-441b457877f3","_postman_id":"7cd52c0f-4a6b-4437-979d-441b457877f3","description":""},{"name":"Newsletter","item":[{"name":"Newsletter send","id":"e28d7714-c96e-4551-afcc-7feba8f25ae3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"subject\": \"New Dream Travels on the horizon\",\r\n    \"content\": \"<h2>Hello Sub,</h2> /n <p>Welcome to the world of <span><b>Hermex</b></span> where travel is seamlined tailored to your needs</p>\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/admin/newsletter/send","description":"<h2 id=\"📣-admin-newsletter-send-endpoint\">📣 Admin Newsletter Send Endpoint</h2>\n<h3 id=\"endpoint\"><strong>Endpoint</strong></h3>\n<p><code>POST /admin/newsletter/send</code></p>\n<hr />\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This endpoint allows <strong>admin</strong> and <strong>super_admin</strong> users to send out newsletters to all subscribers. It validates authentication and authorization before dispatching the newsletter content.</p>\n<hr />\n<h3 id=\"authorization\"><strong>Authorization</strong></h3>\n<ul>\n<li><p>🔐 JWT authentication is <strong>required</strong></p>\n</li>\n<li><p>Only users with roles: <code>admin</code> or <code>super_admin</code> can access this route</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"request\"><strong>Request</strong></h3>\n<h4 id=\"headers\"><strong>Headers</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td><code>Bearer</code></td>\n<td>✅ Yes</td>\n</tr>\n<tr>\n<td>Content-Type</td>\n<td><code>application/json</code></td>\n<td>✅ Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\"><strong>Body Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>subject</td>\n<td>string</td>\n<td>The subject/title of the newsletter</td>\n<td>✅ Yes</td>\n</tr>\n<tr>\n<td>content</td>\n<td>string</td>\n<td>The body/content of the newsletter (HTML or plain text supported)</td>\n<td>✅ Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"example-request-payload\">Example Request Payload</h5>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"subject\": \"Hermex Weekly Travel Update\",\n  \"content\": \"&lt;h1 class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;This Week&amp;#x27;s Top Destinations&lt;/h1&gt;&lt;p class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27; class=&amp;#x27;preserveHtml&amp;#x27;&gt;Explore with us!&lt;/p&gt;\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"responses\"><strong>Responses</strong></h3>\n<h4 id=\"✅-200-ok\">✅ 200 OK</h4>\n<p>Newsletter was successfully sent to all subscribers.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Newsletter sent\"\n}\n\n</code></pre>\n<hr />\n<h4 id=\"⚠️-400-bad-request\">⚠️ 400 Bad Request</h4>\n<p>Missing required <code>subject</code> or <code>content</code>.</p>\n<p><strong>Response Body:</strong></p>\n<hr />\n<h4 id=\"🚫-403-forbidden\">🚫 403 Forbidden</h4>\n<p>The authenticated user is not authorized (not an admin or super_admin).</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Unauthorized access. Only an admin or super_admin is allowed.\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"business-logic-flow\"><strong>Business Logic Flow</strong></h3>\n<ol>\n<li><p>Authenticate the user with JWT.</p>\n</li>\n<li><p>Retrieve user details and check role.</p>\n</li>\n<li><p>If unauthorized, log the event in the <code>AuditTrail</code> and return 403.</p>\n</li>\n<li><p>If <code>subject</code> or <code>content</code> is missing, return 400.</p>\n</li>\n<li><p>If valid, call <code>send_newsletter(subject, content)</code> to dispatch the newsletter.</p>\n</li>\n<li><p>Return success response.</p>\n</li>\n</ol>\n","urlObject":{"path":["admin","newsletter","send"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"feaf963f-ecdf-41a7-8a86-9343f723f99e","name":"Newsletter send","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"subject\": \"New Dream Travels on the horizon\",\r\n    \"content\": \"<h2>Hello Sub,</h2> /n <p>Welcome to the world of <span><b>Hermex</b></span> where travel is seamlined tailored to your needs</p>\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/admin/newsletter/send"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 29 Jun 2025 21:33:59 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:3000"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Vary","value":"Origin"},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=NFWlctJbcUKDGN1L%2BqWUST39EOjV7g5jU9zhnIROvslAAc2JRiFKqTQhwuO9kxcaZsET5GS8RTR161VEV59owMdzAU4rtJOj0kP281fzjZV4Gkfa3oLGxqE%3D\"}]}"},{"key":"Content-Encoding","value":"br"},{"key":"CF-RAY","value":"95788b97d98afea9-LHR"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Newsletter sent\"\n}"}],"_postman_id":"e28d7714-c96e-4551-afcc-7feba8f25ae3"},{"name":"Get Newsletter Subs","id":"61e8da8a-574a-4b0b-bbe9-ef24ba30dbb9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/admin/newsletter/get-subscribers","description":"<h2 id=\"📩-get-newsletter-subscribers\">📩 Get Newsletter Subscribers</h2>\n<h3 id=\"endpoint\"><strong>Endpoint</strong></h3>\n<p><code>GET /admin/newsletter/get-subscribers</code></p>\n<hr />\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This endpoint returns a list of all newsletter subscriber email addresses. It is accessible <strong>only</strong> by users with <code>admin</code> or <code>super_admin</code> roles. Unauthorized access attempts are logged in the audit trail for security purposes.</p>\n<hr />\n<h3 id=\"authorization\"><strong>Authorization</strong></h3>\n<ul>\n<li><p>🔐 JWT Authentication Required</p>\n</li>\n<li><p>Role-based Access: Only <code>admin</code> and <code>super_admin</code> users are permitted</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"request\"><strong>Request</strong></h3>\n<h4 id=\"headers\"><strong>Headers</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td><code>Bearer</code></td>\n<td>✅ Yes</td>\n</tr>\n<tr>\n<td>Content-Type</td>\n<td><code>application/json</code></td>\n<td>✅ Yes</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"responses\"><strong>Responses</strong></h3>\n<h4 id=\"✅-200-ok\">✅ 200 OK</h4>\n<p>Returns the list of subscriber emails.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"subscribers\": [\n    \"john@example.com\",\n    \"alice@example.com\",\n    \"samuel@example.com\"\n  ]\n}\n\n</code></pre>\n<hr />\n<h4 id=\"🚫-403-forbidden\">🚫 403 Forbidden</h4>\n<p>Returned when a non-admin user attempts to access the endpoint. Logs the unauthorized attempt to the <code>AuditTrail</code>.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Unauthorized access. Only an admin or super_admin is allowed.\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"business-logic--flow\"><strong>Business Logic &amp; Flow</strong></h3>\n<ol>\n<li><p>The user must be authenticated via a valid JWT token.</p>\n</li>\n<li><p>The identity is retrieved and used to fetch the user from the database.</p>\n</li>\n<li><p>If the user is not an <code>admin</code> or <code>super_admin</code>:</p>\n<ul>\n<li><p>Access is denied (403).</p>\n</li>\n<li><p>An entry is created in the <code>AuditTrail</code> model to log the unauthorized attempt.</p>\n</li>\n</ul>\n</li>\n<li><p>If authorized:</p>\n<ul>\n<li><p>All subscriber emails are queried from the <code>Subscriber</code> table.</p>\n</li>\n<li><p>The emails are returned in the response as a list.</p>\n</li>\n</ul>\n</li>\n</ol>\n","urlObject":{"path":["admin","newsletter","get-subscribers"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"be728284-7dcd-423b-af80-a1af2f11c045","name":"Get Newsletter Subs","originalRequest":{"method":"GET","header":[],"url":"{{baseUrl}}/admin/newsletter/get-subscribers"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 29 Jun 2025 21:29:49 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:3000"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Vary","value":"Origin"},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Speculation-Rules","value":"\"/cdn-cgi/speculation\""},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=PlTxwYRKorLHTD5jO6DPLRjwIwz2DFZf3NRvxfiZQiKlwrheB35RLcYB9U7Ix3%2FWE38Tdi%2BkdgACknfxfarg%2Frb5RoWzkPDWPGG0NGPZrlcFaNtg1CF77MU%3D\"}]}"},{"key":"Content-Encoding","value":"br"},{"key":"CF-RAY","value":"95788580797f71de-LHR"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"subscribers\": [\n        \"amffloresteresa5@gmail.com\",\n        \"boronicle@gmail.com\"\n    ]\n}"}],"_postman_id":"61e8da8a-574a-4b0b-bbe9-ef24ba30dbb9"}],"id":"9d208a2f-d6c0-453e-a430-85cf5609da95","_postman_id":"9d208a2f-d6c0-453e-a430-85cf5609da95","description":""},{"name":"Email-Assest","item":[{"name":"Upload images","id":"d84165eb-0b7d-480e-9149-b3459916ade4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{baseUrl}}/admin/email-assets/uplaod-image","urlObject":{"path":["admin","email-assets","uplaod-image"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d84165eb-0b7d-480e-9149-b3459916ade4"},{"name":"Json Image View","id":"b2464d6f-f70d-4c8f-bdb2-e36886befdf4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/admin/email-assets/email-images","urlObject":{"path":["admin","email-assets","email-images"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"b2464d6f-f70d-4c8f-bdb2-e36886befdf4"},{"name":"UI Image View","id":"e09cba81-ef03-4b6f-82ce-8d4840f25f31","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/admin/email-assets/view","urlObject":{"path":["admin","email-assets","view"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e09cba81-ef03-4b6f-82ce-8d4840f25f31"},{"name":"Delete Image","id":"e70378ba-0649-4509-9e9e-eaddca148aa2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"image_url\": \"https://hermexprodstorage.blob.core.windows.net/email-assets/8f6d4fe28db245b0b1d80526d41260d1_2013_07_Fresh-Windows-Wallpapers-50.jpg?se=2025-07-07T14%3A41%3A39Z&sp=r&sv=2025-05-05&sr=b&sig=3gt669NHdugV5ORj5C4I7ih6SWyq/YqG1%2BZByRKZBJ8%3D\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/admin/email-assets/delete-image","description":"<h2 id=\"delete-adminemail-assetsdelete-image\">DELETE /admin/email-assets/delete-image</h2>\n<p>This endpoint allows you to delete an image asset from the email assets storage by providing the image URL.</p>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<ul>\n<li><strong>image_url</strong> (string, required): The URL of the image that you wish to delete. This should be a fully qualified URL pointing to the image resource.</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful deletion, the API will return a response with a status code of <code>200</code> and a JSON object containing a message. The expected response format is as follows:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Image \\\"8f6d4fe28db245b0b1d80526d41260d1_2013_07_Fresh-Windows-Wallpapers-50.jpg\\\" deleted successfully\"\n}\n\n</code></pre>\n<h3 id=\"notes\">Notes</h3>\n<ul>\n<li><p>Ensure that the provided <code>image_url</code> is valid and corresponds to an existing image in the storage.</p>\n</li>\n<li><p>The response message may be empty, indicating that the deletion was successful without any additional information.</p>\n</li>\n<li><p>This operation is irreversible, so use it with caution.</p>\n</li>\n</ul>\n","urlObject":{"path":["admin","email-assets","delete-image"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"44e850e2-51f2-4cca-9f6e-fa24b9ccdb9c","name":"New Request","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"image_url\": \"https://hermexprodstorage.blob.core.windows.net/email-assets/8f6d4fe28db245b0b1d80526d41260d1_2013_07_Fresh-Windows-Wallpapers-50.jpg?se=2025-07-07T14%3A41%3A39Z&sp=r&sv=2025-05-05&sr=b&sig=3gt669NHdugV5ORj5C4I7ih6SWyq/YqG1%2BZByRKZBJ8%3D\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/admin/email-assets/delete-image"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0"},{"key":"Date","value":"Mon, 30 Jun 2025 15:04:30 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"119"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:3000"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Vary","value":"Origin"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Image \\\"8f6d4fe28db245b0b1d80526d41260d1_2013_07_Fresh-Windows-Wallpapers-50.jpg\\\" deleted successfully.\"\n}"}],"_postman_id":"e70378ba-0649-4509-9e9e-eaddca148aa2"}],"id":"50a9a07b-ab79-445b-8196-401b50b17b83","_postman_id":"50a9a07b-ab79-445b-8196-401b50b17b83","description":""},{"name":"Employee","item":[{"name":"New Request","id":"fe96b595-97e2-40c8-a216-365a758e5e71","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","urlObject":{"query":[],"variable":[]}},"response":[],"_postman_id":"fe96b595-97e2-40c8-a216-365a758e5e71"}],"id":"1fa13fb3-0f44-4c35-a93a-b05ce5187c15","_postman_id":"1fa13fb3-0f44-4c35-a93a-b05ce5187c15","description":""}],"id":"9bd19cfe-2309-4760-99a1-ed9818bf9398","description":"<p>Endpoints for ADMIN users in hermex travels</p>\n","_postman_id":"9bd19cfe-2309-4760-99a1-ed9818bf9398"},{"name":"Hotels Endpoints","item":[{"name":"BASIC Hotel Functions","item":[{"name":"hotels/search_hotels","id":"17feb79e-1783-4932-a820-1842a8dd9397","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/hotels/search_hotels?city_name=London","description":"<h1 id=\"hotel-search-api-documentation\"><strong>Hotel Search API Documentation</strong></h1>\n<p><strong>Base URL</strong>: <code>https://backend.hermextravels.com/</code></p>\n<h2 id=\"1-search-hotels\"><strong>1. Search Hotels</strong></h2>\n<p>Search for hotels based on location and various filters.</p>\n<h3 id=\"endpoint\"><strong>Endpoint</strong></h3>\n<p><code>GET /hotels/search_hotels</code></p>\n<h3 id=\"request-parameters\"><strong>Request Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>city_name</code></td>\n<td>string</td>\n<td>No</td>\n<td>City name to search for (default: \"New York\")</td>\n<td><code>London</code></td>\n</tr>\n<tr>\n<td><code>country_code</code></td>\n<td>string</td>\n<td>No</td>\n<td>2-letter country code (default: \"US\")</td>\n<td><code>US</code></td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Maximum number of hotels to fetch (default: 200)</td>\n<td><code>50</code></td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Pagination page number (default: 1)</td>\n<td><code>2</code></td>\n</tr>\n<tr>\n<td><code>per_page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Items per page (default: 20)</td>\n<td><code>10</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"filtering-parameters\"><strong>Filtering Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>rating_min</code></td>\n<td>float</td>\n<td>Minimum rating (0-10)</td>\n<td><code>7.0</code></td>\n</tr>\n<tr>\n<td><code>rating_max</code></td>\n<td>float</td>\n<td>Maximum rating (0-10)</td>\n<td><code>8.5</code></td>\n</tr>\n<tr>\n<td><code>hotel_chain</code></td>\n<td>string</td>\n<td>Filter by hotel chain name</td>\n<td><code>\"Holiday Inn\"</code></td>\n</tr>\n<tr>\n<td><code>room_type</code></td>\n<td>string</td>\n<td>Filter by room type (if available)</td>\n<td><code>\"Deluxe\"</code></td>\n</tr>\n<tr>\n<td><code>free_cancellation</code></td>\n<td>boolean</td>\n<td>Filter by free cancellation</td>\n<td><code>true</code></td>\n</tr>\n<tr>\n<td><code>pet_friendly</code></td>\n<td>boolean</td>\n<td>Filter by pet-friendly hotels</td>\n<td><code>true</code></td>\n</tr>\n<tr>\n<td><code>child_friendly</code></td>\n<td>boolean</td>\n<td>Filter by child-friendly hotels</td>\n<td><code>true</code></td>\n</tr>\n<tr>\n<td><code>amenities[]</code></td>\n<td>string[]</td>\n<td>Filter by amenities (see list below)</td>\n<td><code>[\"wifi\", \"pool\"]</code></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"supported-amenities-for-amenities\"><strong>Supported Amenities (for</strong> <strong><code>amenities[]</code>****)</strong></h3>\n<p>Available amenity filters (case-insensitive):</p>\n<ul>\n<li><p><code>\"wifi\"</code></p>\n</li>\n<li><p><code>\"pool\"</code></p>\n</li>\n<li><p><code>\"gym\"</code></p>\n</li>\n<li><p><code>\"parking\"</code></p>\n</li>\n<li><p><code>\"restaurant\"</code></p>\n</li>\n<li><p><code>\"spa\"</code></p>\n</li>\n<li><p><code>\"pet_friendly\"</code> (same as <code>pet_friendly=true</code>)</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"2-response-structure\"><strong>2. Response Structure</strong></h2>\n<h3 id=\"success-response-200-ok\"><strong>Success Response (200 OK)</strong></h3>\n<p>jsonCopy</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"coordinates\": {\n        \"lat\": 37.1283343,\n        \"lon\": -84.0835576\n    },\n    \"current_page\": 1,\n    \"hotels\": [\n        {\n            \"id\": \"lp3fe05\",\n            \"name\": \"Quality Inn\",\n            \"chain\": \"Quality Inn\",\n            \"address\": \"400 Gop St\",\n            \"city\": \"London\",\n            \"country\": \"US\",\n            \"zip\": \"40741\",\n            \"latitude\": 37.14835,\n            \"longitude\": -84.10971,\n            \"rating\": 7.2,\n            \"reviewCount\": 204,\n            \"stars\": 2,\n            \"main_photo\": \"https://static.cupid.travel/hotels/269699943.jpg\",\n            \"thumbnail\": \"https://static.cupid.travel/hotels/thumbnail/269699943.jpg\",\n            \"currency\": \"USD\",\n            \"facilityIds\": [2083, 16, 109, ...],\n            \"accessibilityAttributes\": {\n                \"petFriendly\": \"\",\n                \"showerChair\": null,\n                ...\n            }\n        },\n        ...\n    ],\n    \"per_page\": 20,\n    \"total_hotels\": 15,\n    \"total_pages\": 1\n}\n\n</code></pre>\n<h3 id=\"error-responses\"><strong>Error Responses</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Description</th>\n<th>Example Response</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>400 Bad Request</code></td>\n<td>Invalid parameters</td>\n<td><code>{\"error\": \"Invalid country code\"}</code></td>\n</tr>\n<tr>\n<td><code>404 Not Found</code></td>\n<td>No hotels found</td>\n<td><code>{\"error\": \"No hotels found\"}</code></td>\n</tr>\n<tr>\n<td><code>500 Internal Server Error</code></td>\n<td>Server error</td>\n<td><code>{\"error\": \"Database connection failed\"}</code></td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"3-example-requests\"><strong>3. Example Requests</strong></h2>\n<h3 id=\"example-1-basic-search\"><strong>Example 1: Basic Search</strong></h3>\n<p>httpCopy</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">GET /hotels/search_hotels?city_name=London&amp;country_code=US\n\n</code></pre>\n<h3 id=\"example-2-filter-by-rating--amenities\"><strong>Example 2: Filter by Rating &amp; Amenities</strong></h3>\n<p>httpCopy</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">GET /hotels/search_hotels?city_name=London&amp;rating_min=7&amp;amenities[]=wifi&amp;amenities[]=pool\n\n</code></pre>\n<p>StartFragment</p>\n<h2 id=\"4-pagination--response-structure\"><strong>4. Pagination &amp; Response Structure</strong></h2>\n<h3 id=\"pagination-parameters\"><strong>Pagination Parameters:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page</code></td>\n<td>int</td>\n<td>Current page number.</td>\n</tr>\n<tr>\n<td><code>per_page</code></td>\n<td>int</td>\n<td>Number of hotels per page.</td>\n</tr>\n<tr>\n<td><code>total_hotels</code></td>\n<td>int</td>\n<td>Total number of hotels found.</td>\n</tr>\n<tr>\n<td><code>total_pages</code></td>\n<td>int</td>\n<td>Total number of pages available.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-response-paginated\"><strong>Example Response (Paginated):</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">jsonCopyEdit{\n  \"total_hotels\": 200,\n  \"total_pages\": 10,\n  \"current_page\": 2,\n  \"per_page\": 20,\n  \"hotels\": [\n    {\n      \"id\": \"54321\",\n      \"name\": \"Marriott Paris\",\n      \"rating\": 4.7,\n      \"chain\": \"Marriott\",\n      \"room_type\": \"Deluxe\",\n      \"free_cancellation\": false,\n      \"pet_friendly\": true,\n      \"child_friendly\": true,\n      \"facilityIds\": [101, 202],\n      \"location\": {\n        \"city\": \"Paris\",\n        \"country\": \"FR\"\n      }\n    }\n  ],\n  \"coordinates\": {\n    \"lat\": 48.8566,\n    \"lon\": 2.3522\n  }\n}\n\n</code></pre>\n<h3 id=\"example-3-pagination\"><strong>Example 3: Pagination</strong></h3>\n<p>httpCopy</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">GET /hotels/search_hotels?city_name=London&amp;page=2&amp;per_page=10\n\n</code></pre>\n<h2 id=\"5-handling-errors-gracefully\"><strong>5. Handling Errors Gracefully</strong></h2>\n<h3 id=\"common-error-responses\"><strong>Common Error Responses:</strong></h3>\n<h4 id=\"invalid-country-code\"><strong>Invalid Country Code:</strong></h4>\n<p><code>400 Bad Request</code></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid country code format\"\n}\n\n</code></pre>\n<h4 id=\"no-hotels-found\"><strong>No Hotels Found:</strong></h4>\n<p><code>404 Not Found</code></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"No hotels found\"\n}\n\n</code></pre>\n<h4 id=\"invalid-parameter-type\"><strong>Invalid Parameter Type:</strong></h4>\n<p><code>400 Bad Request</code></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Parameter 'rating_min' must be a number\"\n}\n\n</code></pre>\n<h4 id=\"server-error\"><strong>Server Error:</strong></h4>\n<p><code>500 Internal Server Error</code></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Unexpected error occurred\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"6-workflow-summary-for-users\"><strong>6. Workflow Summary for Users</strong></h2>\n<p><strong>Get all hotels</strong> → Paginated list is returned.  </p>\n<p><strong>Apply filters</strong> → Narrow down search results.  </p>\n<p><strong>Use pagination</strong> → Navigate through results.</p>\n<p>🔹 <strong>Users must first retrieve hotels</strong> before applying filters to ensure a smooth experience.  </p>\n<p>🔹 <strong>Pagination ensures efficient data retrieval.</strong></p>\n<hr />\n<h2 id=\"example-requests-for-frontendmobile-developers\"><strong>Example Requests for Frontend/Mobile Developers</strong></h2>\n<h3 id=\"example-4-fetching-all-hotels-in-new-york\"><strong>Example 4: Fetching All Hotels in New York</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">GET /search_hotels?city_name=New York&amp;country_code=US&amp;page=1&amp;per_page=10\n\n</code></pre>\n<h3 id=\"example-5-filtering-hotels-in-london-5-star-pet-friendly\"><strong>Example 5: Filtering Hotels in London (5-star, Pet-friendly)</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">GET /search_hotels?city_name=London&amp;country_code=GB&amp;rating_min=5.0&amp;pet_friendly=true\n\n</code></pre>\n","urlObject":{"path":["hotels","search_hotels"],"host":["{{baseUrl}}"],"query":[{"disabled":true,"key":"rating_min","value":"5"},{"disabled":true,"key":"country_code","value":"US"},{"disabled":true,"key":"limit","value":"5"},{"disabled":true,"key":"amenities","value":"free wifi"},{"key":"city_name","value":"London"}],"variable":[]}},"response":[{"id":"c3d4069e-41c9-40b0-8051-be9e5e605314","name":"hotels/search_hotels","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/hotels/search_hotels?amenities=pool&city_name=London&pet_friendly=true","host":["{{baseUrl}}"],"path":["hotels","search_hotels"],"query":[{"key":"rating_min","value":"5","disabled":true},{"key":"country_code","value":"US","disabled":true},{"key":"limit","value":"5","disabled":true},{"key":"amenities","value":"pool"},{"key":"city_name","value":"London"},{"key":"pet_friendly","value":"true"},{"key":"child_friendly","value":"true","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Wed, 26 Mar 2025 12:32:19 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"16984","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"coordinates\": {\n        \"lat\": 37.1283343,\n        \"lon\": -84.0835576\n    },\n    \"current_page\": 1,\n    \"hotels\": [\n        {\n            \"accessibilityAttributes\": {\n                \"attributes\": null,\n                \"distanceFromTheElevatorToTheAccessibleRoom\": 0,\n                \"entranceDoorWidth\": 0,\n                \"entranceType\": null,\n                \"petFriendly\": \"\",\n                \"rampAngle\": 0,\n                \"rampLength\": 0,\n                \"roomMaxGuestsNumber\": 0,\n                \"showerChair\": null\n            },\n            \"address\": \"2035 Highway 192 West\",\n            \"chain\": \"Country Inn & Suites by Radisson Americas\",\n            \"chainId\": 14604,\n            \"city\": \"London\",\n            \"country\": \"us\",\n            \"currency\": \"USD\",\n            \"deletedAt\": null,\n            \"facilityIds\": [\n                2083,\n                6848,\n                16,\n                109,\n                301,\n                28,\n                4,\n                48,\n                49,\n                81,\n                25,\n                55,\n                108,\n                195,\n                222,\n                218,\n                211,\n                455,\n                451,\n                449,\n                462,\n                457,\n                461,\n                425,\n                459,\n                467,\n                468,\n                422,\n                456,\n                452,\n                453,\n                454,\n                458,\n                464,\n                421,\n                420,\n                540,\n                568,\n                584,\n                630,\n                720,\n                757,\n                761,\n                784,\n                828,\n                857,\n                899,\n                916,\n                1020\n            ],\n            \"hotelDescription\": \"<p><strong>Convenient Location near Daniel Boone National Forrest</strong><br>This hotel is the perfect choice for nature lovers, being just 2 miles away from the stunning Daniel Boone National Forrest.</p><p><strong>Comfortable Rooms and Amenities</strong><br>The rooms at Country Inn &amp; Suites London, Kentucky are designed for both relaxation and productivity, featuring free Wi-Fi, cable TV, and a work desk. The added convenience of a microwave and refrigerator ensures a comfortable stay.</p><p><strong>Relaxing and Convenient Facilities</strong><br>Guests can start their day with a delicious hot continental breakfast and take advantage of the heated indoor pool, fitness centre, meeting room, and library. The hotel offers everything you need for a memorable stay.</p><p>Book your stay now at Country Inn &amp; Suites London, Kentucky for a perfect blend of comfort and convenience.</p>\",\n            \"hotelTypeId\": 204,\n            \"id\": \"lp1f847\",\n            \"latitude\": 37.11207,\n            \"longitude\": -84.10037,\n            \"main_photo\": \"https://static.cupid.travel/hotels/521218529.jpg\",\n            \"name\": \"Country Inn & Suites by Radisson, London, KY\",\n            \"rating\": 8.2,\n            \"reviewCount\": 929,\n            \"stars\": 3,\n            \"thumbnail\": \"https://static.cupid.travel/hotels/thumbnail/521218529.jpg\",\n            \"zip\": \"40741\"\n        },\n        {\n            \"accessibilityAttributes\": {\n                \"attributes\": null,\n                \"distanceFromTheElevatorToTheAccessibleRoom\": 0,\n                \"entranceDoorWidth\": 0,\n                \"entranceType\": null,\n                \"petFriendly\": \"\",\n                \"rampAngle\": 0,\n                \"rampLength\": 0,\n                \"roomMaxGuestsNumber\": 0,\n                \"showerChair\": null\n            },\n            \"address\": \"100 Holiday Trl Ne\",\n            \"chain\": \"Holiday Inn Express\",\n            \"chainId\": 2301,\n            \"city\": \"London\",\n            \"country\": \"us\",\n            \"currency\": \"USD\",\n            \"deletedAt\": null,\n            \"facilityIds\": [\n                2083,\n                6848,\n                16,\n                109,\n                28,\n                48,\n                51,\n                81,\n                25,\n                108,\n                143,\n                455,\n                451,\n                449,\n                462,\n                457,\n                461,\n                425,\n                459,\n                465,\n                468,\n                422,\n                424,\n                421,\n                420,\n                500,\n                521,\n                540,\n                584,\n                720,\n                757,\n                761,\n                784,\n                857\n            ],\n            \"hotelDescription\": \"<p><strong>Convenient Location</strong><br>Situated just off I-70, Holiday Inn Express London I-70 is only 20 miles from downtown Columbus, offering easy access to both city attractions and peaceful natural spots.</p><p><strong>Modern Amenities</strong><br>Enjoy a complimentary continental breakfast, unwind in the indoor pool, and stay active in the state-of-the-art fitness center. Each room is equipped with free Wi-Fi, a flat-screen TV, microwave, and refrigerator for your convenience.</p><p><strong>Business and Leisure Facilities</strong><br>Benefit from the 24-hour business center, guest laundry facilities, and round-the-clock front desk service. Whether you're here for work or leisure, we've got you covered.</p><p>Book your stay at Holiday Inn Express London I-70 now and experience comfort and convenience at its best.</p>\",\n            \"hotelTypeId\": 204,\n            \"id\": \"lp252c5\",\n            \"latitude\": 39.95204,\n            \"longitude\": -83.38148,\n            \"main_photo\": \"https://static.cupid.travel/hotels/337519258.jpg\",\n            \"name\": \"Holiday Inn Express London-I-70, an IHG Hotel\",\n            \"rating\": 7.1,\n            \"reviewCount\": 200,\n            \"stars\": 2,\n            \"thumbnail\": \"https://static.cupid.travel/hotels/thumbnail/337519258.jpg\",\n            \"zip\": \"43140\"\n        },\n        {\n            \"accessibilityAttributes\": {\n                \"attributes\": null,\n                \"distanceFromTheElevatorToTheAccessibleRoom\": 0,\n                \"entranceDoorWidth\": 0,\n                \"entranceType\": null,\n                \"petFriendly\": \"\",\n                \"rampAngle\": 0,\n                \"rampLength\": 0,\n                \"roomMaxGuestsNumber\": 0,\n                \"showerChair\": null\n            },\n            \"address\": \"1895 Highway 192 W\",\n            \"chain\": \"Microtel Inns & Suites\",\n            \"chainId\": 2111,\n            \"city\": \"London\",\n            \"country\": \"us\",\n            \"currency\": \"USD\",\n            \"deletedAt\": null,\n            \"facilityIds\": [\n                2083,\n                6848,\n                16,\n                109,\n                301,\n                28,\n                4,\n                48,\n                49,\n                81,\n                25,\n                108,\n                127,\n                143,\n                170,\n                195,\n                222,\n                218,\n                455,\n                451,\n                449,\n                462,\n                457,\n                461,\n                425,\n                459,\n                467,\n                460,\n                465,\n                468,\n                422,\n                456,\n                452,\n                453,\n                424,\n                458,\n                486,\n                488,\n                418,\n                485,\n                420,\n                497,\n                521,\n                540,\n                568,\n                584,\n                630,\n                720,\n                757,\n                761,\n                784,\n                803,\n                857,\n                859,\n                916\n            ],\n            \"hotelDescription\": \"<p><strong>Modern Amenities and Comfortable Stay</strong></p><p>This London hotel provides a comfortable stay with free Wi-Fi, an indoor pool, and rooms featuring a cable TV and work desk. Stay active at the fitness centre or relax in suites with a kitchenette and sofa bed.</p><p><strong>Delicious Breakfast and Convenient Services</strong></p><p>Start your day with a delicious continental breakfast including hot coffee, fresh fruit, and pastries. Benefit from a 24-hour reception, fax, photocopying services, and laundry facilities for added convenience.</p><p><strong>Explore Nearby Attractions</strong></p><p>Conveniently located, the hotel is just 1 mile from Mountain Laurel Gallery and 5 miles from Levi Jackson Wilderness State Park. Book your stay at Microtel Inn &amp; Suites London for a delightful and convenient experience.</p>\",\n            \"hotelTypeId\": 204,\n            \"id\": \"lp27790\",\n            \"latitude\": 37.11209,\n            \"longitude\": -84.09555,\n            \"main_photo\": \"https://static.cupid.travel/hotels/132452625.jpg\",\n            \"name\": \"Microtel Inn & Suites by Wyndham London\",\n            \"rating\": 7.6,\n            \"reviewCount\": 694,\n            \"stars\": 4,\n            \"thumbnail\": \"https://static.cupid.travel/hotels/thumbnail/132452625.jpg\",\n            \"zip\": \"40741\"\n        },\n        {\n            \"accessibilityAttributes\": {\n                \"attributes\": null,\n                \"distanceFromTheElevatorToTheAccessibleRoom\": 0,\n                \"entranceDoorWidth\": 0,\n                \"entranceType\": null,\n                \"petFriendly\": \"\",\n                \"rampAngle\": 0,\n                \"rampLength\": 0,\n                \"roomMaxGuestsNumber\": 0,\n                \"showerChair\": null\n            },\n            \"address\": \"400 Gop St\",\n            \"chain\": \"Quality Inn\",\n            \"chainId\": 1122,\n            \"city\": \"London\",\n            \"country\": \"us\",\n            \"currency\": \"USD\",\n            \"deletedAt\": null,\n            \"facilityIds\": [\n                2083,\n                16,\n                109,\n                4,\n                49,\n                81,\n                25,\n                127,\n                185,\n                222,\n                455,\n                451,\n                449,\n                462,\n                461,\n                465,\n                468,\n                422,\n                456,\n                452,\n                453,\n                418,\n                421,\n                420,\n                540,\n                568,\n                584,\n                675,\n                708,\n                714,\n                720,\n                761,\n                803,\n                857,\n                859,\n                1005\n            ],\n            \"hotelDescription\": \"<p><strong>Convenient Location and Amenities</strong><br>The Quality Inn hotel, just six miles from Wood Creek Lake, offers a range of amenities including free breakfast, high-speed internet, and local calls. Guest rooms are well-equipped with modern conveniences like refrigerators and microwaves, with some featuring whirlpool bathtubs.</p><p><strong>Relaxing Recreation Options</strong><br>Guests can unwind in the indoor heated pool, outdoor pool, or hot tub. The hotel is pet-friendly and provides laundry facilities for convenience. Corporate travelers have access to business services and a meeting room.</p><p><strong>Explore Nearby Attractions</strong><br>Located near popular spots like Daniel Boone Motocross Park and Levi Jackson State Park, guests can also visit the first Kentucky Fried Chicken restaurant. Shopping areas, restaurants, and lounges are just minutes away.</p><p>Book your stay at Quality Inn for a comfortable and enjoyable experience.</p>\",\n            \"hotelTypeId\": 218,\n            \"id\": \"lp3fe05\",\n            \"latitude\": 37.14835,\n            \"longitude\": -84.10971,\n            \"main_photo\": \"https://static.cupid.travel/hotels/269699943.jpg\",\n            \"name\": \"Quality Inn\",\n            \"rating\": 7.2,\n            \"reviewCount\": 204,\n            \"stars\": 2,\n            \"thumbnail\": \"https://static.cupid.travel/hotels/thumbnail/269699943.jpg\",\n            \"zip\": \"40741\"\n        },\n        {\n            \"accessibilityAttributes\": {\n                \"attributes\": null,\n                \"distanceFromTheElevatorToTheAccessibleRoom\": 0,\n                \"entranceDoorWidth\": 0,\n                \"entranceType\": null,\n                \"petFriendly\": \"\",\n                \"rampAngle\": 0,\n                \"rampLength\": 0,\n                \"roomMaxGuestsNumber\": 0,\n                \"showerChair\": null\n            },\n            \"address\": \"2075 Hwy 192\",\n            \"chain\": \"Baymont Inn & Suites\",\n            \"chainId\": 1993,\n            \"city\": \"London\",\n            \"country\": \"us\",\n            \"currency\": \"USD\",\n            \"deletedAt\": null,\n            \"facilityIds\": [\n                2083,\n                6848,\n                16,\n                109,\n                301,\n                28,\n                4,\n                48,\n                81,\n                143,\n                195,\n                222,\n                200,\n                455,\n                449,\n                462,\n                457,\n                425,\n                459,\n                460,\n                468,\n                422,\n                456,\n                452,\n                458,\n                486,\n                464,\n                488,\n                418,\n                420,\n                497,\n                540,\n                584,\n                631,\n                642,\n                714,\n                720,\n                757,\n                761,\n                784,\n                828,\n                835,\n                857,\n                859,\n                899,\n                916,\n                1020\n            ],\n            \"hotelDescription\": \"<p><strong>Convenient Location</strong><br>Situated just 2 minutes away from Interstate 75, Baymont Inn in London, Kentucky offers easy access to the scenic Laurel River Lake in the Daniel Boone National Forest.</p><p><strong>Modern Amenities</strong><br>Guests can stay connected with complimentary Wi-Fi throughout the property and take advantage of the outdoor pool and fitness centre for relaxation and recreation.</p><p><strong>Comfortable Accommodations</strong><br>Each room features a cable TV, desk, and en suite bathroom with a hairdryer. Upgrade to a suite for a luxurious spa bath experience.</p><p>Experience the perfect blend of convenience and comfort at Baymont Inn London. Book your stay now!</p>\",\n            \"hotelTypeId\": 205,\n            \"id\": \"lp1fe9f\",\n            \"latitude\": 37.1125,\n            \"longitude\": -84.10117,\n            \"main_photo\": \"https://static.cupid.travel/hotels/428523831.jpg\",\n            \"name\": \"Baymont by Wyndham London KY\",\n            \"rating\": 7.6,\n            \"reviewCount\": 364,\n            \"stars\": 2,\n            \"thumbnail\": \"https://static.cupid.travel/hotels/thumbnail/428523831.jpg\",\n            \"zip\": \"40741\"\n        },\n        {\n            \"accessibilityAttributes\": {\n                \"attributes\": null,\n                \"distanceFromTheElevatorToTheAccessibleRoom\": 0,\n                \"entranceDoorWidth\": 0,\n                \"entranceType\": null,\n                \"petFriendly\": \"\",\n                \"rampAngle\": 0,\n                \"rampLength\": 0,\n                \"roomMaxGuestsNumber\": 0,\n                \"showerChair\": null\n            },\n            \"address\": \"506 Minton Drive\",\n            \"chain\": \"Holiday Inn Express\",\n            \"chainId\": 2301,\n            \"city\": \"London\",\n            \"country\": \"us\",\n            \"currency\": \"USD\",\n            \"deletedAt\": null,\n            \"facilityIds\": [\n                2083,\n                16,\n                109,\n                301,\n                51,\n                81,\n                25,\n                75,\n                108,\n                455,\n                451,\n                449,\n                462,\n                457,\n                456,\n                488,\n                540,\n                584,\n                630,\n                720,\n                761,\n                828,\n                857,\n                916\n            ],\n            \"hotelDescription\": \"<p><strong>Indulge in Comfort and Convenience</strong></p><p><strong>Modern Rooms and Amenities</strong>: The Holiday Inn Express Hotel &amp; Suites London offers stylish rooms with essential amenities such as cable TV, microwave, and refrigerator. Enjoy the convenience of in-room coffee maker and ironing facilities during your stay.</p><p><strong>Delicious Breakfast Options</strong>: Start your day right with a hot breakfast buffet that includes a variety of options like eggs, bacon, and fresh fruit. The contemporary dining area provides a perfect setting to kick start your morning.</p><p><strong>Fitness and Business Facilities</strong>: Stay active at the on-site fitness center equipped with cardio machines and catch up on work at the business center with computer, printer, and fax services available for guests.</p><p>Book your stay at the London Holiday Inn Express now for a perfect blend of comfort and convenience.</p>\",\n            \"hotelTypeId\": 204,\n            \"id\": \"lp34e71\",\n            \"latitude\": 37.1127,\n            \"longitude\": -84.09816,\n            \"main_photo\": \"https://static.cupid.travel/hotels/247786698.jpg\",\n            \"name\": \"Holiday Inn Express Hotel & Suites London, an IHG Hotel\",\n            \"rating\": 7.8,\n            \"reviewCount\": 279,\n            \"stars\": 2,\n            \"thumbnail\": \"https://static.cupid.travel/hotels/thumbnail/247786698.jpg\",\n            \"zip\": \"40741\"\n        },\n        {\n            \"accessibilityAttributes\": {\n                \"attributes\": null,\n                \"distanceFromTheElevatorToTheAccessibleRoom\": 0,\n                \"entranceDoorWidth\": 0,\n                \"entranceType\": null,\n                \"petFriendly\": \"\",\n                \"rampAngle\": 0,\n                \"rampLength\": 0,\n                \"roomMaxGuestsNumber\": 0,\n                \"showerChair\": null\n            },\n            \"address\": \"870 State Route 42 NE\",\n            \"chain\": \"Not Available\",\n            \"city\": \"London\",\n            \"country\": \"us\",\n            \"currency\": \"USD\",\n            \"deletedAt\": null,\n            \"facilityIds\": [\n                2083,\n                16,\n                109,\n                4,\n                25,\n                108,\n                497,\n                540,\n                584,\n                675,\n                720,\n                761,\n                857\n            ],\n            \"hotelDescription\": \"<p><strong>Convenient Location</strong><br>Located near local attractions and easily accessible from I-70, FairBridge Inn Express London is the perfect base for exploring London, Ohio.</p><p><strong>Modern Amenities</strong><br>Enjoy complimentary freshly brewed coffee in the lobby each morning and stay connected with Wi-Fi access throughout the hotel.</p><p><strong>Comfortable Stay</strong><br>Unwind in spacious guestrooms equipped with expanded cable TV and complimentary local calls, ensuring a relaxing end to your day.</p><p>Book your stay at FairBridge Inn Express London now for a memorable and convenient experience!</p>\",\n            \"hotelTypeId\": 205,\n            \"id\": \"lp317c3\",\n            \"latitude\": 39.95152,\n            \"longitude\": -83.38106,\n            \"main_photo\": \"https://static.cupid.travel/hotels/200701865.jpg\",\n            \"name\": \"FairBridge Inn Express London\",\n            \"rating\": 4.8,\n            \"reviewCount\": 129,\n            \"stars\": 2,\n            \"thumbnail\": \"https://static.cupid.travel/hotels/thumbnail/200701865.jpg\",\n            \"zip\": \"43140\"\n        },\n        {\n            \"accessibilityAttributes\": {\n                \"attributes\": null,\n                \"distanceFromTheElevatorToTheAccessibleRoom\": 0,\n                \"entranceDoorWidth\": 0,\n                \"entranceType\": null,\n                \"petFriendly\": \"\",\n                \"rampAngle\": 0,\n                \"rampLength\": 0,\n                \"roomMaxGuestsNumber\": 0,\n                \"showerChair\": null\n            },\n            \"address\": \"110 Melcon Ln\",\n            \"chain\": \"Red Roof Inn\",\n            \"chainId\": 1839,\n            \"city\": \"London\",\n            \"country\": \"us\",\n            \"currency\": \"USD\",\n            \"deletedAt\": null,\n            \"facilityIds\": [\n                2083,\n                16,\n                109,\n                28,\n                4,\n                48,\n                49,\n                81,\n                64,\n                25,\n                108,\n                127,\n                185,\n                211,\n                455,\n                451,\n                449,\n                462,\n                457,\n                461,\n                425,\n                459,\n                465,\n                468,\n                422,\n                456,\n                452,\n                424,\n                458,\n                486,\n                464,\n                418,\n                421,\n                487,\n                521,\n                540,\n                568,\n                584,\n                630,\n                714,\n                720,\n                761,\n                784,\n                857,\n                859,\n                916,\n                1005\n            ],\n            \"hotelDescription\": \"<p><strong>Welcome to The Red Roof Inn – London!</strong></p><p><strong>Gazebo, Picnic Area, and BBQ Facilities:</strong> Enjoy outdoor gatherings with our gazebo, picnic area, and barbecue facilities.</p><p><strong>In-Room Amenities:</strong> Relax in our rooms equipped with a flat-screen TV, cable, radio/alarm clock, small refrigerator, and coffee maker.</p><p><strong>Convenience and Accessibility:</strong> Benefit from our 24-hour front desk, banquet facilities, vending machines, and free parking.</p><p>Experience the best of London, KY, with a stay at The Red Roof Inn. Book now for an unforgettable stay!</p>\",\n            \"hotelTypeId\": 205,\n            \"id\": \"lp24caf\",\n            \"latitude\": 37.14461,\n            \"longitude\": -84.10855,\n            \"main_photo\": \"https://static.cupid.travel/hotels/403478343.jpg\",\n            \"name\": \"Red Roof Inn London I-75\",\n            \"rating\": 8.6,\n            \"reviewCount\": 439,\n            \"stars\": 2,\n            \"thumbnail\": \"https://static.cupid.travel/hotels/thumbnail/403478343.jpg\",\n            \"zip\": \"40741\"\n        },\n        {\n            \"accessibilityAttributes\": {\n                \"attributes\": null,\n                \"distanceFromTheElevatorToTheAccessibleRoom\": 0,\n                \"entranceDoorWidth\": 0,\n                \"entranceType\": null,\n                \"petFriendly\": \"\",\n                \"rampAngle\": 0,\n                \"rampLength\": 0,\n                \"roomMaxGuestsNumber\": 0,\n                \"showerChair\": null\n            },\n            \"address\": \"105 Melcon Hill Dr\",\n            \"chain\": \"Econo Lodge\",\n            \"chainId\": 1128,\n            \"city\": \"London\",\n            \"country\": \"us\",\n            \"currency\": \"USD\",\n            \"deletedAt\": null,\n            \"facilityIds\": [\n                2083,\n                16,\n                109,\n                301,\n                4,\n                48,\n                81,\n                25,\n                63,\n                143,\n                185,\n                195,\n                200,\n                455,\n                451,\n                449,\n                462,\n                457,\n                461,\n                459,\n                467,\n                460,\n                465,\n                468,\n                422,\n                456,\n                452,\n                466,\n                453,\n                424,\n                486,\n                464,\n                488,\n                485,\n                420,\n                463,\n                521,\n                540,\n                630,\n                675,\n                720,\n                761,\n                784,\n                857,\n                859,\n                916,\n                989,\n                1005\n            ],\n            \"hotelDescription\": \"<p><strong>Convenient Amenities</strong><br>Enjoy our outdoor pool, free Wi-Fi, and in-room microwave and refrigerator for added comfort during your stay.</p><p><strong>Deluxe Continental Breakfast</strong><br>Start your day right with our complimentary breakfast, served fresh every morning to kickstart your adventures in London, Kentucky.</p><p><strong>Nearby Attractions</strong><br>Explore Levi Jackson Wilderness Road State Park, Saint Joseph-London Hospital, and more just a short drive away from Econo Lodge London.</p><p>Book now for a relaxing and enjoyable stay at Econo Lodge London, where convenience meets comfort.</p>\",\n            \"hotelTypeId\": 221,\n            \"id\": \"lp1eb86\",\n            \"latitude\": 37.14472,\n            \"longitude\": -84.10807,\n            \"main_photo\": \"https://static.cupid.travel/hotels/570050452.jpg\",\n            \"name\": \"Econo Lodge\",\n            \"rating\": 5.3,\n            \"reviewCount\": 74,\n            \"stars\": 2,\n            \"thumbnail\": \"https://static.cupid.travel/hotels/thumbnail/570050452.jpg\",\n            \"zip\": \"40741\"\n        },\n        {\n            \"accessibilityAttributes\": {\n                \"attributes\": null,\n                \"distanceFromTheElevatorToTheAccessibleRoom\": 0,\n                \"entranceDoorWidth\": 0,\n                \"entranceType\": null,\n                \"petFriendly\": \"\",\n                \"rampAngle\": 0,\n                \"rampLength\": 0,\n                \"roomMaxGuestsNumber\": 0,\n                \"showerChair\": null\n            },\n            \"address\": \"1918 Highway 192 W\",\n            \"chain\": \"Comfort Suites\",\n            \"chainId\": 1121,\n            \"city\": \"London\",\n            \"country\": \"us\",\n            \"currency\": \"USD\",\n            \"deletedAt\": null,\n            \"facilityIds\": [\n                2083,\n                6848,\n                16,\n                109,\n                301,\n                3,\n                28,\n                48,\n                108,\n                195,\n                455,\n                449,\n                457,\n                425,\n                459,\n                468,\n                422,\n                456,\n                466,\n                488,\n                487,\n                540,\n                584,\n                630,\n                675,\n                720,\n                757,\n                761,\n                857,\n                916\n            ],\n            \"hotelDescription\": \"<p><strong>Modern Accommodation with Convenient Amenities</strong></p><p>At Comfort Suites London, guests can enjoy a comfortable stay in modern rooms equipped with essential amenities. The hotel's fitness centre is perfect for those looking to stay active during their travels, while the on-site restaurant and bar provide convenient dining options. With a 24-hour front desk and free WiFi, guests can expect excellent service and connectivity throughout their stay.</p><p><strong>Nearby Attractions and Easy Access</strong></p><p>Conveniently located just 15 km from Laurel River Lake, guests have easy access to outdoor recreational activities. Additionally, the proximity to attractions like Harland Sanders Cafe and Museum, Holly Bay Marina, and Kentucky Music Hall of Fame and Museum offers guests plenty of options for exploration and entertainment.</p><p><strong>Non-Smoking Property with Free Parking</strong></p><p>For a hassle-free experience, Comfort Suites London is a non-smoking property with free private parking. Guests can relax knowing their vehicles are secure while they explore the nearby sights. Book your stay now and experience comfort and convenience at Comfort Suites London.</p>\",\n            \"hotelTypeId\": 204,\n            \"id\": \"lp1ff92\",\n            \"latitude\": 37.11038,\n            \"longitude\": -84.09576,\n            \"main_photo\": \"https://static.cupid.travel/hotels/169794442.jpg\",\n            \"name\": \"Comfort Suites\",\n            \"rating\": 6.9,\n            \"reviewCount\": 140,\n            \"stars\": 3,\n            \"thumbnail\": \"https://static.cupid.travel/hotels/thumbnail/169794442.jpg\",\n            \"zip\": \"40741\"\n        }\n    ],\n    \"per_page\": 20,\n    \"total_hotels\": 10,\n    \"total_pages\": 1\n}"}],"_postman_id":"17feb79e-1783-4932-a820-1842a8dd9397"},{"name":"hotels/hotel_details","id":"be7a2e0a-e1e6-4374-8645-58a1cf19ed4a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/hotels/hotel_details?hotel_id=lp67890","description":"<p>This endpoint retrieves the details of a specific hotel identified by the provided hotel ID. The response is in JSON format and includes various details such as address, airport code, check-in and check-out times, facilities, hotel images, location coordinates, room details, sentiment analysis, star rating, and more.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"address\": \"\",\n  \"airportCode\": \"\",\n  \"chain\": \"\",\n  \"chainId\": 0,\n  \"checkinCheckoutTimes\": {\n    \"checkin\": \"\",\n    \"checkinEnd\": \"\",\n    \"checkinStart\": \"\",\n    \"checkout\": \"\"\n  },\n  \"childAllowed\": true,\n  \"city\": \"\",\n  \"country\": \"\",\n  \"email\": \"\",\n  \"facilities\": [\n    {\n      \"facilityId\": 0,\n      \"name\": \"\"\n    }\n  ],\n  \"fax\": \"\",\n  \"groupRoomMin\": 0,\n  \"hotelDescription\": \"\",\n  \"hotelFacilities\": [\"\"],\n  \"hotelImages\": [\n    {\n      \"caption\": \"\",\n      \"defaultImage\": true,\n      \"order\": 0,\n      \"url\": \"\",\n      \"urlHd\": \"\"\n    }\n  ],\n  \"hotelImportantInformation\": \"\",\n  \"hotelType\": \"\",\n  \"hotelTypeId\": 0,\n  \"id\": \"\",\n  \"location\": {\n    \"latitude\": 0,\n    \"longitude\": 0\n  },\n  \"main_photo\": \"\",\n  \"name\": \"\",\n  \"parking\": \"\",\n  \"petsAllowed\": true,\n  \"phone\": \"\",\n  \"policies\": [\n    {\n      \"child_allowed\": \"\",\n      \"description\": \"\",\n      \"name\": \"\",\n      \"parking\": \"\",\n      \"pets_allowed\": \"\",\n      \"policy_type\": \"\"\n    }\n  ],\n  \"rating\": 0,\n  \"reviewCount\": 0,\n  \"rooms\": [\n    {\n      \"bedTypes\": [\n        {\n          \"bedSize\": \"\",\n          \"bedType\": \"\",\n          \"quantity\": 0\n        }\n      ],\n      \"description\": \"\",\n      \"hotelId\": \"\",\n      \"id\": 0,\n      \"maxAdults\": 0,\n      \"maxChildren\": 0,\n      \"maxOccupancy\": 0,\n      \"photos\": [\n        {\n          \"classId\": 0,\n          \"classOrder\": 0,\n          \"failoverPhoto\": \"\",\n          \"hd_url\": \"\",\n          \"imageClass1\": \"\",\n          \"imageClass2\": \"\",\n          \"imageDescription\": \"\",\n          \"mainPhoto\": true,\n          \"score\": 0,\n          \"url\": \"\"\n        }\n      ],\n      \"roomAmenities\": [\n        {\n          \"amenitiesId\": 0,\n          \"name\": \"\",\n          \"sort\": 0\n        }\n      ],\n      \"roomName\": \"\",\n      \"roomSizeSquare\": 0,\n      \"roomSizeUnit\": \"\"\n    }\n  ],\n  \"sentiment_analysis\": {\n    \"categories\": [\n      {\n        \"description\": \"\",\n        \"name\": \"\",\n        \"rating\": 0\n      }\n    ],\n    \"cons\": [\"\"],\n    \"pros\": [\"\"]\n  },\n  \"sentiment_updated_at\": \"\",\n  \"starRating\": 0\n}\n\n</code></pre>\n","urlObject":{"path":["hotels","hotel_details"],"host":["{{baseUrl}}"],"query":[{"key":"hotel_id","value":"lp67890"}],"variable":[]}},"response":[],"_postman_id":"be7a2e0a-e1e6-4374-8645-58a1cf19ed4a"},{"name":"hotels/retrieve_booking/{booking_id}","id":"71c87ad4-9c8f-433a-b48a-2783ec4c348d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/hotels/retrieve_booking/puaQiTSdq","urlObject":{"path":["hotels","retrieve_booking","puaQiTSdq"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"71c87ad4-9c8f-433a-b48a-2783ec4c348d"},{"name":"hotels/recommended_hotels","id":"bae6b8f1-db34-456a-9651-f75e13894fad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/hotels/recommended_hotels?lat=48.8622849&lon=2.3192509","description":"<h1 id=\"recommended-hotels-api\">Recommended Hotels API</h1>\n<p>This API endpoint makes an HTTP GET request to retrieve a list of recommended hotels based on the provided latitude and longitude.</p>\n<h2 id=\"input-parameters\">Input Parameters</h2>\n<ul>\n<li><p><code>lat</code> (required): The latitude coordinate for the location.</p>\n</li>\n<li><p><code>lon</code> (required): The longitude coordinate for the location.</p>\n</li>\n</ul>\n<h2 id=\"expected-output\">Expected Output</h2>\n<p>Upon a successful request, the API returns a JSON response with a status code of 200. The response contains an array of hotel objects, each providing details such as address, chain, city, country, currency, facility IDs, hotel description, hotel type ID, ID, latitude, longitude, main photo, name, rating, review count, stars, thumbnail, and zip code.</p>\n<p>Example Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"hotels\": [\n        {\n            \"address\": \"\",\n            \"chain\": \"\",\n            \"chainId\": 0,\n            \"city\": \"\",\n            \"country\": \"\",\n            \"currency\": \"\",\n            \"facilityIds\": [0],\n            \"hotelDescription\": \"\",\n            \"hotelTypeId\": 0,\n            \"id\": \"\",\n            \"latitude\": 0,\n            \"longitude\": 0,\n            \"main_photo\": \"\",\n            \"name\": \"\",\n            \"rating\": 0,\n            \"reviewCount\": 0,\n            \"stars\": 0,\n            \"thumbnail\": \"\",\n            \"zip\": \"\"\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"path":["hotels","recommended_hotels"],"host":["{{baseUrl}}"],"query":[{"key":"lat","value":"48.8622849"},{"key":"lon","value":"2.3192509"}],"variable":[]}},"response":[],"_postman_id":"bae6b8f1-db34-456a-9651-f75e13894fad"}],"id":"5a9db77d-6c12-44ed-b30e-a27f1e1f3114","description":"<p>Endpoints for basic hotel functions in hermex travels</p>\n","_postman_id":"5a9db77d-6c12-44ed-b30e-a27f1e1f3114"},{"name":"ADV. Hotel Functions","item":[{"name":"hotels/get_rates","id":"e4aabf6b-5e32-405b-927c-9be2f0556dce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"checkin\": \"2025-04-07\",\r\n    \"checkout\": \"2025-04-08\"\r\n    ,\r\n    \"hotelIds\": [\r\n        \"lp2d11e\"\r\n    ],\r\n    \"occupancies\": [\r\n        {\r\n            \"adults\": 1,\r\n            \"children\": []\r\n        }\r\n    ],\r\n    \"guestNationality\": \"US\",\r\n    \"currency\": \"USD\",  // Add the currency field here\r\n    \"roomMapping\": true\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/hotels/get_rates","description":"<h3 id=\"get-rates-endpoint\"><strong>Get Rates Endpoint</strong></h3>\n<h4 id=\"overview\"><strong>Overview</strong></h4>\n<p>The <code>GET /get_rates</code> endpoint allows both the frontend and mobile teams to retrieve the rates for hotels based on specified parameters such as hotel IDs, check-in and check-out dates, guest nationality, currency, and occupancy details. The endpoint also applies a markup percentage to the rates to ensure that the returned prices reflect business rules or additional charges. This integration documentation explains how to use this endpoint effectively, including request format, response structure, and common error handling.</p>\n<hr />\n<h3 id=\"endpoint-information\"><strong>Endpoint Information</strong></h3>\n<ul>\n<li><p><strong>URL</strong>: <code>/get_rates</code></p>\n</li>\n<li><p><strong>Method</strong>: <code>POST</code></p>\n</li>\n<li><p><strong>Authentication</strong>: No authentication required.</p>\n</li>\n<li><p><strong>Content-Type</strong>: <code>application/json</code></p>\n</li>\n</ul>\n<hr />\n<h3 id=\"request-parameters\"><strong>Request Parameters</strong></h3>\n<p>The request body should be in JSON format with the following required fields:</p>\n<h4 id=\"1-hotelids-required\"><strong>1.</strong> <strong><code>hotelIds</code></strong> <strong>(required)</strong></h4>\n<ul>\n<li><p><strong>Type</strong>: Array of strings</p>\n</li>\n<li><p><strong>Description</strong>: List of hotel IDs for which rates need to be fetched.</p>\n</li>\n<li><p><strong>Example</strong>: <code>[\"hotel123\", \"hotel456\"]</code></p>\n</li>\n</ul>\n<h4 id=\"2-occupancies-required\"><strong>2.</strong> <strong><code>occupancies</code></strong> <strong>(required)</strong></h4>\n<ul>\n<li><p><strong>Type</strong>: Array of objects (can have multiple occupancy configurations)</p>\n</li>\n<li><p><strong>Description</strong>: Contains information about the number of adults and children for each room configuration. The first object will be used if multiple occupancy configurations are not provided.</p>\n</li>\n<li><p><strong>Fields</strong>:</p>\n<ul>\n<li><p><strong><code>adults</code></strong> <strong>(required)</strong>: The number of adults in the room.</p>\n<ul>\n<li><p><strong>Type</strong>: Integer</p>\n</li>\n<li><p><strong>Example</strong>: <code>2</code></p>\n</li>\n</ul>\n</li>\n<li><p><strong><code>children</code></strong> <strong>(optional)</strong>: A list of children’s ages (optional, required only if children are included).</p>\n<ul>\n<li><p><strong>Type</strong>: Array of integers</p>\n</li>\n<li><p><strong>Example</strong>: <code>[5, 8]</code></p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"3-guestnationality-optional\"><strong>3.</strong> <strong><code>guestNationality</code></strong> <strong>(optional)</strong></h4>\n<ul>\n<li><p><strong>Type</strong>: String</p>\n</li>\n<li><p><strong>Description</strong>: The nationality of the guest (used for filtering special rates based on nationality).</p>\n</li>\n<li><p><strong>Default</strong>: <code>\"US\"</code></p>\n</li>\n<li><p><strong>Example</strong>: <code>\"GB\"</code></p>\n</li>\n</ul>\n<h4 id=\"4-currency-optional\"><strong>4.</strong> <strong><code>currency</code></strong> <strong>(optional)</strong></h4>\n<ul>\n<li><p><strong>Type</strong>: String</p>\n</li>\n<li><p><strong>Description</strong>: The currency in which the prices will be returned.</p>\n</li>\n<li><p><strong>Default</strong>: <code>\"USD\"</code></p>\n</li>\n<li><p><strong>Example</strong>: <code>\"EUR\"</code></p>\n</li>\n</ul>\n<hr />\n<h3 id=\"request-example\"><strong>Request Example</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"hotelIds\": [\"hotel123\", \"hotel456\"],\n  \"occupancies\": [\n    {\n      \"adults\": 2,\n      \"children\": [5, 8]\n    }\n  ],\n  \"guestNationality\": \"US\",\n  \"currency\": \"USD\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"response-format\"><strong>Response Format</strong></h3>\n<p>The response will be in JSON format. If the request is successful, it will return the list of hotel rates, along with any applied markup.</p>\n<h4 id=\"success-response-200\"><strong>Success Response (200)</strong></h4>\n<ul>\n<li><p><strong>Status Code</strong>: <code>200 OK</code></p>\n</li>\n<li><p><strong>Content</strong>: A JSON object containing the <code>rates</code> array, which includes the rates for the specified hotels.</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"rates\": [\n    {\n      \"hotelId\": \"hotel123\",\n      \"roomTypes\": [\n        {\n          \"offerId\": \"offer1\",\n          \"rates\": [\n            {\n              \"adultCount\": 2,\n              \"boardName\": \"Room Only\",\n              \"retailRate\": {\n                \"initialPrice\": [\n                  {\n                    \"amount\": 645.15,\n                    \"currency\": \"USD\"\n                  }\n                ],\n                \"total\": [\n                  {\n                    \"amount\": 645.15,\n                    \"currency\": \"USD\"\n                  }\n                ]\n              }\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n\n</code></pre>\n<h4 id=\"error-responses\"><strong>Error Responses</strong></h4>\n<ol>\n<li><p><code>{ \"error\": \"hotelIds are required\" }</code></p>\n<ul>\n<li><p><strong>Description</strong>: The <code>hotelIds</code> field is required and cannot be empty.</p>\n</li>\n<li><p><strong>Response</strong>:</p>\n</li>\n</ul>\n</li>\n<li><p><code>{ \"error\": \"childAges must be a non-empty list if children are present\" }</code></p>\n<ul>\n<li><p><strong>Description</strong>: If children are present, <code>childAges</code> must be a non-empty list.</p>\n</li>\n<li><p><strong>Response</strong>:</p>\n</li>\n</ul>\n</li>\n<li><p><code>{ \"error\": \"No rates found\" }</code></p>\n<ul>\n<li><p><strong>Description</strong>: If no rates are found for the given hotel IDs.</p>\n</li>\n<li><p><strong>Response</strong>:</p>\n</li>\n</ul>\n</li>\n<li><p><code>{ \"error\": \"An error occurred. Please try again later.\" }</code></p>\n<ul>\n<li><p><strong>Description</strong>: An unexpected error occurred on the server side.</p>\n</li>\n<li><p><strong>Response</strong>:</p>\n</li>\n</ul>\n</li>\n</ol>\n<hr />\n<h3 id=\"markup-calculation-explanation\"><strong>Markup Calculation Explanation</strong></h3>\n<p>The backend applies a markup percentage to the original rates for each hotel. The markup is applied to the <code>initialPrice</code> and the <code>total</code> price:</p>\n<ul>\n<li><p>pythonCopyEditmarkup_price = original_price * (1 + markup_percentage / 100)</p>\n<p>  For instance, if the original price is <code>100 USD</code> and the markup percentage is <code>3%</code>, the new price will be <code>103 USD</code>.</p>\n</li>\n<li><p><strong>Update in the Response</strong>:<br />  The <code>initialPrice</code> and <code>total</code> for each rate are updated to reflect the new price after markup.</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"frontend--mobile-integration-notes\"><strong>Frontend / Mobile Integration Notes</strong></h3>\n<h4 id=\"frontend-team\"><strong>Frontend Team</strong></h4>\n<ul>\n<li><p>The frontend should expect a <code>rates</code> array in the response, which contains the room details and updated pricing.</p>\n</li>\n<li><p>When displaying the price to the user, ensure that either the <code>initialPrice</code> and <code>total</code> are visible to the user.</p>\n</li>\n</ul>\n<h4 id=\"mobile-team\"><strong>Mobile Team</strong></h4>\n<ul>\n<li><p>Similar to the frontend team, ensure that the UI reflects the updated price.</p>\n</li>\n<li><p>If any rate details are missing or if there's a specific error, show appropriate messages to users (e.g., \"No rates available for the selected hotels\").</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"additional-considerations\"><strong>Additional Considerations</strong></h3>\n<ul>\n<li><p><strong>Date Ranges</strong>: The check-in date is set to 180 days from the current date, and check-out is one day later. These dates are hardcoded in the request and cannot be changed by the client.</p>\n</li>\n<li><p><strong>Currency Handling</strong>: The response will include the currency of the rates, so ensure proper currency formatting on both mobile and web platforms.</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"conclusion\"><strong>Conclusion</strong></h3>\n<p>This endpoint is essential for retrieving hotel pricing based on specific search criteria, with dynamic price adjustments based on markup. Both frontend and mobile teams should ensure that they properly handle the response, errors, and edge cases, ensuring a smooth user experience.</p>\n<h2 id=\"continuation\"><strong>Continuation</strong></h2>\n<p>This HTTP POST request to {{baseUrl}}/hotels/get_rates is used to retrieve the rates for hotels based on the specified check-in and check-out dates, hotel IDs, guest details, and guest nationality. The request payload includes the check-in date, check-out date, hotel IDs, number of adult guests, and guest nationality.</p>\n<p>The response to this request is a JSON object with a status code of 200 and a content type of application/json. The response includes rate information for the specified hotels, including hotel ID, room types, offer ID, retail rates, price type, rate type, cancellation policies, occupancy details, and suggested selling price.</p>\n<h1 id=\"detailed-documentation-of-hotel-rates-and-room-types-response-body\">Detailed Documentation of Hotel Rates and Room Types Response body</h1>\n<h2 id=\"overview-1\">Overview</h2>\n<p>This document provides a comprehensive description of the response body containing hotel rates and room types. The data includes details such as room offers, pricing, cancellation policies, commissions, taxes, fees, and other attributes for various hotel room types.</p>\n<hr />\n<h2 id=\"structure\">Structure</h2>\n<h3 id=\"rates\">Rates</h3>\n<ul>\n<li><p><strong>Hotel ID:</strong> Each rate entry is associated with a <code>hotelId</code>.</p>\n</li>\n<li><p><strong>Room Types:</strong> Each hotel can have multiple room types with detailed offers.</p>\n</li>\n</ul>\n<h3 id=\"room-types\">Room Types</h3>\n<p>For each room type:</p>\n<ul>\n<li><p><strong>Offer ID:</strong> Unique identifier for the offer.</p>\n</li>\n<li><p><strong>Offer Initial Price:</strong> The starting price of the room.</p>\n</li>\n<li><p><strong>Offer Retail Rate:</strong> The retail rate of the room.</p>\n</li>\n<li><p><strong>Price Type:</strong> Indicates the pricing model (e.g., <code>commission</code>).</p>\n</li>\n<li><p><strong>Rate Type:</strong> Type of rate (e.g., <code>standard</code>).</p>\n</li>\n<li><p><strong>Suggested Selling Price:</strong> Recommended price for the room.</p>\n</li>\n<li><p><strong>Supplier Information:</strong> Includes <code>supplier</code> and <code>supplierId</code>.</p>\n</li>\n<li><p><strong>Room Type ID:</strong> Unique identifier for the room type.</p>\n</li>\n</ul>\n<h3 id=\"rates-within-room-types\">Rates (Within Room Types)</h3>\n<p>Each room type contains detailed rates with:</p>\n<ul>\n<li><p><strong>Adult Count:</strong> Number of adults accommodated.</p>\n</li>\n<li><p><strong>Child Count:</strong> Number of children accommodated.</p>\n</li>\n<li><p><strong>Board Name and Type:</strong> Information on the board offering (e.g., <code>Room Only</code>).</p>\n</li>\n<li><p><strong>Maximum Occupancy:</strong> Maximum number of occupants allowed.</p>\n</li>\n<li><p><strong>Cancellation Policies:</strong></p>\n<ul>\n<li><p><strong>Cancel Policy Info:</strong> Contains the cancellation amount, cancel time, currency, and type.</p>\n</li>\n<li><p><strong>Hotel Remarks:</strong> Additional remarks or conditions provided by the hotel.</p>\n</li>\n<li><p><strong>Refundable Tag:</strong> Indicates if the offer is refundable.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Commission:</strong> The amount of commission included in the pricing.</p>\n</li>\n<li><p><strong>Rate ID:</strong> Unique identifier for the specific rate.</p>\n</li>\n<li><p><strong>Remarks:</strong> Additional comments or notes about the rate.</p>\n</li>\n<li><p><strong>Retail Rate:</strong> Includes:</p>\n<ul>\n<li><p><strong>Initial Price:</strong> Base price of the room.</p>\n</li>\n<li><p><strong>Suggested Selling Price:</strong> Recommended price and its source.</p>\n</li>\n<li><p><strong>Taxes and Fees:</strong> Detailed breakdown of additional costs (e.g., resort fees, mandatory taxes).</p>\n</li>\n<li><p><strong>Total:</strong> Overall cost including all fees.</p>\n</li>\n</ul>\n</li>\n</ul>\n<hr />\n<h2 id=\"example-breakdown\">Example Breakdown</h2>\n<h3 id=\"hotel-id-lp19b5f\">Hotel ID: <code>lp19b5f</code></h3>\n<h4 id=\"room-type-1\">Room Type 1</h4>\n<ul>\n<li><p><strong>Offer ID:</strong> <code>GE5ESNBSIZKVMQ2QJJNEERSRKIZFMR2OINCVGVCTKNGEURCWKVLEGRKJKZDVKRKXINEEUVK2KZEVGMSPJNFE4RKPJZBFGSKSI5KTIU2TKRFFMR2WKVJEGQSKKZHEMRKSGJFEYRSDIUZFOS2TJM2UKRKLJUZEQSSOJBDEKV2DJBFEMTKVJFKEWTSLJJGFKT2WJJKESUSFKUZFMQ2FJE2UKVSTKJBU4SSWJZDE6U2DIZDU4S2FKNKFGMSMJJCFKU2XJNCUUNKIIZCVMMSJJFKVUVKJKMZE6TCKJVCU6U2TKNFVEQ2VGJIVGWCJGVDVIR2SGJHEUWSOIZDVEMRSJNHEWRJSKRJUWTCCIRKVKTSTIVEU4RKWKVKTESCJIZHEKSKTGJHESSSNIVHVESSTJRBE2VJSKVJVESJVIVKEKVSDIJFFUTSGIVJDEMSHLJCFKV2NGJKEONKGKZGVGU2ZJRDEYRKXKZBVCS2KIZLE2URSKNEVCMSFJ5JVGQSLKJAVMQ2NLJKUSNKFKZKVEQ2SJJKVUVCJKMZFMTCKIRCTEVRSIVFU4SKGINLUWVKKGVDVMVKWGJEUSVJSIVEVKS2OJRFE4RKPK5FVUSKSJJKTEVSDKJFEUSSFKNJFGVSKIZHEMRKSGJBEOSSLIVHVIS2LJNFEGVJSK5JUKSSGI5CVKVKTJBEUKWSGJFJDETSKJJFEMQKVKNFUSVSHKZEVMQSVJE2UKVSTKJBUMSS2IZDEGUS2KVGEMS2FJNKEWU2LJZCFKQ2XJNEUYRSHKZEU4Q2MJJDE2VSJKFFU4TCKJJLECVKKKREVESCVGRJVGVCJGQZEMRKWKNDEWUSOIVEVGMSLJFJEGVCJKNFTES2OIRKUGV2TIVFE4R2FKVKUWSCHKJGFMSKRGJHEWSSBKVHVGSZSJFJEWVJSKFJVEUCRGNKEGTSKJ5DTINCILFGVEUKHJEZFGMSNIJMEMVKZKRCUSQSTI5ETKRCBJVBDER2BLFEFSVKTKB6DCMBVGMYTC7BSPRWHAMJZMI2WM7BSFV6FKU2EPRKVG7BSGAZDKLJQG4WTCNL4GIYDENJNGA3S2MJWPR6DMLRQGA</code></p>\n<ul>\n<li><p><strong>Offer Initial Price:</strong> $710.45 (USD)</p>\n</li>\n<li><p><strong>Offer Retail Rate:</strong> $710.45 (USD)</p>\n</li>\n<li><p><strong>Suggested Selling Price:</strong> $696.38 (USD) from <code>expedia.com</code></p>\n</li>\n<li><p><strong>Supplier:</strong> <code>nuitee</code></p>\n</li>\n<li><p><strong>Supplier ID:</strong> 2</p>\n</li>\n<li><p><strong>Room Type ID:</strong> <code>GUYTILJRGA2TGMJRPRHFERSOPQZDAMRVGAYTCNJRGA2DA7BSPRJDCMBTHF6DMNZQGI2A</code></p>\n</li>\n</ul>\n</li>\n</ul>\n<h5 id=\"rate-details\">Rate Details</h5>\n<ul>\n<li><p><strong>Adult Count:</strong> 2</p>\n</li>\n<li><p><strong>Child Count:</strong> 0</p>\n</li>\n<li><p><strong>Board Name:</strong> Room Only</p>\n</li>\n<li><p><strong>Max Occupancy:</strong> 2</p>\n</li>\n<li><p><strong>Cancellation Policies:</strong></p>\n<ul>\n<li><p><strong>Cancel Amount:</strong> $710.45</p>\n</li>\n<li><p><strong>Cancel Time:</strong> <code>2025-01-15 10:40:00</code></p>\n</li>\n<li><p><strong>Refundable Tag:</strong> <code>NRFN</code></p>\n</li>\n</ul>\n</li>\n<li><p><strong>Commission:</strong> $40.21 (USD)</p>\n</li>\n<li><p><strong>Rate ID:</strong> <code>I42FUVCPJZBFQR2VGNCESTSSLJDVUVCEIVGUEWCHJUZVIS2OKJNEONBSIRGU4SSTJVGVURCBJVNFER2JLFCE2WKSK5EEKM2HJNHFEWCHJFMUITKNKJLUOVJTIREU2VCEI5EVSRCNJVNFOSCFGNKESTS2LJDUSWKEJ5HFEV2IIUZUIS2OLJMEOSSSKRCU2QSXI5GTGR2NJZNFGR22KNKE2TSKLBDUUNSEINEVUU2HIFNEIS2NIJMEORJSLBMU2USRI5ETEVCBJZNFER22GZDUWM2TG5FVMSSYLFLEWVCQKJFVMR2SIQ2EOSSBKRAVCMZUI5EVURCRJUZTIS2VLJDE2V2EKNIFCWKUJ5GVUV2IIU2EIUKNLJNEOWKZIRJU2VCRJJJESRSVJFNFER2BGJKEOTKKKJCU2MSUINHEETSHIVMUIS2NLJJEORRWIU2FKU2HJJNDMRCFJVBFGR2VLFCEGTKKKZDUKWKEJFGUINCHJI3EMRKNJJIUOTJULBMU4USYI5AVURCJJEZFGSRUKJKTIVKTI5FFSUSUIVGUEU2HKVLVIQKNJJHEORJSKNAU2SSRJBETERCBPQ3TCMBOGQ2XYMRQGI2S2MBXFUYTKIBRGA5DIMB2GAYHYUSP</code></p>\n<ul>\n<li><p><strong>Taxes and Fees:</strong></p>\n<ul>\n<li><p>Resort: $25.76 (USD)</p>\n</li>\n<li><p>Resort: $4.24 (USD)</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Total:</strong> $710.45 (USD)</p>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"room-type-2\">Room Type 2</h4>\n<p>(Similar details structured as above)</p>\n<hr />\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p>Taxes and fees vary based on the room type and location.</p>\n</li>\n<li><p><code>Refundable Tag</code> indicates whether the booking is refundable (<code>RFN</code>) or non-refundable (<code>NRFN</code>).</p>\n</li>\n<li><p>This document reflects an example breakdown and structure for documentation purposes. Adjustments may be made for specific needs.</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"additional-room-types\">Additional Room Types</h3>\n<p>Each subsequent room type includes similar details as outlined above. Use the provided format for documentation consistency.</p>\n","urlObject":{"path":["hotels","get_rates"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e4aabf6b-5e32-405b-927c-9be2f0556dce"},{"name":"hotels/prebook","id":"70dc0616-dfb1-4ec1-bad3-c658fd0778a1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"offerId\":\"GE5ESNKNKRCVEQ2OJJNEMRSPKRFU4R2OJNCVOVCTGJGEMRCWKNGVGVKJKZDVKRKXINEEURK2KVHVIS2PJNJEIVKPK5JVISKSINLFGV2TKRETKQKWKVLEGRCKKZFEMQ2SGIZEWSSDIUZFIMSLJM2UOVSLJUZEKSRVI5LEKVKLJBGEMTSFJFKEWT2KJJGFKT2VJMZESNKEKUZFKU2SJE2U4RSHKZBU4TCKJJDE6VCLKZGEUQ2FINKFGMSLKJCFMVKVGJCUUVSOIZCVMMSOJJCVUVKJKUZE6S2SIRCU6V2KKRGEETKVGJJVGRKJGVCVMU2SINDEUWSGIZBVGQ2GJRDEGRKHJYZEGS2OIRKUGV2TIVFE4R2VIVLVGSCJIZHEKUKXJMZEUUSIKVMU4S2MJNNEIVCPKEZFOSSOJBCE2USKKVFUSWSFGZKUGUSMJJBVKR2UJNCESUSJIZBVOU2FJFLEQVKFKZBVCS2KIZLESUSLK5FU4TKVGZJVEV2JKJBFKNCXKNLESNKDKZJVMQ2QJJLE4RSVKIZEER2OJNCTEVCLINFUMSCGIVJFGV2KKZHEKRKSINEEUVK2IVEVES2PJRFEYRKPKJFVGS2SI5KTIUKTKJEVUS2WKVLEGSSKKZFEMUKSGJLEYRSNIZJVMQ2UJNHEKVSVKNBUSTCGI5LEKVKLJBFEMTSFJFIUWTSKJJEVKT2TJNNESUSBKUZFCU2SJNBESVSTKZBUYRZVIJLEOURSIZGEMS2FK5KEWRKHKJCFKMSNKNCUSRSHKZKVOS2IJFCVUVKJKJFUUR2KJJKVKTSDKNFVKMSGJNKTESCKJJGVMRKWINDEUVSCIZDVEMSKJM2UWRKDKRFUWSS2IRKUGV2TIREUMR2VIVKUWSKKIZGVKSKRJQ2EOTJTKRHU6QSTI5EVQRCJJ5CDIUCSJJCTM7BTGQZDONJRPQZHY3DQGUZWCZDGPQZC27COI5HHYVKTPQZDAMRVFUYDSLJQGF6DEMBSGUWTAOJNGAZHY7BRGEXDAMA\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/hotels/prebook","description":"<h2 id=\"endpoint-prebook-a-hotel-room\">Endpoint: Prebook a Hotel Room</h2>\n<h3 id=\"url\">URL</h3>\n<p><code>POST /prebook</code></p>\n<h3 id=\"authentication\">Authentication</h3>\n<ul>\n<li>Requires <strong>JWT Authentication</strong> (<code>Authorization: Bearer</code> )</li>\n</ul>\n<h3 id=\"description\">Description</h3>\n<p>This endpoint allows a user to prebook a hotel room by providing an <code>offerId</code>. It calculates the total price with a <strong>10% markup</strong>, creates a <strong>pending booking record</strong> in the database, and returns the prebook response along with the booking details.</p>\n<h3 id=\"request-headers\">Request Headers</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"Authorization\": \"Bearer &lt;your_token&gt;\"\n}\n\n</code></pre>\n<h3 id=\"request-body\">Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"offerId\": \"string\" // Required, Offer ID of the hotel room\n}\n\n</code></pre>\n<h3 id=\"response\">Response</h3>\n<h4 id=\"success-response-example-200-ok\">Success Response Example (200 OK)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data\": {\n    \"roomTypes\": [\n      {\n        \"rates\": [\n          {\n            \"price\": {\n              \"total\": {\n                \"amount\": 110.0 // Price with markup\n              }\n            }\n          }\n        ]\n      }\n    ]\n  },\n  \"booking_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"booking_type\": \"HOTEL\",\n  \"status\": \"PENDING\",\n  \"order_id\": \"Hex_ORDER-21544gbh-5fd-df651df61gdf6\"\n}\n\n</code></pre>\n<h4 id=\"error-responses\">Error Responses</h4>\n<p><strong>Missing offerId</strong> (400 Bad Request)</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"offerId is required\"\n}\n\n</code></pre>\n<p><strong>Internal Server Error</strong> (500 Internal Server Error)</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Error message\"\n}\n\n</code></pre>\n<h3 id=\"business-logic\">Business Logic</h3>\n<ol>\n<li><p><strong>Validates</strong> that <code>offerId</code> is provided.</p>\n</li>\n<li><p><strong>Calls</strong> external API (<code>api.prebook()</code>) to prebook the hotel room.</p>\n</li>\n<li><p><strong>Processes response:</strong></p>\n<ul>\n<li><p>Removes unnecessary <code>commission</code> fields.</p>\n</li>\n<li><p>Applies a <strong>10% markup</strong> to the total price.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Creates a pending booking record</strong> in the database with:</p>\n<ul>\n<li><p><code>user_id</code> (extracted from JWT token)</p>\n</li>\n<li><p><code>booking_type</code> as <code>HOTEL</code></p>\n</li>\n<li><p><code>status</code> as <code>PENDING</code></p>\n</li>\n<li><p><code>order_id</code> as a unique identifier.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Returns</strong> the modified prebook response with additional booking details.</p>\n</li>\n</ol>\n<h3 id=\"notes-for-frontend-and-mobile-developers\">Notes for Frontend and Mobile Developers</h3>\n<ul>\n<li><p>Ensure the <strong>JWT token</strong> is included in the request headers.</p>\n</li>\n<li><p>Display the <strong>updated total price</strong> after markup.</p>\n</li>\n<li><p>Use the <code>booking_id</code> in subsequent payment or booking confirmation requests.</p>\n</li>\n</ul>\n<hr />\n<p><strong>Author:</strong> Backend Team 🚀</p>\n","urlObject":{"path":["hotels","prebook"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"2becff35-9abb-4adb-a460-f808fc970619","name":"hotels/prebook","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"offerId\":\"GE5ESNKNKRCVEQ2OJJNEMRSPKRFU4R2OJNCVOVCTGJGEMRCWKNGVGVKJKZDVKRKXINEEURK2KVHVIS2PJNJEIVKPK5JVISKSINLFGV2TKRETKQKWKVLEGRCKKZFEMQ2SGIZEWSSDIUZFIMSLJM2UOVSLJUZEKSRVI5LEKVKLJBGEMTSFJFKEWT2KJJGFKT2VJMZESNKEKUZFKU2SJE2U4RSHKZBU4TCKJJDE6VCLKZGEUQ2FINKFGMSLKJCFMVKVGJCUUVSOIZCVMMSOJJCVUVKJKUZE6S2SIRCU6V2KKRGEETKVGJJVGRKJGVCVMU2SINDEUWSGIZBVGQ2GJRDEGRKHJYZEGS2OIRKUGV2TIVFE4R2VIVLVGSCJIZHEKUKXJMZEUUSIKVMU4S2MJNNEIVCPKEZFOSSOJBCE2USKKVFUSWSFGZKUGUSMJJBVKR2UJNCESUSJIZBVOU2FJFLEQVKFKZBVCS2KIZLESUSLK5FU4TKVGZJVEV2JKJBFKNCXKNLESNKDKZJVMQ2QJJLE4RSVKIZEER2OJNCTEVCLINFUMSCGIVJFGV2KKZHEKRKSINEEUVK2IVEVES2PJRFEYRKPKJFVGS2SI5KTIUKTKJEVUS2WKVLEGSSKKZFEMUKSGJLEYRSNIZJVMQ2UJNHEKVSVKNBUSTCGI5LEKVKLJBFEMTSFJFIUWTSKJJEVKT2TJNNESUSBKUZFCU2SJNBESVSTKZBUYRZVIJLEOURSIZGEMS2FK5KEWRKHKJCFKMSNKNCUSRSHKZKVOS2IJFCVUVKJKJFUUR2KJJKVKTSDKNFVKMSGJNKTESCKJJGVMRKWINDEUVSCIZDVEMSKJM2UWRKDKRFUWSS2IRKUGV2TIREUMR2VIVKUWSKKIZGVKSKRJQ2EOTJTKRHU6QSTI5EVQRCJJ5CDIUCSJJCTM7BTGQZDONJRPQZHY3DQGUZWCZDGPQZC27COI5HHYVKTPQZDAMRVFUYDSLJQGF6DEMBSGUWTAOJNGAZHY7BRGEXDAMA\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/hotels/prebook"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 23 Mar 2025 18:44:55 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"cf-cache-status","value":"DYNAMIC","enabled":true},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=%2B5%2FHBITkhvOGk2Uo8T1vIFbbM6ex5aTQznrVk1mKIUfSRyeuna%2Bz9hFVgwT6tTCt1ONbwRCRAq4ukEqYRaiOjd%2FEo4TBTDeJhuwlG4TdKmSRbFSrdcxipBYfXh3UJ2FemQEfOVxOwJ%2FL0sTN\"}],\"group\":\"cf-nel\",\"max_age\":604800}","enabled":true},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"925015286803d1fd-LHR","enabled":true},{"key":"Content-Encoding","value":"br","enabled":true},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","enabled":true},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=161013&min_rtt=159401&rtt_var=63000&sent=5&recv=6&lost=0&retrans=0&sent_bytes=2824&recv_bytes=2356&delivery_rate=24375&cwnd=252&unsent_bytes=0&cid=0d2db7a1f8c52195&ts=2269&x=0\"","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"booking_id\": \"8baf3e8d-e6eb-4081-9fe8-b729006d5fa1\",\n    \"order_id\": \"HeX_ORDER-2fccb852-c-1742755495\",\n    \"prebook_response\": {\n        \"data\": {\n            \"boardChanged\": false,\n            \"cancellationChanged\": false,\n            \"commission\": 34.48,\n            \"currency\": \"USD\",\n            \"hotelId\": \"lp53adf\",\n            \"isPackageRate\": null,\n            \"offerId\": \"GE5ESNKNKRCVEQ2OJJNEMRSPKRFU4R2OJNCVOVCTGJGEMRCWKNGVGVKJKZDVKRKWGJHEUVK2KVEVCMSPJRFEUVKPK5FFIS2SI5KTIU2TLFETKRKWKVJEGQSKKZHEMRKSGJFEYRSDIUZFOS2TJM2UKRKLJUZEQSSOJBDEKV2DJBFEMTKVJFKEWTSLJJGFKT2WJJKESUSFKUZFKU2SJE2U2VCHKZBVASS2IZDE6URSKZDU4S2FJ5KFGMSLKZCFISKXKNCUUVSOIZCVMMSOJRCVUVKPKNFFQSKKJJCUWVCLGJEVEQKVGJKVGV2JGVAVISKWINCEUNKDIREVEMSKJRDEGRKLKRJUWS2GIVCUWV2LKVFU2M2VJFJFGT2MJJEUMTKTGJLEOTJSIVLVMU2LJRBE2VSNKMZFKSSGJJCE2USDIZFUMRSGINJUWT2HLJBUKS2UJNJUYRSEKU2E4U2HJJHEOVSHKYZE2SKKJZCVCV2LJZFEUTKFJ5KUWMSJKJDVKNSTKNJEUQSDKREVEQ2IJI2UERSRKIZE6TCGINKUWTSDKVFFEQ2VGJLVGVKKIZDVMRKXINEEWVSNKZDVEMSOJRFESVKPJZBVQS2SIRKTIUKTKRETIMSEIVLEGRCHGVBFKNSTGJFUSUSDKREU4MSDJNFEKRKLJUZEKS2OI5KVKVJSJBFFMTKWJFITETSJJJEVKT2RKJLUSUSDKRHVCMSUJE2UGVSTKZBUYSSWINCESURSJZGEMS2FJ5KFGS2LJJBVKNCTKNDEOWSFKRCVIMSMJJFEGRKLJZBUUTCKJJCVCUSKKREVESSVLFJVGU2JGVCVMT2WINEEUVSGIVBVEMSGJRDEGRSLKRFUGS2GGZCEOTSCLBDFSNCUKM3UEUSIIUZUIU2MJJJEOSKXKRDU2SSBI5CVSRCVJVBFCSCJLFCECN2DKNFDI7BTGQZDONJRPQZHY3DQGUZWCZDGPQZC27CVKNCHYVKTPQZDAMRVFUYDSLJRHB6DEMBSGUWTAOJNGE4XY7BRGEXDAMA\",\n            \"prebookId\": \"B1FvkfX2D\",\n            \"price\": 347.99,\n            \"priceDifferencePercent\": 0,\n            \"priceType\": \"commission\",\n            \"roomTypes\": [\n                {\n                    \"rates\": [\n                        {\n                            \"adultCount\": 2,\n                            \"boardName\": \"Room Only\",\n                            \"boardType\": \"RO\",\n                            \"cancellationPolicies\": {\n                                \"cancelPolicyInfos\": [\n                                    {\n                                        \"amount\": 347.99,\n                                        \"cancelTime\": \"1969-12-31 10:00:00\",\n                                        \"currency\": \"USD\",\n                                        \"timezone\": \"GMT\",\n                                        \"type\": \"amount\"\n                                    }\n                                ],\n                                \"hotelRemarks\": [],\n                                \"refundableTag\": \"NRFN\"\n                            },\n                            \"childCount\": 0,\n                            \"maxOccupancy\": 2,\n                            \"name\": \"Deluxe Larger 1 King Bed Guestroom - Room Only\",\n                            \"occupancyNumber\": 1,\n                            \"priceType\": \"commission\",\n                            \"rateId\": \"I5MTERCNJZFFOTKNGNKEWTS2LFDVSMSUIVGUEV2NJUZUIQ2OLJJUOWJTKRGU4SSYI5EVURCBJVNFER2JLFCE2WKSK5EEKM2HJNHFEWCHJFMUITKNKJLUOVJTIREU2USRI5MTGVCPJZFFOR2VGNKEOTS2KVDTIWSEJVNFEV2NLEZUOSJXIJJEKTK2IRAU2USWI5ATIVCDJ5CDIR2JLFCEKTSKKFEEKWKUKM3UIRSOLJIFMS2VGM2EWVSKLBMVMS2UJFJDMRCFKFFFCSKOGZCEKTKSLFDU4NSGJNGVGV2MIJNEQWKNJJMEOUK2IRGU6SSRJBCTIRCHJ5BFQR2OLFCUKNCUJRCU2WSUJFGVEWCHKVMVGR2NLJIUONCXKRDU4QSTI42DEVCDG5BU6S2KIRCTIN2CKJEEKM2EKNGUUU2HJVMVIQ2NIJIUOQRWIRCTOQ2TI5CVSVCLJVCDIR2NLFKEOTSKKJCU4SSFGZETET2LJJCEKNCJLJJEQRJTIRJUYSSSI5EVOVCHJVFECR2FLFCFKTKCKF6DGNBXFY4TS7BRHE3DSLJRGIWTGMJAGEYDUMBQHIYDA7CSJ4\",\n                            \"remarks\": \"\",\n                            \"retailRate\": {\n                                \"initialPrice\": null,\n                                \"suggestedSellingPrice\": [\n                                    {\n                                        \"amount\": 360.53,\n                                        \"currency\": \"USD\",\n                                        \"source\": \"\"\n                                    }\n                                ],\n                                \"taxesAndFees\": [\n                                    {\n                                        \"amount\": 60.9,\n                                        \"currency\": \"USD\",\n                                        \"description\": \"Tax Recovery Charges & Service Fees\",\n                                        \"included\": true\n                                    },\n                                    {\n                                        \"amount\": 59.62,\n                                        \"currency\": \"USD\",\n                                        \"description\": \"Resort Fee per Night\",\n                                        \"included\": false\n                                    }\n                                ],\n                                \"total\": [\n                                    {\n                                        \"amount\": 347.99,\n                                        \"currency\": \"USD\"\n                                    }\n                                ]\n                            }\n                        }\n                    ]\n                }\n            ],\n            \"suggestedSellingPrice\": 360.53,\n            \"supplier\": \"nuitee\",\n            \"supplierId\": 2,\n            \"termsAndConditions\": \"\"\n        },\n        \"status\": \"success\"\n    }\n}"}],"_postman_id":"70dc0616-dfb1-4ec1-bad3-c658fd0778a1"},{"name":"hotels/book","id":"3912661f-4213-435e-bc36-9d2bcdc7d248","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"prebookId\": \"JkBsBqh2G\",\r\n    \"hotel_id\": \"lp4b056\",\r\n    \"tx_ref\": \"HeX_TX-250408574A0A0\",\r\n    \"order_id\": \"HeX_#-250408147151\",\r\n    \"holder\": {\r\n        \"firstName\": \"Elmo-eras\",\r\n        \"lastName\": \"Tayviah\",\r\n        \"email\": \"boronicle@gmail.com\"\r\n    },\r\n    \"payment\": {\r\n        \"method\": \"ACC_CREDIT_CARD\"  // Add the correct payment method\r\n    },\r\n    \"guests\": [\r\n        {\r\n            \"firstName\": \"John\",\r\n            \"lastName\": \"Doe\",\r\n            \"email\": \"john.doe@example.com\",\r\n            \"occupancyNumber\": 1,  // Make sure to include this field\r\n            \"remarks\": \"quiet room please\"  // Optional, if available\r\n        }\r\n    ]\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/hotels/book","description":"<p>StartFragment</p>\n<h1 id=\"hotel-booking\">Hotel Booking</h1>\n<p>This document outlines the usage of the <code>/book</code> API endpoint for processing hotel bookings. This endpoint handles the final booking confirmation, payment processing, and storing booking details.</p>\n<hr />\n<h2 id=\"endpoint-overview\"><strong>Endpoint Overview</strong></h2>\n<ul>\n<li><p><strong>URL</strong>: <code>/hotels/book</code></p>\n</li>\n<li><p><strong>Method</strong>: <code>POST</code></p>\n</li>\n<li><p><strong>Authentication</strong>: JWT Token Required (sent in the <code>Authorization</code> header)</p>\n</li>\n<li><p><strong>Content-Type</strong>: <code>application/json</code></p>\n</li>\n</ul>\n<hr />\n<h2 id=\"request-headers\"><strong>Request Headers</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Authorization</code></td>\n<td>JWT token (e.g., <code>Bearer</code> ). Required for authentication.</td>\n</tr>\n<tr>\n<td><code>Content-Type</code></td>\n<td>Must be <code>application/json</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"request-body-json\"><strong>Request Body (JSON)</strong></h2>\n<p>The following fields are <strong>required</strong>:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>prebookId</code></td>\n<td>String</td>\n<td>Unique ID from the prebooking step (obtained via the <code>/prebook</code> endpoint).</td>\n</tr>\n<tr>\n<td><code>holder</code></td>\n<td>Object</td>\n<td>Primary guest/booking holder details (name, email, phone). Example: <code>{ \"name\": \"John Doe\", ... }</code>.</td>\n</tr>\n<tr>\n<td><code>guests</code></td>\n<td>Array</td>\n<td>List of guests (each with <code>name</code> and <code>surname</code>). Example: <code>[{ \"name\": \"John\", \"surname\": \"Doe\" }]</code></td>\n</tr>\n<tr>\n<td><code>payment</code></td>\n<td>Object</td>\n<td>Payment details (credit card, etc.). Structure must match LiteAPI's payment requirements.</td>\n</tr>\n<tr>\n<td><code>hotel_id</code></td>\n<td>String</td>\n<td>ID of the hotel being booked.</td>\n</tr>\n<tr>\n<td>order_id</td>\n<td>String</td>\n<td>ID from the booking Table</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"example-request-body\">Example Request Body:</h3>\n<p>jsonCopy</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"prebookId\": \"W-FX0j2QA\",\n    \"hotel_id\": \"lp53adf\",\n    \"order_id\": \"HeX_ORDER-87578a5a-1-1742834873\",\n    \"holder\": {\n        \"firstName\": \"Elmo-eras\",\n        \"lastName\": \"Tayviah\",\n        \"email\": \"boronicle@gmail.com\"\n    },\n    \"payment\": {\n        \"method\": \"ACC_CREDIT_CARD\"  // Add the correct payment method\n    },\n    \"guests\": [\n        {\n            \"firstName\": \"John\",\n            \"lastName\": \"Doe\",\n            \"email\": \"john.doe@example.com\",\n            \"occupancyNumber\": 1,  // Make sure to include this field\n            \"remarks\": \"quiet room please\"  // Optional, if available\n        }\n    ]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"response\"><strong>Response</strong></h2>\n<h3 id=\"success-http-200\">Success (HTTP 200)</h3>\n<ul>\n<li>Returns booking confirmation and order details.</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"bookedRooms\": [\n            {\n                \"adults\": 2,\n                \"boardName\": \"Room Only\",\n                \"boardType\": \"RO\",\n                \"children\": 0,\n                \"firstName\": \"John\",\n                \"lastName\": \"Doe\",\n                \"rate\": {\n                    \"retailRate\": {\n                        \"total\": {\n                            \"amount\": 392429.37,\n                            \"currency\": \"NGN\"\n                        }\n                    }\n                },\n                \"roomType\": {\n                    \"name\": \"Test rate\"\n                }\n            }\n        ],\n        \"bookingId\": \"DHk07vZXZ\",\n        \"cancellationPolicies\": {\n            \"cancelPolicyInfos\": [\n                {\n                    \"amount\": 353539.98,\n                    \"cancelTime\": \"2025-09-06 23:59:59\",\n                    \"currency\": \"USD\",\n                    \"timezone\": \"GMT\",\n                    \"type\": \"amount\"\n                }\n            ],\n            \"hotelRemarks\": null,\n            \"refundableTag\": \"RFN\"\n        },\n        \"checkin\": \"2025-09-06\",\n        \"checkout\": \"2025-09-07\",\n        \"clientReference\": \"\",\n        \"commission\": 38889.39,\n        \"createdAt\": \"2025-03-26T13:37:47\",\n        \"currency\": \"NGN\",\n        \"holder\": {\n            \"email\": \"boronicle@gmail.com\",\n            \"firstName\": \"Elmo-eras\",\n            \"lastName\": \"Tayviah\",\n            \"phone\": \"\"\n        },\n        \"hotel\": {\n            \"hotelId\": \"lp53adf\",\n            \"name\": \"\"\n        },\n        \"hotelConfirmationCode\": \"test\",\n        \"knowBeforeYouGo\": \"Know before you go\",\n        \"mandatoryFees\": \"Mandatory fees\",\n        \"optionalFees\": \"Optional fees\",\n        \"price\": 392429.37,\n        \"remarks\": \"Remarks sandbox\",\n        \"specialRemarks\": \"Example special remarks\",\n        \"status\": \"CONFIRMED\",\n        \"supplier\": \"nuitee\",\n        \"supplierBookingId\": \"DHk07vZXZ\",\n        \"supplierBookingName\": \"nuitee\",\n        \"supplierId\": 2\n    },\n    \"message\": \"Hotel booking processed successfully with payment.\"\n}\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td>Missing required fields or invalid data (e.g., no <code>prebookId</code> or <code>holder</code>).</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Booking not found after creation.</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Internal server error (e.g., database or API failure).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"key-notes-for-frontendmobile-teams\"><strong>Key Notes for Frontend/Mobile Teams</strong></h2>\n<ol>\n<li><p><strong>Prebooking Step</strong>:</p>\n<ul>\n<li>Ensure <code>prebookId</code> is obtained from the <code>/prebook</code> endpoint before calling <code>/book</code>.</li>\n</ul>\n</li>\n<li><p><strong>Payment Object</strong>:</p>\n<ul>\n<li>The <code>payment</code> object structure <strong>must match</strong> LiteAPI’s requirements. Consult their documentation for exact fields.</li>\n</ul>\n</li>\n<li><p><strong>Holder/Guests Data</strong>:</p>\n<ul>\n<li><p><code>holder</code> must include at least <code>name</code>, <code>email</code>, and <code>phone</code>.</p>\n</li>\n<li><p>Each guest in <code>guests</code> requires <code>name</code> and <code>surname</code>.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Order ID</strong>:</p>\n<ul>\n<li>Use the returned <code>booking_order_id</code> to track the booking status or initiate payment flows.</li>\n</ul>\n</li>\n<li><p><strong>Error Handling</strong>:</p>\n<ul>\n<li><p>If a <code>500</code> error occurs, prompt the user to retry the booking after some time.</p>\n</li>\n<li><p>Log the full error response for debugging (e.g., <code>error.message</code>).</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Booking Status</strong>:</p>\n<ul>\n<li>After a successful response, the booking status is initially <code>PROCESSING</code>. Use the <code>/booking-status</code> endpoint to poll for updates.</li>\n</ul>\n</li>\n</ol>\n<hr />\n<h2 id=\"sample-flow\"><strong>Sample Flow</strong></h2>\n<ol>\n<li><p>User selects a hotel and room, then triggers a <code>/prebook</code> request.</p>\n</li>\n<li><p>Frontend receives a <code>prebookId</code> and displays a confirmation page.</p>\n</li>\n<li><p>User enters payment details and submits the <code>/book</code> request.</p>\n</li>\n<li><p>On success, redirect the user to a confirmation page with <code>booking_order_id</code>.</p>\n</li>\n<li><p>Use <code>booking_order_id</code> to check status or cancel the booking.</p>\n</li>\n</ol>\n","urlObject":{"path":["hotels","book"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"e8f7a588-5356-4277-97ff-ed840ac9b52e","name":"hotels/book","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"prebookId\": \"W-FX0j2QA\",\r\n    \"hotel_id\": \"lp53adf\",\r\n    \"order_id\": \"HeX_ORDER-87578a5a-1-1742834873\",\r\n    \"holder\": {\r\n        \"firstName\": \"Elmo-eras\",\r\n        \"lastName\": \"Tayviah\",\r\n        \"email\": \"boronicle@gmail.com\"\r\n    },\r\n    \"payment\": {\r\n        \"method\": \"ACC_CREDIT_CARD\"  // Add the correct payment method\r\n    },\r\n    \"guests\": [\r\n        {\r\n            \"firstName\": \"John\",\r\n            \"lastName\": \"Doe\",\r\n            \"email\": \"john.doe@example.com\",\r\n            \"occupancyNumber\": 1,  // Make sure to include this field\r\n            \"remarks\": \"quiet room please\"  // Optional, if available\r\n        }\r\n    ]\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/hotels/book"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Wed, 26 Mar 2025 13:38:08 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"1134","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"bookedRooms\": [\n            {\n                \"adults\": 2,\n                \"boardName\": \"Room Only\",\n                \"boardType\": \"RO\",\n                \"children\": 0,\n                \"firstName\": \"John\",\n                \"lastName\": \"Doe\",\n                \"rate\": {\n                    \"retailRate\": {\n                        \"total\": {\n                            \"amount\": 392429.37,\n                            \"currency\": \"NGN\"\n                        }\n                    }\n                },\n                \"roomType\": {\n                    \"name\": \"Test rate\"\n                }\n            }\n        ],\n        \"bookingId\": \"DHk07vZXZ\",\n        \"cancellationPolicies\": {\n            \"cancelPolicyInfos\": [\n                {\n                    \"amount\": 353539.98,\n                    \"cancelTime\": \"2025-09-06 23:59:59\",\n                    \"currency\": \"USD\",\n                    \"timezone\": \"GMT\",\n                    \"type\": \"amount\"\n                }\n            ],\n            \"hotelRemarks\": null,\n            \"refundableTag\": \"RFN\"\n        },\n        \"checkin\": \"2025-09-06\",\n        \"checkout\": \"2025-09-07\",\n        \"clientReference\": \"\",\n        \"commission\": 38889.39,\n        \"createdAt\": \"2025-03-26T13:37:47\",\n        \"currency\": \"NGN\",\n        \"holder\": {\n            \"email\": \"boronicle@gmail.com\",\n            \"firstName\": \"Elmo-eras\",\n            \"lastName\": \"Tayviah\",\n            \"phone\": \"\"\n        },\n        \"hotel\": {\n            \"hotelId\": \"lp53adf\",\n            \"name\": \"\"\n        },\n        \"hotelConfirmationCode\": \"test\",\n        \"knowBeforeYouGo\": \"Know before you go\",\n        \"mandatoryFees\": \"Mandatory fees\",\n        \"optionalFees\": \"Optional fees\",\n        \"price\": 392429.37,\n        \"remarks\": \"Remarks sandbox\",\n        \"specialRemarks\": \"Example special remarks\",\n        \"status\": \"CONFIRMED\",\n        \"supplier\": \"nuitee\",\n        \"supplierBookingId\": \"DHk07vZXZ\",\n        \"supplierBookingName\": \"nuitee\",\n        \"supplierId\": 2\n    },\n    \"message\": \"Hotel booking processed successfully with payment.\"\n}"}],"_postman_id":"3912661f-4213-435e-bc36-9d2bcdc7d248"},{"name":"hotels/cancel_booking/<string:booking_id>","id":"f268dfe0-bf50-4242-b170-9502fc14fd2c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{baseUrl}}/hotels/cancel_booking/puaQiTSdq","urlObject":{"path":["hotels","cancel_booking","puaQiTSdq"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f268dfe0-bf50-4242-b170-9502fc14fd2c"},{"name":"/hotels/esim/<Country_Code>","id":"f7092e8f-68f3-4a05-9a8d-b168b30207b9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","urlObject":{"query":[],"variable":[]}},"response":[],"_postman_id":"f7092e8f-68f3-4a05-9a8d-b168b30207b9"}],"id":"02c543dc-4a37-4158-80d5-e858c55a954d","description":"<p>Endpoints for advanced hotel functions in hermex travels</p>\n","_postman_id":"02c543dc-4a37-4158-80d5-e858c55a954d"}],"id":"0d90fa35-bb42-487b-80f1-02010412a622","description":"<p>Endpoints for hotels in hermex travels</p>\n","_postman_id":"0d90fa35-bb42-487b-80f1-02010412a622"},{"name":"Flights Endpoints","item":[{"name":"PKFares Flights Endpoints","item":[{"name":"flights/pkfare/search","id":"70857288-5281-4efe-ac9b-8731a7a4186e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \n  \"search\": {\n    \"adults\": 1,\n    \"children\": 0,\n    \"infants\": 0,\n    \"nonstop\": 0,\n    \"airline\": \"SQ\",\n    \"solutions\": 5,\n    \"searchAirLegs\": [\n      {\n        \"cabinClass\": \"Economy\",\n        \"departureDate\": \"2024-12-15\",\n        \"destination\": \"BKK\",\n        \"origin\": \"HKG\",\n        \"airline\": \"SQ\"\n      },\n      {\n        \"cabinClass\": \"Economy\",\n        \"departureDate\": \"2024-12-17\",\n        \"destination\": \"HKG\",\n        \"origin\": \"BKK\",\n        \"airline\": \"SQ\"\n      }\n    ]\n  }\n}\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/pkfare/search","urlObject":{"path":["flights","pkfare","search"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"70857288-5281-4efe-ac9b-8731a7a4186e"},{"name":"flights/pkfare/precisepricing","id":"6be0e47d-6deb-40c0-839c-941b4feb9965","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \n    \"pricing\": {\n        \"adults\": 1,\n        \"children\": 0,\n        \"infants\": 1,\n        \"solutionId\": \"1\",\n        \"journeys\": {\n            \"journey_0\": [{\n                \"airline\": \"SA\",\n                \"arrival\": \"JNB\",\n                \"arrivalDate\": \"2025-11-20\",\n                \"arrivalTime\": \"07:45\",\n                \"bookingCode\": \"N\",\n                \"departure\": \"CPT\",\n                \"departureDate\": \"2025-11-20\",\n                \"departureTime\": \"05:45\",\n                \"flightNum\": \"378\"\n            }]\n        }\n    }\n} ","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/pkfare/precisepricing","urlObject":{"path":["flights","pkfare","precisepricing"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"6be0e47d-6deb-40c0-839c-941b4feb9965"},{"name":"flights/pkfare/ancillarypricing","id":"f93eb66e-45c2-4869-bb03-5d24ed1e5d0b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"authentication\": {\n        \"partnerId\": \"pQC4cn5nhgyUodlm+3tXKT/nduw=\",\n        \"sign\": \"aac36a9b4a1ebfa12c9bf3f81fffdc\"\n    },\n    \"pricing\": {\n        \"solutionId\": \"1\",\n        \"ancillary\": [1, 2],\n        \"adults\": 2,\n        \"children\": 1,\n        \"journeys\": {\n            \"journey_0\": [\n                {\n                    \"airline\": \"VJ\",\n                    \"flightNum\": \"896\",\n                    \"departure\": \"DEL\",\n                    \"departureDate\": \"2023-11-30\",\n                    \"departureTime\": \"00:05\",\n                    \"arrival\": \"SGN\",\n                    \"arrivalDate\": \"2023-11-30\",\n                    \"arrivalTime\": \"06:20\",\n                    \"bookingCode\": \"I\"\n                }\n            ]\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/pkfare/ancillarypricing","urlObject":{"path":["flights","pkfare","ancillarypricing"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f93eb66e-45c2-4869-bb03-5d24ed1e5d0b"},{"name":"flights/pkfare/ancillarybooking","id":"42daac86-fb26-42d1-b1a8-69632ae35629","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"airOrderNum\": \"917049521951368301\",\n    \"ancillaryBooking\": {\n        \"baggages\": [\n            {\n                \"passenger\": {\n                    \"birthday\": \"2003-03-23\",\n                    \"firstName\": \"XiaoJun\",\n                    \"lastName\": \"Zhong\",\n                    \"psgType\": \"ADT\"\n                },\n                \"baggageDetails\": [\n                    {\n                        \"ancillaryKey\": \"38781f820e9ee25737d7b313410b5317\"\n                    },\n                    {\n                        \"ancillaryKey\": \"2781c40741271185391c4ef5dab51df5\"\n                    }\n                ]\n            }\n        ]\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/pkfare/ancillarybooking","urlObject":{"path":["flights","pkfare","ancillarybooking"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"42daac86-fb26-42d1-b1a8-69632ae35629"},{"name":"flights/pkfare/precisebooking","id":"5ae0f76c-02c4-450c-9b68-9a03ab17c1c5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"booking\": {\n    \"solutionId\": \"YOUR_SOLUTION_ID\",\n    \"passengers\": [\n      {\n        \"psgType\": \"ADT\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Doe\",\n        \"birthday\": \"1990-01-01\",\n        \"nationality\": \"US\",\n        \"cardType\": \"P\",\n        \"cardNum\": \"A12345678\",\n        \"cardExpiredDate\": \"2030-01-01\"\n      }\n    ],\n    \"journeys\": {  // ADD THIS SECTION\n      \"journey_0\": [\n        {\n          \"airline\": \"FD\",\n          \"flightNum\": \"501\",\n          \"arrival\": \"DMK\",\n          \"arrivalDate\": \"2024-12-15\",\n          \"arrivalTime\": \"16:40\",\n          \"departure\": \"HKG\",\n          \"departureDate\": \"2024-12-15\",\n          \"departureTime\": \"14:40\",\n          \"bookingCode\": \"Z\"\n        }\n      ],\n      \"journey_1\": [\n        {\n          \"airline\": \"FD\",\n          \"flightNum\": \"504\",\n          \"arrival\": \"HKG\",\n          \"arrivalDate\": \"2024-12-30\",\n          \"arrivalTime\": \"19:15\",\n          \"departure\": \"DMK\",\n          \"departureDate\": \"2024-12-30\",\n          \"departureTime\": \"15:30\",\n          \"bookingCode\": \"A\"\n        }\n      ]\n    },\n    \"ancillary\": {\n      \"baggage\": [\n        {\n          \"ancillaryKey\": \"BAG123\",\n          \"payBaggageType\": 1,\n          \"baggageWeight\": \"20KG\"\n        }\n      ],\n      \"seat\": [\n        {\n          \"ancillaryKey\": \"SEAT456\",\n          \"seatName\": \"12A\"\n        }\n      ]\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/pkfare/precisebooking","urlObject":{"path":["flights","pkfare","precisebooking"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5ae0f76c-02c4-450c-9b68-9a03ab17c1c5"},{"name":"flights/pkfare/orderpricing","id":"47f819a2-f936-41e8-b1d3-282a1c0cad76","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \n    \"orderPricing\": {\n        \"orderNum\": 1012694529\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/pkfare/orderpricing","urlObject":{"path":["flights","pkfare","orderpricing"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"47f819a2-f936-41e8-b1d3-282a1c0cad76"},{"name":"flights/pkfare/ticketing","id":"0deb4c80-e42a-4b74-9fb4-3b15c8094fd2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"ticketing\": {\n        \"orderNum\": \"1012674912\",\n        \"pnr\": \"KHZ1WU\",\n        \"name\": \"Jango/Wang\",\n        \"email\": \"jango.wang@gongfutrip.com\",\n        \"telNum\": \"13249073855\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/pkfare/ticketing","urlObject":{"path":["flights","pkfare","ticketing"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0deb4c80-e42a-4b74-9fb4-3b15c8094fd2"},{"name":"flights/pkfare/ticket-issuance-notify","id":"36c019d0-212a-4636-b06e-3b38ab11af8c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"airPnr\": \"15CUCZ|25CUCZ\",\n    \"orderNum\": \"916716911545376001\",\n    \"status\": \"ISSUED\",\n    \"passengers\": [\n        {\n            \"passengerIndex\": 1,\n            \"ticketNum\": \"1T9LO2\",\n            \"psgType\": \"ADT\"\n        },\n        {\n            \"passengerIndex\": 3,\n            \"ticketNum\": \"3T9LO2\",\n            \"psgType\": \"INF\",\n            \"associatedPassengerIndex\": 1\n        }\n    ],\n    \"pnrList\": [\n        {\n            \"segmentNo\": 1,\n            \"ticketNums\": []\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/pkfare/ticket-issuance-notify","urlObject":{"path":["flights","pkfare","ticket-issuance-notify"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"36c019d0-212a-4636-b06e-3b38ab11af8c"}],"id":"64e47be3-06bc-419f-a383-b7969284889a","_postman_id":"64e47be3-06bc-419f-a383-b7969284889a","description":""},{"name":"Amadues Flights Endpoints","item":[{"name":"ADV. flight Functions","item":[{"name":"Flight Order management","item":[{"name":"/flight_order/<string:order_id>","id":"2871571a-acbb-4174-b6db-d0992d5288dc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{baseUrl}}/flights/flight_order/eJzTd9cP9Y3wjfIHAAv6ApY%3D","description":"<p>The API endpoint sends a JSON response with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"associatedRecords\": [\n    {\n      \"flightOfferId\": \"\",\n      \"originSystemCode\": \"\",\n      \"reference\": \"\"\n    }\n  ],\n  \"contacts\": [\n    {\n      \"purpose\": \"\"\n    }\n  ],\n  \"flightOffers\": [\n    {\n      \"id\": \"\",\n      \"itineraries\": [\n        {\n          \"segments\": [\n            {\n              \"aircraft\": {\n                \"code\": \"\"\n              },\n              \"arrival\": {\n                \"at\": \"\",\n                \"iataCode\": \"\",\n                \"terminal\": \"\"\n              },\n              \"bookingStatus\": \"\",\n              \"carrierCode\": \"\",\n              \"co2Emissions\": [\n                {\n                  \"cabin\": \"\",\n                  \"weight\": 0,\n                  \"weightUnit\": \"\"\n                }\n              ],\n              \"departure\": {\n                \"at\": \"\",\n                \"iataCode\": \"\",\n                \"terminal\": \"\"\n              },\n              \"duration\": \"\",\n              \"id\": \"\",\n              \"isFlown\": true,\n              \"number\": \"\",\n              \"numberOfStops\": 0,\n              \"segmentType\": \"\"\n            }\n          ]\n        }\n      ],\n      \"lastTicketingDate\": \"\",\n      \"nonHomogeneous\": true,\n      \"price\": {\n        \"base\": \"\",\n        \"currency\": \"\",\n        \"grandTotal\": \"\",\n        \"total\": \"\"\n      },\n      \"pricingOptions\": {\n        \"fareType\": [\"\"]\n      },\n      \"source\": \"\",\n      \"travelerPricings\": [\n        {\n          \"fareDetailsBySegment\": [\n            {\n              \"cabin\": \"\",\n              \"class\": \"\",\n              \"fareBasis\": \"\",\n              \"includedCheckedBags\": {\n                \"quantity\": 0\n              },\n              \"segmentId\": \"\"\n            }\n          ],\n          \"price\": {\n            \"base\": \"\",\n            \"currency\": \"\",\n            \"taxes\": [\n              {\n                \"amount\": \"\",\n                \"code\": \"\"\n              }\n            ],\n            \"total\": \"\"\n          },\n          \"travelerId\": \"\",\n          \"travelerType\": \"\"\n        }\n      ],\n      \"type\": \"\",\n      \"validatingAirlineCodes\": [\"\"]\n    }\n  ],\n  \"id\": \"\",\n  \"queuingOfficeId\": \"\",\n  \"remarks\": {\n    \"general\": [\n      {\n        \"flightOfferIds\": [\"\"],\n        \"subType\": \"\",\n        \"text\": \"\"\n      }\n    ]\n  },\n  \"ticketingAgreement\": {\n    \"option\": \"\"\n  },\n  \"travelers\": [\n    {\n      \"contact\": {\n        \"emailAddress\": \"\",\n        \"phones\": [\n          {\n            \"countryCallingCode\": \"\",\n            \"deviceType\": \"\",\n            \"number\": \"\"\n          }\n        ],\n        \"purpose\": \"\"\n      },\n      \"dateOfBirth\": \"\",\n      \"documents\": [\n        {\n          \"documentType\": \"\",\n          \"expiryDate\": \"\",\n          \"holder\": true,\n          \"issuanceCountry\": \"\",\n          \"nationality\": \"\",\n          \"number\": \"\"\n        }\n      ],\n      \"gender\": \"\",\n      \"id\": \"\",\n      \"name\": {\n        \"firstName\": \"\",\n        \"lastName\": \"\"\n      }\n    }\n  ],\n  \"type\": \"\"\n}\n\n</code></pre>\n","urlObject":{"path":["flights","flight_order","eJzTd9cP9Y3wjfIHAAv6ApY%3D"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"2871571a-acbb-4174-b6db-d0992d5288dc"},{"name":"/flight_order/<string:order_id>","id":"d1399ea7-c0b2-42d5-83a9-df40e3f5c85c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/flight_order/eJzTd9cP9Y3wjfIHAAv6ApY%3D","description":"<p>The API endpoint sends a JSON response with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"associatedRecords\": [\n    {\n      \"flightOfferId\": \"\",\n      \"originSystemCode\": \"\",\n      \"reference\": \"\"\n    }\n  ],\n  \"contacts\": [\n    {\n      \"purpose\": \"\"\n    }\n  ],\n  \"flightOffers\": [\n    {\n      \"id\": \"\",\n      \"itineraries\": [\n        {\n          \"segments\": [\n            {\n              \"aircraft\": {\n                \"code\": \"\"\n              },\n              \"arrival\": {\n                \"at\": \"\",\n                \"iataCode\": \"\",\n                \"terminal\": \"\"\n              },\n              \"bookingStatus\": \"\",\n              \"carrierCode\": \"\",\n              \"co2Emissions\": [\n                {\n                  \"cabin\": \"\",\n                  \"weight\": 0,\n                  \"weightUnit\": \"\"\n                }\n              ],\n              \"departure\": {\n                \"at\": \"\",\n                \"iataCode\": \"\",\n                \"terminal\": \"\"\n              },\n              \"duration\": \"\",\n              \"id\": \"\",\n              \"isFlown\": true,\n              \"number\": \"\",\n              \"numberOfStops\": 0,\n              \"segmentType\": \"\"\n            }\n          ]\n        }\n      ],\n      \"lastTicketingDate\": \"\",\n      \"nonHomogeneous\": true,\n      \"price\": {\n        \"base\": \"\",\n        \"currency\": \"\",\n        \"grandTotal\": \"\",\n        \"total\": \"\"\n      },\n      \"pricingOptions\": {\n        \"fareType\": [\"\"]\n      },\n      \"source\": \"\",\n      \"travelerPricings\": [\n        {\n          \"fareDetailsBySegment\": [\n            {\n              \"cabin\": \"\",\n              \"class\": \"\",\n              \"fareBasis\": \"\",\n              \"includedCheckedBags\": {\n                \"quantity\": 0\n              },\n              \"segmentId\": \"\"\n            }\n          ],\n          \"price\": {\n            \"base\": \"\",\n            \"currency\": \"\",\n            \"taxes\": [\n              {\n                \"amount\": \"\",\n                \"code\": \"\"\n              }\n            ],\n            \"total\": \"\"\n          },\n          \"travelerId\": \"\",\n          \"travelerType\": \"\"\n        }\n      ],\n      \"type\": \"\",\n      \"validatingAirlineCodes\": [\"\"]\n    }\n  ],\n  \"id\": \"\",\n  \"queuingOfficeId\": \"\",\n  \"remarks\": {\n    \"general\": [\n      {\n        \"flightOfferIds\": [\"\"],\n        \"subType\": \"\",\n        \"text\": \"\"\n      }\n    ]\n  },\n  \"ticketingAgreement\": {\n    \"option\": \"\"\n  },\n  \"travelers\": [\n    {\n      \"contact\": {\n        \"emailAddress\": \"\",\n        \"phones\": [\n          {\n            \"countryCallingCode\": \"\",\n            \"deviceType\": \"\",\n            \"number\": \"\"\n          }\n        ],\n        \"purpose\": \"\"\n      },\n      \"dateOfBirth\": \"\",\n      \"documents\": [\n        {\n          \"documentType\": \"\",\n          \"expiryDate\": \"\",\n          \"holder\": true,\n          \"issuanceCountry\": \"\",\n          \"nationality\": \"\",\n          \"number\": \"\"\n        }\n      ],\n      \"gender\": \"\",\n      \"id\": \"\",\n      \"name\": {\n        \"firstName\": \"\",\n        \"lastName\": \"\"\n      }\n    }\n  ],\n  \"type\": \"\"\n}\n\n</code></pre>\n","urlObject":{"path":["flights","flight_order","eJzTd9cP9Y3wjfIHAAv6ApY%3D"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d1399ea7-c0b2-42d5-83a9-df40e3f5c85c"}],"id":"791e2ef5-2498-4504-87cc-2d52afc9d205","_postman_id":"791e2ef5-2498-4504-87cc-2d52afc9d205","description":""},{"name":"flights/predict-flight-choice","id":"48c44a10-6132-4437-83d5-631bb4841d7e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"id\": \"1\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T11:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T09:00:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"2\",\r\n                        \"number\": \"1681\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T18:35:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T18:15:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"17\",\r\n                        \"number\": \"1180\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 5,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"86.40\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"280.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"564.10\",\r\n            \"total\": \"564.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"147.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"283.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"118.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"237.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"15.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"43.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"2\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T13:50:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T11:30:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"3\",\r\n                        \"number\": \"1581\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T18:35:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T18:15:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"17\",\r\n                        \"number\": \"1180\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 2,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"86.40\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"280.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"564.10\",\r\n            \"total\": \"564.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"147.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"283.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"118.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"237.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"15.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"43.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"3\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T11:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T09:00:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"2\",\r\n                        \"number\": \"1681\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T13:45:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T13:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"18\",\r\n                        \"number\": \"1780\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 5,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"86.40\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"280.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"564.10\",\r\n            \"total\": \"564.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"18\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"147.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"283.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"18\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"118.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"237.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"18\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"15.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"43.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"4\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T11:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T09:00:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"2\",\r\n                        \"number\": \"1681\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T16:35:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T16:10:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"19\",\r\n                        \"number\": \"1280\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 5,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"86.40\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"280.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"564.10\",\r\n            \"total\": \"564.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"19\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"147.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"283.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"19\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"118.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"237.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"19\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"15.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"43.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"5\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T13:50:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T11:30:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"3\",\r\n                        \"number\": \"1581\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T16:35:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T16:10:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"19\",\r\n                        \"number\": \"1280\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 2,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"86.40\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"280.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"564.10\",\r\n            \"total\": \"564.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"19\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"147.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"283.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"19\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"118.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"237.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"19\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"15.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"43.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"6\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT4H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"319\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T12:00:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T08:55:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT2H5M\",\r\n                        \"id\": \"7\",\r\n                        \"number\": \"7551\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"318\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T14:15:00\",\r\n                            \"iataCode\": \"ORY\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T12:45:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"duration\": \"PT1H30M\",\r\n                        \"id\": \"8\",\r\n                        \"number\": \"6213\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T18:35:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T18:15:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"17\",\r\n                        \"number\": \"1180\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 6,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"97.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"280.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"580.10\",\r\n            \"total\": \"580.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"7\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"8\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"147.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"291.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"7\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"8\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"118.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"245.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"7\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"8\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"15.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"43.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"7\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT5H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"319\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T12:00:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T08:55:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT2H5M\",\r\n                        \"id\": \"12\",\r\n                        \"number\": \"7551\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"320\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T15:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T13:45:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"duration\": \"PT1H35M\",\r\n                        \"id\": \"13\",\r\n                        \"number\": \"7319\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T18:35:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T18:15:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"17\",\r\n                        \"number\": \"1180\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 6,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"97.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"280.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"580.10\",\r\n            \"total\": \"580.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"12\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"13\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"147.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"291.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"12\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"13\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"118.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"245.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"12\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"13\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"15.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"43.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"8\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T08:35:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T06:15:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"1\",\r\n                        \"number\": \"1381\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T18:35:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T18:15:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"17\",\r\n                        \"number\": \"1180\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 6,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"86.40\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"407.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"691.10\",\r\n            \"total\": \"691.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"214.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"350.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"171.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"290.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"22.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"50.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"9\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T08:35:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T06:15:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"1\",\r\n                        \"number\": \"1381\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T13:45:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T13:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"18\",\r\n                        \"number\": \"1780\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"86.40\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"407.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"691.10\",\r\n            \"total\": \"691.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"18\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"214.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"350.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"18\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"171.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"290.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"18\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"22.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"50.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"10\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T08:35:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T06:15:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"1\",\r\n                        \"number\": \"1381\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T16:35:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T16:10:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"19\",\r\n                        \"number\": \"1280\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"86.40\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"407.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"691.10\",\r\n            \"total\": \"691.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"19\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"214.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"350.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"19\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"171.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"290.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"19\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"22.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"50.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"11\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"321\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T10:15:00\",\r\n                            \"iataCode\": \"ORY\",\r\n                            \"terminal\": \"3\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"VY\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T07:50:00\",\r\n                            \"iataCode\": \"LGW\",\r\n                            \"terminal\": \"S\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"11\",\r\n                        \"number\": \"8943\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"VY\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H10M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"32Q\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T17:20:00\",\r\n                            \"iataCode\": \"LGW\",\r\n                            \"terminal\": \"S\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"VY\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T17:10:00\",\r\n                            \"iataCode\": \"ORY\",\r\n                            \"terminal\": \"1\"\r\n                        },\r\n                        \"duration\": \"PT1H10M\",\r\n                        \"id\": \"16\",\r\n                        \"number\": \"8944\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"VY\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-12\",\r\n        \"lastTicketingDateTime\": \"2024-08-12\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"base\": \"546.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"712.20\",\r\n            \"total\": \"712.20\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"O\",\r\n                        \"fareBasis\": \"ORFLX\",\r\n                        \"includedCheckedBags\": {\r\n                            \"weight\": 25,\r\n                            \"weightUnit\": \"KG\"\r\n                        },\r\n                        \"segmentId\": \"11\"\r\n                    },\r\n                    {\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"O\",\r\n                        \"fareBasis\": \"ORFLX\",\r\n                        \"includedCheckedBags\": {\r\n                            \"weight\": 25,\r\n                            \"weightUnit\": \"KG\"\r\n                        },\r\n                        \"segmentId\": \"16\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"248.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"326.50\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"O\",\r\n                        \"fareBasis\": \"ORFLX\",\r\n                        \"segmentId\": \"11\"\r\n                    },\r\n                    {\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"O\",\r\n                        \"fareBasis\": \"ORFLX\",\r\n                        \"segmentId\": \"16\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"248.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"309.90\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"O\",\r\n                        \"fareBasis\": \"ORFLX\",\r\n                        \"segmentId\": \"11\"\r\n                    },\r\n                    {\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"O\",\r\n                        \"fareBasis\": \"ORFLX\",\r\n                        \"segmentId\": \"16\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"50.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"75.80\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"VY\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"12\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T11:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T09:00:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"2\",\r\n                        \"number\": \"1681\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T21:00:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"20\",\r\n                        \"number\": \"1380\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 5,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"86.40\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"464.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"748.10\",\r\n            \"total\": \"748.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"244.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"380.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"196.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"315.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"24.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"52.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"13\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T13:50:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T11:30:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"3\",\r\n                        \"number\": \"1581\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T21:00:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"20\",\r\n                        \"number\": \"1380\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 2,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"86.40\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"464.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"748.10\",\r\n            \"total\": \"748.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"244.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"380.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"196.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"315.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"24.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"52.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"14\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T17:40:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T15:20:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"4\",\r\n                        \"number\": \"1781\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T21:00:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"20\",\r\n                        \"number\": \"1380\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"86.40\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"464.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"748.10\",\r\n            \"total\": \"748.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"4\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"244.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"380.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"4\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"196.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"315.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"4\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"24.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"52.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"15\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT4H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"319\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T12:00:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T08:55:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT2H5M\",\r\n                        \"id\": \"7\",\r\n                        \"number\": \"7551\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"318\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T14:15:00\",\r\n                            \"iataCode\": \"ORY\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T12:45:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"duration\": \"PT1H30M\",\r\n                        \"id\": \"8\",\r\n                        \"number\": \"6213\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T21:00:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"20\",\r\n                        \"number\": \"1380\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"97.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"464.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"764.10\",\r\n            \"total\": \"764.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"7\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"8\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"244.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"388.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"7\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"8\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"196.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"323.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"7\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"8\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"24.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"52.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"16\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT5H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"319\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T12:00:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T08:55:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT2H5M\",\r\n                        \"id\": \"12\",\r\n                        \"number\": \"7551\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"320\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T15:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T13:45:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"duration\": \"PT1H35M\",\r\n                        \"id\": \"13\",\r\n                        \"number\": \"7319\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T21:00:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"20\",\r\n                        \"number\": \"1380\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 6,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"97.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"464.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"764.10\",\r\n            \"total\": \"764.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"12\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"13\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"244.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"388.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"12\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"13\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"196.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"323.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"12\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"13\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"24.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"52.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"17\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT3H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"73H\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T08:50:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T06:30:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"3\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"5\",\r\n                        \"number\": \"146\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"KL\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"318\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T10:50:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T09:30:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"6\",\r\n                        \"number\": \"2003\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T18:35:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T18:15:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"17\",\r\n                        \"number\": \"1180\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 6,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"443.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"777.10\",\r\n            \"total\": \"777.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"5\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"6\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"233.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"394.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"5\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"6\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"187.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"331.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"5\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"6\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"17\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"23.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"51.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"18\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT3H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"73H\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T08:50:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T06:30:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"3\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"5\",\r\n                        \"number\": \"146\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"KL\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"318\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T10:50:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T09:30:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"6\",\r\n                        \"number\": \"2003\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T13:45:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T13:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"18\",\r\n                        \"number\": \"1780\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"443.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"777.10\",\r\n            \"total\": \"777.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"5\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"6\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"18\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"233.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"394.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"5\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"6\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"18\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"187.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"331.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"5\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"6\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"18\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"23.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"51.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"19\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT3H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"73H\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T08:50:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T06:30:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"3\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"5\",\r\n                        \"number\": \"146\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"KL\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"318\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T10:50:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T09:30:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"6\",\r\n                        \"number\": \"2003\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T16:35:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T16:10:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"19\",\r\n                        \"number\": \"1280\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"443.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"777.10\",\r\n            \"total\": \"777.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"5\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"6\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"19\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"233.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"394.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"5\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"6\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"19\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"187.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"331.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"5\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"6\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0AALA\",\r\n                        \"segmentId\": \"19\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"23.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"51.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"20\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T11:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T09:00:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"2\",\r\n                        \"number\": \"1681\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT3H50M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T14:50:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T13:25:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"21\",\r\n                        \"number\": \"2012\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"295\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T16:15:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T15:55:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"22\",\r\n                        \"number\": \"1011\",\r\n                        \"numberOfStops\": 0\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 5,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"499.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"830.70\",\r\n            \"total\": \"830.70\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"21\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"22\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"262.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"422.10\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"21\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"22\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"210.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"353.50\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"21\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"22\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"27.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"55.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"21\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T11:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T09:00:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"2\",\r\n                        \"number\": \"1681\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT3H55M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"318\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T17:45:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T16:30:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"duration\": \"PT1H15M\",\r\n                        \"id\": \"23\",\r\n                        \"number\": \"2016\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"295\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T19:25:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T19:05:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"24\",\r\n                        \"number\": \"1015\",\r\n                        \"numberOfStops\": 0\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 3,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"499.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"830.70\",\r\n            \"total\": \"830.70\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"23\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"24\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"262.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"422.10\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"23\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"24\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"210.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"353.50\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"23\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"24\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"27.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"55.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"22\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T13:50:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T11:30:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"3\",\r\n                        \"number\": \"1581\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT3H55M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"318\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T17:45:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T16:30:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"duration\": \"PT1H15M\",\r\n                        \"id\": \"23\",\r\n                        \"number\": \"2016\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"295\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T19:25:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T19:05:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"24\",\r\n                        \"number\": \"1015\",\r\n                        \"numberOfStops\": 0\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 2,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"499.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"830.70\",\r\n            \"total\": \"830.70\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"23\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"24\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"262.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"422.10\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"23\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"24\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"210.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"353.50\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"23\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"24\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"27.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"55.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"23\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT4H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"319\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T12:00:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T08:55:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT2H5M\",\r\n                        \"id\": \"7\",\r\n                        \"number\": \"7551\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"318\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T14:15:00\",\r\n                            \"iataCode\": \"ORY\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T12:45:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"duration\": \"PT1H30M\",\r\n                        \"id\": \"8\",\r\n                        \"number\": \"6213\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT3H55M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"318\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T17:45:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T16:30:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"duration\": \"PT1H15M\",\r\n                        \"id\": \"23\",\r\n                        \"number\": \"2016\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"295\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T19:25:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T19:05:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"24\",\r\n                        \"number\": \"1015\",\r\n                        \"numberOfStops\": 0\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 3,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"97.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"499.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"847.70\",\r\n            \"total\": \"847.70\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"7\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"8\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"23\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"24\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"262.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"430.60\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"7\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"8\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"23\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"24\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"210.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"362.00\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"7\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"8\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"23\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"24\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"27.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"55.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"24\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T08:35:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T06:15:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"1\",\r\n                        \"number\": \"1381\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T21:00:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"20\",\r\n                        \"number\": \"1380\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"86.40\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"590.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"874.10\",\r\n            \"total\": \"874.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"311.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"447.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"248.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"367.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"31.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"59.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"25\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T11:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T09:00:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"2\",\r\n                        \"number\": \"1681\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT12H\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"73H\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T20:15:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"duration\": \"PT1H10M\",\r\n                        \"id\": \"14\",\r\n                        \"number\": \"1412\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"KL\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"E90\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-15T07:15:00\",\r\n                            \"iataCode\": \"LCY\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-15T07:05:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H10M\",\r\n                        \"id\": \"15\",\r\n                        \"number\": \"977\",\r\n                        \"numberOfStops\": 0\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 5,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"499.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"895.00\",\r\n            \"total\": \"895.00\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"262.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"443.90\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"210.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"375.30\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"2\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"27.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"75.80\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"26\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T13:50:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T11:30:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"3\",\r\n                        \"number\": \"1581\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT12H\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"73H\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T20:15:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"duration\": \"PT1H10M\",\r\n                        \"id\": \"14\",\r\n                        \"number\": \"1412\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"KL\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"E90\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-15T07:15:00\",\r\n                            \"iataCode\": \"LCY\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-15T07:05:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H10M\",\r\n                        \"id\": \"15\",\r\n                        \"number\": \"977\",\r\n                        \"numberOfStops\": 0\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 2,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"499.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"895.00\",\r\n            \"total\": \"895.00\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"262.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"443.90\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"210.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"375.30\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"3\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"27.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"75.80\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"27\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T17:40:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T15:20:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"4\",\r\n                        \"number\": \"1781\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT12H\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"73H\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T20:15:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"duration\": \"PT1H10M\",\r\n                        \"id\": \"14\",\r\n                        \"number\": \"1412\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"KL\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"E90\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-15T07:15:00\",\r\n                            \"iataCode\": \"LCY\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-15T07:05:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H10M\",\r\n                        \"id\": \"15\",\r\n                        \"number\": \"977\",\r\n                        \"numberOfStops\": 0\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"499.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"895.00\",\r\n            \"total\": \"895.00\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"4\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"262.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"443.90\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"4\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"210.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"375.30\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"4\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"27.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"75.80\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"28\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT4H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"319\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T12:00:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T08:55:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT2H5M\",\r\n                        \"id\": \"7\",\r\n                        \"number\": \"7551\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"318\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T14:15:00\",\r\n                            \"iataCode\": \"ORY\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T12:45:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"duration\": \"PT1H30M\",\r\n                        \"id\": \"8\",\r\n                        \"number\": \"6213\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT12H\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"73H\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T20:15:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"duration\": \"PT1H10M\",\r\n                        \"id\": \"14\",\r\n                        \"number\": \"1412\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"KL\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"E90\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-15T07:15:00\",\r\n                            \"iataCode\": \"LCY\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-15T07:05:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H10M\",\r\n                        \"id\": \"15\",\r\n                        \"number\": \"977\",\r\n                        \"numberOfStops\": 0\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"base\": \"499.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"912.00\",\r\n            \"total\": \"912.00\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"7\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"8\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"262.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"452.40\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"7\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"8\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"210.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"383.80\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"7\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"8\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"27.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"75.80\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"29\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT5H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"319\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T12:00:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T08:55:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT2H5M\",\r\n                        \"id\": \"12\",\r\n                        \"number\": \"7551\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"320\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T15:20:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T13:45:00\",\r\n                            \"iataCode\": \"NCE\",\r\n                            \"terminal\": \"2\"\r\n                        },\r\n                        \"duration\": \"PT1H35M\",\r\n                        \"id\": \"13\",\r\n                        \"number\": \"7319\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT12H\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"73H\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T20:15:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"duration\": \"PT1H10M\",\r\n                        \"id\": \"14\",\r\n                        \"number\": \"1412\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"KL\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"E90\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-15T07:15:00\",\r\n                            \"iataCode\": \"LCY\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-15T07:05:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H10M\",\r\n                        \"id\": \"15\",\r\n                        \"number\": \"977\",\r\n                        \"numberOfStops\": 0\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 6,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"base\": \"499.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"912.00\",\r\n            \"total\": \"912.00\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"12\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"13\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"262.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"452.40\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"12\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"13\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"210.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"383.80\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"12\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"L\",\r\n                        \"fareBasis\": \"LYS0AALA\",\r\n                        \"segmentId\": \"13\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"14\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"15\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"27.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"75.80\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"30\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T08:35:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T06:15:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"1\",\r\n                        \"number\": \"1381\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT3H50M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T14:50:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T13:25:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"21\",\r\n                        \"number\": \"2012\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"295\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T16:15:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T15:55:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"22\",\r\n                        \"number\": \"1011\",\r\n                        \"numberOfStops\": 0\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"625.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"956.70\",\r\n            \"total\": \"956.70\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"21\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"22\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"329.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"489.10\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"21\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"22\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"263.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"406.50\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"21\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"22\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"33.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"61.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"31\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T08:35:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T06:15:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"1\",\r\n                        \"number\": \"1381\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT3H55M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"318\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T17:45:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T16:30:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"duration\": \"PT1H15M\",\r\n                        \"id\": \"23\",\r\n                        \"number\": \"2016\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"295\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T19:25:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T19:05:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"24\",\r\n                        \"number\": \"1015\",\r\n                        \"numberOfStops\": 0\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 3,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"625.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"956.70\",\r\n            \"total\": \"956.70\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"23\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"24\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"329.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"489.10\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"23\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"24\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"263.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"406.50\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"1\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"23\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"24\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"33.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"61.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"32\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT3H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"73H\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T08:50:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T06:30:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"3\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"5\",\r\n                        \"number\": \"146\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"KL\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"318\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T10:50:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T09:30:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"6\",\r\n                        \"number\": \"2003\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T21:00:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"20\",\r\n                        \"number\": \"1380\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"625.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"959.10\",\r\n            \"total\": \"959.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"5\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"6\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"329.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"490.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"5\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"6\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"263.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"407.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"5\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"6\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"33.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"61.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"33\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT4H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"73H\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T14:05:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T11:45:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"9\",\r\n                        \"number\": \"1006\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"KL\"\r\n                        }\r\n                    },\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T17:05:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2F\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"KL\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T15:45:00\",\r\n                            \"iataCode\": \"AMS\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"10\",\r\n                        \"number\": \"2013\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                \"duration\": \"PT1H25M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T21:25:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T21:00:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"duration\": \"PT1H25M\",\r\n                        \"id\": \"20\",\r\n                        \"number\": \"1380\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 9,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"625.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"959.10\",\r\n            \"total\": \"959.10\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"9\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"10\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"329.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"490.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            },\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"9\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"10\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"263.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"407.70\"\r\n                },\r\n                \"travelerId\": \"2\",\r\n                \"travelerType\": \"CHILD\"\r\n            },\r\n            {\r\n                \"associatedAdultId\": \"1\",\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"9\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"H\",\r\n                        \"fareBasis\": \"HYQ0AALA\",\r\n                        \"segmentId\": \"10\"\r\n                    },\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"K\",\r\n                        \"fareBasis\": \"KYS0AALA\",\r\n                        \"segmentId\": \"20\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"33.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"61.10\"\r\n                },\r\n                \"travelerId\": \"3\",\r\n                \"travelerType\": \"HELD_INFANT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    }\r\n]","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/predict-flight-choice","description":"<h3 id=\"predict-flight-choice\">Predict Flight Choice</h3>\n<p>This endpoint is used to predict flight choices based on the provided payload.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p>The request should be sent in the raw format.</p>\n</li>\n<li><p>The payload should include various details such as ID, instant ticketing requirement, upsell offer, itineraries, last ticketing date, non-homogeneous, number of bookable seats, one-way information, price details, pricing options, source, traveler pricings, type, and validating airline codes.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li>Upon successful execution, the endpoint returns a JSON response with the same structure as the request body, providing the predicted flight choices.</li>\n</ul>\n<h4 id=\"example\">Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"id\": \"\",\n    \"instantTicketingRequired\": true,\n    \"isUpsellOffer\": true,\n    \"itineraries\": [\n        {\n            \"duration\": \"\",\n            \"segments\": [\n                {\n                    \"aircraft\": {\"code\": \"\"},\n                    \"arrival\": {\"at\": \"\", \"iataCode\": \"\", \"terminal\": \"\"},\n                    \"blacklistedInEU\": true,\n                    \"carrierCode\": \"\",\n                    \"departure\": {\"at\": \"\", \"iataCode\": \"\", \"terminal\": \"\"},\n                    \"duration\": \"\",\n                    \"id\": \"\",\n                    \"number\": \"\",\n                    \"numberOfStops\": 0,\n                    \"operating\": {\"carrierCode\": \"\"}\n                }\n            ]\n        }\n    ],\n    \"lastTicketingDate\": \"\",\n    \"lastTicketingDateTime\": \"\",\n    \"nonHomogeneous\": true,\n    \"numberOfBookableSeats\": 0,\n    \"oneWay\": true,\n    \"price\": {\n        \"additionalServices\": [{\"amount\": \"\", \"type\": \"\"}],\n        \"base\": \"\",\n        \"currency\": \"\",\n        \"fees\": [{\"amount\": \"\", \"type\": \"\"}],\n        \"grandTotal\": \"\",\n        \"total\": \"\"\n    },\n    \"pricingOptions\": {\n        \"fareType\": [\"\"],\n        \"includedCheckedBagsOnly\": true\n    },\n    \"source\": \"\",\n    \"travelerPricings\": [\n        {\n            \"fareDetailsBySegment\": [\n                {\n                    \"amenities\": [\n                        {\n                            \"amenityProvider\": {\"name\": \"\"},\n                            \"amenityType\": \"\",\n                            \"description\": \"\",\n                            \"isChargeable\": true\n                        }\n                    ],\n                    \"brandedFare\": \"\",\n                    \"brandedFareLabel\": \"\",\n                    \"cabin\": \"\",\n                    \"class\": \"\",\n                    \"fareBasis\": \"\",\n                    \"includedCheckedBags\": {\"quantity\": 0},\n                    \"segmentId\": \"\"\n                }\n            ],\n            \"fareOption\": \"\",\n            \"price\": {\"base\": \"\", \"currency\": \"\", \"total\": \"\"},\n            \"travelerId\": \"\",\n            \"travelerType\": \"\"\n        }\n    ],\n    \"type\": \"\",\n    \"validatingAirlineCodes\": [\"\"]\n}\n\n</code></pre>\n","urlObject":{"path":["api","predict-flight-choice"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"48c44a10-6132-4437-83d5-631bb4841d7e"},{"name":"flights/flight_create_order","id":"d83a8826-c3fc-46b9-b292-0725f22eacea","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"data\": {\r\n    \"order_id\": \"HeX_#-251124157393\",\r\n    \"bookingRequirements\": {\r\n      \"emailAddressRequired\": true,\r\n      \"mobilePhoneNumberRequired\": true\r\n    },\r\n    \"flightOffer\": \r\n                {\r\n                    \"airlineLogo\": \"https://cdn.hermextravels.com/EK@2x.png\",\r\n                    \"id\": \"2036228971318886400-MILES-v2eAHCcVochx6clogkwSLzQ+Uf3z51G3J0lw3tRbvbVbvk66n2v5YzFjiEdAH2raGlzZyPVK0P+KVwuL/mF4Q/nkGCPIe8p3iIxi1pa1tw40hWg8xmd8el1rnvFKwjQJYZ8hC58QD8tW88A1d2Y1vtafCoW95TVxveKzpEKp3xW4Mqd5hd1utAMpq5nCLGBMs2LsP0VXRV30z6BbzO5O+krUUNhd313uROrv3QPjm35mUSnkiTPApAzin0w/OC552k+yBqrjlZNZv3yqgCo5vg6lYpwLOAAFhhNsEETLi1cPrI3C7k+SroT3JejOGJCRya3JzGGjpo1sMWQJb9zreuNim1lHKBrW44MjAA5dyajZL0jSjwAoMUzZbNRHrqI/scBLlpA02CjdLEI6PrJBOMIiHfyBqphMmuMz8KqbidOiktBmUN8MsreAT3pFMAwKO1sHzXaz9sajUzKf+9psBTwwgMYOnisLPiiWwsh/JIgj4kj67EQdd8Bo4wpXNAPtVAfRNU+PE0HMCyhgg0ko1Jw6Ty2gK3LuQjrMqVdstDQdwzKZtWchA0/JRfEB49YIs1vK4+bgbYoufDemUfm6oFZfmfhEZOXbhRtScBSxmD/whGYLvGilGQCN8BOs+9l2ng1wtGj1v1qIZi0b5QqNkGLq5eZYFZLuQut4SdaDrhJQacrwdrNrWO0VwUFpaCiZm3rQfqjDgIV5xZQjTtvuoItUivRlcoRTGvez8RCpIBn7Rm5a+ZjQnQ/XvurKbSPCP3OBu8nHnaOIzMtFHvY289EE5mei29qN4GXAK+Zvnb7XJJsm+bF3v428kdqEiA37sCkWf6YEtPgRDPjtCwTBcN6/b26C5zbHajBTrGAP5NOdlJHdEt07ffda3/u3RgBV/6qXsxm3sHSBkntadxd4RkXoZwI+SAVc3ae17sb2B9VtJJiHf1NvSi4EEySm9/Wu7HIU9qMob6CIi8OPb8/oyjOpXNrLbjBNA0LhOi+CjRyUaRsHelpI5T5SznmzvE6FKibBNmDKI6tdQK+FAqB0GGHA==0\",\r\n                    \"itineraries\": [\r\n                        {\r\n                            \"duration\": \"N/A\",\r\n                            \"segments\": [\r\n                                {\r\n                                    \"aircraft\": {\r\n                                        \"code\": \"333\"\r\n                                    },\r\n                                    \"amenities\": [],\r\n                                    \"arrival\": {\r\n                                        \"airport\": \"London Biggin Hill Airport\",\r\n                                        \"at\": \"2025-12-10T07:46:00\",\r\n                                        \"city\": \"London\",\r\n                                        \"iataCode\": \"BQH\",\r\n                                        \"terminal\": \"\"\r\n                                    },\r\n                                    \"baggage\": \"0 KG Carry-On, 1 KG Checked\",\r\n                                    \"carrierCode\": \"EK\",\r\n                                    \"departure\": {\r\n                                        \"airport\": \"Murtala Muhammed International Airport\",\r\n                                        \"at\": \"2025-12-10T04:10:00\",\r\n                                        \"city\": \"Lagos\",\r\n                                        \"iataCode\": \"LOS\",\r\n                                        \"terminal\": \"\"\r\n                                    },\r\n                                    \"duration\": \"4 hours\",\r\n                                    \"number\": \"219\",\r\n                                    \"stops\": 0\r\n                                }\r\n                            ]\r\n                        }\r\n                    ],\r\n                    \"price\": {\r\n                        \"currency\": \"NGN\",\r\n                        \"grandTotal\": 366072.29\r\n                    },\r\n                    \"source\": \"Intraverse\",\r\n                    \"supplier\": \"TravXOne\",\r\n                    \"travelerPricings\": [\r\n                        {\r\n                            \"fareDetailsBySegment\": [\r\n                                {\r\n                                    \"brandedFareLabel\": \"Economy\",\r\n                                    \"includedCabinBags\": {\r\n                                        \"quantity\": null\r\n                                    },\r\n                                    \"includedCheckedBags\": {\r\n                                        \"quantity\": null\r\n                                    }\r\n                                }\r\n                            ]\r\n                        }\r\n                    ]\r\n                }\r\n    ,\r\n    \"travelers\": [\r\n      {\r\n        \"id\": \"1\",\r\n        \"dateOfBirth\": \"1982-01-16\",\r\n        \"name\": {\r\n          \"firstName\": \"Jerry\",\r\n          \"lastName\": \"GONZALES\"\r\n        },\r\n        \"gender\": \"MALE\",\r\n        \"contact\": {\r\n          \"emailAddress\": \"praiseordu@gmail.com\",\r\n          \"phones\": [\r\n            {\r\n              \"deviceType\": \"MOBILE\",\r\n              \"countryCallingCode\": \"34\",\r\n              \"number\": \"480080076\"\r\n            }\r\n          ]\r\n        },\r\n        \"documents\": [\r\n          {\r\n            \"documentType\": \"PASSPORT\",\r\n            \"birthPlace\": \"Madrid\",\r\n            \"issuanceLocation\": \"Madrid\",\r\n            \"issuanceDate\": \"2024-04-14\",\r\n            \"number\": \"00000000\",\r\n            \"expiryDate\": \"2028-04-14\",\r\n            \"issuanceCountry\": \"ES\",\r\n            \"validityCountry\": \"ES\",\r\n            \"nationality\": \"ES\",\r\n            \"holder\": true\r\n          }\r\n        ]\r\n      }\r\n\r\n    ],\r\n    \"type\": \"flight-offers-pricing\"\r\n  },\r\n  \"dictionaries\": {\r\n    \"locations\": {\r\n      \"CDG\": {\r\n        \"cityCode\": \"PAR\",\r\n        \"countryCode\": \"FR\"\r\n      },\r\n      \"LHR\": {\r\n        \"cityCode\": \"LON\",\r\n        \"countryCode\": \"GB\"\r\n      }\r\n    }\r\n  }\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/flight_create_order","description":"<hr />\n<h1 id=\"✈️-create-flight-order-request-body\">✈️ Create Flight Order Request Body</h1>\n<p>This document outlines the structure and required fields for creating a flight order.</p>\n<hr />\n<h2 id=\"🧾-request-body\">🧾 Request Body</h2>\n<h3 id=\"root-object\">Root Object</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"data\": {\n    \"order_id\": \"HeX_#-250415404279\",\n    \"type\": \"flight-order\",\n    \"flightOffers\": [ ... ],\n    \"travelers\": [ ... ],\n    \"contacts\": [ ... ]\n  }\n}\n\n</code></pre><h3 id=\"🔑-fields\">🔑 Fields</h3>\n<ul>\n<li><p><strong>order_id</strong>: <em>string</em></p>\n<p>  Unique identifier for the order.<br />  <strong>Example</strong>: <code>\"HeX_#-250415404279\"</code></p>\n</li>\n<li><p><strong>type</strong>: <em>string</em></p>\n<p>  Type of the order.<br />  <strong>Value</strong>: <code>\"flight-order\"</code></p>\n</li>\n<li><p><strong>flightOffers</strong>: <em>array</em></p>\n<p>  List of flight offers associated with the order.</p>\n</li>\n<li><p><strong>travelers</strong>: <em>array</em></p>\n<p>  Information about travelers included in the order.</p>\n</li>\n<li><p><strong>contacts</strong>: <em>array</em></p>\n<p>  Contact details for the booking.</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"✈️-flight-offers\">✈️ Flight Offers</h2>\n<p>Each flight offer contains detailed information about the flight itinerary, pricing, and traveler-specific details.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"type\": \"flight-offer\",\n  \"id\": \"1\",\n  \"instantTicketingRequired\": false,\n  \"nonHomogeneous\": false,\n  \"paymentCardRequired\": false,\n  \"source\": \"GDS\",\n  \"lastTicketingDate\": \"2025-04-29\",\n  \"itineraries\": [ ... ],\n  \"price\": { ... },\n  \"pricingOptions\": { ... },\n  \"validatingAirlineCodes\": [ \"AF\" ],\n  \"travelerPricings\": [ ... ]\n}\n\n</code></pre><h3 id=\"key-fields\">Key Fields</h3>\n<ul>\n<li><p><strong>id</strong>: <em>string</em></p>\n<p>  Identifier for the flight offer.</p>\n</li>\n<li><p><strong>instantTicketingRequired</strong>: <em>boolean</em></p>\n<p>  Indicates if instant ticketing is required.</p>\n</li>\n<li><p><strong>nonHomogeneous</strong>: <em>boolean</em></p>\n<p>  Indicates if the offer is non-homogeneous.</p>\n</li>\n<li><p><strong>paymentCardRequired</strong>: <em>boolean</em></p>\n<p>  Indicates if a payment card is required.</p>\n</li>\n<li><p><strong>source</strong>: <em>string</em></p>\n<p>  Source of the flight offer.<br />  <strong>Example</strong>: <code>\"GDS\"</code></p>\n</li>\n<li><p><strong>lastTicketingDate</strong>: <em>string</em></p>\n<p>  Last date for ticketing.<br />  <strong>Format</strong>: <code>YYYY-MM-DD</code></p>\n</li>\n<li><p><strong>itineraries</strong>: <em>array</em></p>\n<p>  List of itineraries for the flight offer.</p>\n</li>\n<li><p><strong>price</strong>: <em>object</em></p>\n<p>  Pricing details for the flight offer.</p>\n</li>\n<li><p><strong>pricingOptions</strong>: <em>object</em></p>\n<p>  Options related to pricing.</p>\n</li>\n<li><p><strong>validatingAirlineCodes</strong>: <em>array</em></p>\n<p>  List of airline codes validating the offer.</p>\n</li>\n<li><p><strong>travelerPricings</strong>: <em>array</em></p>\n<p>  Pricing details per traveler.</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"🧳-itineraries\">🧳 Itineraries</h2>\n<p>Each itinerary includes segments detailing each leg of the journey.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"segments\": [\n    {\n      \"departure\": {\n        \"iataCode\": \"CDG\",\n        \"terminal\": \"2E\",\n        \"at\": \"2025-04-29T18:15:00\"\n      },\n      \"arrival\": {\n        \"iataCode\": \"LHR\",\n        \"terminal\": \"4\",\n        \"at\": \"2025-04-29T18:35:00\"\n      },\n      \"carrierCode\": \"AF\",\n      \"number\": \"1180\",\n      \"aircraft\": {\n        \"code\": \"223\"\n      },\n      \"operating\": {\n        \"carrierCode\": \"AF\"\n      },\n      \"duration\": \"PT1H20M\",\n      \"id\": \"1\",\n      \"numberOfStops\": 0,\n      \"co2Emissions\": [\n        {\n          \"weight\": 47,\n          \"weightUnit\": \"KG\",\n          \"cabin\": \"BUSINESS\"\n        }\n      ]\n    }\n  ]\n}\n\n</code></pre><hr />\n<h2 id=\"💰-price\">💰 Price</h2>\n<p>Details about the pricing of the flight offer.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"currency\": \"NGN\",\n  \"total\": \"2304190.00\",\n  \"base\": \"2148907.00\",\n  \"fees\": [\n    {\n      \"amount\": \"0.00\",\n      \"type\": \"SUPPLIER\"\n    },\n    {\n      \"amount\": \"0.00\",\n      \"type\": \"TICKETING\"\n    },\n    {\n      \"amount\": \"0.00\",\n      \"type\": \"FORM_OF_PAYMENT\"\n    }\n  ],\n  \"grandTotal\": \"2304190.00\",\n  \"billingCurrency\": \"NGN\"\n}\n\n</code></pre><hr />\n<h2 id=\"👤-travelers\">👤 Travelers</h2>\n<p>Information about each traveler in the booking.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"id\": \"1\",\n  \"dateOfBirth\": \"1982-01-16\",\n  \"name\": {\n    \"firstName\": \"JORGE\",\n    \"lastName\": \"GONZALES\"\n  },\n  \"gender\": \"MALE\",\n  \"contact\": {\n    \"emailAddress\": \"jorge.gonzales833@telefonica.es\",\n    \"phones\": [\n      {\n        \"deviceType\": \"MOBILE\",\n        \"countryCallingCode\": \"34\",\n        \"number\": \"480080076\"\n      }\n    ]\n  },\n  \"documents\": [\n    {\n      \"documentType\": \"PASSPORT\",\n      \"number\": \"00000000\",\n      \"issuanceDate\": \"2015-04-14\",\n      \"expiryDate\": \"2027-04-14\",\n      \"issuanceCountry\": \"ES\",\n      \"nationality\": \"ES\",\n      \"birthPlace\": \"Madrid\",\n      \"holder\": true\n    }\n  ]\n}\n\n</code></pre><hr />\n<h2 id=\"📇-contacts\">📇 Contacts</h2>\n<p>Contact information for the booking.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"addresseeName\": {\n    \"firstName\": \"PABLO\",\n    \"lastName\": \"RODRIGUEZ\"\n  },\n  \"companyName\": \"INCREIBLE VIAJES\",\n  \"purpose\": \"STANDARD\",\n  \"phones\": [\n    {\n      \"deviceType\": \"LANDLINE\",\n      \"countryCallingCode\": \"34\",\n      \"number\": \"480080071\"\n    },\n    {\n      \"deviceType\": \"MOBILE\",\n      \"countryCallingCode\": \"33\",\n      \"number\": \"480080072\"\n    }\n  ],\n  \"emailAddress\": \"support@increibleviajes.es\",\n  \"address\": {\n    \"lines\": [\n      \"Calle Prado, 16\"\n    ],\n    \"postalCode\": \"28014\",\n    \"cityName\": \"Madrid\",\n    \"countryCode\": \"ES\"\n  }\n}\n\n</code></pre><hr />\n<h2 id=\"✅-response-example\">✅ Response Example</h2>\n<p>Upon successful booking, the response will include the booking details.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"booked_data\": {\n    \"data\": {\n      \"associatedRecords\": [\n        {\n          \"creationDate\": \"2025-04-15T09:42:00.000\",\n          \"flightOfferId\": \"1\",\n          \"originSystemCode\": \"GDS\",\n          \"reference\": \"UMVVVY\"\n        }\n      ],\n      \"automatedProcess\": [\n        {\n          \"code\": \"IMMEDIATE\",\n          \"officeId\": \n\n</code></pre>","urlObject":{"path":["flights","flight_create_order"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"59638208-98f7-4642-a416-badb4e7facef","name":"flights/flight_create_order","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"data\": {\r\n    \"order_id\": \"HeX_#-250401248518\",\r\n    \"bookingRequirements\": {\r\n      \"emailAddressRequired\": true,\r\n      \"mobilePhoneNumberRequired\": true\r\n    },\r\n    \"flightOffers\": [\r\n      {\r\n        \"id\": \"1\",\r\n        \"instantTicketingRequired\": false,\r\n        \"itineraries\": [\r\n          {\r\n            \"segments\": [\r\n              {\r\n                \"aircraft\": {\r\n                  \"code\": \"223\"\r\n                },\r\n                \"arrival\": {\r\n                  \"at\": \"2025-04-10T22:00:00\",\r\n                  \"iataCode\": \"CDG\",\r\n                  \"terminal\": \"2E\"\r\n                },\r\n                \"carrierCode\": \"AF\",\r\n                \"co2Emissions\": [\r\n                  {\r\n                    \"cabin\": \"ECONOMY\",\r\n                    \"weight\": 48,\r\n                    \"weightUnit\": \"KG\"\r\n                  }\r\n                ],\r\n                \"departure\": {\r\n                  \"at\": \"2025-04-10T19:45:00\",\r\n                  \"iataCode\": \"LHR\",\r\n                  \"terminal\": \"4\"\r\n                },\r\n                \"duration\": \"PT1H15M\",\r\n                \"id\": \"1\",\r\n                \"number\": \"1181\",\r\n                \"numberOfStops\": 0,\r\n                \"operating\": {\r\n                  \"carrierCode\": \"AF\"\r\n                }\r\n              }\r\n            ]\r\n          }\r\n        ],\r\n        \"lastTicketingDate\": \"2025-04-10\",\r\n        \"nonHomogeneous\": false,\r\n        \"paymentCardRequired\": false,\r\n        \"price\": {\r\n          \"base\": \"126.00\",\r\n          \"billingCurrency\": \"USD\",\r\n          \"currency\": \"USD\",\r\n          \"fees\": [\r\n            {\r\n              \"amount\": \"0.00\",\r\n              \"type\": \"SUPPLIER\"\r\n            },\r\n            {\r\n              \"amount\": \"0.00\",\r\n              \"type\": \"TICKETING\"\r\n            },\r\n            {\r\n              \"amount\": \"0.00\",\r\n              \"type\": \"FORM_OF_PAYMENT\"\r\n            }\r\n          ],\r\n          \"grandTotal\": \"249.20\",\r\n          \"total\": \"249.20\"\r\n        },\r\n        \"pricingOptions\": {\r\n          \"fareType\": [\r\n            \"PUBLISHED\"\r\n          ],\r\n          \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n          {\r\n            \"fareDetailsBySegment\": [\r\n              {\r\n                \"brandedFare\": \"LIGHT\",\r\n                \"cabin\": \"ECONOMY\",\r\n                \"class\": \"T\",\r\n                \"fareBasis\": \"TYS0BALA\",\r\n                \"includedCheckedBags\": {\r\n                  \"quantity\": 0\r\n                },\r\n                \"segmentId\": \"1\"\r\n              }\r\n            ],\r\n            \"fareOption\": \"STANDARD\",\r\n            \"price\": {\r\n              \"base\": \"63.00\",\r\n              \"currency\": \"USD\",\r\n              \"refundableTaxes\": \"45.80\",\r\n              \"taxes\": [\r\n                {\r\n                  \"amount\": \"25.20\",\r\n                  \"code\": \"YQ\"\r\n                },\r\n                {\r\n                  \"amount\": \"1.60\",\r\n                  \"code\": \"YR\"\r\n                },\r\n                {\r\n                  \"amount\": \"16.40\",\r\n                  \"code\": \"GB\"\r\n                },\r\n                {\r\n                  \"amount\": \"29.40\",\r\n                  \"code\": \"UB\"\r\n                }\r\n              ],\r\n              \"total\": \"135.60\"\r\n            },\r\n            \"travelerId\": \"1\",\r\n            \"travelerType\": \"ADULT\"\r\n          },\r\n          {\r\n            \"fareDetailsBySegment\": [\r\n              {\r\n                \"brandedFare\": \"LIGHT\",\r\n                \"cabin\": \"ECONOMY\",\r\n                \"class\": \"T\",\r\n                \"fareBasis\": \"TYS0BALA\",\r\n                \"includedCheckedBags\": {\r\n                  \"quantity\": 0\r\n                },\r\n                \"segmentId\": \"1\"\r\n              }\r\n            ],\r\n            \"fareOption\": \"STANDARD\",\r\n            \"price\": {\r\n              \"base\": \"63.00\",\r\n              \"currency\": \"USD\",\r\n              \"refundableTaxes\": \"30.00\",\r\n              \"taxes\": [\r\n                {\r\n                  \"amount\": \"15.00\",\r\n                  \"code\": \"YQ\"\r\n                },\r\n                {\r\n                  \"amount\": \"1.00\",\r\n                  \"code\": \"YR\"\r\n                },\r\n                {\r\n                  \"amount\": \"9.70\",\r\n                  \"code\": \"GB\"\r\n                },\r\n                {\r\n                  \"amount\": \"17.50\",\r\n                  \"code\": \"UB\"\r\n                }\r\n              ],\r\n              \"total\": \"106.20\"\r\n            },\r\n            \"travelerId\": \"2\",\r\n            \"travelerType\": \"CHILD\"\r\n          }\r\n        ],\r\n        \"validatingAirlineCodes\": [\r\n          \"AF\"\r\n        ],\r\n        \"type\": \"flight-offer\"\r\n      }\r\n    ],\r\n    \"travelers\": [\r\n      {\r\n        \"id\": \"1\",\r\n        \"dateOfBirth\": \"1982-01-16\",\r\n        \"name\": {\r\n          \"firstName\": \"JORGE\",\r\n          \"lastName\": \"GONZALES\"\r\n        },\r\n        \"gender\": \"MALE\",\r\n        \"contact\": {\r\n          \"emailAddress\": \"jorge.gonzales833@telefonica.es\",\r\n          \"phones\": [\r\n            {\r\n              \"deviceType\": \"MOBILE\",\r\n              \"countryCallingCode\": \"34\",\r\n              \"number\": \"480080076\"\r\n            }\r\n          ]\r\n        },\r\n        \"documents\": [\r\n          {\r\n            \"documentType\": \"PASSPORT\",\r\n            \"birthPlace\": \"Madrid\",\r\n            \"issuanceLocation\": \"Madrid\",\r\n            \"issuanceDate\": \"2015-04-14\",\r\n            \"number\": \"00000000\",\r\n            \"expiryDate\": \"2025-04-14\",\r\n            \"issuanceCountry\": \"ES\",\r\n            \"validityCountry\": \"ES\",\r\n            \"nationality\": \"ES\",\r\n            \"holder\": true\r\n          }\r\n        ]\r\n      },\r\n      {\r\n        \"id\": \"2\",\r\n        \"dateOfBirth\": \"2020-10-11\",\r\n        \"gender\": \"FEMALE\",\r\n        \"contact\": {\r\n          \"emailAddress\": \"jorge.gonzales833@telefonica.es\",\r\n          \"phones\": [\r\n            {\r\n              \"deviceType\": \"MOBILE\",\r\n              \"countryCallingCode\": \"34\",\r\n              \"number\": \"480080076\"\r\n            }\r\n          ]\r\n        },\r\n        \"name\": {\r\n          \"firstName\": \"ADRIANA\",\r\n          \"lastName\": \"GONZALES\"\r\n        }\r\n      }\r\n    ],\r\n    \"type\": \"flight-offers-pricing\"\r\n  },\r\n  \"dictionaries\": {\r\n    \"locations\": {\r\n      \"CDG\": {\r\n        \"cityCode\": \"PAR\",\r\n        \"countryCode\": \"FR\"\r\n      },\r\n      \"LHR\": {\r\n        \"cityCode\": \"LON\",\r\n        \"countryCode\": \"GB\"\r\n      }\r\n    }\r\n  }\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/flight_create_order"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Tue, 01 Apr 2025 22:53:48 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"3089","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"associatedRecords\": [\n            {\n                \"creationDate\": \"2025-04-02T02:04:00.000\",\n                \"flightOfferId\": \"1\",\n                \"originSystemCode\": \"GDS\",\n                \"reference\": \"LFXUSO\"\n            }\n        ],\n        \"automatedProcess\": [\n            {\n                \"code\": \"IMMEDIATE\",\n                \"officeId\": \"NCE4D31SB\",\n                \"queue\": {\n                    \"category\": \"0\",\n                    \"number\": \"0\"\n                }\n            }\n        ],\n        \"flightOffers\": [\n            {\n                \"id\": \"1\",\n                \"itineraries\": [\n                    {\n                        \"segments\": [\n                            {\n                                \"aircraft\": {\n                                    \"code\": \"223\"\n                                },\n                                \"arrival\": {\n                                    \"at\": \"2025-04-10T22:00:00\",\n                                    \"iataCode\": \"CDG\",\n                                    \"terminal\": \"2E\"\n                                },\n                                \"carrierCode\": \"AF\",\n                                \"co2Emissions\": [\n                                    {\n                                        \"cabin\": \"ECONOMY\",\n                                        \"weight\": 47,\n                                        \"weightUnit\": \"KG\"\n                                    }\n                                ],\n                                \"departure\": {\n                                    \"at\": \"2025-04-10T19:45:00\",\n                                    \"iataCode\": \"LHR\",\n                                    \"terminal\": \"4\"\n                                },\n                                \"duration\": \"PT1H15M\",\n                                \"id\": \"1\",\n                                \"number\": \"1181\",\n                                \"numberOfStops\": 0\n                            }\n                        ]\n                    }\n                ],\n                \"lastTicketingDate\": \"2025-04-10\",\n                \"nonHomogeneous\": false,\n                \"price\": {\n                    \"base\": \"117.00\",\n                    \"billingCurrency\": \"USD\",\n                    \"currency\": \"USD\",\n                    \"fees\": [\n                        {\n                            \"amount\": \"0.00\",\n                            \"type\": \"TICKETING\"\n                        },\n                        {\n                            \"amount\": \"0.00\",\n                            \"type\": \"SUPPLIER\"\n                        },\n                        {\n                            \"amount\": \"0.00\",\n                            \"type\": \"FORM_OF_PAYMENT\"\n                        }\n                    ],\n                    \"grandTotal\": \"249.20\",\n                    \"total\": \"249.20\"\n                },\n                \"pricingOptions\": {\n                    \"fareType\": [\n                        \"PUBLISHED\"\n                    ],\n                    \"includedCheckedBagsOnly\": false\n                },\n                \"source\": \"GDS\",\n                \"travelerPricings\": [\n                    {\n                        \"fareDetailsBySegment\": [\n                            {\n                                \"brandedFare\": \"LIGHT\",\n                                \"cabin\": \"ECONOMY\",\n                                \"class\": \"T\",\n                                \"fareBasis\": \"TYS0BALA\",\n                                \"includedCheckedBags\": {\n                                    \"quantity\": 0\n                                },\n                                \"segmentId\": \"1\"\n                            }\n                        ],\n                        \"fareOption\": \"STANDARD\",\n                        \"price\": {\n                            \"base\": \"65.00\",\n                            \"currency\": \"USD\",\n                            \"refundableTaxes\": \"47.00\",\n                            \"taxes\": [\n                                {\n                                    \"amount\": \"16.80\",\n                                    \"code\": \"GB\"\n                                },\n                                {\n                                    \"amount\": \"30.20\",\n                                    \"code\": \"UB\"\n                                },\n                                {\n                                    \"amount\": \"25.90\",\n                                    \"code\": \"YQ\"\n                                },\n                                {\n                                    \"amount\": \"1.60\",\n                                    \"code\": \"YR\"\n                                }\n                            ],\n                            \"total\": \"139.50\"\n                        },\n                        \"travelerId\": \"1\",\n                        \"travelerType\": \"ADULT\"\n                    },\n                    {\n                        \"fareDetailsBySegment\": [\n                            {\n                                \"brandedFare\": \"LIGHT\",\n                                \"cabin\": \"ECONOMY\",\n                                \"class\": \"T\",\n                                \"fareBasis\": \"TYS0BALA\",\n                                \"includedCheckedBags\": {\n                                    \"quantity\": 0\n                                },\n                                \"segmentId\": \"1\"\n                            }\n                        ],\n                        \"fareOption\": \"STANDARD\",\n                        \"price\": {\n                            \"base\": \"52.00\",\n                            \"currency\": \"USD\",\n                            \"refundableTaxes\": \"30.20\",\n                            \"taxes\": [\n                                {\n                                    \"amount\": \"30.20\",\n                                    \"code\": \"UB\"\n                                },\n                                {\n                                    \"amount\": \"25.90\",\n                                    \"code\": \"YQ\"\n                                },\n                                {\n                                    \"amount\": \"1.60\",\n                                    \"code\": \"YR\"\n                                }\n                            ],\n                            \"total\": \"109.70\"\n                        },\n                        \"travelerId\": \"2\",\n                        \"travelerType\": \"CHILD\"\n                    }\n                ],\n                \"type\": \"flight-offer\",\n                \"validatingAirlineCodes\": [\n                    \"AF\"\n                ]\n            }\n        ],\n        \"id\": \"eJzTd9f3cYsIDfYHAAurAoc%3D\",\n        \"queuingOfficeId\": \"NCE4D31SB\",\n        \"ticketingAgreement\": {\n            \"option\": \"CONFIRM\"\n        },\n        \"travelers\": [\n            {\n                \"contact\": {\n                    \"emailAddress\": \"jorge.gonzales833@telefonica.es\",\n                    \"phones\": [\n                        {\n                            \"countryCallingCode\": \"34\",\n                            \"deviceType\": \"MOBILE\",\n                            \"number\": \"480080076\"\n                        }\n                    ],\n                    \"purpose\": \"STANDARD\"\n                },\n                \"dateOfBirth\": \"1982-01-16\",\n                \"documents\": [\n                    {\n                        \"birthPlace\": \"Madrid\",\n                        \"documentType\": \"PASSPORT\",\n                        \"expiryDate\": \"2025-04-14\",\n                        \"holder\": true,\n                        \"issuanceCountry\": \"ES\",\n                        \"issuanceDate\": \"2015-04-14\",\n                        \"issuanceLocation\": \"Madrid\",\n                        \"nationality\": \"ES\",\n                        \"number\": \"00000000\"\n                    }\n                ],\n                \"gender\": \"MALE\",\n                \"id\": \"1\",\n                \"name\": {\n                    \"firstName\": \"JORGE\",\n                    \"lastName\": \"GONZALES\"\n                }\n            },\n            {\n                \"contact\": {\n                    \"emailAddress\": \"jorge.gonzales833@telefonica.es\",\n                    \"phones\": [\n                        {\n                            \"countryCallingCode\": \"34\",\n                            \"deviceType\": \"MOBILE\",\n                            \"number\": \"480080076\"\n                        }\n                    ],\n                    \"purpose\": \"STANDARD\"\n                },\n                \"dateOfBirth\": \"2020-10-11\",\n                \"gender\": \"FEMALE\",\n                \"id\": \"2\",\n                \"name\": {\n                    \"firstName\": \"ADRIANA\",\n                    \"lastName\": \"GONZALES\"\n                }\n            }\n        ],\n        \"type\": \"flight-order\"\n    },\n    \"dictionaries\": {\n        \"locations\": {\n            \"CDG\": {\n                \"cityCode\": \"PAR\",\n                \"countryCode\": \"FR\"\n            },\n            \"LHR\": {\n                \"cityCode\": \"LON\",\n                \"countryCode\": \"GB\"\n            }\n        }\n    },\n    \"warnings\": [\n        {\n            \"code\": 0,\n            \"detail\": \"The final prices or/and fare basis are different\",\n            \"status\": 200,\n            \"title\": \"BookingWithPriceMarginWarning\"\n        }\n    ]\n}"},{"id":"d6938b95-63e3-4a46-83e0-491b923df032","name":"flights/flight_create_order","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"data\": {\r\n    \"order_id\": \"HeX_#-250403834443\",\r\n    \"bookingRequirements\": {\r\n      \"emailAddressRequired\": true,\r\n      \"mobilePhoneNumberRequired\": true\r\n    },\r\n    \"flightOffers\": [\r\n      {\r\n        \"id\": \"1\",\r\n        \"instantTicketingRequired\": false,\r\n        \"itineraries\": [\r\n          {\r\n            \"segments\": [\r\n              {\r\n                \"aircraft\": {\r\n                  \"code\": \"223\"\r\n                },\r\n                \"arrival\": {\r\n                  \"at\": \"2025-04-10T22:00:00\",\r\n                  \"iataCode\": \"CDG\",\r\n                  \"terminal\": \"2E\"\r\n                },\r\n                \"carrierCode\": \"AF\",\r\n                \"co2Emissions\": [\r\n                  {\r\n                    \"cabin\": \"ECONOMY\",\r\n                    \"weight\": 48,\r\n                    \"weightUnit\": \"KG\"\r\n                  }\r\n                ],\r\n                \"departure\": {\r\n                  \"at\": \"2025-04-10T19:45:00\",\r\n                  \"iataCode\": \"LHR\",\r\n                  \"terminal\": \"4\"\r\n                },\r\n                \"duration\": \"PT1H15M\",\r\n                \"id\": \"1\",\r\n                \"number\": \"1181\",\r\n                \"numberOfStops\": 0,\r\n                \"operating\": {\r\n                  \"carrierCode\": \"AF\"\r\n                }\r\n              }\r\n            ]\r\n          }\r\n        ],\r\n        \"lastTicketingDate\": \"2025-04-10\",\r\n        \"nonHomogeneous\": false,\r\n        \"paymentCardRequired\": false,\r\n        \"price\": {\r\n          \"base\": \"143.68\",\r\n          \"billingCurrency\": \"USD\",\r\n          \"currency\": \"USD\",\r\n          \"fees\": [\r\n            {\r\n              \"amount\": \"0.00\",\r\n              \"type\": \"SUPPLIER\"\r\n            },\r\n            {\r\n              \"amount\": \"0.00\",\r\n              \"type\": \"TICKETING\"\r\n            },\r\n            {\r\n              \"amount\": \"0.00\",\r\n              \"type\": \"FORM_OF_PAYMENT\"\r\n            }\r\n          ],\r\n          \"grandTotal\": \"249.20\",\r\n          \"total\": \"249.20\"\r\n        },\r\n        \"pricingOptions\": {\r\n          \"fareType\": [\r\n            \"PUBLISHED\"\r\n          ],\r\n          \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n          {\r\n            \"fareDetailsBySegment\": [\r\n              {\r\n                \"brandedFare\": \"LIGHT\",\r\n                \"cabin\": \"ECONOMY\",\r\n                \"class\": \"T\",\r\n                \"fareBasis\": \"TYS0BALA\",\r\n                \"includedCheckedBags\": {\r\n                  \"quantity\": 0\r\n                },\r\n                \"segmentId\": \"1\"\r\n              }\r\n            ],\r\n            \"fareOption\": \"STANDARD\",\r\n            \"price\": {\r\n              \"base\": \"63.00\",\r\n              \"currency\": \"USD\",\r\n              \"refundableTaxes\": \"45.80\",\r\n              \"taxes\": [\r\n                {\r\n                  \"amount\": \"25.20\",\r\n                  \"code\": \"YQ\"\r\n                },\r\n                {\r\n                  \"amount\": \"1.60\",\r\n                  \"code\": \"YR\"\r\n                },\r\n                {\r\n                  \"amount\": \"16.40\",\r\n                  \"code\": \"GB\"\r\n                },\r\n                {\r\n                  \"amount\": \"29.40\",\r\n                  \"code\": \"UB\"\r\n                }\r\n              ],\r\n              \"total\": \"135.60\"\r\n            },\r\n            \"travelerId\": \"1\",\r\n            \"travelerType\": \"ADULT\"\r\n          },\r\n          {\r\n            \"fareDetailsBySegment\": [\r\n              {\r\n                \"brandedFare\": \"LIGHT\",\r\n                \"cabin\": \"ECONOMY\",\r\n                \"class\": \"T\",\r\n                \"fareBasis\": \"TYS0BALA\",\r\n                \"includedCheckedBags\": {\r\n                  \"quantity\": 0\r\n                },\r\n                \"segmentId\": \"1\"\r\n              }\r\n            ],\r\n            \"fareOption\": \"STANDARD\",\r\n            \"price\": {\r\n              \"base\": \"63.00\",\r\n              \"currency\": \"USD\",\r\n              \"refundableTaxes\": \"30.00\",\r\n              \"taxes\": [\r\n                {\r\n                  \"amount\": \"15.00\",\r\n                  \"code\": \"YQ\"\r\n                },\r\n                {\r\n                  \"amount\": \"1.00\",\r\n                  \"code\": \"YR\"\r\n                },\r\n                {\r\n                  \"amount\": \"9.70\",\r\n                  \"code\": \"GB\"\r\n                },\r\n                {\r\n                  \"amount\": \"17.50\",\r\n                  \"code\": \"UB\"\r\n                }\r\n              ],\r\n              \"total\": \"106.20\"\r\n            },\r\n            \"travelerId\": \"2\",\r\n            \"travelerType\": \"CHILD\"\r\n          }\r\n        ],\r\n        \"validatingAirlineCodes\": [\r\n          \"AF\"\r\n        ],\r\n        \"type\": \"flight-offer\"\r\n      }\r\n    ],\r\n    \"travelers\": [\r\n      {\r\n        \"id\": \"1\",\r\n        \"dateOfBirth\": \"1982-01-16\",\r\n        \"name\": {\r\n          \"firstName\": \"JORGE\",\r\n          \"lastName\": \"GONZALES\"\r\n        },\r\n        \"gender\": \"MALE\",\r\n        \"contact\": {\r\n          \"emailAddress\": \"jorge.gonzales833@telefonica.es\",\r\n          \"phones\": [\r\n            {\r\n              \"deviceType\": \"MOBILE\",\r\n              \"countryCallingCode\": \"34\",\r\n              \"number\": \"480080076\"\r\n            }\r\n          ]\r\n        },\r\n        \"documents\": [\r\n          {\r\n            \"documentType\": \"PASSPORT\",\r\n            \"birthPlace\": \"Madrid\",\r\n            \"issuanceLocation\": \"Madrid\",\r\n            \"issuanceDate\": \"2015-04-14\",\r\n            \"number\": \"00000000\",\r\n            \"expiryDate\": \"2025-04-14\",\r\n            \"issuanceCountry\": \"ES\",\r\n            \"validityCountry\": \"ES\",\r\n            \"nationality\": \"ES\",\r\n            \"holder\": true\r\n          }\r\n        ]\r\n      },\r\n      {\r\n        \"id\": \"2\",\r\n        \"dateOfBirth\": \"2020-10-11\",\r\n        \"gender\": \"FEMALE\",\r\n        \"contact\": {\r\n          \"emailAddress\": \"jorge.gonzales833@telefonica.es\",\r\n          \"phones\": [\r\n            {\r\n              \"deviceType\": \"MOBILE\",\r\n              \"countryCallingCode\": \"34\",\r\n              \"number\": \"480080076\"\r\n            }\r\n          ]\r\n        },\r\n        \"name\": {\r\n          \"firstName\": \"ADRIANA\",\r\n          \"lastName\": \"GONZALES\"\r\n        }\r\n      }\r\n    ],\r\n    \"type\": \"flight-offers-pricing\"\r\n  },\r\n  \"dictionaries\": {\r\n    \"locations\": {\r\n      \"CDG\": {\r\n        \"cityCode\": \"PAR\",\r\n        \"countryCode\": \"FR\"\r\n      },\r\n      \"LHR\": {\r\n        \"cityCode\": \"LON\",\r\n        \"countryCode\": \"GB\"\r\n      }\r\n    }\r\n  }\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/flight_create_order"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Thu, 03 Apr 2025 10:20:33 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"3246","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"booked_data\": {\n        \"data\": {\n            \"associatedRecords\": [\n                {\n                    \"creationDate\": \"2025-04-03T11:15:00.000\",\n                    \"flightOfferId\": \"1\",\n                    \"originSystemCode\": \"GDS\",\n                    \"reference\": \"LNVFH7\"\n                }\n            ],\n            \"automatedProcess\": [\n                {\n                    \"code\": \"IMMEDIATE\",\n                    \"officeId\": \"NCE4D31SB\",\n                    \"queue\": {\n                        \"category\": \"0\",\n                        \"number\": \"0\"\n                    }\n                }\n            ],\n            \"flightOffers\": [\n                {\n                    \"id\": \"1\",\n                    \"itineraries\": [\n                        {\n                            \"segments\": [\n                                {\n                                    \"aircraft\": {\n                                        \"code\": \"223\"\n                                    },\n                                    \"arrival\": {\n                                        \"at\": \"2025-04-10T22:00:00\",\n                                        \"iataCode\": \"CDG\",\n                                        \"terminal\": \"2E\"\n                                    },\n                                    \"carrierCode\": \"AF\",\n                                    \"co2Emissions\": [\n                                        {\n                                            \"cabin\": \"ECONOMY\",\n                                            \"weight\": 47,\n                                            \"weightUnit\": \"KG\"\n                                        }\n                                    ],\n                                    \"departure\": {\n                                        \"at\": \"2025-04-10T19:45:00\",\n                                        \"iataCode\": \"LHR\",\n                                        \"terminal\": \"4\"\n                                    },\n                                    \"duration\": \"PT1H15M\",\n                                    \"id\": \"1\",\n                                    \"number\": \"1181\",\n                                    \"numberOfStops\": 0\n                                }\n                            ]\n                        }\n                    ],\n                    \"lastTicketingDate\": \"2025-04-10\",\n                    \"nonHomogeneous\": false,\n                    \"price\": {\n                        \"base\": \"117.00\",\n                        \"billingCurrency\": \"USD\",\n                        \"currency\": \"USD\",\n                        \"fees\": [\n                            {\n                                \"amount\": \"0.00\",\n                                \"type\": \"TICKETING\"\n                            },\n                            {\n                                \"amount\": \"0.00\",\n                                \"type\": \"SUPPLIER\"\n                            },\n                            {\n                                \"amount\": \"0.00\",\n                                \"type\": \"FORM_OF_PAYMENT\"\n                            }\n                        ],\n                        \"grandTotal\": \"249.20\",\n                        \"total\": \"249.20\"\n                    },\n                    \"pricingOptions\": {\n                        \"fareType\": [\n                            \"PUBLISHED\"\n                        ],\n                        \"includedCheckedBagsOnly\": false\n                    },\n                    \"source\": \"GDS\",\n                    \"travelerPricings\": [\n                        {\n                            \"fareDetailsBySegment\": [\n                                {\n                                    \"brandedFare\": \"LIGHT\",\n                                    \"cabin\": \"ECONOMY\",\n                                    \"class\": \"T\",\n                                    \"fareBasis\": \"TYS0BALA\",\n                                    \"includedCheckedBags\": {\n                                        \"quantity\": 0\n                                    },\n                                    \"segmentId\": \"1\"\n                                }\n                            ],\n                            \"fareOption\": \"STANDARD\",\n                            \"price\": {\n                                \"base\": \"65.00\",\n                                \"currency\": \"USD\",\n                                \"refundableTaxes\": \"47.00\",\n                                \"taxes\": [\n                                    {\n                                        \"amount\": \"16.80\",\n                                        \"code\": \"GB\"\n                                    },\n                                    {\n                                        \"amount\": \"30.20\",\n                                        \"code\": \"UB\"\n                                    },\n                                    {\n                                        \"amount\": \"25.90\",\n                                        \"code\": \"YQ\"\n                                    },\n                                    {\n                                        \"amount\": \"1.60\",\n                                        \"code\": \"YR\"\n                                    }\n                                ],\n                                \"total\": \"139.50\"\n                            },\n                            \"travelerId\": \"1\",\n                            \"travelerType\": \"ADULT\"\n                        },\n                        {\n                            \"fareDetailsBySegment\": [\n                                {\n                                    \"brandedFare\": \"LIGHT\",\n                                    \"cabin\": \"ECONOMY\",\n                                    \"class\": \"T\",\n                                    \"fareBasis\": \"TYS0BALA\",\n                                    \"includedCheckedBags\": {\n                                        \"quantity\": 0\n                                    },\n                                    \"segmentId\": \"1\"\n                                }\n                            ],\n                            \"fareOption\": \"STANDARD\",\n                            \"price\": {\n                                \"base\": \"52.00\",\n                                \"currency\": \"USD\",\n                                \"refundableTaxes\": \"30.20\",\n                                \"taxes\": [\n                                    {\n                                        \"amount\": \"30.20\",\n                                        \"code\": \"UB\"\n                                    },\n                                    {\n                                        \"amount\": \"25.90\",\n                                        \"code\": \"YQ\"\n                                    },\n                                    {\n                                        \"amount\": \"1.60\",\n                                        \"code\": \"YR\"\n                                    }\n                                ],\n                                \"total\": \"109.70\"\n                            },\n                            \"travelerId\": \"2\",\n                            \"travelerType\": \"CHILD\"\n                        }\n                    ],\n                    \"type\": \"flight-offer\",\n                    \"validatingAirlineCodes\": [\n                        \"AF\"\n                    ]\n                }\n            ],\n            \"id\": \"eJzTd9f38Qtz8zAHAAtwAls%3D\",\n            \"queuingOfficeId\": \"NCE4D31SB\",\n            \"ticketingAgreement\": {\n                \"option\": \"CONFIRM\"\n            },\n            \"travelers\": [\n                {\n                    \"contact\": {\n                        \"emailAddress\": \"jorge.gonzales833@telefonica.es\",\n                        \"phones\": [\n                            {\n                                \"countryCallingCode\": \"34\",\n                                \"deviceType\": \"MOBILE\",\n                                \"number\": \"480080076\"\n                            }\n                        ],\n                        \"purpose\": \"STANDARD\"\n                    },\n                    \"dateOfBirth\": \"1982-01-16\",\n                    \"documents\": [\n                        {\n                            \"birthPlace\": \"Madrid\",\n                            \"documentType\": \"PASSPORT\",\n                            \"expiryDate\": \"2025-04-14\",\n                            \"holder\": true,\n                            \"issuanceCountry\": \"ES\",\n                            \"issuanceDate\": \"2015-04-14\",\n                            \"issuanceLocation\": \"Madrid\",\n                            \"nationality\": \"ES\",\n                            \"number\": \"00000000\"\n                        }\n                    ],\n                    \"gender\": \"MALE\",\n                    \"id\": \"1\",\n                    \"name\": {\n                        \"firstName\": \"JORGE\",\n                        \"lastName\": \"GONZALES\"\n                    }\n                },\n                {\n                    \"contact\": {\n                        \"emailAddress\": \"jorge.gonzales833@telefonica.es\",\n                        \"phones\": [\n                            {\n                                \"countryCallingCode\": \"34\",\n                                \"deviceType\": \"MOBILE\",\n                                \"number\": \"480080076\"\n                            }\n                        ],\n                        \"purpose\": \"STANDARD\"\n                    },\n                    \"dateOfBirth\": \"2020-10-11\",\n                    \"gender\": \"FEMALE\",\n                    \"id\": \"2\",\n                    \"name\": {\n                        \"firstName\": \"ADRIANA\",\n                        \"lastName\": \"GONZALES\"\n                    }\n                }\n            ],\n            \"type\": \"flight-order\"\n        },\n        \"dictionaries\": {\n            \"locations\": {\n                \"CDG\": {\n                    \"cityCode\": \"PAR\",\n                    \"countryCode\": \"FR\"\n                },\n                \"LHR\": {\n                    \"cityCode\": \"LON\",\n                    \"countryCode\": \"GB\"\n                }\n            }\n        },\n        \"warnings\": [\n            {\n                \"code\": 0,\n                \"detail\": \"The final prices or/and fare basis are different\",\n                \"status\": 200,\n                \"title\": \"BookingWithPriceMarginWarning\"\n            }\n        ]\n    },\n    \"booking_id\": \"fefc24f8-f308-40bd-b448-14a0250d8011\",\n    \"booking_type\": \"FLIGHT\",\n    \"message\": \"Flight Order Booked.\",\n    \"order_id\": \"HeX_#-250403834443\"\n}"}],"_postman_id":"d83a8826-c3fc-46b9-b292-0725f22eacea"},{"name":"flights/flight_offer_price","id":"790e897c-7adf-44ba-b076-8c5b1a1583fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"data\": {\r\n        \"data\": [\r\n{\r\n                \"airlineLogo\": \"https://cdn.hermextravels.com/KQ.png\",\r\n                \"brandedFaresUpsell\": [],\r\n                \"flightOverview\": {\r\n                    \"airline\": \"KQ\",\r\n                    \"currency\": \"NGN\",\r\n                    \"fareType\": \"ECONOMY\",\r\n                    \"includedCabinBags\": 1,\r\n                    \"includedCheckedBags\": 2,\r\n                    \"totalDuration\": \"PT14H40M\",\r\n                    \"totalPrice\": \"3921303.80\"\r\n                },\r\n                \"id\": \"1INTRA3ab899bd-5234-4218-9665-f7c7172e83b2\",\r\n                \"instantTicketingRequired\": false,\r\n                \"isUpsellOffer\": false,\r\n                \"itineraries\": [\r\n                    {\r\n                        \"duration\": \"PT14H40M\",\r\n                        \"flightSegments\": [\r\n                            {\r\n                                \"aircraft\": \"73H\",\r\n                                \"arrival\": \"2025-12-20T19:50:00\",\r\n                                \"arrivalCity\": \"Nairobi (Jomo Kenyatta International Airport)\",\r\n                                \"departure\": \"2025-12-20T12:30:00\",\r\n                                \"departureCity\": \"Lagos (Murtala Muhammed International Airport)\",\r\n                                \"flightDuration\": \"PT5H20M\",\r\n                                \"flightNumber\": \"KQ533\"\r\n                            },\r\n                            {\r\n                                \"aircraft\": \"788\",\r\n                                \"arrival\": \"2025-12-21T15:30:00\",\r\n                                \"arrivalCity\": \"London (London Heathrow Airport)\",\r\n                                \"departure\": \"2025-12-21T09:10:00\",\r\n                                \"departureCity\": \"Nairobi (Jomo Kenyatta International Airport)\",\r\n                                \"flightDuration\": \"PT9H20M\",\r\n                                \"flightNumber\": \"KQ100\"\r\n                            }\r\n                        ],\r\n                        \"layovers\": [\r\n                            {\r\n                                \"duration\": \"13h 20m\",\r\n                                \"location\": \"Nairobi (Jomo Kenyatta International Airport)\"\r\n                            }\r\n                        ],\r\n                        \"segments\": [\r\n                            {\r\n                                \"aircraft\": {\r\n                                    \"code\": \"73H\"\r\n                                },\r\n                                \"arrival\": {\r\n                                    \"airport\": \"Jomo Kenyatta International Airport\",\r\n                                    \"at\": \"2025-12-20T19:50:00\",\r\n                                    \"city\": \"Nairobi\",\r\n                                    \"iataCode\": \"NBO\",\r\n                                    \"terminal\": \"1A\"\r\n                                },\r\n                                \"blacklistedInEU\": false,\r\n                                \"bookingClass\": \"N\",\r\n                                \"cabinClass\": \"ECONOMY\",\r\n                                \"carrierCode\": \"KQ\",\r\n                                \"departure\": {\r\n                                    \"airport\": \"Murtala Muhammed International Airport\",\r\n                                    \"at\": \"2025-12-20T12:30:00\",\r\n                                    \"city\": \"Lagos\",\r\n                                    \"iataCode\": \"LOS\",\r\n                                    \"terminal\": \"2I\"\r\n                                },\r\n                                \"duration\": \"PT5H20M\",\r\n                                \"id\": \"1\",\r\n                                \"number\": \"533\",\r\n                                \"numberOfStops\": 0,\r\n                                \"operating\": {\r\n                                    \"carrierCode\": \"KQ\"\r\n                                },\r\n                                \"original_carry_on_baggage\": {\r\n                                    \"available\": true,\r\n                                    \"quantity\": 1,\r\n                                    \"unit\": \"kg\",\r\n                                    \"weight\": 0\r\n                                },\r\n                                \"original_checked_baggage\": {\r\n                                    \"available\": true,\r\n                                    \"quantity\": 2,\r\n                                    \"unit\": \"kg\",\r\n                                    \"weight\": 0\r\n                                }\r\n                            },\r\n                            {\r\n                                \"aircraft\": {\r\n                                    \"code\": \"788\"\r\n                                },\r\n                                \"arrival\": {\r\n                                    \"airport\": \"London Heathrow Airport\",\r\n                                    \"at\": \"2025-12-21T15:30:00\",\r\n                                    \"city\": \"London\",\r\n                                    \"iataCode\": \"LHR\",\r\n                                    \"terminal\": \"4\"\r\n                                },\r\n                                \"blacklistedInEU\": false,\r\n                                \"bookingClass\": \"N\",\r\n                                \"cabinClass\": \"ECONOMY\",\r\n                                \"carrierCode\": \"KQ\",\r\n                                \"departure\": {\r\n                                    \"airport\": \"Jomo Kenyatta International Airport\",\r\n                                    \"at\": \"2025-12-21T09:10:00\",\r\n                                    \"city\": \"Nairobi\",\r\n                                    \"iataCode\": \"NBO\",\r\n                                    \"terminal\": \"1A\"\r\n                                },\r\n                                \"duration\": \"PT9H20M\",\r\n                                \"id\": \"2\",\r\n                                \"number\": \"100\",\r\n                                \"numberOfStops\": 0,\r\n                                \"operating\": {\r\n                                    \"carrierCode\": \"KQ\"\r\n                                },\r\n                                \"original_carry_on_baggage\": {\r\n                                    \"available\": true,\r\n                                    \"quantity\": 1,\r\n                                    \"unit\": \"kg\",\r\n                                    \"weight\": 0\r\n                                },\r\n                                \"original_checked_baggage\": {\r\n                                    \"available\": true,\r\n                                    \"quantity\": 2,\r\n                                    \"unit\": \"kg\",\r\n                                    \"weight\": 0\r\n                                }\r\n                            }\r\n                        ]\r\n                    },\r\n                    {\r\n                        \"duration\": \"PT13H50M\",\r\n                        \"flightSegments\": [\r\n                            {\r\n                                \"aircraft\": \"788\",\r\n                                \"arrival\": \"2026-01-21T05:00:00\",\r\n                                \"arrivalCity\": \"Nairobi (Jomo Kenyatta International Airport)\",\r\n                                \"departure\": \"2026-01-20T17:25:00\",\r\n                                \"departureCity\": \"London (London Heathrow Airport)\",\r\n                                \"flightDuration\": \"PT8H35M\",\r\n                                \"flightNumber\": \"KQ101\"\r\n                            },\r\n                            {\r\n                                \"aircraft\": \"73H\",\r\n                                \"arrival\": \"2026-01-21T11:30:00\",\r\n                                \"arrivalCity\": \"Lagos (Murtala Muhammed International Airport)\",\r\n                                \"departure\": \"2026-01-21T08:15:00\",\r\n                                \"departureCity\": \"Nairobi (Jomo Kenyatta International Airport)\",\r\n                                \"flightDuration\": \"PT5H15M\",\r\n                                \"flightNumber\": \"KQ532\"\r\n                            }\r\n                        ],\r\n                        \"layovers\": [\r\n                            {\r\n                                \"duration\": \"3h 15m\",\r\n                                \"location\": \"Nairobi (Jomo Kenyatta International Airport)\"\r\n                            }\r\n                        ],\r\n                        \"segments\": [\r\n                            {\r\n                                \"aircraft\": {\r\n                                    \"code\": \"788\"\r\n                                },\r\n                                \"arrival\": {\r\n                                    \"airport\": \"Jomo Kenyatta International Airport\",\r\n                                    \"at\": \"2026-01-21T05:00:00\",\r\n                                    \"city\": \"Nairobi\",\r\n                                    \"iataCode\": \"NBO\",\r\n                                    \"terminal\": \"1A\"\r\n                                },\r\n                                \"blacklistedInEU\": false,\r\n                                \"bookingClass\": \"N\",\r\n                                \"cabinClass\": \"ECONOMY\",\r\n                                \"carrierCode\": \"KQ\",\r\n                                \"departure\": {\r\n                                    \"airport\": \"London Heathrow Airport\",\r\n                                    \"at\": \"2026-01-20T17:25:00\",\r\n                                    \"city\": \"London\",\r\n                                    \"iataCode\": \"LHR\",\r\n                                    \"terminal\": \"4\"\r\n                                },\r\n                                \"duration\": \"PT8H35M\",\r\n                                \"id\": \"1\",\r\n                                \"number\": \"101\",\r\n                                \"numberOfStops\": 0,\r\n                                \"operating\": {\r\n                                    \"carrierCode\": \"KQ\"\r\n                                },\r\n                                \"original_carry_on_baggage\": {\r\n                                    \"available\": true,\r\n                                    \"quantity\": 1,\r\n                                    \"unit\": \"kg\",\r\n                                    \"weight\": 0\r\n                                },\r\n                                \"original_checked_baggage\": {\r\n                                    \"available\": true,\r\n                                    \"quantity\": 2,\r\n                                    \"unit\": \"kg\",\r\n                                    \"weight\": 0\r\n                                }\r\n                            },\r\n                            {\r\n                                \"aircraft\": {\r\n                                    \"code\": \"73H\"\r\n                                },\r\n                                \"arrival\": {\r\n                                    \"airport\": \"Murtala Muhammed International Airport\",\r\n                                    \"at\": \"2026-01-21T11:30:00\",\r\n                                    \"city\": \"Lagos\",\r\n                                    \"iataCode\": \"LOS\",\r\n                                    \"terminal\": \"2I\"\r\n                                },\r\n                                \"blacklistedInEU\": false,\r\n                                \"bookingClass\": \"N\",\r\n                                \"cabinClass\": \"ECONOMY\",\r\n                                \"carrierCode\": \"KQ\",\r\n                                \"departure\": {\r\n                                    \"airport\": \"Jomo Kenyatta International Airport\",\r\n                                    \"at\": \"2026-01-21T08:15:00\",\r\n                                    \"city\": \"Nairobi\",\r\n                                    \"iataCode\": \"NBO\",\r\n                                    \"terminal\": \"1A\"\r\n                                },\r\n                                \"duration\": \"PT5H15M\",\r\n                                \"id\": \"2\",\r\n                                \"number\": \"532\",\r\n                                \"numberOfStops\": 0,\r\n                                \"operating\": {\r\n                                    \"carrierCode\": \"KQ\"\r\n                                },\r\n                                \"original_carry_on_baggage\": {\r\n                                    \"available\": true,\r\n                                    \"quantity\": 1,\r\n                                    \"unit\": \"kg\",\r\n                                    \"weight\": 0\r\n                                },\r\n                                \"original_checked_baggage\": {\r\n                                    \"available\": true,\r\n                                    \"quantity\": 2,\r\n                                    \"unit\": \"kg\",\r\n                                    \"weight\": 0\r\n                                }\r\n                            }\r\n                        ]\r\n                    }\r\n                ],\r\n                \"lastTicketingDate\": null,\r\n                \"lastTicketingDateTime\": null,\r\n                \"nonHomogeneous\": false,\r\n                \"numberOfBookableSeats\": 9,\r\n                \"oneWay\": false,\r\n                \"price\": {\r\n                    \"additionalServices\": [\r\n                        {\r\n                            \"amount\": \"0.00\",\r\n                            \"type\": \"CHECKED_BAGS\"\r\n                        }\r\n                    ],\r\n                    \"base\": \"810781.80\",\r\n                    \"currency\": \"NGN\",\r\n                    \"fees\": [\r\n                        {\r\n                            \"amount\": \"0.00\",\r\n                            \"type\": \"SUPPLIER\"\r\n                        },\r\n                        {\r\n                            \"amount\": \"0.00\",\r\n                            \"type\": \"TICKETING\"\r\n                        }\r\n                    ],\r\n                    \"grandTotal\": \"3921303.80\",\r\n                    \"total\": \"3921303.80\"\r\n                },\r\n                \"pricingOptions\": {\r\n                    \"fareType\": [\r\n                        \"PUBLISHED\"\r\n                    ],\r\n                    \"includedCheckedBagsOnly\": false\r\n                },\r\n                \"source\": \"Intraverse\",\r\n                \"supplier\": \"AmadeusOne\",\r\n                \"travelerPricings\": [\r\n                    {\r\n                        \"fareDetailsBySegment\": [\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"0\",\r\n                                \"segmentId\": \"1\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"0\",\r\n                                \"segmentId\": \"2\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"1\",\r\n                                \"segmentId\": \"1\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"1\",\r\n                                \"segmentId\": \"2\"\r\n                            }\r\n                        ],\r\n                        \"fareOption\": \"STANDARD\",\r\n                        \"price\": {\r\n                            \"base\": \"284680.53\",\r\n                            \"currency\": \"NGN\",\r\n                            \"total\": \"1287285.53\"\r\n                        },\r\n                        \"travelerId\": \"1\",\r\n                        \"travelerType\": \"ADULT\"\r\n                    },\r\n                    {\r\n                        \"fareDetailsBySegment\": [\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"0\",\r\n                                \"segmentId\": \"1\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"0\",\r\n                                \"segmentId\": \"2\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"1\",\r\n                                \"segmentId\": \"1\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"1\",\r\n                                \"segmentId\": \"2\"\r\n                            }\r\n                        ],\r\n                        \"fareOption\": \"STANDARD\",\r\n                        \"price\": {\r\n                            \"base\": \"284680.53\",\r\n                            \"currency\": \"NGN\",\r\n                            \"total\": \"1287285.53\"\r\n                        },\r\n                        \"travelerId\": \"2\",\r\n                        \"travelerType\": \"ADULT\"\r\n                    },\r\n                    {\r\n                        \"fareDetailsBySegment\": [\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"0\",\r\n                                \"segmentId\": \"1\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"0\",\r\n                                \"segmentId\": \"2\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"1\",\r\n                                \"segmentId\": \"1\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"1\",\r\n                                \"segmentId\": \"2\"\r\n                            }\r\n                        ],\r\n                        \"fareOption\": \"STANDARD\",\r\n                        \"price\": {\r\n                            \"base\": \"213510.88\",\r\n                            \"currency\": \"NGN\",\r\n                            \"total\": \"1036817.88\"\r\n                        },\r\n                        \"travelerId\": \"3\",\r\n                        \"travelerType\": \"CHILD\"\r\n                    },\r\n                    {\r\n                        \"fareDetailsBySegment\": [\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"0\",\r\n                                \"segmentId\": \"1\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"0\",\r\n                                \"segmentId\": \"2\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"1\",\r\n                                \"segmentId\": \"1\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 2\r\n                                },\r\n                                \"itineraryId\": \"1\",\r\n                                \"segmentId\": \"2\"\r\n                            }\r\n                        ],\r\n                        \"fareOption\": \"STANDARD\",\r\n                        \"price\": {\r\n                            \"base\": \"27909.86\",\r\n                            \"currency\": \"NGN\",\r\n                            \"total\": \"289914.86\"\r\n                        },\r\n                        \"travelerId\": \"4\",\r\n                        \"travelerType\": \"HELD_INFANT\"\r\n                    }\r\n                ],\r\n                \"type\": \"flight-offer\",\r\n                \"validatingAirlineCodes\": [\r\n                    \"KQ\"\r\n                ]\r\n            }\r\n        ]\r\n    },\r\n    \"searchId\": \"ef1c5c28-4f7e-4245-b8ba-47a12cd3f2c3\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/flight_offer_price","urlObject":{"path":["flights","flight_offer_price"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"de2e555a-2b19-432b-8b51-6461259f9b36","name":"flights/flight_offer_price","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"data\": [\r\n    {\r\n      \"id\": \"1\",\r\n      \"instantTicketingRequired\": false,\r\n      \"isUpsellOffer\": false,\r\n      \"itineraries\": [\r\n        {\r\n          \"duration\": \"PT1H15M\",\r\n          \"segments\": [\r\n            {\r\n              \"aircraft\": {\r\n                \"code\": \"223\"\r\n              },\r\n              \"arrival\": {\r\n                \"at\": \"2025-04-10T22:00:00\",\r\n                \"iataCode\": \"CDG\",\r\n                \"terminal\": \"2E\"\r\n              },\r\n              \"blacklistedInEU\": false,\r\n              \"carrierCode\": \"AF\",\r\n              \"departure\": {\r\n                \"at\": \"2025-04-10T19:45:00\",\r\n                \"iataCode\": \"LHR\",\r\n                \"terminal\": \"4\"\r\n              },\r\n              \"duration\": \"PT1H15M\",\r\n              \"id\": \"1\",\r\n              \"number\": \"1181\",\r\n              \"numberOfStops\": 0,\r\n              \"operating\": {\r\n                \"carrierCode\": \"AF\"\r\n              }\r\n            }\r\n          ]\r\n        }\r\n      ],\r\n      \"lastTicketingDate\": \"2025-04-10\",\r\n      \"lastTicketingDateTime\": \"2025-04-10\",\r\n      \"nonHomogeneous\": false,\r\n      \"numberOfBookableSeats\": 9,\r\n      \"oneWay\": false,\r\n      \"price\": {\r\n        \"additionalServices\": [\r\n          {\r\n            \"amount\": \"31.40\",\r\n            \"type\": \"CHECKED_BAGS\"\r\n          }\r\n        ],\r\n        \"base\": \"63.00\",\r\n        \"currency\": \"USD\",\r\n        \"fees\": [\r\n          {\r\n            \"amount\": \"0.00\",\r\n            \"type\": \"SUPPLIER\"\r\n          },\r\n          {\r\n            \"amount\": \"0.00\",\r\n            \"type\": \"TICKETING\"\r\n          }\r\n        ],\r\n        \"grandTotal\": \"135.60\",\r\n        \"total\": \"135.60\"\r\n      },\r\n      \"pricingOptions\": {\r\n        \"fareType\": [\r\n          \"PUBLISHED\"\r\n        ],\r\n        \"includedCheckedBagsOnly\": false\r\n      },\r\n      \"source\": \"GDS\",\r\n      \"travelerPricings\": [\r\n        {\r\n          \"fareDetailsBySegment\": [\r\n            {\r\n              \"amenities\": [\r\n                {\r\n                  \"amenityProvider\": {\r\n                    \"name\": \"BrandedFare\"\r\n                  },\r\n                  \"amenityType\": \"BAGGAGE\",\r\n                  \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                  \"isChargeable\": true\r\n                },\r\n                {\r\n                  \"amenityProvider\": {\r\n                    \"name\": \"BrandedFare\"\r\n                  },\r\n                  \"amenityType\": \"MEAL\",\r\n                  \"description\": \"SNACK\",\r\n                  \"isChargeable\": false\r\n                },\r\n                {\r\n                  \"amenityProvider\": {\r\n                    \"name\": \"BrandedFare\"\r\n                  },\r\n                  \"amenityType\": \"MEAL\",\r\n                  \"description\": \"BEVERAGE\",\r\n                  \"isChargeable\": false\r\n                },\r\n                {\r\n                  \"amenityProvider\": {\r\n                    \"name\": \"BrandedFare\"\r\n                  },\r\n                  \"amenityType\": \"BRANDED_FARES\",\r\n                  \"description\": \"SEAT SELECTION\",\r\n                  \"isChargeable\": true\r\n                },\r\n                {\r\n                  \"amenityProvider\": {\r\n                    \"name\": \"BrandedFare\"\r\n                  },\r\n                  \"amenityType\": \"BRANDED_FARES\",\r\n                  \"description\": \"MILEAGE ACCRUAL\",\r\n                  \"isChargeable\": false\r\n                },\r\n                {\r\n                  \"amenityProvider\": {\r\n                    \"name\": \"BrandedFare\"\r\n                  },\r\n                  \"amenityType\": \"BRANDED_FARES\",\r\n                  \"description\": \"UPGRADE ELIGIBILITY\",\r\n                  \"isChargeable\": true\r\n                }\r\n              ],\r\n              \"brandedFare\": \"LIGHT\",\r\n              \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n              \"cabin\": \"ECONOMY\",\r\n              \"class\": \"T\",\r\n              \"fareBasis\": \"TYS0BALA\",\r\n              \"includedCabinBags\": {\r\n                \"quantity\": 1\r\n              },\r\n              \"includedCheckedBags\": {\r\n                \"quantity\": 0\r\n              },\r\n              \"segmentId\": \"1\"\r\n            }\r\n          ],\r\n          \"fareOption\": \"STANDARD\",\r\n          \"price\": {\r\n            \"base\": \"63.00\",\r\n            \"currency\": \"USD\",\r\n            \"total\": \"135.60\"\r\n          },\r\n          \"travelerId\": \"1\",\r\n          \"travelerType\": \"ADULT\"\r\n        }\r\n      ],\r\n      \"type\": \"flight-offer\",\r\n      \"validatingAirlineCodes\": [\r\n        \"AF\"\r\n      ]\r\n    }\r\n  ],\r\n  \"dictionaries\": {\r\n    \"aircraft\": {\r\n      \"223\": \"AIRBUS  A220-300\"\r\n    },\r\n    \"carriers\": {\r\n      \"AF\": \"AIR FRANCE\"\r\n    },\r\n    \"currencies\": {\r\n      \"USD\": \"US DOLLAR\"\r\n    },\r\n    \"locations\": {\r\n      \"CDG\": {\r\n        \"cityCode\": \"PAR\",\r\n        \"countryCode\": \"FR\"\r\n      },\r\n      \"LHR\": {\r\n        \"cityCode\": \"LON\",\r\n        \"countryCode\": \"GB\"\r\n      }\r\n    }\r\n  },\r\n  \"meta\": {\r\n    \"count\": 1,\r\n    \"links\": {\r\n      \"self\": \"https://test.api.amadeus.com/v2/shopping/flight-offers?originLocationCode=LON&destinationLocationCode=PAR&departureDate=2025-04-10&adults=1&children=0&infants=0&travelClass=ECONOMY&nonStop=true&currencyCode=USD&maxPrice=5000&max=1\"\r\n    }\r\n  }\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/flight_offer_price"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Tue, 01 Apr 2025 22:31:02 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"1954","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"booking_id\": \"c7b19685-a837-44cb-a4e1-05ca624cf1d1\",\n    \"flight offer price response_data\": {\n        \"data\": {\n            \"bookingRequirements\": {\n                \"emailAddressRequired\": true,\n                \"mobilePhoneNumberRequired\": true\n            },\n            \"flightOffers\": [\n                {\n                    \"id\": \"1\",\n                    \"instantTicketingRequired\": false,\n                    \"itineraries\": [\n                        {\n                            \"segments\": [\n                                {\n                                    \"aircraft\": {\n                                        \"code\": \"223\"\n                                    },\n                                    \"arrival\": {\n                                        \"at\": \"2025-04-10T22:00:00\",\n                                        \"iataCode\": \"CDG\",\n                                        \"terminal\": \"2E\"\n                                    },\n                                    \"carrierCode\": \"AF\",\n                                    \"co2Emissions\": [\n                                        {\n                                            \"cabin\": \"ECONOMY\",\n                                            \"weight\": 47,\n                                            \"weightUnit\": \"KG\"\n                                        }\n                                    ],\n                                    \"departure\": {\n                                        \"at\": \"2025-04-10T19:45:00\",\n                                        \"iataCode\": \"LHR\",\n                                        \"terminal\": \"4\"\n                                    },\n                                    \"duration\": \"PT1H15M\",\n                                    \"id\": \"1\",\n                                    \"number\": \"1181\",\n                                    \"numberOfStops\": 0,\n                                    \"operating\": {\n                                        \"carrierCode\": \"AF\"\n                                    }\n                                }\n                            ]\n                        }\n                    ],\n                    \"lastTicketingDate\": \"2025-04-10\",\n                    \"nonHomogeneous\": false,\n                    \"paymentCardRequired\": false,\n                    \"price\": {\n                        \"base\": \"65.00\",\n                        \"billingCurrency\": \"USD\",\n                        \"currency\": \"USD\",\n                        \"fees\": [\n                            {\n                                \"amount\": \"0.00\",\n                                \"type\": \"SUPPLIER\"\n                            },\n                            {\n                                \"amount\": \"0.00\",\n                                \"type\": \"TICKETING\"\n                            },\n                            {\n                                \"amount\": \"0.00\",\n                                \"type\": \"FORM_OF_PAYMENT\"\n                            }\n                        ],\n                        \"grandTotal\": \"139.50\",\n                        \"total\": \"139.50\"\n                    },\n                    \"pricingOptions\": {\n                        \"fareType\": [\n                            \"PUBLISHED\"\n                        ],\n                        \"includedCheckedBagsOnly\": false\n                    },\n                    \"source\": \"GDS\",\n                    \"travelerPricings\": [\n                        {\n                            \"fareDetailsBySegment\": [\n                                {\n                                    \"brandedFare\": \"LIGHT\",\n                                    \"cabin\": \"ECONOMY\",\n                                    \"class\": \"T\",\n                                    \"fareBasis\": \"TYS0BALA\",\n                                    \"includedCheckedBags\": {\n                                        \"quantity\": 0\n                                    },\n                                    \"segmentId\": \"1\"\n                                }\n                            ],\n                            \"fareOption\": \"STANDARD\",\n                            \"price\": {\n                                \"base\": \"65.00\",\n                                \"currency\": \"USD\",\n                                \"refundableTaxes\": \"47.00\",\n                                \"taxes\": [\n                                    {\n                                        \"amount\": \"25.90\",\n                                        \"code\": \"YQ\"\n                                    },\n                                    {\n                                        \"amount\": \"1.60\",\n                                        \"code\": \"YR\"\n                                    },\n                                    {\n                                        \"amount\": \"16.80\",\n                                        \"code\": \"GB\"\n                                    },\n                                    {\n                                        \"amount\": \"30.20\",\n                                        \"code\": \"UB\"\n                                    }\n                                ],\n                                \"total\": \"139.50\"\n                            },\n                            \"travelerId\": \"1\",\n                            \"travelerType\": \"ADULT\"\n                        }\n                    ],\n                    \"type\": \"flight-offer\",\n                    \"validatingAirlineCodes\": [\n                        \"AF\"\n                    ]\n                }\n            ],\n            \"type\": \"flight-offers-pricing\"\n        },\n        \"dictionaries\": {\n            \"locations\": {\n                \"CDG\": {\n                    \"cityCode\": \"PAR\",\n                    \"countryCode\": \"FR\"\n                },\n                \"LHR\": {\n                    \"cityCode\": \"LON\",\n                    \"countryCode\": \"GB\"\n                }\n            }\n        },\n        \"warnings\": [\n            {\n                \"code\": 0,\n                \"detail\": \"Actual price and/or fare basis for some passengers is different from requested ones\",\n                \"status\": 200,\n                \"title\": \"PricingOrFareBasisDiscrepancyWarning\"\n            }\n        ]\n    },\n    \"message\": \"Booking created successfully\",\n    \"order_id\": \"HeX_#-250401248518\"\n}"},{"id":"b6cb49f3-01ca-4108-964d-b26d177a3d08","name":"flights/flight_offer_price","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"data\": {\r\n        \"data\": [\r\n            {\r\n                \"airlineLogo\": \"https://cdn.hermextravels.com/WB.png\",\r\n                \"brandedFaresUpsell\": [],\r\n                \"flightOverview\": {\r\n                    \"airline\": \"WB\",\r\n                    \"currency\": \"NGN\",\r\n                    \"fareType\": \"ECONOMY\",\r\n                    \"includedCabinBags\": 1,\r\n                    \"includedCheckedBags\": 3,\r\n                    \"totalDuration\": \"PT14H40M\",\r\n                    \"totalPrice\": \"951446.00\"\r\n                },\r\n                \"id\": \"1INTRAb08609ac-d060-4a83-88a0-47181c7543c7\",\r\n                \"instantTicketingRequired\": false,\r\n                \"isUpsellOffer\": false,\r\n                \"itineraries\": [\r\n                    {\r\n                        \"duration\": \"PT14H40M\",\r\n                        \"flightSegments\": [\r\n                            {\r\n                                \"aircraft\": \"738\",\r\n                                \"arrival\": \"2025-10-10T21:05:00\",\r\n                                \"arrivalCity\": \"Kigali (Kigali International Airport)\",\r\n                                \"departure\": \"2025-10-10T14:45:00\",\r\n                                \"departureCity\": \"Lagos (Murtala Muhammed International Airport)\",\r\n                                \"flightDuration\": \"PT5H20M\",\r\n                                \"flightNumber\": \"WB203\"\r\n                            },\r\n                            {\r\n                                \"aircraft\": \"332\",\r\n                                \"arrival\": \"2025-10-11T09:50:00\",\r\n                                \"arrivalCity\": \"Paris (Charles de Gaulle International Airport)\",\r\n                                \"departure\": \"2025-10-11T00:30:00\",\r\n                                \"departureCity\": \"Kigali (Kigali International Airport)\",\r\n                                \"flightDuration\": \"PT9H20M\",\r\n                                \"flightNumber\": \"WB700\"\r\n                            }\r\n                        ],\r\n                        \"layovers\": [\r\n                            {\r\n                                \"duration\": \"3h 25m\",\r\n                                \"location\": \"Kigali (Kigali International Airport)\"\r\n                            }\r\n                        ],\r\n                        \"segments\": [\r\n                            {\r\n                                \"aircraft\": {\r\n                                    \"code\": \"738\"\r\n                                },\r\n                                \"arrival\": {\r\n                                    \"airport\": \"Kigali International Airport\",\r\n                                    \"at\": \"2025-10-10T21:05:00\",\r\n                                    \"city\": \"Kigali\",\r\n                                    \"iataCode\": \"KGL\",\r\n                                    \"terminal\": \"\"\r\n                                },\r\n                                \"blacklistedInEU\": false,\r\n                                \"bookingClass\": \"N\",\r\n                                \"cabinClass\": \"ECONOMY\",\r\n                                \"carrierCode\": \"WB\",\r\n                                \"departure\": {\r\n                                    \"airport\": \"Murtala Muhammed International Airport\",\r\n                                    \"at\": \"2025-10-10T14:45:00\",\r\n                                    \"city\": \"Lagos\",\r\n                                    \"iataCode\": \"LOS\",\r\n                                    \"terminal\": \"2I\"\r\n                                },\r\n                                \"duration\": \"PT5H20M\",\r\n                                \"id\": \"1\",\r\n                                \"number\": \"203\",\r\n                                \"numberOfStops\": 0,\r\n                                \"operating\": {\r\n                                    \"carrierCode\": \"WB\"\r\n                                },\r\n                                \"original_carry_on_baggage\": {\r\n                                    \"available\": true,\r\n                                    \"quantity\": 1,\r\n                                    \"unit\": \"kg\",\r\n                                    \"weight\": 0\r\n                                },\r\n                                \"original_checked_baggage\": {\r\n                                    \"available\": true,\r\n                                    \"quantity\": 3,\r\n                                    \"unit\": \"kg\",\r\n                                    \"weight\": 0\r\n                                }\r\n                            },\r\n                            {\r\n                                \"aircraft\": {\r\n                                    \"code\": \"332\"\r\n                                },\r\n                                \"arrival\": {\r\n                                    \"airport\": \"Charles de Gaulle International Airport\",\r\n                                    \"at\": \"2025-10-11T09:50:00\",\r\n                                    \"city\": \"Paris\",\r\n                                    \"iataCode\": \"CDG\",\r\n                                    \"terminal\": \"1\"\r\n                                },\r\n                                \"blacklistedInEU\": false,\r\n                                \"bookingClass\": \"N\",\r\n                                \"cabinClass\": \"ECONOMY\",\r\n                                \"carrierCode\": \"WB\",\r\n                                \"departure\": {\r\n                                    \"airport\": \"Kigali International Airport\",\r\n                                    \"at\": \"2025-10-11T00:30:00\",\r\n                                    \"city\": \"Kigali\",\r\n                                    \"iataCode\": \"KGL\",\r\n                                    \"terminal\": \"\"\r\n                                },\r\n                                \"duration\": \"PT9H20M\",\r\n                                \"id\": \"2\",\r\n                                \"number\": \"700\",\r\n                                \"numberOfStops\": 0,\r\n                                \"operating\": {\r\n                                    \"carrierCode\": \"WB\"\r\n                                },\r\n                                \"original_carry_on_baggage\": {\r\n                                    \"available\": true,\r\n                                    \"quantity\": 1,\r\n                                    \"unit\": \"kg\",\r\n                                    \"weight\": 0\r\n                                },\r\n                                \"original_checked_baggage\": {\r\n                                    \"available\": true,\r\n                                    \"quantity\": 3,\r\n                                    \"unit\": \"kg\",\r\n                                    \"weight\": 0\r\n                                }\r\n                            }\r\n                        ]\r\n                    }\r\n                ],\r\n                \"lastTicketingDate\": null,\r\n                \"lastTicketingDateTime\": null,\r\n                \"nonHomogeneous\": false,\r\n                \"numberOfBookableSeats\": 9,\r\n                \"oneWay\": true,\r\n                \"price\": {\r\n                    \"additionalServices\": [\r\n                        {\r\n                            \"amount\": \"0.00\",\r\n                            \"type\": \"CHECKED_BAGS\"\r\n                        }\r\n                    ],\r\n                    \"base\": \"352320.00\",\r\n                    \"currency\": \"NGN\",\r\n                    \"fees\": [\r\n                        {\r\n                            \"amount\": \"0.00\",\r\n                            \"type\": \"SUPPLIER\"\r\n                        },\r\n                        {\r\n                            \"amount\": \"0.00\",\r\n                            \"type\": \"TICKETING\"\r\n                        }\r\n                    ],\r\n                    \"grandTotal\": \"951446.00\",\r\n                    \"total\": \"951446.00\"\r\n                },\r\n                \"pricingOptions\": {\r\n                    \"fareType\": [\r\n                        \"PUBLISHED\"\r\n                    ],\r\n                    \"includedCheckedBagsOnly\": false\r\n                },\r\n                \"source\": \"Intraverse\",\r\n                \"supplier\": \"AmadeusOne\",\r\n                \"travelerPricings\": [\r\n                    {\r\n                        \"fareDetailsBySegment\": [\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 3\r\n                                },\r\n                                \"segmentId\": \"1\"\r\n                            },\r\n                            {\r\n                                \"brandedFare\": \"ECONOMY\",\r\n                                \"brandedFareLabel\": \"ECONOMY\",\r\n                                \"cabin\": \"ECONOMY\",\r\n                                \"class\": \"N\",\r\n                                \"fareBasis\": \"\",\r\n                                \"includedCabinBags\": {\r\n                                    \"quantity\": 1\r\n                                },\r\n                                \"includedCheckedBags\": {\r\n                                    \"quantity\": 3\r\n                                },\r\n                                \"segmentId\": \"2\"\r\n                            }\r\n                        ],\r\n                        \"fareOption\": \"STANDARD\",\r\n                        \"price\": {\r\n                            \"base\": \"352320.00\",\r\n                            \"currency\": \"NGN\",\r\n                            \"total\": \"951446.00\"\r\n                        },\r\n                        \"travelerId\": \"1\",\r\n                        \"travelerType\": \"ADULT\"\r\n                    }\r\n                ],\r\n                \"type\": \"flight-offer\",\r\n                \"validatingAirlineCodes\": [\r\n                    \"WB\"\r\n                ]\r\n            }\r\n        ]\r\n    },\r\n    \"searchId\": \"ef1c5c28-4f7e-4245-b8ba-47a12cd3f2c3\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/flight_offer_price"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0"},{"key":"Date","value":"Sun, 05 Oct 2025 22:03:22 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"3468"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:3000"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Vary","value":"Origin"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"booking_id\": \"16701d28-3898-4cfa-a85a-b741d091a676\",\n    \"flight_offer_price_response\": {\n        \"data\": {\n            \"bookingRequirements\": {\n                \"emailAddressRequired\": true,\n                \"mobilePhoneNumberRequired\": true\n            },\n            \"flightOffers\": [\n                {\n                    \"airlineLogo\": \"https://cdn.hermextravels.com/WB@2x.png\",\n                    \"id\": \"1\",\n                    \"itineraries\": [\n                        {\n                            \"duration\": \"14h 40m\",\n                            \"segments\": [\n                                {\n                                    \"aircraft\": {\n                                        \"code\": \"738\"\n                                    },\n                                    \"amenities\": [],\n                                    \"arrival\": {\n                                        \"airport\": \"Kigali International Airport\",\n                                        \"at\": \"2025-10-10T21:05:00\",\n                                        \"city\": \"Kigali\",\n                                        \"iataCode\": \"KGL\",\n                                        \"terminal\": \"\"\n                                    },\n                                    \"baggage\": \"0 KG Carry-On, 3 KG Checked\",\n                                    \"carrierCode\": \"WB\",\n                                    \"departure\": {\n                                        \"airport\": \"Murtala Muhammed International Airport\",\n                                        \"at\": \"2025-10-10T14:45:00\",\n                                        \"city\": \"Lagos\",\n                                        \"iataCode\": \"LOS\",\n                                        \"terminal\": \"2I\"\n                                    },\n                                    \"duration\": \"5h 20m\",\n                                    \"number\": \"203\",\n                                    \"stops\": 0\n                                },\n                                {\n                                    \"aircraft\": {\n                                        \"code\": \"332\"\n                                    },\n                                    \"amenities\": [],\n                                    \"arrival\": {\n                                        \"airport\": \"Charles de Gaulle International Airport\",\n                                        \"at\": \"2025-10-11T09:50:00\",\n                                        \"city\": \"Paris\",\n                                        \"iataCode\": \"CDG\",\n                                        \"terminal\": \"1\"\n                                    },\n                                    \"baggage\": \"0 KG Carry-On, 3 KG Checked\",\n                                    \"carrierCode\": \"WB\",\n                                    \"departure\": {\n                                        \"airport\": \"Kigali International Airport\",\n                                        \"at\": \"2025-10-11T00:30:00\",\n                                        \"city\": \"Kigali\",\n                                        \"iataCode\": \"KGL\",\n                                        \"terminal\": \"\"\n                                    },\n                                    \"duration\": \"9h 20m\",\n                                    \"number\": \"700\",\n                                    \"stops\": 0\n                                }\n                            ]\n                        }\n                    ],\n                    \"price\": {\n                        \"currency\": \"NGN\",\n                        \"grandTotal\": 934446\n                    },\n                    \"source\": \"Intraverse\",\n                    \"supplier\": \"AmadeusOne\",\n                    \"travelerPricings\": [\n                        {\n                            \"fareDetailsBySegment\": [\n                                {\n                                    \"brandedFareLabel\": \"Economy\",\n                                    \"includedCabinBags\": {\n                                        \"quantity\": null\n                                    },\n                                    \"includedCheckedBags\": {\n                                        \"quantity\": null\n                                    }\n                                }\n                            ]\n                        }\n                    ]\n                }\n            ],\n            \"type\": \"flight-offers-pricing\"\n        }\n    },\n    \"markup_percentage\": 3,\n    \"markup_price\": 28033.38,\n    \"message\": \"Booking created successfully\",\n    \"order_id\": \"HeX_#-251005120942\",\n    \"original_price\": 934446,\n    \"payment\": {\n        \"authorization_url\": \"https://checkout.paystack.com/73s7p15m435ou5w\",\n        \"note\": \"Split payment initialized for Intraverse flight\",\n        \"reference\": \"HeX_TX-2510055A88779\",\n        \"subaccount\": \"ACCT_8bqbylcp42p15my\",\n        \"transaction_fee\": 28874.38\n    },\n    \"total_price\": 962479.38\n}"}],"_postman_id":"790e897c-7adf-44ba-b076-8c5b1a1583fd"},{"name":"flights/flight_availabilities","id":"8436cc05-3b83-405e-bcb6-259d39673b94","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"originDestinations\": [\r\n    {\r\n      \"id\": \"1\",\r\n      \"originLocationCode\": \"BOS\",\r\n      \"destinationLocationCode\": \"MAD\",\r\n      \"departureDateTime\": {\r\n        \"date\": \"2024-11-14\",\r\n        \"time\": \"21:15:00\"\r\n      }\r\n    }\r\n  ],\r\n  \"travelers\": [\r\n    {\r\n      \"id\": \"1\",\r\n      \"travelerType\": \"ADULT\"\r\n    }\r\n  ],\r\n  \"sources\": [\r\n    \"GDS\"\r\n  ]\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/flight_availabilities","description":"<h3 id=\"flight-availabilities\">Flight Availabilities</h3>\n<p>This endpoint allows you to retrieve flight availabilities based on the provided origin-destination and traveler details.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><strong>originDestinations</strong> (<code>array</code>): An array of origin-destination details including id, origin location code, destination location code, and departure date-time.</p>\n<ul>\n<li><p><code>id</code> (<code>string</code>): The ID of the origin-destination.</p>\n</li>\n<li><p><code>originLocationCode</code> (<code>string</code>): The code for the origin location.</p>\n</li>\n<li><p><code>destinationLocationCode</code> (<code>string</code>): The code for the destination location.</p>\n</li>\n<li><p><code>departureDateTime</code> (<code>object</code>): The date and time of departure.</p>\n<ul>\n<li><p><code>date</code> (<code>string</code>): The date of departure.</p>\n</li>\n<li><p><code>time</code> (<code>string</code>): The time of departure.</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>travelers</strong> (<code>array</code>): An array of traveler details including id and traveler type.</p>\n<ul>\n<li><p><code>id</code> (<code>string</code>): The ID of the traveler.</p>\n</li>\n<li><p><code>travelerType</code> (<code>string</code>): The type of traveler.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>sources</strong> (<code>array</code>): An array of sources.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response will be a JSON array with the following fields for each flight availability:</p>\n<ul>\n<li><p><code>duration</code> (<code>string</code>): The duration of the flight.</p>\n</li>\n<li><p><code>id</code> (<code>string</code>): The ID of the flight availability.</p>\n</li>\n<li><p><code>instantTicketingRequired</code> (<code>boolean</code>): Indicates if instant ticketing is required.</p>\n</li>\n<li><p><code>originDestinationId</code> (<code>string</code>): The ID of the origin-destination.</p>\n</li>\n<li><p><code>paymentCardRequired</code> (<code>boolean</code>): Indicates if payment card is required.</p>\n</li>\n<li><p><code>segments</code> (<code>array</code>): An array of flight segments.</p>\n<ul>\n<li><p><code>aircraft</code> (<code>object</code>): Details of the aircraft.</p>\n<ul>\n<li><code>code</code> (<code>string</code>): The code of the aircraft.</li>\n</ul>\n</li>\n<li><p><code>arrival</code> (<code>object</code>): Details of the arrival.</p>\n<ul>\n<li><p><code>at</code> (<code>string</code>): The arrival time.</p>\n</li>\n<li><p><code>iataCode</code> (<code>string</code>): The IATA code of the arrival location.</p>\n</li>\n<li><p><code>terminal</code> (<code>string</code>): The terminal at the arrival location.</p>\n</li>\n</ul>\n</li>\n<li><p><code>availabilityClasses</code> (<code>array</code>): An array of availability classes.</p>\n<ul>\n<li><p><code>class</code> (<code>string</code>): The class of availability.</p>\n</li>\n<li><p><code>numberOfBookableSeats</code> (<code>integer</code>): The number of bookable seats.</p>\n</li>\n</ul>\n</li>\n<li><p><code>blacklistedInEU</code> (<code>boolean</code>): Indicates if the flight is blacklisted in the EU.</p>\n</li>\n<li><p><code>carrierCode</code> (<code>string</code>): The code of the carrier.</p>\n</li>\n<li><p><code>departure</code> (<code>object</code>): Details of the departure.</p>\n<ul>\n<li><p><code>at</code> (<code>string</code>): The departure time.</p>\n</li>\n<li><p><code>iataCode</code> (<code>string</code>): The IATA code of the departure location.</p>\n</li>\n<li><p><code>terminal</code> (<code>string</code>): The terminal at the departure location.</p>\n</li>\n</ul>\n</li>\n<li><p><code>id</code> (<code>string</code>): The ID of the segment.</p>\n</li>\n<li><p><code>number</code> (<code>string</code>): The segment number.</p>\n</li>\n<li><p><code>numberOfStops</code> (<code>integer</code>): The number of stops.</p>\n</li>\n</ul>\n</li>\n<li><p><code>source</code> (<code>string</code>): The source of the flight availability.</p>\n</li>\n<li><p><code>type</code> (<code>string</code>): The type of the flight availability.</p>\n</li>\n</ul>\n","urlObject":{"path":["flights","flight_availabilities"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8436cc05-3b83-405e-bcb6-259d39673b94"},{"name":"flights/seatmaps","id":"8d86c802-d622-4aaa-95de-5a1e6f04dabc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"id\": \"1\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2025-08-14T17:40:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2025-08-14T15:20:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"1\",\r\n                        \"number\": \"1781\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2025-08-14\",\r\n        \"lastTicketingDateTime\": \"2025-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 1,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"97.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"167.30\",\r\n            \"total\": \"167.30\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0BALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"1\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"97.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"167.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    }\r\n]","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/seatmaps","description":"<h3 id=\"seatmaps-api\">Seatmaps API</h3>\n<p>This endpoint allows you to retrieve seatmap information for a flight.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p>The request body should be in raw format and should include the following parameters:</p>\n<ul>\n<li><p>id (string, required): The ID of the seatmap.</p>\n</li>\n<li><p>instantTicketingRequired (boolean, required): Indicates if instant ticketing is required.</p>\n</li>\n<li><p>isUpsellOffer (boolean, required): Indicates if the offer is an upsell offer.</p>\n</li>\n<li><p>itineraries (array, required): An array of itineraries containing flight segments.</p>\n</li>\n<li><p>lastTicketingDate (string, required): The last ticketing date.</p>\n</li>\n<li><p>lastTicketingDateTime (string, required): The last ticketing date and time.</p>\n</li>\n<li><p>nonHomogeneous (boolean, required): Indicates if the seatmap is non-homogeneous.</p>\n</li>\n<li><p>numberOfBookableSeats (integer, required): The number of bookable seats.</p>\n</li>\n<li><p>oneWay (boolean, required): Indicates if the flight is one-way.</p>\n</li>\n<li><p>price (object, required): The price details including base, currency, fees, and total.</p>\n</li>\n<li><p>pricingOptions (object, required): The pricing options including fare type and included checked bags only.</p>\n</li>\n<li><p>source (string, required): The source of the seatmap.</p>\n</li>\n<li><p>travelerPricings (array, required): An array of traveler pricings including fare details by segment, fare option, price, traveler ID, and traveler type.</p>\n</li>\n<li><p>validatingAirlineCodes (array, required): An array of validating airline codes.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response will be in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"aircraft\": {\n      \"code\": \"\"\n    },\n    \"aircraftCabinAmenities\": {\n      \"beverage\": {\n        \"beverageType\": \"\",\n        \"isChargeable\": true\n      },\n      \"entertainment\": [\n        {\n          \"entertainmentType\": \"\",\n          \"isChargeable\": true\n        }\n      ],\n      \"food\": {\n        \"foodType\": \"\",\n        \"isChargeable\": true\n      },\n      \"power\": {\n        \"isChargeable\": true,\n        \"powerType\": \"\",\n        \"usbType\": \"\"\n      },\n      \"seat\": {\n        \"legSpace\": 0,\n        \"medias\": [\n          {\n            \"description\": {\n              \"lang\": \"\",\n              \"text\": \"\"\n            },\n            \"href\": \"\",\n            \"mediaType\": \"\",\n            \"title\": \"\"\n          }\n        ],\n        \"spaceUnit\": \"\",\n        \"tilt\": \"\"\n      },\n      \"wifi\": {\n        \"isChargeable\": true,\n        \"wifiCoverage\": \"\"\n      }\n    },\n    \"arrival\": {\n      \"at\": \"\",\n      \"iataCode\": \"\",\n      \"terminal\": \"\"\n    },\n    \"availableSeatsCounters\": [\n      {\n        \"travelerId\": \"\",\n        \"value\": 0\n      }\n    ],\n    \"carrierCode\": \"\",\n    \"class\": \"\",\n    \"decks\": [\n      {\n        \"deckConfiguration\": {\n          \"endSeatRow\": 0,\n          \"endWingsRow\": 0,\n          \"endWingsX\": 0,\n          \"exitRowsX\": [0],\n          \"length\": 0,\n          \"startSeatRow\": 0,\n          \"startWingsRow\": 0,\n          \"startWingsX\": 0,\n          \"width\": 0\n        },\n        \"deckType\": \"\",\n        \"facilities\": [\n          {\n            \"code\": \"\",\n            \"column\": \"\",\n            \"coordinates\": {\n              \"x\": 0,\n              \"y\": 0\n            },\n            \"position\": \"\",\n            \"row\": \"\"\n          }\n        ],\n        \"seats\": [\n          {\n            \"cabin\": \"\",\n            \"characteristicsCodes\": [\"\"],\n            \"coordinates\": {\n              \"x\": 0,\n              \"y\": 0\n            },\n            \"number\": \"\",\n            \"travelerPricing\": [\n              {\n                \"price\": {\n                  \"base\": \"\",\n                  \"currency\": \"\",\n                  \"taxes\": [\n                    {\n                      \"amount\": \"\",\n                      \"code\": \"\"\n                    }\n                  ],\n                  \"total\": \"\"\n                },\n                \"seatAvailabilityStatus\": \"\",\n                \"travelerId\": \"\"\n              }\n            ]\n          }\n        ]\n      }\n    ],\n    \"departure\": {\n      \"at\": \"\",\n      \"iataCode\": \"\",\n      \"terminal\": \"\"\n    },\n    \"flightOfferId\": \"\",\n    \"id\": \"\",\n    \"number\": \"\",\n    \"operating\": {\n      \"carrierCode\": \"\"\n    },\n    \"segmentId\": \"\",\n    \"type\": \"\"\n  }\n]\n\n</code></pre>\n<p>This JSON schema represents the structure of the response returned by the API when retrieving seatmap information for a flight.</p>\n","urlObject":{"path":["flights","seatmaps"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8d86c802-d622-4aaa-95de-5a1e6f04dabc"},{"name":"flights/search-multi-city","id":"17764eb4-bde1-466f-816c-f4e20ae25351","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"currencyCode\": \"USD\",\n  \"originDestinations\": [\n    {\n      \"id\": \"1\",\n      \"originLocationCode\": \"NYC\",\n      \"destinationLocationCode\": \"MAD\",\n      \"departureDateTimeRange\": {\n        \"date\": \"2025-11-01\",\n        \"time\": \"10:00:00\"\n      }\n    },\n    {\n      \"id\": \"2\",\n      \"originLocationCode\": \"MAD\",\n      \"destinationLocationCode\": \"PAR\",\n      \"departureDateTimeRange\": {\n        \"date\": \"2025-11-05\",\n        \"time\": \"12:00:00\"\n      }\n    },\n    {\n      \"id\": \"3\",\n      \"originLocationCode\": \"PAR\",\n      \"destinationLocationCode\": \"NYC\",\n      \"departureDateTimeRange\": {\n        \"date\": \"2025-11-10\",\n        \"time\": \"14:00:00\"\n      }\n    }\n  ],\n  \"travelers\": [\n    {\"id\": \"1\", \"travelerType\": \"ADULT\"},  // Adult\n    {\"id\": \"2\", \"travelerType\": \"CHILD\"},  // Child (under 12)\n    {\"id\": \"3\", \"travelerType\": \"SEATED_INFANT\"}   // Infant\n  ],\n  \"sources\": [\"GDS\"],\n  \"searchCriteria\": {\n    \"maxFlightOffers\": 2,\n    \"flightFilters\": {\n      \"cabinRestrictions\": [\n        {\n          \"cabin\": \"BUSINESS\",\n          \"coverage\": \"MOST_SEGMENTS\",\n          \"originDestinationIds\": [\"1\", \"2\", \"3\"]\n        }\n      ]\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/search-multi-city","description":"<h3 id=\"flight-multi-city-search\">Flight Multi-City Search</h3>\n<p>This endpoint allows you to search for multi-city flight options.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>currencyCode</code> (string): The currency code for the pricing.</p>\n</li>\n<li><p><code>originDestinations</code> (array): An array of origin and destination locations with departure date and time.</p>\n<ul>\n<li><p><code>id</code> (string): Identifier for the origin-destination pair.</p>\n</li>\n<li><p><code>originLocationCode</code> (string): The code for the origin location.</p>\n</li>\n<li><p><code>destinationLocationCode</code> (string): The code for the destination location.</p>\n</li>\n<li><p><code>departureDateTimeRange</code> (object): Date and time for departure.</p>\n<ul>\n<li><p><code>date</code> (string): The date of departure.</p>\n</li>\n<li><p><code>time</code> (string): The time of departure.</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>travelers</code> (array): An array of travelers with their type.</p>\n<ul>\n<li><p><code>id</code> (string): Identifier for the traveler.</p>\n</li>\n<li><p><code>travelerType</code> (string): Type of traveler (e.g., ADULT, CHILD, etc.).</p>\n</li>\n</ul>\n</li>\n<li><p><code>sources</code> (array): An array of sources for the flight search.</p>\n</li>\n<li><p><code>searchCriteria</code> (object): Criteria for the flight search.</p>\n<ul>\n<li><p><code>maxFlightOffers</code> (number): Maximum number of flight offers to be returned.</p>\n</li>\n<li><p><code>flightFilters</code> (object): Filters for the flight search.</p>\n<ul>\n<li><p><code>cabinRestrictions</code> (array): Restrictions based on cabin class.</p>\n<ul>\n<li><p><code>cabin</code> (string): The cabin class (e.g., BUSINESS, ECONOMY, etc.).</p>\n</li>\n<li><p><code>coverage</code> (string): The coverage type for the cabin restriction.</p>\n</li>\n<li><p><code>originDestinationIds</code> (array): Origin-destination pair identifiers.</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is a JSON schema with the following structure:</p>\n<ul>\n<li><p><code>data</code> (array): Array of flight data.</p>\n<ul>\n<li><p><code>id</code> (string): Identifier for the flight.</p>\n</li>\n<li><p><code>instantTicketingRequired</code> (boolean): Indicates if instant ticketing is required.</p>\n</li>\n<li><p><code>isUpsellOffer</code> (boolean): Indicates if the offer is an upsell.</p>\n</li>\n<li><p><code>itineraries</code> (array): Array of flight itineraries.</p>\n<ul>\n<li><p><code>duration</code> (string): Duration of the itinerary.</p>\n</li>\n<li><p><code>segments</code> (array): Array of flight segments.</p>\n<ul>\n<li><p><code>aircraft</code> (object): Details of the aircraft.</p>\n<ul>\n<li><code>code</code> (string): The code of the aircraft.</li>\n</ul>\n</li>\n<li><p><code>arrival</code> (object): Details of the arrival.</p>\n<ul>\n<li><p><code>at</code> (string): Arrival time.</p>\n</li>\n<li><p><code>iataCode</code> (string): IATA code of the arrival location.</p>\n</li>\n</ul>\n</li>\n<li><p><code>blacklistedInEU</code> (boolean): Indicates if the flight is blacklisted in the EU.</p>\n</li>\n<li><p><code>carrierCode</code> (string): Code of the carrier.</p>\n</li>\n<li><p><code>departure</code> (object): Details of the departure.</p>\n<ul>\n<li><p><code>at</code> (string): Departure time.</p>\n</li>\n<li><p><code>iataCode</code> (string): IATA code of the departure location.</p>\n</li>\n<li><p><code>terminal</code> (string): Terminal information.</p>\n</li>\n</ul>\n</li>\n<li><p><code>duration</code> (string): Duration of the segment.</p>\n</li>\n<li><p><code>id</code> (string): Identifier for the segment.</p>\n</li>\n<li><p><code>number</code> (string): Flight number.</p>\n</li>\n<li><p><code>numberOfStops</code> (number): Number of stops.</p>\n</li>\n</ul>\n</li>\n<li><p><code>lastTicketingDate</code> (string): Last ticketing date.</p>\n</li>\n<li><p><code>lastTicketingDateTime</code> (string): Last ticketing date and time.</p>\n</li>\n<li><p><code>nonHomogeneous</code> (boolean): Indicates if the itinerary is non-homogeneous.</p>\n</li>\n<li><p><code>numberOfBookableSeats</code> (number): Number of bookable seats.</p>\n</li>\n<li><p><code>oneWay</code> (boolean): Indicates if it's a one-way flight.</p>\n</li>\n<li><p><code>price</code> (object): Pricing details.</p>\n<ul>\n<li><p><code>base</code> (string): Base price.</p>\n</li>\n<li><p><code>currency</code> (string): Currency code.</p>\n</li>\n<li><p><code>fees</code> (array): Array of fees.</p>\n<ul>\n<li><p><code>amount</code> (string): Amount of the fee.</p>\n</li>\n<li><p><code>type</code> (string): Type of the fee.</p>\n</li>\n</ul>\n</li>\n<li><p><code>grandTotal</code> (string): Grand total price.</p>\n</li>\n<li><p><code>total</code> (string): Total price.</p>\n</li>\n</ul>\n</li>\n<li><p><code>pricingOptions</code> (object): Options for pricing.</p>\n<ul>\n<li><p><code>fareType</code> (array): Array of fare types.</p>\n</li>\n<li><p><code>includedCheckedBagsOnly</code> (boolean): Indicates if only checked bags are included.</p>\n</li>\n</ul>\n</li>\n<li><p><code>source</code> (string): The source of the flight.</p>\n</li>\n<li><p><code>travelerPricings</code> (array): Array of traveler pricings.</p>\n<ul>\n<li><p><code>fareDetailsBySegment</code> (array): Array of fare details by segment.</p>\n<ul>\n<li><p><code>amenities</code> (array): Array of amenities.</p>\n<ul>\n<li><p><code>amenityProvider</code> (object): Provider of the amenity.</p>\n<ul>\n<li><code>name</code> (string): Name of the provider.</li>\n</ul>\n</li>\n<li><p><code>amenityType</code> (string): Type of the amenity.</p>\n</li>\n<li><p><code>description</code> (string): Description of the amenity.</p>\n</li>\n<li><p><code>isChargeable</code> (boolean): Indicates if the amenity is chargeable.</p>\n</li>\n</ul>\n</li>\n<li><p><code>brandedFare</code> (string): Branded fare details.</p>\n</li>\n<li><p><code>brandedFareLabel</code> (string): Label for the branded fare.</p>\n</li>\n<li><p><code>cabin</code> (string): Cabin class.</p>\n</li>\n<li><p><code>class</code> (string): Class of the fare.</p>\n</li>\n<li><p><code>fareBasis</code> (string): Fare basis.</p>\n</li>\n<li><p><code>includedCabinBags</code> (object): Details of included cabin bags.</p>\n<ul>\n<li><code>quantity</code> (number): Quantity of included cabin bags.</li>\n</ul>\n</li>\n<li><p><code>includedCheckedBags</code> (object): Details of included checked bags.</p>\n<ul>\n<li><code>quantity</code> (number): Quantity of included checked bags.</li>\n</ul>\n</li>\n<li><p><code>segmentId</code> (string): Identifier for the segment.</p>\n</li>\n</ul>\n</li>\n<li><p><code>fareOption</code> (string): Fare option.</p>\n</li>\n<li><p><code>price</code> (object): Pricing details.</p>\n<ul>\n<li><p><code>base</code> (string): Base price.</p>\n</li>\n<li><p><code>currency</code> (string): Currency code.</p>\n</li>\n<li><p><code>total</code> (string): Total price.</p>\n</li>\n</ul>\n</li>\n<li><p><code>travelerId</code> (string): Identifier for the traveler.</p>\n</li>\n<li><p><code>travelerType</code> (string): Type of the traveler.</p>\n</li>\n</ul>\n</li>\n<li><p><code>type</code> (string): Type of the flight.</p>\n</li>\n<li><p><code>validatingAirlineCodes</code> (array): Array of validating airline codes.</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>dictionaries</code> (object): Dictionaries for aircraft, carriers, currencies, and locations.</p>\n<ul>\n<li><p><code>aircraft</code> (object): Dictionary of aircraft codes.</p>\n</li>\n<li><p><code>carriers</code> (object): Dictionary of carrier codes.</p>\n</li>\n<li><p><code>currencies</code> (object): Dictionary of currency codes.</p>\n</li>\n<li><p><code>locations</code> (object): Dictionary of location codes.</p>\n</li>\n</ul>\n</li>\n<li><p><code>meta</code> (object): Meta information.</p>\n<ul>\n<li><code>count</code> (number): Count of flight data.</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"path":["flights","search-multi-city"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"17764eb4-bde1-466f-816c-f4e20ae25351"},{"name":"flights/booking_confirmation","id":"9aa6c1f5-aa2d-4e0d-bd41-aee4c7a4d9da","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"booking_id\": \"c7b19685-a837-44cb-a4e1-05ca624cf1d1\",\r\n    \"tx_ref\": \"HeX_TX-25040269F278E\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/booking_confirmation","description":"<h2 id=\"confirm-flight-booking\"><strong>Confirm Flight Booking</strong></h2>\n<h3 id=\"endpoint\"><strong>Endpoint:</strong></h3>\n<p><code>POST /booking_confirmation</code></p>\n<h3 id=\"authentication\"><strong>Authentication:</strong></h3>\n<p>JWT token required (<code>@jwt_required()</code>)</p>\n<h3 id=\"request-headers\"><strong>Request Headers:</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"Authorization\": \"Bearer &lt;JWT_TOKEN&gt;\",\n    \"Content-Type\": \"application/json\"\n}\n\n</code></pre>\n<h3 id=\"request-body\"><strong>Request Body:</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"booking_id\": \"987654-hg321-54634fg-fgfdgh\",\n    \"tx_ref\": \"HeX_TX-123456789\"\n}\n\n</code></pre>\n<h3 id=\"response\"><strong>Response:</strong></h3>\n<h4 id=\"success-200\"><strong>Success (200)</strong></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Flight Booking confirmed successfully\",\n    \"booking_id\": \"98765-4321-5355-5535\",\n    \"confirmation_number\": \"HeXCF-12345625458555\",\n    \"flight_details\": {\n        \"flight_booking_id\": \"FB98765\",\n        \"carrier_code\": \"AA\",\n        \"flight_number\": \"AA123\",\n        \"departure_airport\": \"JFK\",\n        \"arrival_airport\": \"LAX\",\n        \"departure_time\": \"2025-06-01T10:00:00\",\n        \"arrival_time\": \"2025-06-01T16:30:00\",\n        \"aircraft_code\": \"777\",\n        \"co2_emissions\": 500,\n        \"status\": \"PAID\"\n    }\n}\n\n</code></pre>\n<h4 id=\"errors\"><strong>Errors:</strong></h4>\n<ul>\n<li><p><code>400 BAD REQUEST</code> – Missing <code>booking_id</code> or <code>tx_ref</code></p>\n</li>\n<li><p><code>404 NOT FOUND</code> – Booking, transaction, or user not found</p>\n</li>\n<li><p><code>500 INTERNAL SERVER ERROR</code> – Database or server error</p>\n</li>\n</ul>\n","urlObject":{"path":["flights","booking_confirmation"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"017cbad4-529e-42bd-9bac-3e20833fc9ab","name":"{{baseUrl}}/flights/booking_confirmation","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"booking_id\": \"c7b19685-a837-44cb-a4e1-05ca624cf1d1\",\r\n    \"tx_ref\": \"HeX_TX-25040269F278E\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/booking_confirmation"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Tue, 01 Apr 2025 22:21:02 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"484","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"booking_id\": \"c7b19685-a837-44cb-a4e1-05ca624cf1d1\",\n    \"confirmation_number\": \"HeX_CF-250401D871743546061152\",\n    \"flight_details\": {\n        \"aircraft_code\": \"223\",\n        \"arrival_airport\": \"CDG\",\n        \"arrival_time\": \"Thu, 10 Apr 2025 22:00:00 GMT\",\n        \"carrier_code\": \"AF\",\n        \"co2_emissions\": 47,\n        \"departure_airport\": \"LHR\",\n        \"departure_time\": \"Thu, 10 Apr 2025 19:45:00 GMT\",\n        \"flight_booking_id\": \"a8374c25-a0d6-404b-bf66-2fef02b49806\",\n        \"flight_number\": \"1181\",\n        \"status\": \"PAID\"\n    },\n    \"message\": \"Flight Booking confirmed successfully\"\n}"}],"_postman_id":"9aa6c1f5-aa2d-4e0d-bd41-aee4c7a4d9da"},{"name":"flights/intraverse_webhook","id":"530ffac1-b0b9-4cb1-8135-ba8705c88150","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://59b4f5ab1b33.ngrok-free.app/flights/intraverse_webhook","urlObject":{"protocol":"https","path":["flights","intraverse_webhook"],"host":["59b4f5ab1b33","ngrok-free","app"],"query":[],"variable":[]}},"response":[],"_postman_id":"530ffac1-b0b9-4cb1-8135-ba8705c88150"},{"name":"/flights/confirm_bank_payment","id":"55885af7-f48c-4e5f-aafb-5958c3193bd8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"booking_id\": \"6dc6ecb9-6c83-49ae-b4bd-a3f470dbb9c1\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/confirm_bank_payment","description":"<h2 id=\"confirm-bank-transfer-payment\">Confirm Bank Transfer Payment</h2>\n<p>This endpoint confirms a bank transfer payment for a flight booking after the customer has completed the transfer to the provided bank account.</p>\n<h3 id=\"purpose\">Purpose</h3>\n<p>Use this endpoint to notify the system that a bank transfer payment has been made for a specific booking. This triggers the payment verification process and updates the booking status accordingly.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p><strong>Required Fields:</strong></p>\n<ul>\n<li><code>booking_id</code> (string, UUID format): The unique identifier of the booking for which payment is being confirmed</li>\n</ul>\n<p><strong>Example:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"booking_id\": \"3a1dc5e9-6162-439d-af6d-c4a536aaa88c\"\n}\n\n</code></pre>\n<h3 id=\"response\">Response</h3>\n<p><strong>Success Response (200 OK):</strong></p>\n<p>The response includes comprehensive payment confirmation details:</p>\n<ul>\n<li><p><code>status</code> (string): Payment confirmation status (e.g., \"confirmed\")</p>\n</li>\n<li><p><code>booking_id</code> (string): The booking identifier that was confirmed</p>\n</li>\n<li><p><code>order_id</code> (string): The generated order reference number</p>\n</li>\n<li><p><code>amount_paid</code> (number): The total amount paid in the specified currency</p>\n</li>\n<li><p><code>currency</code> (string): The currency code (e.g., \"NGN\" for Nigerian Naira)</p>\n</li>\n<li><p><code>confirmation_timestamp</code> (string, ISO 8601): When the payment confirmation was received</p>\n</li>\n<li><p><code>bank_details</code> (object): The bank account information used for the transfer</p>\n<ul>\n<li><p><code>bank_name</code> (string): Name of the receiving bank</p>\n</li>\n<li><p><code>account_number</code> (string): Account number where payment was received</p>\n</li>\n<li><p><code>account_name</code> (string): Name on the receiving account</p>\n</li>\n</ul>\n</li>\n<li><p><code>message</code> (string): Confirmation message for the user</p>\n</li>\n<li><p><code>next_steps</code> (string): Instructions on what happens next</p>\n</li>\n</ul>\n<p><strong>Example Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"amount_paid\": 366072.29,\n  \"bank_details\": {\n    \"account_name\": \"TEST-MANAGED-ACCOUNT\",\n    \"account_number\": \"1238446113\",\n    \"bank_name\": \"Test Bank\"\n  },\n  \"booking_id\": \"3a1dc5e9-6162-439d-af6d-c4a536aaa88c\",\n  \"confirmation_timestamp\": \"2025-11-24T13:54:33.373815\",\n  \"currency\": \"NGN\",\n  \"message\": \"Payment confirmation received. Your booking is being processed.\",\n  \"order_id\": \"HeX_#-251124443802\",\n  \"status\": \"confirmed\",\n  \"next_steps\": \"Your ticket will be issued automatically once payment is verified.\"\n}\n\n</code></pre>\n<h3 id=\"usage-notes\">Usage Notes</h3>\n<ul>\n<li><p>Ensure the <code>booking_id</code> is valid and corresponds to an existing booking with pending bank transfer payment</p>\n</li>\n<li><p>The confirmation timestamp is automatically generated by the system</p>\n</li>\n<li><p>After confirmation, the system will verify the payment and issue tickets automatically</p>\n</li>\n<li><p>Keep the <code>order_id</code> from the response for future reference and customer support inquiries</p>\n</li>\n</ul>\n","urlObject":{"path":["flights","confirm_bank_payment"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"55885af7-f48c-4e5f-aafb-5958c3193bd8"}],"id":"061dfe28-2454-432a-b1d5-12c74d2a31db","description":"<p>Endpoints for advanced flight functions in hermex travels</p>\n","_postman_id":"061dfe28-2454-432a-b1d5-12c74d2a31db"},{"name":"BASIC flight Functions","item":[{"name":"flights/flight_inspiration","id":"5ba8ab68-beff-457e-97ca-83c37d4433f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/flight_inspiration?origin=MAD","description":"<h3 id=\"flight-inspiration\">Flight Inspiration</h3>\n<p>This endpoint makes an HTTP GET request to retrieve flight inspiration based on the specified origin.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<ul>\n<li><code>origin</code> (string, required): The origin airport code for the flight inspiration.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response will be a JSON array containing flight inspiration details with the following keys:</p>\n<ul>\n<li><p><code>departureDate</code> (string): The departure date for the flight.</p>\n</li>\n<li><p><code>destination</code> (string): The destination airport code.</p>\n</li>\n<li><p><code>links</code> (object): Contains links for flight dates and flight offers.</p>\n<ul>\n<li><p><code>flightDates</code> (string): Link for flight dates.</p>\n</li>\n<li><p><code>flightOffers</code> (string): Link for flight offers.</p>\n</li>\n</ul>\n</li>\n<li><p><code>origin</code> (string): The origin airport code.</p>\n</li>\n<li><p><code>price</code> (object): Contains total price details.</p>\n<ul>\n<li><code>total</code> (string): The total price for the flight.</li>\n</ul>\n</li>\n<li><p><code>returnDate</code> (string): The return date for the flight.</p>\n</li>\n<li><p><code>type</code> (string): Type of the flight inspiration.</p>\n</li>\n</ul>\n","urlObject":{"path":["flights","flight_inspiration"],"host":["{{baseUrl}}"],"query":[{"key":"origin","value":"MAD"}],"variable":[]}},"response":[],"_postman_id":"5ba8ab68-beff-457e-97ca-83c37d4433f9"},{"name":"flights/flight_cheapest_dates","id":"a6d6dfb1-6a46-4651-a0b3-d573148bdb3f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"id\": \"1\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T17:40:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T15:20:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"1\",\r\n                        \"number\": \"1781\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 1,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"97.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"167.30\",\r\n            \"total\": \"167.30\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0BALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"1\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"97.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"167.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    }\r\n]","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/flight_cheapest_dates?origin=LON&destination=PAR&oneWay=true&nonStop=true&maxPrice=500&viewBy=DATE","description":"<h3 id=\"flight-cheapest-dates\">Flight Cheapest Dates</h3>\n<p>This endpoint retrieves the cheapest flight dates based on the provided origin, destination, and other parameters.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<ul>\n<li><p><code>origin</code> (string, required): The three-letter IATA code of the origin airport.</p>\n</li>\n<li><p><code>destination</code> (string, required): The three-letter IATA code of the destination airport.</p>\n</li>\n<li><p><code>oneWay</code> (boolean, required): Indicates if the flight is one-way.</p>\n</li>\n<li><p><code>nonStop</code> (boolean, required): Indicates if the flight should be non-stop.</p>\n</li>\n<li><p><code>maxPrice</code> (number, required): The maximum price for the flight.</p>\n</li>\n<li><p><code>viewBy</code> (string, required): Indicates how the results should be viewed (e.g., by date).</p>\n</li>\n</ul>\n<h4 id=\"response-body\">Response Body</h4>\n<p>The response will be in JSON format and will contain an array of objects with the following properties:</p>\n<ul>\n<li><p><code>departureDate</code> (string): The date of departure.</p>\n</li>\n<li><p><code>destination</code> (string): The destination airport.</p>\n</li>\n<li><p><code>links</code> (object): Contains links related to flight destinations and offers.</p>\n</li>\n<li><p><code>origin</code> (string): The origin airport.</p>\n</li>\n<li><p><code>price</code> (object): Contains information about the total price.</p>\n</li>\n<li><p><code>type</code> (string): Indicates the type of flight.</p>\n</li>\n</ul>\n<p>An example response object:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"departureDate\": \"\",\n        \"destination\": \"\",\n        \"links\": {\n            \"flightDestinations\": \"\",\n            \"flightOffers\": \"\"\n        },\n        \"origin\": \"\",\n        \"price\": {\n            \"total\": \"\"\n        },\n        \"type\": \"\"\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["flights","flight_cheapest_dates"],"host":["{{baseUrl}}"],"query":[{"key":"origin","value":"LON"},{"key":"destination","value":"PAR"},{"disabled":true,"key":"departureDate","value":"2024-11-11"},{"key":"oneWay","value":"true"},{"disabled":true,"key":"duration","value":"7"},{"key":"nonStop","value":"true"},{"key":"maxPrice","value":"500"},{"key":"viewBy","value":"DATE"}],"variable":[]}},"response":[],"_postman_id":"a6d6dfb1-6a46-4651-a0b3-d573148bdb3f"},{"name":"flights/flight_checkin_links","id":"2fdcb284-c745-476b-a80c-8a4509e930dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/flight_checkin_links?airlineCode=TK","description":"<h3 id=\"flight-check-in-links\">Flight Check-in Links</h3>\n<p>This endpoint is used to retrieve flight check-in links for a specific airline.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p>Method: GET</p>\n</li>\n<li><p>Endpoint: <code>http://127.0.0.1:5000/api/flight_checkin_links</code></p>\n</li>\n<li><p>Query Parameters:</p>\n<ul>\n<li>airlineCode (required, string): The airline code for which the check-in links are to be retrieved.</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is an array of flight check-in link objects in JSON format. Each object has the following properties:</p>\n<ul>\n<li><p>channel (string): The channel for the check-in link.</p>\n</li>\n<li><p>href (string): The URL of the check-in link.</p>\n</li>\n<li><p>id (string): The unique identifier of the check-in link.</p>\n</li>\n<li><p>type (string): The type of the check-in link.</p>\n</li>\n</ul>\n<p>Example response body:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"channel\": \"\",\n        \"href\": \"\",\n        \"id\": \"\",\n        \"type\": \"\"\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["flights","flight_checkin_links"],"host":["{{baseUrl}}"],"query":[{"key":"airlineCode","value":"TK"}],"variable":[]}},"response":[],"_postman_id":"2fdcb284-c745-476b-a80c-8a4509e930dd"},{"name":"flights/flight_offers","id":"f76f60ae-3868-4053-9220-2d9e50a0b64d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/flight_offers_search?origin=LOS&destination=LHR&departure_date=2025-12-20&return_date=2026-01-20&adults=2&children=1&infants=1&travel_class=ECONOMY&non_stop=true&max=1","description":"<p>The API endpoint <code>flight_offers_search</code> is a GET request that retrieves flight offers based on the provided search criteria. The request URL is <code>http://127.0.0.1:5000/api/flight_offers_search</code>, and the parameters are as follows:</p>\n<ul>\n<li><p><code>children</code>: Number of children for the flight search.</p>\n</li>\n<li><p><code>return_date</code>: Return date for the flight search.</p>\n</li>\n<li><p><code>infants</code>: Number of infants for the flight search.</p>\n</li>\n<li><p><code>origin</code>: The origin airport code for the flight search.</p>\n</li>\n<li><p><code>destination</code>: The destination airport code for the flight search.</p>\n</li>\n<li><p><code>departure_date</code>: Departure date for the flight search.</p>\n</li>\n<li><p><code>adults</code>: Number of adults for the flight search.</p>\n</li>\n<li><p><code>non_stop</code>: Indicates if the user prefers non-stop flights.</p>\n</li>\n<li><p><code>travel_class</code>: The travel class for the flight search.</p>\n</li>\n<li><p><code>max</code>: Maximum number of flight offers to return.</p>\n</li>\n</ul>\n<p>The response returned is a JSON array with a status code of 200 and a content type of <code>application/json</code>. The array contains objects representing flight offers. Each flight offer object includes various details such as ID, instant ticketing requirement, upsell offer status, itineraries, last ticketing date, number of bookable seats, price details, pricing options, source, traveler pricings, validating airline codes, and more.</p>\n<p>Due to the complexity and depth of the response, it is recommended to use a JSON schema validator to generate a schema for the response, as the structure contains nested objects and arrays with multiple properties and sub-properties.</p>\n<p>Here is a sample JSON schema for the response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"array\",\n  \"items\": {\n    \"type\": \"object\",\n    \"properties\": {\n      // Detailed schema properties as per the provided response\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["flights","flight_offers_search"],"host":["{{baseUrl}}"],"query":[{"key":"origin","value":"LOS"},{"key":"destination","value":"LHR"},{"key":"departure_date","value":"2025-12-20"},{"key":"return_date","value":"2026-01-20"},{"key":"adults","value":"2"},{"key":"children","value":"1"},{"key":"infants","value":"1"},{"key":"travel_class","value":"ECONOMY"},{"key":"non_stop","value":"true"},{"disabled":true,"key":"currency_code","value":"USD"},{"disabled":true,"key":"max_price","value":"5000"},{"key":"max","value":"1"}],"variable":[]}},"response":[],"_postman_id":"f76f60ae-3868-4053-9220-2d9e50a0b64d"},{"name":"flights/airline_code_lookup","id":"0a3b9507-1c76-49a6-a5e4-de05827dbdf2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/airline_code_lookup?airlineCodes=AA","description":"<p>This endpoint performs a GET request to retrieve information about airline codes. The request should include a query parameter \"airlineCodes\" with the value of the airline code to be looked up.</p>\n<h3 id=\"request\">Request</h3>\n<ul>\n<li><p>Method: GET</p>\n</li>\n<li><p>URL: <a href=\"http://127.0.0.1:5000/api//airline_code_lookup\">http://127.0.0.1:5000/api//airline_code_lookup</a></p>\n</li>\n<li><p>Query Parameters:</p>\n<ul>\n<li>airlineCodes (string, required): The airline code to be looked up.</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><p>Status: 200</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n<li><p>Body:<br />  The response will be a JSON array containing objects with the following fields:</p>\n<ul>\n<li><p>businessName (string): The business name of the airline.</p>\n</li>\n<li><p>commonName (string): The common name of the airline.</p>\n</li>\n<li><p>iataCode (string): The IATA code of the airline.</p>\n</li>\n<li><p>icaoCode (string): The ICAO code of the airline.</p>\n</li>\n<li><p>type (string): The type of the airline.</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"path":["flights","airline_code_lookup"],"host":["{{baseUrl}}"],"query":[{"key":"airlineCodes","value":"AA"}],"variable":[]}},"response":[],"_postman_id":"0a3b9507-1c76-49a6-a5e4-de05827dbdf2"},{"name":"flights/airport_city_search","id":"514c3c21-c07f-4a13-a0e4-bf7e301b75b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/airport_city_search?keyword=lond","description":"<h3 id=\"airport-city-search\">Airport City Search</h3>\n<p>This endpoint makes an HTTP GET request to search for airports and cities based on a provided keyword.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<ul>\n<li><code>keyword</code> (string, required): The keyword to search for airports and cities.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response will be in JSON format with a status code of 200. The response will include an array of airports and an array of cities. Each airport and city object will contain detailed information such as address, analytics, detailed name, geocode, IATA code, ID, name, self reference, sub type, time zone offset, and type.</p>\n<p>Example Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"airports\": [\n        {\n            \"address\": {\n                \"cityCode\": \"\",\n                \"cityName\": \"\",\n                \"countryCode\": \"\",\n                \"countryName\": \"\",\n                \"regionCode\": \"\"\n            },\n            \"analytics\": {\n                \"travelers\": {\n                    \"score\": 0\n                }\n            },\n            \"detailedName\": \"\",\n            \"geoCode\": {\n                \"latitude\": 0,\n                \"longitude\": 0\n            },\n            \"iataCode\": \"\",\n            \"id\": \"\",\n            \"name\": \"\",\n            \"self\": {\n                \"href\": \"\",\n                \"methods\": [\"\"]\n            },\n            \"subType\": \"\",\n            \"timeZoneOffset\": \"\",\n            \"type\": \"\"\n        }\n    ],\n    \"cities\": [\n        {\n            \"address\": {\n                \"cityCode\": \"\",\n                \"cityName\": \"\",\n                \"countryCode\": \"\",\n                \"countryName\": \"\",\n                \"regionCode\": \"\"\n            },\n            \"analytics\": {\n                \"travelers\": {\n                    \"score\": 0\n                }\n            },\n            \"detailedName\": \"\",\n            \"geoCode\": {\n                \"latitude\": 0,\n                \"longitude\": 0\n            },\n            \"iataCode\": \"\",\n            \"id\": \"\",\n            \"name\": \"\",\n            \"self\": {\n                \"href\": \"\",\n                \"methods\": [\"\"]\n            },\n            \"subType\": \"\",\n            \"timeZoneOffset\": \"\",\n            \"type\": \"\"\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"path":["flights","airport_city_search"],"host":["{{baseUrl}}"],"query":[{"key":"keyword","value":"lond"}],"variable":[]}},"response":[],"_postman_id":"514c3c21-c07f-4a13-a0e4-bf7e301b75b3"},{"name":"flights/flight_status","id":"610532a9-43fd-4203-86d5-c7cf7682b4db","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/flight_status?carrierCode=AF&flightNumber=223&scheduledDepartureDate=2025-04-02","description":"<h3 id=\"flight-status-api\">Flight Status API</h3>\n<p>This API endpoint retrieves the status of a flight based on the carrier code, flight number, and scheduled departure date.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p>Method: GET</p>\n</li>\n<li><p>Endpoint: <code>http://127.0.0.1:5000/api/flight_status</code></p>\n</li>\n<li><p>Query Parameters:</p>\n<ul>\n<li><p><code>carrierCode</code> (string): The code of the airline carrier.</p>\n</li>\n<li><p><code>flightNumber</code> (integer): The flight number.</p>\n</li>\n<li><p><code>scheduledDepartureDate</code> (string): The scheduled departure date in the format 'YYYY-MM-DD'.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format and represents the status of the requested flight. Below is the JSON schema for the response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"flightDesignator\": {\n            \"carrierCode\": \"\",\n            \"flightNumber\": 0\n        },\n        \"flightPoints\": [\n            {\n                \"departure\": {\n                    \"timings\": [\n                        {\n                            \"qualifier\": \"\",\n                            \"value\": \"\"\n                        }\n                    ]\n                },\n                \"iataCode\": \"\"\n            }\n        ],\n        \"legs\": [\n            {\n                \"aircraftEquipment\": {\n                    \"aircraftType\": \"\"\n                },\n                \"boardPointIataCode\": \"\",\n                \"offPointIataCode\": \"\",\n                \"scheduledLegDuration\": \"\"\n            }\n        ],\n        \"scheduledDepartureDate\": \"\",\n        \"segments\": [\n            {\n                \"boardPointIataCode\": \"\",\n                \"offPointIataCode\": \"\",\n                \"partnership\": {\n                    \"operatingFlight\": {\n                        \"carrierCode\": \"\",\n                        \"flightNumber\": 0\n                    }\n                },\n                \"scheduledSegmentDuration\": \"\"\n            }\n        ],\n        \"type\": \"\"\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["flights","flight_status"],"host":["{{baseUrl}}"],"query":[{"key":"carrierCode","value":"AF"},{"key":"flightNumber","value":"223"},{"key":"scheduledDepartureDate","value":"2025-04-02"}],"variable":[]}},"response":[{"id":"d38d6a12-024a-4fb6-b7e9-f3810c59479b","name":"flights/flight_status","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/flights/flight_status?carrierCode=AF&flightNumber=223&scheduledDepartureDate=2025-04-02","host":["{{baseUrl}}"],"path":["flights","flight_status"],"query":[{"key":"carrierCode","value":"AF"},{"key":"flightNumber","value":"223"},{"key":"scheduledDepartureDate","value":"2025-04-02"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Wed, 02 Apr 2025 14:36:49 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"759","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"flightDesignator\": {\n            \"carrierCode\": \"AF\",\n            \"flightNumber\": 223\n        },\n        \"flightPoints\": [\n            {\n                \"departure\": {\n                    \"gate\": {\n                        \"mainGate\": \"114\"\n                    },\n                    \"terminal\": {\n                        \"code\": \"3\"\n                    },\n                    \"timings\": [\n                        {\n                            \"qualifier\": \"STD\",\n                            \"value\": \"2025-04-02T20:55+08:00\"\n                        }\n                    ]\n                },\n                \"iataCode\": \"MNL\"\n            },\n            {\n                \"arrival\": {\n                    \"terminal\": {\n                        \"code\": \"2E\"\n                    },\n                    \"timings\": [\n                        {\n                            \"delays\": [\n                                {\n                                    \"duration\": \"PT1M\"\n                                }\n                            ],\n                            \"qualifier\": \"STA\",\n                            \"value\": \"2025-04-03T05:45+02:00\"\n                        }\n                    ]\n                },\n                \"iataCode\": \"CDG\"\n            }\n        ],\n        \"legs\": [\n            {\n                \"aircraftEquipment\": {\n                    \"aircraftType\": \"359\"\n                },\n                \"boardPointIataCode\": \"MNL\",\n                \"offPointIataCode\": \"CDG\",\n                \"scheduledLegDuration\": \"PT14H50M\"\n            }\n        ],\n        \"scheduledDepartureDate\": \"2025-04-02\",\n        \"segments\": [\n            {\n                \"boardPointIataCode\": \"MNL\",\n                \"offPointIataCode\": \"CDG\",\n                \"partnership\": {\n                    \"operatingFlight\": {\n                        \"carrierCode\": \"KL\",\n                        \"flightNumber\": 2375\n                    }\n                },\n                \"scheduledSegmentDuration\": \"PT14H50M\"\n            }\n        ],\n        \"type\": \"DatedFlight\"\n    }\n]"},{"id":"114782f9-722e-4171-8e7e-775b041ad65a","name":"flights/flight_status","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/flights/flight_status?carrierCode=AF&flightNumber=223&scheduledDepartureDate=2025-04-02","host":["{{baseUrl}}"],"path":["flights","flight_status"],"query":[{"key":"carrierCode","value":"AF"},{"key":"flightNumber","value":"223"},{"key":"scheduledDepartureDate","value":"2025-04-02"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Wed, 02 Apr 2025 14:36:49 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"759","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"flightDesignator\": {\n            \"carrierCode\": \"AF\",\n            \"flightNumber\": 223\n        },\n        \"flightPoints\": [\n            {\n                \"departure\": {\n                    \"gate\": {\n                        \"mainGate\": \"114\"\n                    },\n                    \"terminal\": {\n                        \"code\": \"3\"\n                    },\n                    \"timings\": [\n                        {\n                            \"qualifier\": \"STD\",\n                            \"value\": \"2025-04-02T20:55+08:00\"\n                        }\n                    ]\n                },\n                \"iataCode\": \"MNL\"\n            },\n            {\n                \"arrival\": {\n                    \"terminal\": {\n                        \"code\": \"2E\"\n                    },\n                    \"timings\": [\n                        {\n                            \"delays\": [\n                                {\n                                    \"duration\": \"PT1M\"\n                                }\n                            ],\n                            \"qualifier\": \"STA\",\n                            \"value\": \"2025-04-03T05:45+02:00\"\n                        }\n                    ]\n                },\n                \"iataCode\": \"CDG\"\n            }\n        ],\n        \"legs\": [\n            {\n                \"aircraftEquipment\": {\n                    \"aircraftType\": \"359\"\n                },\n                \"boardPointIataCode\": \"MNL\",\n                \"offPointIataCode\": \"CDG\",\n                \"scheduledLegDuration\": \"PT14H50M\"\n            }\n        ],\n        \"scheduledDepartureDate\": \"2025-04-02\",\n        \"segments\": [\n            {\n                \"boardPointIataCode\": \"MNL\",\n                \"offPointIataCode\": \"CDG\",\n                \"partnership\": {\n                    \"operatingFlight\": {\n                        \"carrierCode\": \"KL\",\n                        \"flightNumber\": 2375\n                    }\n                },\n                \"scheduledSegmentDuration\": \"PT14H50M\"\n            }\n        ],\n        \"type\": \"DatedFlight\"\n    }\n]"}],"_postman_id":"610532a9-43fd-4203-86d5-c7cf7682b4db"},{"name":"flights/flight_delay_prediction","id":"030bc92d-a51c-4569-82b8-a260ecaad939","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/flight_delay_prediction?originLocationCode=LAX&destinationLocationCode=JFK&departureDate=2024-08-19&departureTime=22:30:00&arrivalDate=2024-08-20&arrivalTime=11:25:00&aircraftCode=320&carrierCode=B6&flightNumber=700&duration=595","description":"<h3 id=\"flight-delay-prediction-api\">Flight Delay Prediction API</h3>\n<p>This API endpoint retrieves the flight delay predictions based on the provided flight details.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p>Method: GET</p>\n</li>\n<li><p>URL: <code>http://127.0.0.1:5000/api/flight_delay_prediction</code></p>\n</li>\n<li><p>Query Parameters:</p>\n<ul>\n<li><p><code>originLocationCode</code> (string): The code for the origin airport.</p>\n</li>\n<li><p><code>destinationLocationCode</code> (string): The code for the destination airport.</p>\n</li>\n<li><p><code>departureDate</code> (string): The date of departure in the format 'YYYY-MM-DD'.</p>\n</li>\n<li><p><code>departureTime</code> (string): The time of departure in the format 'HH:MM:SS'.</p>\n</li>\n<li><p><code>arrivalDate</code> (string): The date of arrival in the format 'YYYY-MM-DD'.</p>\n</li>\n<li><p><code>arrivalTime</code> (string): The time of arrival in the format 'HH:MM:SS'.</p>\n</li>\n<li><p><code>aircraftCode</code> (string): The code for the aircraft.</p>\n</li>\n<li><p><code>carrierCode</code> (string): The code for the airline carrier.</p>\n</li>\n<li><p><code>flightNumber</code> (string): The flight number.</p>\n</li>\n<li><p><code>duration</code> (integer): The duration of the flight in minutes.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format and follows the schema below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"allPredictions\": [\n    {\n      \"id\": \"\",\n      \"probability\": \"\",\n      \"result\": \"\",\n      \"subType\": \"\",\n      \"type\": \"\"\n    }\n  ],\n  \"mostLikelyDelay\": {\n    \"id\": \"\",\n    \"probability\": \"\",\n    \"result\": \"\",\n    \"subType\": \"\",\n    \"type\": \"\"\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["flights","flight_delay_prediction"],"host":["{{baseUrl}}"],"query":[{"key":"originLocationCode","value":"LAX"},{"key":"destinationLocationCode","value":"JFK"},{"key":"departureDate","value":"2024-08-19"},{"key":"departureTime","value":"22:30:00"},{"key":"arrivalDate","value":"2024-08-20"},{"key":"arrivalTime","value":"11:25:00"},{"key":"aircraftCode","value":"320"},{"key":"carrierCode","value":"B6"},{"key":"flightNumber","value":"700"},{"key":"duration","value":"595"}],"variable":[]}},"response":[{"id":"d53ffba5-1da9-404c-8cb8-142f3032839a","name":"flights/flight_delay_prediction","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/flights/flight_delay_prediction?originLocationCode=LAX&destinationLocationCode=JFK&departureDate=2024-08-19&departureTime=22:30:00&arrivalDate=2024-08-20&arrivalTime=11:25:00&aircraftCode=320&carrierCode=B6&flightNumber=700&duration=595","host":["{{baseUrl}}"],"path":["flights","flight_delay_prediction"],"query":[{"key":"originLocationCode","value":"LAX"},{"key":"destinationLocationCode","value":"JFK"},{"key":"departureDate","value":"2024-08-19"},{"key":"departureTime","value":"22:30:00"},{"key":"arrivalDate","value":"2024-08-20"},{"key":"arrivalTime","value":"11:25:00"},{"key":"aircraftCode","value":"320"},{"key":"carrierCode","value":"B6"},{"key":"flightNumber","value":"700"},{"key":"duration","value":"595"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Wed, 02 Apr 2025 14:35:34 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"730","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"allPredictions\": [\n        {\n            \"id\": \"B6700LAXJFK20240819\",\n            \"probability\": \"0.23183517\",\n            \"result\": \"LESS_THAN_30_MINUTES\",\n            \"subType\": \"flight-delay\",\n            \"type\": \"prediction\"\n        },\n        {\n            \"id\": \"B6700LAXJFK20240819\",\n            \"probability\": \"0.30192563\",\n            \"result\": \"BETWEEN_30_AND_60_MINUTES\",\n            \"subType\": \"flight-delay\",\n            \"type\": \"prediction\"\n        },\n        {\n            \"id\": \"B6700LAXJFK20240819\",\n            \"probability\": \"0.37024546\",\n            \"result\": \"BETWEEN_60_AND_120_MINUTES\",\n            \"subType\": \"flight-delay\",\n            \"type\": \"prediction\"\n        },\n        {\n            \"id\": \"B6700LAXJFK20240819\",\n            \"probability\": \"0.09599374\",\n            \"result\": \"OVER_120_MINUTES_OR_CANCELLED\",\n            \"subType\": \"flight-delay\",\n            \"type\": \"prediction\"\n        }\n    ],\n    \"mostLikelyDelay\": {\n        \"id\": \"B6700LAXJFK20240819\",\n        \"probability\": \"0.37024546\",\n        \"result\": \"BETWEEN_60_AND_120_MINUTES\",\n        \"subType\": \"flight-delay\",\n        \"type\": \"prediction\"\n    }\n}"}],"_postman_id":"030bc92d-a51c-4569-82b8-a260ecaad939"},{"name":"flights/airport_on_time_performance","id":"95651f51-d5e5-4243-887f-9106e71e63ba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/airport_on_time_performance?airportCode=LAX&date=2024-08-20","description":"<h3 id=\"airport-on-time-performance\">Airport On-Time Performance</h3>\n<p>This endpoint retrieves the on-time performance data for a specific airport on a given date.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<ul>\n<li><p><code>airportCode</code> (query parameter) - The code of the airport for which the on-time performance data is requested.</p>\n</li>\n<li><p><code>date</code> (query parameter) - The date for which the on-time performance data is requested.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": \"\",\n  \"probability\": \"\",\n  \"result\": \"\",\n  \"subType\": \"\",\n  \"type\": \"\"\n}\n\n</code></pre>\n","urlObject":{"path":["flights","airport_on_time_performance"],"host":["{{baseUrl}}"],"query":[{"key":"airportCode","value":"LAX"},{"key":"date","value":"2024-08-20"}],"variable":[]}},"response":[{"id":"7d3e1bf6-d609-4b1b-8fc4-5d22a4d5d397","name":"flights/airport_on_time_performance","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/flights/airport_on_time_performance?airportCode=LAX&date=2024-08-20","host":["{{baseUrl}}"],"path":["flights","airport_on_time_performance"],"query":[{"key":"airportCode","value":"LAX"},{"key":"date","value":"2024-08-20"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Wed, 02 Apr 2025 14:35:13 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"105","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"LAX20240820\",\n    \"probability\": \"0.928\",\n    \"result\": \"0.75954676\",\n    \"subType\": \"on-time\",\n    \"type\": \"prediction\"\n}"}],"_postman_id":"95651f51-d5e5-4243-887f-9106e71e63ba"},{"name":"flights/airport_nearest","id":"2cbbb882-13a4-4f07-8061-81dde291f9bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/airport_nearest?longitude=-74.0060&latitude=40.7128","description":"<h3 id=\"get-nearest-airport\">Get Nearest Airport</h3>\n<p>This endpoint retrieves the nearest airport based on the provided longitude and latitude coordinates.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<ul>\n<li><p><code>longitude</code> (query parameter) - The longitude coordinate of the location.</p>\n</li>\n<li><p><code>latitude</code> (query parameter) - The latitude coordinate of the location.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Upon a successful request, the server will respond with a status code of 200 and a JSON object containing information about the nearest airport. The response includes details such as the airport's address, analytics, distance, geocode, IATA code, name, relevance, subtype, timezone offset, and type.</p>\n<p>Example response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"address\": {\n            \"cityCode\": \"\",\n            \"cityName\": \"\",\n            \"countryCode\": \"\",\n            \"countryName\": \"\",\n            \"regionCode\": \"\",\n            \"stateCode\": \"\"\n        },\n        \"analytics\": {\n            \"flights\": {\n                \"score\": 0\n            },\n            \"travelers\": {\n                \"score\": 0\n            }\n        },\n        \"detailedName\": \"\",\n        \"distance\": {\n            \"unit\": \"\",\n            \"value\": 0\n        },\n        \"geoCode\": {\n            \"latitude\": 0,\n            \"longitude\": 0\n        },\n        \"iataCode\": \"\",\n        \"name\": \"\",\n        \"relevance\": 0,\n        \"subType\": \"\",\n        \"timeZoneOffset\": \"\",\n        \"type\": \"\"\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["flights","airport_nearest"],"host":["{{baseUrl}}"],"query":[{"key":"longitude","value":"-74.0060"},{"key":"latitude","value":"40.7128"}],"variable":[]}},"response":[],"_postman_id":"2cbbb882-13a4-4f07-8061-81dde291f9bd"},{"name":"flights/flight_order/<string:order_id>","id":"2caeab3d-fc5d-4060-b401-88736174b284","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/flight_order/eJzTd9f3cYsIDfYHAAurAoc%3D","description":"<p>The API endpoint retrieves flight order details. The response is a JSON object with various fields. Below is the JSON schema for the response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"associatedRecords\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"flightOfferId\": { \"type\": \"string\" },\n          \"originSystemCode\": { \"type\": \"string\" },\n          \"reference\": { \"type\": \"string\" }\n        }\n      }\n    },\n    \"contacts\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"purpose\": { \"type\": \"string\" }\n        }\n      }\n    },\n    \"flightOffers\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": { \"type\": \"string\" },\n          \"itineraries\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"segments\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"aircraft\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"code\": { \"type\": \"string\" }\n                        }\n                      },\n                      \"arrival\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"at\": { \"type\": \"string\" },\n                          \"iataCode\": { \"type\": \"string\" },\n                          \"terminal\": { \"type\": \"string\" }\n                        }\n                      },\n                      \"bookingStatus\": { \"type\": \"string\" },\n                      \"carrierCode\": { \"type\": \"string\" },\n                      \"co2Emissions\": {\n                        \"type\": \"array\",\n                        \"items\": {\n                          \"type\": \"object\",\n                          \"properties\": {\n                            \"cabin\": { \"type\": \"string\" },\n                            \"weight\": { \"type\": \"number\" },\n                            \"weightUnit\": { \"type\": \"string\" }\n                          }\n                        }\n                      },\n                      \"departure\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"at\": { \"type\": \"string\" },\n                          \"iataCode\": { \"type\": \"string\" },\n                          \"terminal\": { \"type\": \"string\" }\n                        }\n                      },\n                      \"duration\": { \"type\": \"string\" },\n                      \"id\": { \"type\": \"string\" },\n                      \"isFlown\": { \"type\": \"boolean\" },\n                      \"number\": { \"type\": \"string\" },\n                      \"numberOfStops\": { \"type\": \"integer\" },\n                      \"segmentType\": { \"type\": \"string\" }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"lastTicketingDate\": { \"type\": \"string\" },\n          \"nonHomogeneous\": { \"type\": \"boolean\" },\n          \"price\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"base\": { \"type\": \"string\" },\n              \"currency\": { \"type\": \"string\" },\n              \"grandTotal\": { \"type\": \"string\" },\n              \"total\": { \"type\": \"string\" }\n            }\n          },\n          \"pricingOptions\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"fareType\": {\n                \"type\": \"array\",\n                \"items\": { \"type\": \"string\" }\n              }\n            }\n          },\n          \"source\": { \"type\": \"string\" },\n          \"travelerPricings\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"fareDetailsBySegment\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"cabin\": { \"type\": \"string\" },\n                      \"class\": { \"type\": \"string\" },\n                      \"fareBasis\": { \"type\": \"string\" },\n                      \"includedCheckedBags\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"quantity\": { \"type\": \"integer\" }\n                        }\n                      },\n                      \"segmentId\": { \"type\": \"string\" }\n                    }\n                  }\n                },\n                \"price\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"base\": { \"type\": \"string\" },\n                    \"currency\": { \"type\": \"string\" },\n                    \"taxes\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"amount\": { \"type\": \"string\" },\n                          \"code\": { \"type\": \"string\" }\n                        }\n                      }\n                    },\n                    \"total\": { \"type\": \"string\" }\n                  }\n                },\n                \"travelerId\": { \"type\": \"string\" },\n                \"travelerType\": { \"type\": \"string\" }\n              }\n            }\n          },\n          \"type\": { \"type\": \"string\" },\n          \"validatingAirlineCodes\": {\n            \"type\": \"array\",\n            \"items\": { \"type\": \"string\" }\n          }\n        }\n      }\n    },\n    \"id\": { \"type\": \"string\" },\n    \"queuingOfficeId\": { \"type\": \"string\" },\n    \"remarks\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"general\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"flightOfferIds\": {\n                \"type\": \"array\",\n                \"items\": { \"type\": \"string\" }\n              },\n              \"subType\": { \"type\": \"string\" },\n              \"text\": { \"type\": \"string\" }\n            }\n          }\n        }\n      }\n    },\n    \"ticketingAgreement\": {\n      \"type\": \"object\",\n      \"properties\": {\n        \"option\": { \"type\": \"string\" }\n      }\n    },\n    \"travelers\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"contact\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"emailAddress\": { \"type\": \"string\" },\n              \"phones\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"countryCallingCode\": { \"type\": \"string\" },\n                    \"deviceType\": { \"type\": \"string\" },\n                    \"number\": { \"type\": \"string\" }\n                  }\n                }\n              },\n              \"purpose\": { \"type\": \"string\" }\n            }\n          },\n          \"dateOfBirth\": { \"type\": \"string\" },\n          \"documents\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"documentType\": { \"type\": \"string\" },\n                \"expiryDate\": { \"type\": \"string\" },\n                \"holder\": { \"type\": \"boolean\" },\n                \"issuanceCountry\": { \"type\": \"string\" },\n                \"nationality\": { \"type\": \"string\" },\n                \"number\": { \"type\": \"string\" }\n              }\n            }\n          },\n          \"gender\": { \"type\": \"string\" },\n          \"id\": { \"type\": \"string\" },\n          \"name\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"firstName\": { \"type\": \"string\" },\n              \"lastName\": { \"type\": \"string\" }\n            }\n          }\n        }\n      }\n    },\n    \"type\": { \"type\": \"string\" }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["flights","flight_order","eJzTd9f3cYsIDfYHAAurAoc%3D"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"95012881-1515-429e-93f1-91ff71b84b07","name":"flights/flight_order/<string:order_id>","originalRequest":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/flight_order/eJzTd9f3cYsIDfYHAAurAoc%3D"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Wed, 02 Apr 2025 14:32:43 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"2870","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"associatedRecords\": [\n        {\n            \"flightOfferId\": \"1\",\n            \"originSystemCode\": \"AF\",\n            \"reference\": \"LFXUSO\"\n        },\n        {\n            \"creationDate\": \"2025-04-02T02:04:00\",\n            \"flightOfferId\": \"1\",\n            \"originSystemCode\": \"GDS\",\n            \"reference\": \"LFXUSO\"\n        }\n    ],\n    \"contacts\": [\n        {\n            \"purpose\": \"STANDARD\"\n        }\n    ],\n    \"flightOffers\": [\n        {\n            \"id\": \"1\",\n            \"itineraries\": [\n                {\n                    \"segments\": [\n                        {\n                            \"aircraft\": {\n                                \"code\": \"223\"\n                            },\n                            \"arrival\": {\n                                \"at\": \"2025-04-10T22:00:00\",\n                                \"iataCode\": \"CDG\",\n                                \"terminal\": \"2E\"\n                            },\n                            \"bookingStatus\": \"CONFIRMED\",\n                            \"carrierCode\": \"AF\",\n                            \"co2Emissions\": [\n                                {\n                                    \"cabin\": \"ECONOMY\",\n                                    \"weight\": 47,\n                                    \"weightUnit\": \"KG\"\n                                }\n                            ],\n                            \"departure\": {\n                                \"at\": \"2025-04-10T19:45:00\",\n                                \"iataCode\": \"LHR\",\n                                \"terminal\": \"4\"\n                            },\n                            \"duration\": \"PT1H15M\",\n                            \"id\": \"1\",\n                            \"isFlown\": false,\n                            \"number\": \"1181\",\n                            \"numberOfStops\": 0,\n                            \"segmentType\": \"ACTIVE\"\n                        }\n                    ]\n                }\n            ],\n            \"lastTicketingDate\": \"2025-04-10\",\n            \"nonHomogeneous\": false,\n            \"price\": {\n                \"base\": \"117.00\",\n                \"currency\": \"USD\",\n                \"grandTotal\": \"249.20\",\n                \"total\": \"249.20\"\n            },\n            \"pricingOptions\": {\n                \"fareType\": [\n                    \"PUBLISHED\"\n                ]\n            },\n            \"source\": \"GDS\",\n            \"travelerPricings\": [\n                {\n                    \"fareDetailsBySegment\": [\n                        {\n                            \"cabin\": \"ECONOMY\",\n                            \"class\": \"T\",\n                            \"fareBasis\": \"TYS0BALA\",\n                            \"includedCheckedBags\": {\n                                \"quantity\": 0\n                            },\n                            \"mealServices\": [\n                                {\n                                    \"label\": \"Snack\"\n                                }\n                            ],\n                            \"segmentId\": \"1\"\n                        }\n                    ],\n                    \"price\": {\n                        \"base\": \"52.00\",\n                        \"currency\": \"USD\",\n                        \"taxes\": [\n                            {\n                                \"amount\": \"30.20\",\n                                \"code\": \"UB\"\n                            },\n                            {\n                                \"amount\": \"25.90\",\n                                \"code\": \"YQ\"\n                            },\n                            {\n                                \"amount\": \"1.60\",\n                                \"code\": \"YR\"\n                            }\n                        ],\n                        \"total\": \"109.70\"\n                    },\n                    \"travelerId\": \"1\",\n                    \"travelerType\": \"CHILD\"\n                },\n                {\n                    \"fareDetailsBySegment\": [\n                        {\n                            \"cabin\": \"ECONOMY\",\n                            \"class\": \"T\",\n                            \"fareBasis\": \"TYS0BALA\",\n                            \"includedCheckedBags\": {\n                                \"quantity\": 0\n                            },\n                            \"mealServices\": [\n                                {\n                                    \"label\": \"Snack\"\n                                }\n                            ],\n                            \"segmentId\": \"1\"\n                        }\n                    ],\n                    \"price\": {\n                        \"base\": \"65.00\",\n                        \"currency\": \"USD\",\n                        \"taxes\": [\n                            {\n                                \"amount\": \"16.80\",\n                                \"code\": \"GB\"\n                            },\n                            {\n                                \"amount\": \"30.20\",\n                                \"code\": \"UB\"\n                            },\n                            {\n                                \"amount\": \"25.90\",\n                                \"code\": \"YQ\"\n                            },\n                            {\n                                \"amount\": \"1.60\",\n                                \"code\": \"YR\"\n                            }\n                        ],\n                        \"total\": \"139.50\"\n                    },\n                    \"travelerId\": \"2\",\n                    \"travelerType\": \"ADULT\"\n                }\n            ],\n            \"type\": \"flight-offer\",\n            \"validatingAirlineCodes\": [\n                \"AF\"\n            ]\n        }\n    ],\n    \"id\": \"eJzTd9f3cYsIDfYHAAurAoc%3D\",\n    \"queuingOfficeId\": \"NCE4D31SB\",\n    \"remarks\": {\n        \"airline\": [\n            {\n                \"airlineCode\": \"AF\",\n                \"flightOfferIds\": [\n                    \"1\"\n                ],\n                \"subType\": \"ADVANCED_TICKET_TIME_LIMIT\",\n                \"text\": \"TO AF BY 03APR 0500 NCE OTHERWISE WILL BE XLD\"\n            }\n        ],\n        \"general\": [\n            {\n                \"flightOfferIds\": [\n                    \"1\"\n                ],\n                \"subType\": \"CONFIDENTIAL\",\n                \"text\": \"RESTRICTED\"\n            },\n            {\n                \"flightOfferIds\": [\n                    \"1\"\n                ],\n                \"subType\": \"GENERAL_MISCELLANEOUS\",\n                \"text\": \"PRICING ENTRY FXP/FF-LIGHT/R,P,VC-AF,FC-USD/P1-2\"\n            }\n        ]\n    },\n    \"ticketingAgreement\": {\n        \"option\": \"CONFIRM\"\n    },\n    \"travelers\": [\n        {\n            \"contact\": {\n                \"emailAddress\": \"JORGE.GONZALES833@TELEFONICA.ES\",\n                \"phones\": [\n                    {\n                        \"countryCallingCode\": \"34\",\n                        \"deviceType\": \"MOBILE\",\n                        \"number\": \"480080076\"\n                    }\n                ],\n                \"purpose\": \"STANDARD\"\n            },\n            \"id\": \"1\",\n            \"name\": {\n                \"firstName\": \"ADRIANA\",\n                \"lastName\": \"GONZALES\"\n            }\n        },\n        {\n            \"contact\": {\n                \"emailAddress\": \"JORGE.GONZALES833@TELEFONICA.ES\",\n                \"phones\": [\n                    {\n                        \"countryCallingCode\": \"34\",\n                        \"deviceType\": \"MOBILE\",\n                        \"number\": \"480080076\"\n                    }\n                ],\n                \"purpose\": \"STANDARD\"\n            },\n            \"dateOfBirth\": \"1982-01-16\",\n            \"documents\": [\n                {\n                    \"documentType\": \"PASSPORT\",\n                    \"expiryDate\": \"2025-04-14\",\n                    \"holder\": true,\n                    \"issuanceCountry\": \"ES\",\n                    \"nationality\": \"ES\",\n                    \"number\": \"00000000\"\n                }\n            ],\n            \"gender\": \"MALE\",\n            \"id\": \"2\",\n            \"name\": {\n                \"firstName\": \"JORGE\",\n                \"lastName\": \"GONZALES\"\n            }\n        }\n    ],\n    \"type\": \"flight-order\"\n}"},{"id":"7e864cbd-912f-4a8f-a5c8-d77a78cfc1e5","name":"flights/flight_order/<string:order_id>","originalRequest":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/flight_order/eJzTd9f3cYsIDfYHAAurAoc%3D"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Wed, 02 Apr 2025 14:32:43 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"2870","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"associatedRecords\": [\n        {\n            \"flightOfferId\": \"1\",\n            \"originSystemCode\": \"AF\",\n            \"reference\": \"LFXUSO\"\n        },\n        {\n            \"creationDate\": \"2025-04-02T02:04:00\",\n            \"flightOfferId\": \"1\",\n            \"originSystemCode\": \"GDS\",\n            \"reference\": \"LFXUSO\"\n        }\n    ],\n    \"contacts\": [\n        {\n            \"purpose\": \"STANDARD\"\n        }\n    ],\n    \"flightOffers\": [\n        {\n            \"id\": \"1\",\n            \"itineraries\": [\n                {\n                    \"segments\": [\n                        {\n                            \"aircraft\": {\n                                \"code\": \"223\"\n                            },\n                            \"arrival\": {\n                                \"at\": \"2025-04-10T22:00:00\",\n                                \"iataCode\": \"CDG\",\n                                \"terminal\": \"2E\"\n                            },\n                            \"bookingStatus\": \"CONFIRMED\",\n                            \"carrierCode\": \"AF\",\n                            \"co2Emissions\": [\n                                {\n                                    \"cabin\": \"ECONOMY\",\n                                    \"weight\": 47,\n                                    \"weightUnit\": \"KG\"\n                                }\n                            ],\n                            \"departure\": {\n                                \"at\": \"2025-04-10T19:45:00\",\n                                \"iataCode\": \"LHR\",\n                                \"terminal\": \"4\"\n                            },\n                            \"duration\": \"PT1H15M\",\n                            \"id\": \"1\",\n                            \"isFlown\": false,\n                            \"number\": \"1181\",\n                            \"numberOfStops\": 0,\n                            \"segmentType\": \"ACTIVE\"\n                        }\n                    ]\n                }\n            ],\n            \"lastTicketingDate\": \"2025-04-10\",\n            \"nonHomogeneous\": false,\n            \"price\": {\n                \"base\": \"117.00\",\n                \"currency\": \"USD\",\n                \"grandTotal\": \"249.20\",\n                \"total\": \"249.20\"\n            },\n            \"pricingOptions\": {\n                \"fareType\": [\n                    \"PUBLISHED\"\n                ]\n            },\n            \"source\": \"GDS\",\n            \"travelerPricings\": [\n                {\n                    \"fareDetailsBySegment\": [\n                        {\n                            \"cabin\": \"ECONOMY\",\n                            \"class\": \"T\",\n                            \"fareBasis\": \"TYS0BALA\",\n                            \"includedCheckedBags\": {\n                                \"quantity\": 0\n                            },\n                            \"mealServices\": [\n                                {\n                                    \"label\": \"Snack\"\n                                }\n                            ],\n                            \"segmentId\": \"1\"\n                        }\n                    ],\n                    \"price\": {\n                        \"base\": \"52.00\",\n                        \"currency\": \"USD\",\n                        \"taxes\": [\n                            {\n                                \"amount\": \"30.20\",\n                                \"code\": \"UB\"\n                            },\n                            {\n                                \"amount\": \"25.90\",\n                                \"code\": \"YQ\"\n                            },\n                            {\n                                \"amount\": \"1.60\",\n                                \"code\": \"YR\"\n                            }\n                        ],\n                        \"total\": \"109.70\"\n                    },\n                    \"travelerId\": \"1\",\n                    \"travelerType\": \"CHILD\"\n                },\n                {\n                    \"fareDetailsBySegment\": [\n                        {\n                            \"cabin\": \"ECONOMY\",\n                            \"class\": \"T\",\n                            \"fareBasis\": \"TYS0BALA\",\n                            \"includedCheckedBags\": {\n                                \"quantity\": 0\n                            },\n                            \"mealServices\": [\n                                {\n                                    \"label\": \"Snack\"\n                                }\n                            ],\n                            \"segmentId\": \"1\"\n                        }\n                    ],\n                    \"price\": {\n                        \"base\": \"65.00\",\n                        \"currency\": \"USD\",\n                        \"taxes\": [\n                            {\n                                \"amount\": \"16.80\",\n                                \"code\": \"GB\"\n                            },\n                            {\n                                \"amount\": \"30.20\",\n                                \"code\": \"UB\"\n                            },\n                            {\n                                \"amount\": \"25.90\",\n                                \"code\": \"YQ\"\n                            },\n                            {\n                                \"amount\": \"1.60\",\n                                \"code\": \"YR\"\n                            }\n                        ],\n                        \"total\": \"139.50\"\n                    },\n                    \"travelerId\": \"2\",\n                    \"travelerType\": \"ADULT\"\n                }\n            ],\n            \"type\": \"flight-offer\",\n            \"validatingAirlineCodes\": [\n                \"AF\"\n            ]\n        }\n    ],\n    \"id\": \"eJzTd9f3cYsIDfYHAAurAoc%3D\",\n    \"queuingOfficeId\": \"NCE4D31SB\",\n    \"remarks\": {\n        \"airline\": [\n            {\n                \"airlineCode\": \"AF\",\n                \"flightOfferIds\": [\n                    \"1\"\n                ],\n                \"subType\": \"ADVANCED_TICKET_TIME_LIMIT\",\n                \"text\": \"TO AF BY 03APR 0500 NCE OTHERWISE WILL BE XLD\"\n            }\n        ],\n        \"general\": [\n            {\n                \"flightOfferIds\": [\n                    \"1\"\n                ],\n                \"subType\": \"CONFIDENTIAL\",\n                \"text\": \"RESTRICTED\"\n            },\n            {\n                \"flightOfferIds\": [\n                    \"1\"\n                ],\n                \"subType\": \"GENERAL_MISCELLANEOUS\",\n                \"text\": \"PRICING ENTRY FXP/FF-LIGHT/R,P,VC-AF,FC-USD/P1-2\"\n            }\n        ]\n    },\n    \"ticketingAgreement\": {\n        \"option\": \"CONFIRM\"\n    },\n    \"travelers\": [\n        {\n            \"contact\": {\n                \"emailAddress\": \"JORGE.GONZALES833@TELEFONICA.ES\",\n                \"phones\": [\n                    {\n                        \"countryCallingCode\": \"34\",\n                        \"deviceType\": \"MOBILE\",\n                        \"number\": \"480080076\"\n                    }\n                ],\n                \"purpose\": \"STANDARD\"\n            },\n            \"id\": \"1\",\n            \"name\": {\n                \"firstName\": \"ADRIANA\",\n                \"lastName\": \"GONZALES\"\n            }\n        },\n        {\n            \"contact\": {\n                \"emailAddress\": \"JORGE.GONZALES833@TELEFONICA.ES\",\n                \"phones\": [\n                    {\n                        \"countryCallingCode\": \"34\",\n                        \"deviceType\": \"MOBILE\",\n                        \"number\": \"480080076\"\n                    }\n                ],\n                \"purpose\": \"STANDARD\"\n            },\n            \"dateOfBirth\": \"1982-01-16\",\n            \"documents\": [\n                {\n                    \"documentType\": \"PASSPORT\",\n                    \"expiryDate\": \"2025-04-14\",\n                    \"holder\": true,\n                    \"issuanceCountry\": \"ES\",\n                    \"nationality\": \"ES\",\n                    \"number\": \"00000000\"\n                }\n            ],\n            \"gender\": \"MALE\",\n            \"id\": \"2\",\n            \"name\": {\n                \"firstName\": \"JORGE\",\n                \"lastName\": \"GONZALES\"\n            }\n        }\n    ],\n    \"type\": \"flight-order\"\n}"}],"_postman_id":"2caeab3d-fc5d-4060-b401-88736174b284"},{"name":"flights/flight_special_offers","id":"073b1a35-687c-4652-8e79-79535f082906","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/flights/flight_special_offers","description":"<h2 id=\"get-flight-special-offers\">Get Flight Special Offers</h2>\n<p>This endpoint retrieves special offers for flights available in the system.</p>\n<h3 id=\"request\">Request</h3>\n<ul>\n<li><p><strong>Method</strong>: <code>GET</code></p>\n</li>\n<li><p><strong>Endpoint</strong>: <code>{{baseUrl}}/flights/flight_special_offers</code></p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><p><strong>Status Code</strong>: <code>200 OK</code></p>\n</li>\n<li><p><strong>Content-Type</strong>: <code>application/json</code></p>\n</li>\n</ul>\n<h4 id=\"response-body\">Response Body</h4>\n<p>The response will contain a JSON object with the following structure:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"specialOffers\": [\n    {\n      \"departureDate\": \"&lt;string&gt;\",\n      \"offers\": &lt;array&gt;,\n      \"route\": \"&lt;string&gt;\"\n    }\n  ]\n}\n\n</code></pre>\n<ul>\n<li><p><strong>specialOffers</strong>: An array of special flight offers.</p>\n<ul>\n<li><p><strong>departureDate</strong>: A string representing the date of departure.</p>\n</li>\n<li><p><strong>offers</strong>: An array that contains details of the available offers (this may be empty).</p>\n</li>\n<li><p><strong>route</strong>: A string indicating the flight route.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"example-response\">Example Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"specialOffers\": [\n    {\n      \"departureDate\": \"2023-10-01\",\n      \"offers\": [],\n      \"route\": \"NYC-LAX\"\n    }\n  ]\n}\n\n</code></pre>\n<p>This endpoint is useful for users looking to find and evaluate special flight offers based on their travel needs.</p>\n","urlObject":{"path":["flights","flight_special_offers"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"66374473-7d20-439a-8bbb-a1bdfb86146f","name":"{{baseUrl}}/flights/flight_special_offers","originalRequest":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/flight_special_offers"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0"},{"key":"Date","value":"Thu, 24 Jul 2025 22:18:46 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"2882"},{"key":"Access-Control-Allow-Origin","value":"http://localhost:3000"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Vary","value":"Origin"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"specialOffers\": [\n        {\n            \"departureDate\": \"2025-07-29\",\n            \"offers\": [],\n            \"route\": \"ACC → LHR\"\n        },\n        {\n            \"departureDate\": \"2025-07-29\",\n            \"offers\": [],\n            \"route\": \"ACC → CDG\"\n        },\n        {\n            \"departureDate\": \"2025-07-29\",\n            \"offers\": [\n                {\n                    \"airlineLogo\": \"https://cdn.hermextravels.com/EK.png\",\n                    \"brandedFaresUpsell\": [],\n                    \"flightOverview\": {\n                        \"airline\": \"EK\",\n                        \"currency\": \"USD\",\n                        \"fareType\": \"ECO SAVER\",\n                        \"includedCabinBags\": 1,\n                        \"includedCheckedBags\": 2,\n                        \"totalDuration\": \"PT8H15M\",\n                        \"totalPrice\": \"549.40\"\n                    },\n                    \"id\": \"1\",\n                    \"instantTicketingRequired\": false,\n                    \"isUpsellOffer\": false,\n                    \"itineraries\": [\n                        {\n                            \"duration\": \"PT8H15M\",\n                            \"flightSegments\": [\n                                {\n                                    \"aircraft\": \"77W\",\n                                    \"arrival\": \"2025-07-30T06:15:00\",\n                                    \"arrivalCity\": \"Dubai (Dubai International Airport)\",\n                                    \"departure\": \"2025-07-29T18:00:00\",\n                                    \"departureCity\": \"Accra (Kotoka International Airport)\",\n                                    \"flightDuration\": \"PT8H15M\",\n                                    \"flightNumber\": \"EK788\"\n                                }\n                            ],\n                            \"layovers\": [],\n                            \"segments\": [\n                                {\n                                    \"aircraft\": {\n                                        \"code\": \"77W\"\n                                    },\n                                    \"arrival\": {\n                                        \"at\": \"2025-07-30T06:15:00\",\n                                        \"iataCode\": \"DXB\",\n                                        \"terminal\": \"3\"\n                                    },\n                                    \"blacklistedInEU\": false,\n                                    \"carrierCode\": \"EK\",\n                                    \"departure\": {\n                                        \"at\": \"2025-07-29T18:00:00\",\n                                        \"iataCode\": \"ACC\",\n                                        \"terminal\": \"3\"\n                                    },\n                                    \"duration\": \"PT8H15M\",\n                                    \"id\": \"1\",\n                                    \"number\": \"788\",\n                                    \"numberOfStops\": 0,\n                                    \"operating\": {\n                                        \"carrierCode\": \"EK\"\n                                    }\n                                }\n                            ]\n                        }\n                    ],\n                    \"lastTicketingDate\": \"2025-07-29\",\n                    \"lastTicketingDateTime\": \"2025-07-29\",\n                    \"nonHomogeneous\": false,\n                    \"numberOfBookableSeats\": 9,\n                    \"oneWay\": false,\n                    \"price\": {\n                        \"base\": \"352.00\",\n                        \"currency\": \"USD\",\n                        \"fees\": [\n                            {\n                                \"amount\": \"0.00\",\n                                \"type\": \"SUPPLIER\"\n                            },\n                            {\n                                \"amount\": \"0.00\",\n                                \"type\": \"TICKETING\"\n                            }\n                        ],\n                        \"grandTotal\": \"549.40\",\n                        \"total\": \"549.40\"\n                    },\n                    \"pricingOptions\": {\n                        \"fareType\": [\n                            \"PUBLISHED\"\n                        ],\n                        \"includedCheckedBagsOnly\": true\n                    },\n                    \"source\": \"GDS\",\n                    \"travelerPricings\": [\n                        {\n                            \"fareDetailsBySegment\": [\n                                {\n                                    \"amenities\": [\n                                        {\n                                            \"amenityProvider\": {\n                                                \"name\": \"BrandedFare\"\n                                            },\n                                            \"amenityType\": \"PRE_RESERVED_SEAT\",\n                                            \"description\": \"PRE RESERVED SEAT ASSIGNMENT\",\n                                            \"isChargeable\": true\n                                        },\n                                        {\n                                            \"amenityProvider\": {\n                                                \"name\": \"BrandedFare\"\n                                            },\n                                            \"amenityType\": \"MEAL\",\n                                            \"description\": \"BEVERAGE\",\n                                            \"isChargeable\": false\n                                        },\n                                        {\n                                            \"amenityProvider\": {\n                                                \"name\": \"BrandedFare\"\n                                            },\n                                            \"amenityType\": \"MEAL\",\n                                            \"description\": \"MEAL VOUCHER\",\n                                            \"isChargeable\": false\n                                        },\n                                        {\n                                            \"amenityProvider\": {\n                                                \"name\": \"BrandedFare\"\n                                            },\n                                            \"amenityType\": \"BRANDED_FARES\",\n                                            \"description\": \"REFUNDABLE TICKET\",\n                                            \"isChargeable\": true\n                                        },\n                                        {\n                                            \"amenityProvider\": {\n                                                \"name\": \"BrandedFare\"\n                                            },\n                                            \"amenityType\": \"BRANDED_FARES\",\n                                            \"description\": \"UPGRADE ELIGIBILITY\",\n                                            \"isChargeable\": true\n                                        },\n                                        {\n                                            \"amenityProvider\": {\n                                                \"name\": \"BrandedFare\"\n                                            },\n                                            \"amenityType\": \"BRANDED_FARES\",\n                                            \"description\": \"CHANGEABLE TICKET\",\n                                            \"isChargeable\": true\n                                        },\n                                        {\n                                            \"amenityProvider\": {\n                                                \"name\": \"BrandedFare\"\n                                            },\n                                            \"amenityType\": \"BRANDED_FARES\",\n                                            \"description\": \"30 PERCENT MILES EARNED\",\n                                            \"isChargeable\": false\n                                        }\n                                    ],\n                                    \"brandedFare\": \"ECOSAVER\",\n                                    \"brandedFareLabel\": \"ECO SAVER\",\n                                    \"cabin\": \"ECONOMY\",\n                                    \"class\": \"L\",\n                                    \"fareBasis\": \"LSSOPGH1\",\n                                    \"includedCabinBags\": {\n                                        \"quantity\": 1\n                                    },\n                                    \"includedCheckedBags\": {\n                                        \"quantity\": 2\n                                    },\n                                    \"segmentId\": \"1\"\n                                }\n                            ],\n                            \"fareOption\": \"STANDARD\",\n                            \"price\": {\n                                \"base\": \"352.00\",\n                                \"currency\": \"USD\",\n                                \"total\": \"549.40\"\n                            },\n                            \"travelerId\": \"1\",\n                            \"travelerType\": \"ADULT\"\n                        }\n                    ],\n                    \"type\": \"flight-offer\",\n                    \"validatingAirlineCodes\": [\n                        \"EK\"\n                    ]\n                }\n            ],\n            \"route\": \"ACC → DXB\"\n        }\n    ]\n}"}],"_postman_id":"073b1a35-687c-4652-8e79-79535f082906"}],"id":"1be3555a-7e47-48b2-af2f-d4d7d042e83d","description":"<p>Endpoints for basic flights functions in hermex travels</p>\n","_postman_id":"1be3555a-7e47-48b2-af2f-d4d7d042e83d"},{"name":"send_email_2_consolidator","id":"432771ec-a13f-4296-aaec-c164404154ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"order_id\": \"Hex_#20548787848\",\r\n    \"search_id\": \"dcd4ace1-6e19-4230-93d3-a5f3c8af5111\",\r\n    \"passengers\": [\r\n        {\r\n            \"firstName\": \"John\",\r\n            \"lastName\": \"Doe\",\r\n            \"gender\": \"Male\",\r\n            \"dateOfBirth\": \"1990-01-01\",\r\n            \"email\": \"john.doe@example.com\",\r\n            \"phoneNumber\": \"1234567890\",\r\n            \"documentType\": \"Passport\",\r\n            \"documentNumber\": \"A1234567\",\r\n            \"issuanceLocation\": \"USA\",\r\n            \"issuanceDate\": \"2015-05-01\",\r\n            \"expiryDate\": \"2025-05-01\",\r\n            \"validityCountry\": \"USA\",\r\n            \"nationality\": \"USA\",\r\n            \"birthPlace\": \"New York\",\r\n            \"emergencyFirstName\": \"Jane\",\r\n            \"emergencyLastName\": \"Doe\",\r\n            \"emergencyEmail\": \"jane.doe@example.com\",\r\n            \"emergencyPhoneNumber\": \"0987654321\"\r\n        }\r\n    ]\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/flights/send_booking_email","description":"<p>StartFragment</p>\n<h2 id=\"✉️-post-send_booking_email\">✉️ <code>POST /send_booking_email</code></h2>\n<h3 id=\"description\"><strong>Description:</strong></h3>\n<p>This endpoint is responsible for sending booking confirmation emails to the flight consolidator and Hermex administrators. It retrieves passenger data, validates user authentication, fetches cached search parameters, and then triggers the email service. This cached search parameters id is returned in the flight search endpoint.</p>\n<hr />\n<h3 id=\"🔐-authentication\">🔐 <strong>Authentication:</strong></h3>\n<ul>\n<li><p><strong>Required:</strong> Yes (JWT token via <code>@jwt_required()</code> decorator)</p>\n</li>\n<li><p>The token must include a <code>uuid</code> claim to identify the authenticated user.</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"📥-request-body-json\">📥 <strong>Request Body (JSON):</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"passengers\": [\n    {\n      \"first_name\": \"John\",\n      \"last_name\": \"Doe\",\n      \"email\": \"john@example.com\"\n    }\n    // More passengers\n  ],\n  \"order_id\": \"ORD12345678\",\n  \"search_id\": \"search_abc_123\"\n}\n\n</code></pre>\n<h4 id=\"fields\">Fields:</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>passengers</code></td>\n<td>List</td>\n<td>✅ Yes</td>\n<td>A list of passenger information</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>String</td>\n<td>✅ Yes</td>\n<td>Unique identifier for the booking/order</td>\n</tr>\n<tr>\n<td><code>search_id</code></td>\n<td>String</td>\n<td>✅ Yes</td>\n<td>Identifier to fetch cached search parameters</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"✅-validations\">✅ <strong>Validations:</strong></h3>\n<ul>\n<li><p><code>passengers</code> must be present and a valid list.</p>\n</li>\n<li><p><code>order_id</code> and <code>search_id</code> must not be empty.</p>\n</li>\n<li><p>Cached search parameters must exist for the provided <code>search_id</code>.</p>\n</li>\n<li><p>The JWT must include a <code>uuid</code> to confirm user authentication.</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"⚙️-processing-steps\">⚙️ <strong>Processing Steps:</strong></h3>\n<ol>\n<li><p>Parse and validate incoming JSON payload.</p>\n</li>\n<li><p>Validate the presence and format of required fields.</p>\n</li>\n<li><p>Retrieve cached flight search parameters using the <code>search_id</code>.</p>\n</li>\n<li><p>Validate the presence of a <code>uuid</code> in the JWT.</p>\n</li>\n<li><p>Call the internal <code>send_booking_email()</code> service with <code>order_id</code>, <code>passengers</code>, and <code>params</code>.</p>\n</li>\n</ol>\n<hr />\n<h3 id=\"📤-response\">📤 <strong>Response:</strong></h3>\n<h4 id=\"success--200-ok\">Success – <code>200 OK</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Email sent successfully to the consolidator and Hermex admins!\"\n}\n\n</code></pre>\n<h4 id=\"validation-error--400-bad-request\">Validation Error – <code>400 Bad Request</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Invalid or missing 'passengers' list.\"\n}\n\n</code></pre>\n<h4 id=\"not-found--404-not-found\">Not Found – <code>404 Not Found</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"No cached search found for the given search_id.\"\n}\n\n</code></pre>\n<h4 id=\"unauthorized--401-unauthorized\">Unauthorized – <code>401 Unauthorized</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"User authentication failed.\"\n}\n\n</code></pre>\n<h4 id=\"server-error--500-internal-server-error\">Server Error – <code>500 Internal Server Error</code></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Failed to process the request\",\n  \"error\": \"Detailed error message\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"🛠️-dependencies\">🛠️ <strong>Dependencies:</strong></h3>\n<ul>\n<li><p><code>cache</code>: Must support <code>.get()</code> to retrieve search parameters via key.</p>\n</li>\n<li><p><code>send_booking_email(order_id, passengers, params)</code>: Must be implemented elsewhere to send the actual email.</p>\n</li>\n<li><p><code>logger.exception()</code>: Used for detailed error logging.</p>\n</li>\n</ul>\n","urlObject":{"path":["flights","send_booking_email"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"432771ec-a13f-4296-aaec-c164404154ee"}],"id":"a857c1b6-f55f-4cf5-9aa3-ccde56d2153c","_postman_id":"a857c1b6-f55f-4cf5-9aa3-ccde56d2153c","description":""}],"id":"672fb3a6-6ffd-4723-9337-f39a3948eb1b","description":"<p>Endpoints for flights in hermex travels</p>\n","_postman_id":"672fb3a6-6ffd-4723-9337-f39a3948eb1b"},{"name":"Location Endpoints","item":[{"name":"flights/recommended_locations","id":"ff9673c3-0f3f-4fa2-985e-80891fe8ab17","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/api/recommended_locations","description":"<h3 id=\"get-recommended-locations\">Get Recommended Locations</h3>\n<p>This endpoint makes an HTTP GET request to retrieve a list of recommended locations based on the provided city and categories.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<ul>\n<li><p><code>city</code> (string, required): The city for which recommended locations are requested.</p>\n</li>\n<li><p><code>categories</code> (string, required): The categories of locations to be included in the recommendations.</p>\n</li>\n<li><p><code>limit</code> (integer, optional): The maximum number of recommended locations to be returned.</p>\n</li>\n</ul>\n<h4 id=\"example\">Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-http\">GET {{baseUrl}}/api/recommended_locations\n\n</code></pre>\n<p>The API returns a JSON object with the following properties:</p>\n<ul>\n<li><p><code>recommended_locations</code> (array): An array of recommended locations, each containing the following properties:</p>\n<ul>\n<li><p><code>address</code> (string): The address of the recommended location.</p>\n</li>\n<li><p><code>category</code> (array): The categories of the recommended location.</p>\n</li>\n<li><p><code>description</code> (string): The description of the recommended location.</p>\n</li>\n<li><p><code>latitude</code> (number): The latitude coordinate of the recommended location.</p>\n</li>\n<li><p><code>longitude</code> (number): The longitude coordinate of the recommended location.</p>\n</li>\n<li><p><code>name</code> (string): The name of the recommended location.</p>\n</li>\n<li><p><code>rating</code> (number): The rating of the recommended location.</p>\n</li>\n</ul>\n</li>\n<li><p><code>status</code> (string): The status of the response.</p>\n</li>\n</ul>\n<h4 id=\"example-response\">Example Response</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n            \"address\": \"Galata Tower, Büyük Hendek Caddesi, 34420 Beyoğlu, Turkey\",\n            \"category\": [\n                \"building\",\n                \"building.historic\",\n                \"building.tourism\",\n                \"fee\",\n                \"man_made\",\n                \"man_made.tower\",\n                \"tourism\",\n                \"tourism.attraction\",\n                \"tourism.sights\",\n                \"tourism.sights.tower\"\n            ],\n            \"image_url\": \"https://pixabay.com/get/g72843376732adcdc29f3a8e117bf68ff8bc02633993d510ef3989fa2469bcfd3f3d55f4f38f1455108af3cb780032a2a1d7fb99eb6b81e3e4661509179740956_640.jpg\",\n            \"latitude\": 41.025640600395,\n            \"longitude\": 28.974213369331654,\n            \"name\": \"Galata Kulesi\"\n        }\n\n</code></pre>\n","urlObject":{"path":["api","recommended_locations"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"ff9673c3-0f3f-4fa2-985e-80891fe8ab17"},{"name":"flights/search_multi_city","event":[{"listen":"test","script":{"id":"dae43cd6-7e05-407b-8ef2-125af79d87a6","exec":["var template = `\r","<style type=\"text/css\">\r","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}\r","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}\r","    .tftable tr {background-color:#ffffff;}\r","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}\r","    .tftable tr:hover {background-color:#e0ffff;}\r","</style>\r","\r","<table class=\"tftable\" border=\"1\">\r","    <tr>\r","        <th>ID</th>\r","        <th>Instant Ticketing Required</th>\r","        <th>Is Upsell Offer</th>\r","        <th>Duration</th>\r","        <th>Aircraft Code</th>\r","        <th>Arrival Time</th>\r","        <th>Departure Time</th>\r","        <th>Operating Carrier Code</th>\r","        <th>Price Base</th>\r","        <th>Currency</th>\r","        <th>Grand Total</th>\r","        <th>Total Price</th>\r","        <th>Fare Type</th>\r","        <th>Included Checked Bags Only</th>\r","        <th>Source</th>\r","        <th>Last Ticketing Date</th>\r","        <th>Non-Homogeneous</th>\r","        <th>Number of Bookable Seats</th>\r","        <th>One Way</th>\r","        <th>Last Ticketing Date Time</th>\r","        <th>Validating Airline Codes</th>\r","    </tr>\r","    \r","    {{#each response}}\r","        <tr>\r","            <td>{{id}}</td>\r","            <td>{{instantTicketingRequired}}</td>\r","            <td>{{isUpsellOffer}}</td>\r","            <td>{{itineraries.[0].duration}}</td>\r","            <td>{{itineraries.[0].segments.[0].aircraft.code}}</td>\r","            <td>{{itineraries.[0].segments.[0].arrival.at}}</td>\r","            <td>{{itineraries.[0].segments.[0].departure.at}}</td>\r","            <td>{{itineraries.[0].segments.[0].operating.carrierCode}}</td>\r","            <td>{{price.base}}</td>\r","            <td>{{price.currency}}</td>\r","            <td>{{price.grandTotal}}</td>\r","            <td>{{price.total}}</td>\r","            <td>{{pricingOptions.fareType.[0]}}</td>\r","            <td>{{pricingOptions.includedCheckedBagsOnly}}</td>\r","            <td>{{source}}</td>\r","            <td>{{lastTicketingDate}}</td>\r","            <td>{{nonHomogeneous}}</td>\r","            <td>{{numberOfBookableSeats}}</td>\r","            <td>{{oneWay}}</td>\r","            <td>{{lastTicketingDateTime}}</td>\r","            <td>{{validatingAirlineCodes}}</td>\r","        </tr>\r","    {{/each}}\r","</table>\r","`;\r","\r","function constructVisualizerPayload() {\r","    return {response: pm.response.json()}\r","}\r","\r","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{}}}],"id":"79ac4397-09c6-4683-86d8-5930c29e0853","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"originDestinations\": [\r\n        {\r\n            \"id\": \"1\",\r\n            \"originLocationCode\": \"NYC\",\r\n            \"destinationLocationCode\": \"LON\",\r\n            \"departureDateTimeRange\": {\r\n                \"date\": \"2024-09-10\"\r\n            }\r\n        },\r\n        {\r\n            \"id\": \"2\",\r\n            \"originLocationCode\": \"LON\",\r\n            \"destinationLocationCode\": \"PAR\",\r\n            \"departureDateTimeRange\": {\r\n                \"date\": \"2024-09-15\"\r\n            }\r\n        }\r\n    ],\r\n    \"travelers\": [\r\n        {\r\n            \"id\": \"1\",\r\n            \"travelerType\": \"ADULT\"\r\n        }\r\n    ],\r\n    \"sources\": [\"GDS\"],\r\n    \"searchCriteria\": {\r\n        \"maxFlightOffers\": 3\r\n    }\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:5000/api/search_multi_city","description":"<p>The API endpoint <code>POST /api/search_multi_city</code> is used to search for multi-city flight offers.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li><p>The request body should be in JSON format and include the following parameters:</p>\n<ul>\n<li><p><code>originDestinations</code> (array of objects): Contains details of the origin and destination locations, along with the departure date and time range.</p>\n</li>\n<li><p><code>travelers</code> (array of objects): Contains details of the travelers, including traveler type.</p>\n</li>\n<li><p><code>sources</code> (array of strings): Contains the sources for the flight search.</p>\n</li>\n<li><p><code>searchCriteria</code> (object): Contains the search criteria, including the maximum number of flight offers.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response will be in JSON format with a status code of 200. It will include an array of flight offer objects, each containing the following properties:</p>\n<ul>\n<li><p><code>id</code> (string): The ID of the flight offer.</p>\n</li>\n<li><p><code>instantTicketingRequired</code> (boolean): Indicates if instant ticketing is required for the offer.</p>\n</li>\n<li><p><code>isUpsellOffer</code> (boolean): Indicates if the offer is an upsell offer.</p>\n</li>\n<li><p><code>itineraries</code> (array of objects): Contains details of the itineraries, including duration and segments.</p>\n</li>\n<li><p><code>lastTicketingDate</code> (string): The last ticketing date for the offer.</p>\n</li>\n<li><p><code>lastTicketingDateTime</code> (string): The last ticketing date and time for the offer.</p>\n</li>\n<li><p><code>nonHomogeneous</code> (boolean): Indicates if the offer is non-homogeneous.</p>\n</li>\n<li><p><code>numberOfBookableSeats</code> (number): The number of bookable seats for the offer.</p>\n</li>\n<li><p><code>oneWay</code> (boolean): Indicates if the offer is for a one-way trip.</p>\n</li>\n<li><p><code>price</code> (object): Contains details of the price, including base, currency, fees, and grand total.</p>\n</li>\n<li><p><code>pricingOptions</code> (object): Contains pricing options, including fare type and included checked bags only.</p>\n</li>\n<li><p><code>source</code> (string): The source of the flight offer.</p>\n</li>\n<li><p><code>travelerPricings</code> (array of objects): Contains details of the traveler pricings, including fare details by segment and price.</p>\n</li>\n<li><p><code>type</code> (string): The type of the flight offer.</p>\n</li>\n<li><p><code>validatingAirlineCodes</code> (array of strings): Contains the validating airline codes for the offer.</p>\n</li>\n</ul>\n<p>The response of this request can be documented as a JSON schema.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","search_multi_city"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[],"_postman_id":"79ac4397-09c6-4683-86d8-5930c29e0853"}],"id":"dcfb8cd1-a036-4e18-b22c-08ac086b45f4","description":"<p>Endpoints for locations in hermex travels</p>\n","_postman_id":"dcfb8cd1-a036-4e18-b22c-08ac086b45f4"},{"name":"Activities Endpoints","item":[{"name":"Basic Activities","item":[{"name":"flights/tours_activities","id":"2fc8f7f8-4196-4fcb-9725-2aa2ac9f9ce6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://praiseordu.pythonanywhere.com/api/tours_activities?latitude=40.71455&longitude=-74.00714","description":"<p>The <code>GET</code> request retrieves a list of tours and activities based on the provided latitude, longitude, and radius parameters.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response is in JSON format and represents an array of tour and activity objects. Each object includes the following properties:</p>\n<ul>\n<li><p><code>geoCode</code>: An object containing the latitude and longitude of the location.</p>\n</li>\n<li><p><code>id</code>: The unique identifier of the tour or activity.</p>\n</li>\n<li><p><code>minimumDuration</code>: The minimum duration of the tour or activity.</p>\n</li>\n<li><p><code>name</code>: The name of the tour or activity.</p>\n</li>\n<li><p><code>pictures</code>: An array of URLs to pictures related to the tour or activity.</p>\n</li>\n<li><p><code>price</code>: An object containing the currency code of the price.</p>\n</li>\n<li><p><code>self</code>: An object with the href and methods properties.</p>\n</li>\n<li><p><code>type</code>: The type of the tour or activity.</p>\n</li>\n</ul>\n<p>Example response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"geoCode\": {\n      \"latitude\": 0,\n      \"longitude\": 0\n    },\n    \"id\": \"\",\n    \"minimumDuration\": \"\",\n    \"name\": \"\",\n    \"pictures\": [\"\"],\n    \"price\": {\n      \"currencyCode\": \"\"\n    },\n    \"self\": {\n      \"href\": \"\",\n      \"methods\": [\"\"]\n    },\n    \"type\": \"\"\n  }\n]\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","tours_activities"],"host":["praiseordu","pythonanywhere","com"],"query":[{"key":"latitude","value":"40.71455"},{"key":"longitude","value":"-74.00714"},{"disabled":true,"key":"radius","value":"5"},{"disabled":true,"key":"categories","value":"museum,park"},{"disabled":true,"key":"page[limit]","value":"5"},{"disabled":true,"key":"","value":""}],"variable":[]}},"response":[],"_postman_id":"2fc8f7f8-4196-4fcb-9725-2aa2ac9f9ce6"},{"name":"flights/autocomplete","id":"0f71cd8c-c2b0-4311-9ea0-168a0744d5da","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/flights/autocomplete?query=doh","description":"<h3 id=\"get-flightsautocomplete\">GET /flights/autocomplete</h3>\n<p>This endpoint retrieves autocomplete suggestions based on the provided query.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li>query (string, required): The search query for which autocomplete suggestions are to be retrieved.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is a JSON object with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"results\": [\n        {\n            \"airport_name\": \"\",\n            \"city_name\": \"\",\n            \"country_name\": \"\",\n            \"iata_code\": \"\"\n        }\n    ]\n}\n\n</code></pre>\n<p>The <code>results</code> array contains objects with fields for airport name, city name, country name, and IATA code. The values for these fields will be populated based on the provided query.</p>\n","urlObject":{"path":["flights","autocomplete"],"host":["{{baseUrl}}"],"query":[{"key":"query","value":"doh"}],"variable":[]}},"response":[],"_postman_id":"0f71cd8c-c2b0-4311-9ea0-168a0744d5da"},{"name":"/flights/points_of_interest","id":"a921e89b-ce2a-4892-98bb-f5a4e6314885","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","urlObject":{"query":[],"variable":[]}},"response":[],"_postman_id":"a921e89b-ce2a-4892-98bb-f5a4e6314885"},{"name":"api/get_activity/<activity_id>","id":"cfc2478a-3a7c-4815-8f20-7a04d748df44","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1:5000/api/get_activity/6427965","description":"<h3 id=\"get-apiget_activityactivityid\">GET /api/get_activity/{activityId}</h3>\n<p>This endpoint retrieves the details of a specific activity.</p>\n<h4 id=\"request\">Request</h4>\n<p>No request body is required for this endpoint.</p>\n<ul>\n<li><code>activityId</code> (path parameter) - The ID of the activity to retrieve.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response will be in JSON format with the following schema:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"activityId\": \"\",\n    \"description\": null,\n    \"name\": \"\",\n    \"price\": 0\n}\n\n</code></pre>\n<ul>\n<li><p><code>activityId</code> (string) - The ID of the activity.</p>\n</li>\n<li><p><code>description</code> (string or null) - The description of the activity, if available.</p>\n</li>\n<li><p><code>name</code> (string) - The name of the activity.</p>\n</li>\n<li><p><code>price</code> (number) - The price of the activity.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","get_activity","6427965"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[],"_postman_id":"cfc2478a-3a7c-4815-8f20-7a04d748df44"}],"id":"28ae6898-2232-40ba-a603-d7a97b82713f","description":"<p>Endpoints for basic activities in hermex travels</p>\n","_postman_id":"28ae6898-2232-40ba-a603-d7a97b82713f"},{"name":"ADV. Activities","item":[{"name":"api/book_transfer","id":"5d0b2e43-4112-4e32-8a3d-a0b7ce3b1663","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"data\": {\r\n    \"note\": \"Note to driver\",\r\n    \"passengers\": [\r\n      {\r\n        \"firstName\": \"John\",\r\n        \"lastName\": \"Doe\",\r\n        \"title\": \"MR\",\r\n        \"contacts\": {\r\n          \"phoneNumber\": \"+33123456789\",\r\n          \"email\": \"user@email.com\"\r\n        },\r\n        \"billingAddress\": {\r\n          \"line\": \"Avenue de la Bourdonnais, 19\",\r\n          \"zip\": \"75007\",\r\n          \"countryCode\": \"FR\",\r\n          \"cityName\": \"Paris\"\r\n        }\r\n      }\r\n    ],\r\n    \"agency\": {\r\n      \"contacts\": [\r\n        {\r\n          \"email\": {\r\n            \"address\": \"abc@test.com\"\r\n          }\r\n        }\r\n      ]\r\n    },\r\n    \"payment\": {\r\n      \"methodOfPayment\": \"CREDIT_CARD\",\r\n      \"creditCard\": {\r\n        \"number\": \"4111111111111111\",\r\n        \"holderName\": \"JOHN DOE\",\r\n        \"vendorCode\": \"VI\",\r\n        \"expiryDate\": \"1018\",\r\n        \"cvv\": \"111\"\r\n      }\r\n    },\r\n    \"extraServices\": [\r\n      {\r\n        \"code\": \"EWT\",\r\n        \"itemId\": \"EWT0291\"\r\n      }\r\n    ],\r\n    \"equipment\": [\r\n      {\r\n        \"code\": \"BBS\"\r\n      }\r\n    ],\r\n    \"corporation\": {\r\n      \"address\": {\r\n        \"line\": \"5 Avenue Anatole France\",\r\n        \"zip\": \"75007\",\r\n        \"countryCode\": \"FR\",\r\n        \"cityName\": \"Paris\"\r\n      },\r\n      \"info\": {\r\n        \"AU\": \"FHOWMD024\",\r\n        \"CE\": \"280421GH\"\r\n      }\r\n    },\r\n    \"startConnectedSegment\": {\r\n      \"transportationType\": \"FLIGHT\",\r\n      \"transportationNumber\": \"AF176\",\r\n      \"departure\": {\r\n        \"uicCode\": \"7400001\",\r\n        \"iataCode\": \"JFK\",\r\n        \"localDateTime\": \"2024-08-19T17:00:00\"\r\n      },\r\n      \"arrival\": {\r\n        \"uicCode\": \"7400001\",\r\n        \"iataCode\": \"LHR\",\r\n        \"localDateTime\": \"2024-08-20T08:05:00\"\r\n      }\r\n    },\r\n    \"endConnectedSegment\": {\r\n      \"transportationType\": \"FLIGHT\",\r\n      \"transportationNumber\": \"AF380\",\r\n      \"departure\": {\r\n        \"uicCode\": \"7400001\",\r\n        \"iataCode\": \"CDG\",\r\n        \"localDateTime\": \"2024-08-19T20:00:00\"\r\n      },\r\n      \"arrival\": {\r\n        \"uicCode\": \"7400001\",\r\n        \"iataCode\": \"CDG\",\r\n        \"localDateTime\": \"2024-08-19T20:00:00\"\r\n      }\r\n    }\r\n  }\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:5000/api/book_transfer?offerId =0741476933","description":"<h3 id=\"post-apibook_transfer\">POST /api/book_transfer</h3>\n<p>This endpoint is used to book a transfer with the provided offer ID.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>data</code> (object)</p>\n<ul>\n<li><p><code>note</code> (string, optional)</p>\n</li>\n<li><p><code>passengers</code> (array)</p>\n<ul>\n<li><p><code>firstName</code> (string)</p>\n</li>\n<li><p><code>lastName</code> (string)</p>\n</li>\n<li><p><code>title</code> (string)</p>\n</li>\n<li><p><code>contacts</code> (object)</p>\n<ul>\n<li><p><code>phoneNumber</code> (string)</p>\n</li>\n<li><p><code>email</code> (string)</p>\n</li>\n</ul>\n</li>\n<li><p><code>billingAddress</code> (object)</p>\n<ul>\n<li><p><code>line</code> (string)</p>\n</li>\n<li><p><code>zip</code> (string)</p>\n</li>\n<li><p><code>countryCode</code> (string)</p>\n</li>\n<li><p><code>cityName</code> (string)</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>agency</code> (object)</p>\n<ul>\n<li><p><code>contacts</code> (array)</p>\n<ul>\n<li><p><code>email</code> (object)</p>\n<ul>\n<li><code>address</code> (string)</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>payment</code> (object)</p>\n<ul>\n<li><p><code>methodOfPayment</code> (string)</p>\n</li>\n<li><p><code>creditCard</code> (object)</p>\n<ul>\n<li><p><code>number</code> (string)</p>\n</li>\n<li><p><code>holderName</code> (string)</p>\n</li>\n<li><p><code>vendorCode</code> (string)</p>\n</li>\n<li><p><code>expiryDate</code> (string)</p>\n</li>\n<li><p><code>cvv</code> (string)</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>extraServices</code> (array)</p>\n<ul>\n<li><p><code>code</code> (string)</p>\n</li>\n<li><p><code>itemId</code> (string)</p>\n</li>\n</ul>\n</li>\n<li><p><code>equipment</code> (array)</p>\n<ul>\n<li><code>code</code> (string)</li>\n</ul>\n</li>\n<li><p><code>corporation</code> (object)</p>\n<ul>\n<li><p><code>address</code> (object)</p>\n<ul>\n<li><p><code>line</code> (string)</p>\n</li>\n<li><p><code>zip</code> (string)</p>\n</li>\n<li><p><code>countryCode</code> (string)</p>\n</li>\n<li><p><code>cityName</code> (string)</p>\n</li>\n</ul>\n</li>\n<li><p><code>info</code> (object)</p>\n<ul>\n<li><p><code>AU</code> (string)</p>\n</li>\n<li><p><code>CE</code> (string)</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>startConnectedSegment</code> (object)</p>\n<ul>\n<li><p><code>transportationType</code> (string)</p>\n</li>\n<li><p><code>transportationNumber</code> (string)</p>\n</li>\n<li><p><code>departure</code> (object)</p>\n<ul>\n<li><p><code>uicCode</code> (string)</p>\n</li>\n<li><p><code>iataCode</code> (string)</p>\n</li>\n<li><p><code>localDateTime</code> (string)</p>\n</li>\n</ul>\n</li>\n<li><p><code>arrival</code> (object)</p>\n<ul>\n<li><p><code>uicCode</code> (string)</p>\n</li>\n<li><p><code>iataCode</code> (string)</p>\n</li>\n<li><p><code>localDateTime</code> (string)</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>endConnectedSegment</code> (object)</p>\n<ul>\n<li><p><code>transportationType</code> (string)</p>\n</li>\n<li><p><code>transportationNumber</code> (string)</p>\n</li>\n<li><p><code>departure</code> (object)</p>\n<ul>\n<li><p><code>uicCode</code> (string)</p>\n</li>\n<li><p><code>iataCode</code> (string)</p>\n</li>\n<li><p><code>localDateTime</code> (string)</p>\n</li>\n</ul>\n</li>\n<li><p><code>arrival</code> (object)</p>\n<ul>\n<li><p><code>uicCode</code> (string)</p>\n</li>\n<li><p><code>iataCode</code> (string)</p>\n</li>\n<li><p><code>localDateTime</code> (string)</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response-body-json-schema\">Response Body (JSON Schema)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"id\": { \"type\": \"string\" },\n    \"passengers\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"contacts\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"email\": { \"type\": \"string\" },\n              \"phoneNumber\": { \"type\": \"string\" }\n            }\n          },\n          \"firstName\": { \"type\": \"string\" },\n          \"lastName\": { \"type\": \"string\" },\n          \"title\": { \"type\": \"string\" }\n        }\n      }\n    },\n    \"reference\": { \"type\": \"string\" },\n    \"transfers\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"cancellationRules\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"currencyCode\": { \"type\": \"string\" },\n                \"feeType\": { \"type\": \"string\" },\n                \"feeValue\": { \"type\": \"string\" },\n                \"metricMax\": { \"type\": \"string\" },\n                \"metricMin\": { \"type\": \"string\" },\n                \"metricType\": { \"type\": \"string\" },\n                \"ruleDescription\": { \"type\": \"string\" }\n              }\n            }\n          },\n          \"confirmNbr\": { \"type\": \"string\" },\n          \"converted\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"currencyCode\": { \"type\": \"string\" },\n              \"isEstimated\": { \"type\": \"boolean\" },\n              \"monetaryAmount\": { \"type\": \"string\" },\n              \"taxes\": {\n                \"type\": \"array\",\n                \"items\": { \"type\": \"string\" }\n              },\n              \"totalFees\": { \"type\": \"string\" },\n              \"totalTaxes\": { \"type\": \"string\" }\n            }\n          },\n          \"end\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"dateTime\": { \"type\": \"string\" },\n              \"locationCode\": { \"type\": \"string\" }\n            }\n          },\n          \"methodOfPayment\": { \"type\": \"string\" },\n          \"offerId\": { \"type\": \"string\" },\n          \"quotation\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"currencyCode\": { \"type\": \"string\" },\n              \"isEstimated\": { \"type\": \"boolean\" },\n              \"monetaryAmount\": { \"type\": \"string\" },\n              \"taxes\": {\n                \"type\": \"array\",\n                \"items\": { \"type\": \"string\" }\n              },\n              \"totalFees\": { \"type\": \"string\" },\n              \"totalTaxes\": { \"type\": \"string\" }\n            }\n          },\n          \"serviceProvider\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"code\": { \"type\": \"string\" },\n              \"logoUrl\": { \"type\": \"string\" },\n              \"name\": { \"type\": \"string\" },\n              \"termsUrl\": { \"type\": \"string\" }\n            }\n          },\n          \"start\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"dateTime\": { \"type\": \"string\" },\n              \"locationCode\": { \"type\": \"string\" }\n            }\n          },\n          \"status\": { \"type\": \"string\" },\n          \"transferType\": { \"type\": \"string\" },\n          \"vehicle\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"baggages\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"count\": { \"type\": \"integer\" },\n                    \"size\": { \"type\": \"string\" }\n                  }\n                }\n              },\n              \"category\": { \"type\": \"string\" },\n              \"code\": { \"type\": \"string\" },\n              \"description\": { \"type\": \"string\" },\n              \"imageURL\": { \"type\": \"string\" },\n              \"seats\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"count\": { \"type\": \"integer\" }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"type\": { \"type\": \"string\" }\n  }\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"5000","path":["api","book_transfer"],"host":["127","0","0","1"],"query":[{"key":"offerId ","value":"0741476933"}],"variable":[]}},"response":[],"_postman_id":"5d0b2e43-4112-4e32-8a3d-a0b7ce3b1663"},{"name":"api/transfer_offers","id":"c09ccf57-b7c8-4f93-a385-c94cf01f5f48","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"startLocationCode\": \"CDG\",\r\n  \"endAddressLine\": \"Avenue Anatole France, 5\",\r\n  \"endCityName\": \"Paris\",\r\n  \"endZipCode\": \"75007\",\r\n  \"endCountryCode\": \"FR\",\r\n  \"endName\": \"Souvenirs De La Tour\",\r\n  \"endGeoCode\": \"48.859466,2.2976965\",\r\n  \"transferType\": \"PRIVATE\",\r\n  \"startDateTime\": \"2024-08-19T20:00:00\",\r\n  \"passengers\": 2,\r\n  \"stopOvers\": [\r\n    {\r\n      \"duration\": \"PT2H30M\",\r\n      \"sequenceNumber\": 1,\r\n      \"addressLine\": \"Avenue de la Bourdonnais, 19\",\r\n      \"countryCode\": \"FR\",\r\n      \"cityName\": \"Paris\",\r\n      \"zipCode\": \"75007\",\r\n      \"name\": \"De La Tours\",\r\n      \"geoCode\": \"48.859477,2.2976985\",\r\n      \"stateCode\": \"FR\"\r\n    }\r\n  ],\r\n  \"startConnectedSegment\": {\r\n    \"transportationType\": \"FLIGHT\",\r\n    \"transportationNumber\": \"AF176\",\r\n    \"departure\": {\r\n      \"localDateTime\": \"2024-08-19T17:00:00\",\r\n      \"iataCode\": \"JFK\"\r\n    },\r\n    \"arrival\": {\r\n      \"localDateTime\": \"2024-08-20T08:05:00\",\r\n      \"iataCode\": \"LHR\"\r\n    }\r\n  },\r\n  \"passengerCharacteristics\": [\r\n    {\r\n      \"passengerTypeCode\": \"ADT\",\r\n      \"age\": 30\r\n    },\r\n    {\r\n      \"passengerTypeCode\": \"CHD\",\r\n      \"age\": 10\r\n    }\r\n  ]\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:5000/api/transfer_offers","description":"<h3 id=\"post-apitransfer_offers\">POST /api/transfer_offers</h3>\n<p>This endpoint is used to transfer offers.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>startLocationCode</code> (string): The code for the starting location.</p>\n</li>\n<li><p><code>endAddressLine</code> (string): The address line for the end location.</p>\n</li>\n<li><p><code>endCityName</code> (string): The city name for the end location.</p>\n</li>\n<li><p><code>endZipCode</code> (string): The zip code for the end location.</p>\n</li>\n<li><p><code>endCountryCode</code> (string): The country code for the end location.</p>\n</li>\n<li><p><code>endName</code> (string): The name of the end location.</p>\n</li>\n<li><p><code>endGeoCode</code> (string): The geographic code for the end location.</p>\n</li>\n<li><p><code>transferType</code> (string): The type of transfer.</p>\n</li>\n<li><p><code>startDateTime</code> (string): The start date and time for the transfer.</p>\n</li>\n<li><p><code>passengers</code> (number): The number of passengers.</p>\n</li>\n<li><p><code>stopOvers</code> (array): An array of stopover details including duration, address, city, country, zip code, name, and geographic code.</p>\n</li>\n<li><p><code>startConnectedSegment</code> (object): Details of the connected segment including transportation type, number, departure, and arrival information.</p>\n</li>\n<li><p><code>passengerCharacteristics</code> (array): An array of passenger characteristics including type code and age.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response is in JSON format and follows the schema below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data\": [\n    {\n      \"cancellationRules\": [\n        {\n          \"feeType\": \"string\",\n          \"feeValue\": \"string\",\n          \"metricMax\": \"string\",\n          \"metricType\": \"string\",\n          \"ruleDescription\": \"string\"\n        }\n      ],\n      \"converted\": {\n        \"base\": {\n          \"monetaryAmount\": \"string\"\n        },\n        \"currencyCode\": \"string\",\n        \"monetaryAmount\": \"string\",\n        \"taxes\": [\n          {\n            \"monetaryAmount\": \"string\"\n          }\n        ],\n        \"totalFees\": {\n          \"monetaryAmount\": \"string\"\n        },\n        \"totalTaxes\": {\n          \"monetaryAmount\": \"string\"\n        }\n      },\n      \"distance\": {\n        \"unit\": \"string\",\n        \"value\": 0\n      },\n      \"end\": {\n        \"address\": {\n          \"cityName\": \"string\",\n          \"countryCode\": \"string\",\n          \"latitude\": 0,\n          \"line\": \"string\",\n          \"longitude\": 0,\n          \"zip\": \"string\"\n        },\n        \"dateTime\": \"string\"\n      },\n      \"id\": \"string\",\n      \"language\": \"string\",\n      \"methodsOfPaymentAccepted\": [\n        \"string\"\n      ],\n      \"passengerCharacteristics\": [\n        {\n          \"age\": 0,\n          \"passengerTypeCode\": \"string\"\n        }\n      ],\n      \"quotation\": {\n        \"base\": {\n          \"monetaryAmount\": \"string\"\n        },\n        \"currencyCode\": \"string\",\n        \"monetaryAmount\": \"string\",\n        \"taxes\": [\n          {\n            \"monetaryAmount\": \"string\"\n          }\n        ],\n        \"totalFees\": {\n          \"monetaryAmount\": \"string\"\n        },\n        \"totalTaxes\": {\n          \"monetaryAmount\": \"string\"\n        }\n      },\n      \"serviceProvider\": {\n        \"code\": \"string\",\n        \"logoUrl\": \"string\",\n        \"name\": \"string\",\n        \"termsUrl\": \"string\"\n      },\n      \"start\": {\n        \"dateTime\": \"string\",\n        \"locationCode\": \"string\"\n      },\n      \"transferType\": \"string\",\n      \"type\": \"string\",\n      \"vehicle\": {\n        \"category\": \"string\",\n        \"code\": \"string\",\n        \"description\": \"string\",\n        \"imageURL\": \"string\",\n        \"seats\": [\n          {\n            \"count\": 0\n          }\n        ]\n      }\n    }\n  ]\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"5000","path":["api","transfer_offers"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[],"_postman_id":"c09ccf57-b7c8-4f93-a385-c94cf01f5f48"},{"name":"api/confirm-bookings/","id":"36887e9d-1de1-46e1-8d51-a277f0058af3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"time_frame\": 24\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:5000/api/confirm-bookings","description":"<h3 id=\"confirm-bookings\">Confirm Bookings</h3>\n<p>This endpoint is used to confirm bookings by sending an HTTP POST request to the specified URL.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><code>time_frame</code> (number): Specifies the time frame for the booking confirmation.</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><p>Status: 200</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n<li><p><code>message</code> (string): A message indicating the result of the booking confirmation.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"5000","path":["api","confirm-bookings"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"36887e9d-1de1-46e1-8d51-a277f0058af3"},{"name":"api/branded-fares-upsell","id":"ebf1d4f2-a98f-47f3-b516-53187df08108","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"id\": \"1\",\r\n        \"instantTicketingRequired\": false,\r\n        \"isUpsellOffer\": false,\r\n        \"itineraries\": [\r\n            {\r\n                \"duration\": \"PT1H20M\",\r\n                \"segments\": [\r\n                    {\r\n                        \"aircraft\": {\r\n                            \"code\": \"223\"\r\n                        },\r\n                        \"arrival\": {\r\n                            \"at\": \"2024-08-14T17:40:00\",\r\n                            \"iataCode\": \"CDG\",\r\n                            \"terminal\": \"2E\"\r\n                        },\r\n                        \"blacklistedInEU\": false,\r\n                        \"carrierCode\": \"AF\",\r\n                        \"departure\": {\r\n                            \"at\": \"2024-08-14T15:20:00\",\r\n                            \"iataCode\": \"LHR\",\r\n                            \"terminal\": \"4\"\r\n                        },\r\n                        \"duration\": \"PT1H20M\",\r\n                        \"id\": \"1\",\r\n                        \"number\": \"1781\",\r\n                        \"numberOfStops\": 0,\r\n                        \"operating\": {\r\n                            \"carrierCode\": \"AF\"\r\n                        }\r\n                    }\r\n                ]\r\n            }\r\n        ],\r\n        \"lastTicketingDate\": \"2024-08-14\",\r\n        \"lastTicketingDateTime\": \"2024-08-14\",\r\n        \"nonHomogeneous\": false,\r\n        \"numberOfBookableSeats\": 1,\r\n        \"oneWay\": false,\r\n        \"price\": {\r\n            \"additionalServices\": [\r\n                {\r\n                    \"amount\": \"43.20\",\r\n                    \"type\": \"CHECKED_BAGS\"\r\n                }\r\n            ],\r\n            \"base\": \"97.00\",\r\n            \"currency\": \"USD\",\r\n            \"fees\": [\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"SUPPLIER\"\r\n                },\r\n                {\r\n                    \"amount\": \"0.00\",\r\n                    \"type\": \"TICKETING\"\r\n                }\r\n            ],\r\n            \"grandTotal\": \"167.30\",\r\n            \"total\": \"167.30\"\r\n        },\r\n        \"pricingOptions\": {\r\n            \"fareType\": [\r\n                \"PUBLISHED\"\r\n            ],\r\n            \"includedCheckedBagsOnly\": false\r\n        },\r\n        \"source\": \"GDS\",\r\n        \"travelerPricings\": [\r\n            {\r\n                \"fareDetailsBySegment\": [\r\n                    {\r\n                        \"amenities\": [\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BAGGAGE\",\r\n                                \"description\": \"CHECKED BAG 1PC OF 23KG 158CM\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"SNACK\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"MEAL\",\r\n                                \"description\": \"BEVERAGE\",\r\n                                \"isChargeable\": false\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"CHOICE OF STANDARD SEAT\",\r\n                                \"isChargeable\": true\r\n                            },\r\n                            {\r\n                                \"amenityProvider\": {\r\n                                    \"name\": \"BrandedFare\"\r\n                                },\r\n                                \"amenityType\": \"BRANDED_FARES\",\r\n                                \"description\": \"UPGRADE ELIGIBILITY\",\r\n                                \"isChargeable\": true\r\n                            }\r\n                        ],\r\n                        \"brandedFare\": \"LIGHT\",\r\n                        \"brandedFareLabel\": \"ECONOMY LIGHT\",\r\n                        \"cabin\": \"ECONOMY\",\r\n                        \"class\": \"T\",\r\n                        \"fareBasis\": \"TYS0BALA\",\r\n                        \"includedCheckedBags\": {\r\n                            \"quantity\": 0\r\n                        },\r\n                        \"segmentId\": \"1\"\r\n                    }\r\n                ],\r\n                \"fareOption\": \"STANDARD\",\r\n                \"price\": {\r\n                    \"base\": \"97.00\",\r\n                    \"currency\": \"USD\",\r\n                    \"total\": \"167.30\"\r\n                },\r\n                \"travelerId\": \"1\",\r\n                \"travelerType\": \"ADULT\"\r\n            }\r\n        ],\r\n        \"type\": \"flight-offer\",\r\n        \"validatingAirlineCodes\": [\r\n            \"AF\"\r\n        ]\r\n    }\r\n]","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/branded-fares-upsell","description":"<p>This HTTP POST request is used to access the branded fares upsell API. The request body should be in raw format and include parameters such as id, instantTicketingRequired, isUpsellOffer, itineraries, lastTicketingDate, nonHomogeneous, numberOfBookableSeats, oneWay, price, pricingOptions, source, travelerPricings, type, and validatingAirlineCodes. The response will be in JSON format with parameters including id, instantTicketingRequired, itineraries, lastTicketingDate, paymentCardRequired, price, pricingOptions, source, travelerPricings, type, and validatingAirlineCodes. The response will also include a status code of 200 and content type of application/json.</p>\n","urlObject":{"path":["api","branded-fares-upsell"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"ebf1d4f2-a98f-47f3-b516-53187df08108"},{"name":"api/cancel_transfer/<order_id>","id":"0796eeec-4064-4020-ba38-f7e86767bbb1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"http://127.0.0.1:5000/api/cancel_transfer/M1NVU0VHfElDSEFBVENSRVNVQVR8MjAyNC0wOC0xN1QyMjoyMToxMA?confirmNbr=58456688","description":"<p>This HTTP POST request is used to cancel a transfer with a specific confirmation number. The request should include the confirmation number as a query parameter in the URL. The expected input for this request is the confirmation number of the transfer to be canceled. The format of the response is in JSON and the status code returned is 200 upon successful cancellation.</p>\n","urlObject":{"protocol":"http","port":"5000","path":["api","cancel_transfer","M1NVU0VHfElDSEFBVENSRVNVQVR8MjAyNC0wOC0xN1QyMjoyMToxMA"],"host":["127","0","0","1"],"query":[{"key":"confirmNbr","value":"58456688"}],"variable":[]}},"response":[],"_postman_id":"0796eeec-4064-4020-ba38-f7e86767bbb1"}],"id":"8886266f-7378-449b-9733-a583a88ae406","description":"<p>Endpoints for advanced activities in hermex travels</p>\n","_postman_id":"8886266f-7378-449b-9733-a583a88ae406"}],"id":"e6768855-f621-46b0-a27b-61392e100a47","description":"<p>Endpoints for activities in hermex travels</p>\n","_postman_id":"e6768855-f621-46b0-a27b-61392e100a47"},{"name":"Transfers","item":[{"name":"transfers/transfer_offers","id":"b9294865-5d82-4a10-bd6e-6c88ba47e69b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"startLocationCode\": \"CDG\",\n  \"endAddressLine\": \"Avenue Anatole France, 5\",\n  \"endCityName\": \"Paris\",\n  \"endZipCode\": \"75007\",\n  \"endCountryCode\": \"FR\",\n  \"endName\": \"Souvenirs De La Tour\",\n  \"endGeoCode\": \"48.859466,2.2976965\",\n  \"transferType\": \"PRIVATE\",\n  \"startDateTime\": \"2025-04-25T10:30:00\",\n  \"passengers\": 2,\n  \"stopOvers\": [\n    {\n      \"duration\": \"PT2H30M\",\n      \"sequenceNumber\": 1,\n      \"addressLine\": \"Avenue de la Bourdonnais, 19\",\n      \"countryCode\": \"FR\",\n      \"cityName\": \"Paris\",\n      \"zipCode\": \"75007\",\n      \"name\": \"De La Tours\",\n      \"geoCode\": \"48.859477,2.2976985\",\n      \"stateCode\": \"FR\"\n    }\n  ],\n  \"startConnectedSegment\": {\n    \"transportationType\": \"FLIGHT\",\n    \"transportationNumber\": \"AF380\",\n    \"departure\": {\n      \"localDateTime\": \"2025-04-25T09:00:00\",\n      \"iataCode\": \"NCE\"\n    },\n    \"arrival\": {\n      \"localDateTime\": \"2025-04-25T10:00:00\",\n      \"iataCode\": \"CDG\"\n    }\n  },\n  \"passengerCharacteristics\": [\n    {\n      \"passengerTypeCode\": \"ADT\",\n      \"age\": 20\n    },\n    {\n      \"passengerTypeCode\": \"CHD\",\n      \"age\": 10\n    }\n  ]\n}\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/transfers/transfer_offers","description":"<p>The endpoint allows you to create transfer offers by making an HTTP POST request to the specified URL. The request should include a payload in raw JSON format, containing details such as start location, end location, transfer type, start date and time, passengers, stop overs, start connected segment, and passenger characteristics.</p>\n<p>The response to the request is a JSON object with a \"data\" array containing transfer offer details. To document the response as a JSON schema, you can use the provided response data as the schema definition for the \"data\" array. This will help consumers understand the structure and properties of the response data.</p>\n<p>Here is an example of how the response data can be used to define the JSON schema for the \"data\" array:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"data\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"cancellationRules\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"feeType\": {\"type\": \"string\"},\n                \"feeValue\": {\"type\": \"string\"},\n                \"metricMax\": {\"type\": \"string\"},\n                \"metricType\": {\"type\": \"string\"},\n                \"ruleDescription\": {\"type\": \"string\"}\n              }\n            }\n          },\n          \"converted\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"base\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"monetaryAmount\": {\"type\": \"string\"}\n                }\n              },\n              \"currencyCode\": {\"type\": \"string\"},\n              \"monetaryAmount\": {\"type\": \"string\"},\n              \"taxes\": {\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"monetaryAmount\": {\"type\": \"string\"}\n                  }\n                }\n              },\n              \"totalFees\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"monetaryAmount\": {\"type\": \"string\"}\n                }\n              },\n              \"totalTaxes\": {\n                \"type\": \"object\",\n                \"properties\": {\n                  \"monetaryAmount\": {\"type\": \"string\"}\n                }\n              }\n            }\n          },\n          // ... (continue defining other properties based on the response data)\n        }\n      }\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["transfers","transfer_offers"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"b9294865-5d82-4a10-bd6e-6c88ba47e69b"},{"name":"transfers/book_transfer","id":"e2b2e6ae-f4b9-4ea4-8a4e-d4d4b1d91b12","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","urlObject":{"query":[],"variable":[]}},"response":[],"_postman_id":"e2b2e6ae-f4b9-4ea4-8a4e-d4d4b1d91b12"}],"id":"31d07f59-f7f6-4bec-ada6-3b6c6d615e6a","description":"<p>This is for Car Transfers</p>\n","_postman_id":"31d07f59-f7f6-4bec-ada6-3b6c6d615e6a"},{"name":"Payments","item":[{"name":"Fincra Payment Endpoints","item":[{"name":"fincra/initialize_payment","id":"05f5e483-4e58-464d-81c0-9b5a4b93cedd","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"amount\": 1000,\n  \"currency\": \"NGN\",\n  \"description\": \"Payment for order #123\",\n  \"email\" : \"praiseordu@gmail.com\",\n  \"phone_number\" : \"09033063223\"\n}\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/fincra/initialize_payment","description":"<h3 id=\"initialize-payment\">Initialize Payment</h3>\n<p>This endpoint is used to initialize a payment for an order.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p>Method: POST</p>\n</li>\n<li><p>Base URL: {{baseUrl}}</p>\n</li>\n<li><p>Endpoint: /fincra/initialize_payment</p>\n</li>\n<li><p>Body:</p>\n<ul>\n<li><p>amount (number, required): The amount to be paid.</p>\n</li>\n<li><p>currency (string, required): The currency in which the payment is to be made.</p>\n</li>\n<li><p>description (string, required): A description of the payment.</p>\n</li>\n<li><p>email (string, required): The email of the payer.</p>\n</li>\n<li><p>phone_number (string, required): The phone number of the payer.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is in JSON format and follows the schema below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"object\",\n  \"properties\": {\n    \"Hermex transaction_fee\": {\n      \"type\": \"number\"\n    },\n    \"message\": {\n      \"type\": \"string\"\n    },\n    \"note\": {\n      \"type\": \"string\"\n    },\n    \"payment_link\": {\n      \"type\": \"string\"\n    }\n  }\n}\n\n</code></pre>\n<ul>\n<li><p>Status: 200</p>\n</li>\n<li><p>Content-Type: application/json</p>\n</li>\n</ul>\n<p>The response contains the following fields:</p>\n<ul>\n<li><p>Hermex transaction_fee (number): The transaction fee for the payment.</p>\n</li>\n<li><p>message (string): A message related to the payment initialization.</p>\n</li>\n<li><p>note (string): Additional notes related to the payment.</p>\n</li>\n<li><p>payment_link (string): The link to proceed with the payment.</p>\n</li>\n</ul>\n","urlObject":{"path":["fincra","initialize_payment"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"05f5e483-4e58-464d-81c0-9b5a4b93cedd"},{"name":"fincra/verify_payment/<string:reference>","id":"c4ebe8dd-9c3b-47cb-b579-4d6438c02793","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/fincra/verify_payment/HERMEX_TX-7967facf578c456e8375cdd69a68f724","description":"<p>This endpoint retrieves the verification status of a FinCra payment transaction. The response contains a JSON schema with the details of the transaction status and data.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"type\": \"object\",\n    \"properties\": {\n        \"message\": {\n            \"type\": \"string\"\n        },\n        \"transaction_data\": {\n            \"type\": \"object\",\n            \"properties\": {\n                \"data\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                        \"amount\": {\n                            \"type\": \"number\"\n                        },\n                        \"amountReceived\": {\n                            \"type\": \"number\"\n                        },\n                        \"business\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                                \"_id\": {\n                                    \"type\": \"string\"\n                                },\n                                \"businessKey\": {\n                                    \"type\": \"string\"\n                                },\n                                \"businessTag\": {\n                                    \"type\": \"number\"\n                                },\n                                \"businessType\": {\n                                    \"type\": \"string\"\n                                },\n                                \"checkoutSettings\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                        \"backgroundColor\": {\n                                            \"type\": \"string\"\n                                        },\n                                        \"backgroundTextColor\": {\n                                            \"type\": \"string\"\n                                        },\n                                        \"buttonColor\": {\n                                            \"type\": \"string\"\n                                        },\n                                        \"buttonTextColor\": {\n                                            \"type\": \"string\"\n                                        },\n                                        \"fontColor\": {\n                                            \"type\": \"string\"\n                                        },\n                                        \"fontFamily\": {\n                                            \"type\": \"string\"\n                                        },\n                                        \"useBrandLogo\": {\n                                            \"type\": \"boolean\"\n                                        }\n                                    }\n                                },\n                                \"country\": {\n                                    \"type\": \"string\"\n                                },\n                                \"countryCallingCode\": {\n                                    \"type\": \"string\"\n                                },\n                                \"createdAt\": {\n                                    \"type\": \"string\"\n                                },\n                                \"email\": {\n                                    \"type\": \"string\"\n                                },\n                                \"emailSettings\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                        \"collectionNotification\": {\n                                            \"type\": \"boolean\"\n                                        },\n                                        \"paymentReceiptNotification\": {\n                                            \"type\": \"boolean\"\n                                        },\n                                        \"settlementNotification\": {\n                                            \"type\": \"boolean\"\n                                        },\n                                        \"topupNotification\": {\n                                            \"type\": \"boolean\"\n                                        }\n                                    }\n                                },\n                                \"isBlocked\": {\n                                    \"type\": \"boolean\"\n                                },\n                                \"isKYCApproved\": {\n                                    \"type\": \"boolean\"\n                                },\n                                \"mobile\": {\n                                    \"type\": \"string\"\n                                },\n                                \"name\": {\n                                    \"type\": \"string\"\n                                },\n                                \"settings\": {\n                                    \"type\": \"object\",\n                                    \"properties\": {\n                                        \"acceptMispayments\": {\n                                            \"type\": \"boolean\"\n                                        },\n                                        \"enableWebhook\": {\n                                            \"type\": \"boolean\"\n                                        },\n                                        \"feeBearer\": {\n                                            \"type\": \"string\"\n                                        },\n                                        \"settlementDestination\": {\n                                            \"type\": \"string\"\n                                        }\n                                    }\n                                },\n                                \"settlementSettings\": {\n                                    \"type\": \"null\"\n                                },\n                                \"status\": {\n                                    \"type\": \"string\"\n                                },\n                                \"updatedAt\": {\n                                    \"type\": \"string\"\n                                }\n                            }\n                        },\n                        \"businessId\": {\n                            \"type\": \"string\"\n                        },\n                        \"convertedAmount\": {\n                            \"type\": \"number\"\n                        },\n                        \"convertedCurrency\": {\n                            \"type\": \"string\"\n                        },\n                        \"createdAt\": {\n                            \"type\": \"string\"\n                        },\n                        \"currency\": {\n                            \"type\": \"string\"\n                        },\n                        \"customUrl\": {\n                            \"type\": \"null\"\n                        },\n                        \"customer\": {\n                            \"type\": \"object\",\n                            \"properties\": {\n                                \"email\": {\n                                    \"type\": \"string\"\n                                },\n                                \"name\": {\n                                    \"type\": \"string\"\n                                },\n                                \"phoneNumber\": {\n                                    \"type\": \"null\"\n                                }\n                            }\n                        },\n                        \"defaultPaymentMethod\": {\n                            \"type\": \"string\"\n                        },\n                        \"feeBearer\": {\n                            \"type\": \"string\"\n                        },\n                        \"id\": {\n                            \"type\": \"number\"\n                        },\n                        \"isDisabled\": {\n                            \"type\": \"boolean\"\n                        },\n                        \"merchantReference\": {\n                            \"type\": \"string\"\n                        },\n                        \"metadata\": {\n                            \"type\": \"null\"\n                        },\n                        \"paymentLinkId\": {\n                            \"type\": \"null\"\n                        },\n                        \"paymentMethods\": {\n                            \"type\": \"array\",\n                            \"items\": {\n                                \"type\": \"string\"\n                            }\n                        },\n                        \"quoteReference\": {\n                            \"type\": \"null\"\n                        },\n                        \"redirectUrl\": {\n                            \"type\": \"string\"\n                        },\n                        \"reference\": {\n                            \"type\": \"string\"\n                        },\n                        \"settlementDestination\": {\n                            \"type\": \"string\"\n                        },\n                        \"status\": {\n                            \"type\": \"string\"\n                        },\n                        \"successMessage\": {\n                            \"type\": \"null\"\n                        },\n                        \"updatedAt\": {\n                            \"type\": \"string\"\n                        }\n                    }\n                },\n                \"message\": {\n                    \"type\": \"string\"\n                },\n                \"status\": {\n                    \"type\": \"boolean\"\n                }\n            }\n        },\n        \"transaction_status\": {\n            \"type\": \"boolean\"\n        }\n    }\n}\n\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"\",\n    \"transaction_data\": {\n        \"data\": {\n            \"amount\": 0,\n            \"amountReceived\": 0,\n            \"business\": {\n                \"_id\": \"\",\n                \"businessKey\": \"\",\n                \"businessTag\": 0,\n                \"businessType\": \"\",\n                \"checkoutSettings\": {\n                    \"backgroundColor\": null,\n                    \"backgroundTextColor\": null,\n                    \"buttonColor\": null,\n                    \"buttonTextColor\": null,\n                    \"fontColor\": null,\n                    \"fontFamily\": null,\n                    \"useBrandLogo\": true\n                },\n                \"country\": \"\",\n                \"countryCallingCode\": \"\",\n                \"createdAt\": \"\",\n                \"email\": \"\",\n                \"emailSettings\": {\n                    \"collectionNotification\": true,\n                    \"paymentReceiptNotification\": true,\n                    \"settlementNotification\": true,\n                    \"topupNotification\": true\n                },\n                \"isBlocked\": true,\n                \"isKYCApproved\": true,\n                \"mobile\": \"\",\n                \"name\": \"\",\n                \"settings\": {\n                    \"acceptMispayments\": true,\n                    \"enableWebhook\": true,\n                    \"feeBearer\": \"\",\n                    \"settlementDestination\": \"\"\n                },\n                \"settlementSettings\": null,\n                \"status\": \"\",\n                \"updatedAt\": \"\"\n            },\n            \"businessId\": \"\",\n            \"convertedAmount\": 0,\n            \"convertedCurrency\": \"\",\n            \"createdAt\": \"\",\n            \"currency\": \"\",\n            \"customUrl\": null,\n            \"customer\": {\n                \"email\": \"\",\n                \"name\": \"\",\n                \"phoneNumber\": null\n            },\n            \"defaultPaymentMethod\": \"\",\n            \"feeBearer\": \"\",\n            \"id\": 0,\n            \"isDisabled\": true,\n            \"merchantReference\": \"\",\n            \"metadata\": null,\n            \"paymentLinkId\": null,\n            \"paymentMethods\": [\"\"],\n            \"quoteReference\": null,\n            \"redirectUrl\": \"\",\n            \"reference\": \"\",\n            \"settlementDestination\": \"\",\n            \"status\": \"\",\n            \"successMessage\": null,\n            \"updatedAt\": \"\"\n        },\n        \"message\": \"\",\n        \"status\": true\n    },\n    \"transaction_status\": true\n}\n\n</code></pre>\n","urlObject":{"path":["fincra","verify_payment","HERMEX_TX-7967facf578c456e8375cdd69a68f724"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c4ebe8dd-9c3b-47cb-b579-4d6438c02793"}],"id":"cb82bf0d-3dda-4bf1-a852-5ec342f7bd22","description":"<p>For Fincra Payment Platform</p>\n","_postman_id":"cb82bf0d-3dda-4bf1-a852-5ec342f7bd22"},{"name":"Flutterwave Payment Endpoint","item":[{"name":"payments/flutterwave/initialize_payment","id":"111c1a15-c66b-4bd5-aab6-393f601c2ff2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 249.20,\r\n    \"email\": \"boronicle@gmail.com\",\r\n    \"phone_number\": \"+123456789\",\r\n    \"booking_type\": \"FLIGHT\",\r\n    \"currency\": \"USD\",\r\n    \"booking_id\": \"c7b19685-a837-44cb-a4e1-05ca624cf1d1\",\r\n    \"order_id\": \"HeX_#-250401248518\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/payments/flutterwave/initialize_payment","description":"<h3 id=\"payment-initialization-route-documentation\">Payment Initialization Route Documentation</h3>\n<p>This document outlines the <code>initialize_payment</code> route of the Flask backend for integrating payment transactions using <strong>Flutterwave</strong>. It is intended to guide the <strong>frontend</strong> and <strong>mobile</strong> teams on how to consume this endpoint.</p>\n<hr />\n<h4 id=\"endpoint\"><strong>Endpoint</strong></h4>\n<p><strong>URL:</strong> <code>/initialize_payment</code><br /><strong>Method:</strong> <code>POST</code><br /><strong>Authorization:</strong> Bearer Token (JWT)<br /><strong>Content-Type:</strong> <code>application/json</code></p>\n<hr />\n<h4 id=\"description\"><strong>Description</strong></h4>\n<p>Initializes a payment transaction with Flutterwave, including a <strong>3% transaction fee</strong>. The response provides a breakdown of the fee, making customers aware of the extra charge.</p>\n<hr />\n<h3 id=\"request-headers\"><strong>Request Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td>Bearer</td>\n<td>JWT token for user authentication</td>\n</tr>\n<tr>\n<td>Content-Type</td>\n<td>application/json</td>\n<td>Data format of the request body</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"request-body\"><strong>Request Body</strong></h3>\n<p>The request body should be in JSON format and include the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field Name</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>amount</code></td>\n<td>float</td>\n<td>The amount to be paid (without the transaction fee)</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>currency</code></td>\n<td>string</td>\n<td>Currency code (e.g., \"USD\", \"NGN\")</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>Customer's email address</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>phone_number</code></td>\n<td>string</td>\n<td>Customer's phone number</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>booking_type</code></td>\n<td>string</td>\n<td>Type of booking (HOTEL, FLIGHT, ACTIVITY, CAR, EVENT)</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>string</td>\n<td>Unique order identifier</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>booking_id</code></td>\n<td>string</td>\n<td>Unique booking identifier</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"example-request-body\"><strong>Example Request Body</strong></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"amount\": 100.00,\n  \"currency\": \"USD\",\n  \"email\": \"john.doe@example.com\",\n  \"phone_number\": \"1234567890\",\n  \"booking_type\": \"HOTEL\",\n  \"order_id\": \"ORD123456\",\n  \"booking_id\": \"BKG987654\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"response\"><strong>Response</strong></h3>\n<h4 id=\"success-200\"><strong>Success (200)</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>message</code></td>\n<td>string</td>\n<td>Success message</td>\n</tr>\n<tr>\n<td><code>payment_link</code></td>\n<td>string</td>\n<td>URL to proceed with payment</td>\n</tr>\n<tr>\n<td><code>transaction_fee</code></td>\n<td>float</td>\n<td>Amount of the transaction fee (3% of the original amount)</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>string</td>\n<td>Note informing about the added transaction fee</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"example-success-response\"><strong>Example Success Response</strong></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Payment initialized\",\n  \"payment_link\": \"https://flutterwave.com/pay/xyz123\",\n  \"transaction_fee\": 3.00,\n  \"note\": \"A 3% transaction fee has been added to your payment\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"error-responses\"><strong>Error Responses</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Message</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>{\"error\": \"Invalid booking type\"}</code></td>\n<td>Booking type is not supported</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>{\"error\": \"Booking and Order IDs are required for your booking payments\"}</code></td>\n<td>Missing required booking or order ID</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>{\"error\": \"Invalid amount format.\"}</code></td>\n<td>Amount is not a valid number</td>\n</tr>\n<tr>\n<td>403</td>\n<td><code>{\"error\": \"Authorization failed. Check your API key.\"}</code></td>\n<td>API key for Flutterwave is invalid or missing</td>\n</tr>\n<tr>\n<td>404</td>\n<td><code>{\"error\": \"User not found. Please log in.\"}</code></td>\n<td>JWT token is invalid or user does not exist</td>\n</tr>\n<tr>\n<td>404</td>\n<td><code>{\"error\": \"Booking not found\"}</code></td>\n<td>No booking record found for the given order ID</td>\n</tr>\n<tr>\n<td>500</td>\n<td><code>{\"error\": \"An unexpected error occurred.\", \"details\": \"Error message\"}</code></td>\n<td>Internal server error or unhandled exception</td>\n</tr>\n<tr>\n<td>500</td>\n<td><code>{\"message\": \"Unexpected response format from payment gateway\", \"error\": \"KeyError: 'data'\"}</code></td>\n<td>API response from Flutterwave did not match the expected format</td>\n</tr>\n<tr>\n<td>500</td>\n<td><code>{\"message\": \"Failed to initialize payment\", \"error\": \"Unknown error\"}</code></td>\n<td>Payment gateway returned a failure status without specific error</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"implementation-tips-frontendmobile\"><strong>Implementation Tips (Frontend/Mobile)</strong></h3>\n<ol>\n<li><p><strong>JWT Authentication:</strong></p>\n<ul>\n<li><p>Ensure the JWT token is passed in the <code>Authorization</code> header.</p>\n</li>\n<li><p>Redirect to login if a <code>401 Unauthorized</code> error is returned.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Handling Responses:</strong></p>\n<ul>\n<li><p>Check the response code to handle success and error scenarios.</p>\n</li>\n<li><p>Display the <code>payment_link</code> to the user upon success.</p>\n</li>\n<li><p>Show a notification or alert if an error occurs.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Payment Link Navigation:</strong></p>\n<ul>\n<li>Open the <code>payment_link</code> in a new browser tab or WebView on mobile.</li>\n</ul>\n</li>\n<li><p><strong>Transaction Fee Display:</strong></p>\n<ul>\n<li>Inform users about the <strong>3% transaction fee</strong> before they initiate payment.</li>\n</ul>\n</li>\n</ol>\n<hr />\n<h3 id=\"additional-notes\"><strong>Additional Notes</strong></h3>\n<ul>\n<li><p>The payment gateway supports multiple options, including <strong>card, USSD, bank transfer, M-PESA, Google Pay, Apple Pay, and OPay</strong>.</p>\n</li>\n<li><p>In case of <strong>rate limiting</strong>, the API will retry automatically.</p>\n</li>\n<li><p>Make sure to log payment initialization and transaction details to enhance troubleshooting.</p>\n</li>\n</ul>\n","urlObject":{"path":["payments","flutterwave","initialize_payment"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"111c1a15-c66b-4bd5-aab6-393f601c2ff2"},{"name":"payments/flutterwave/flutterwave_webhook","id":"c3db91f2-2dff-4283-929f-e95abe8b3b8c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"verifi-hash","value":"f8a1d5e3c9b4a872f6e7d0c2a1b5f3c9e8d7f4a6b2c3e9d0f5a6c7b8d9e0f1a2","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"event\": \"charge.completed\",\n  \"data\": {\n    \"id\": 285959875,\n    \"tx_ref\": \"Links-616626414629\",\n    \"flw_ref\": \"PeterEkene/FLW270177170\",\n    \"device_fingerprint\": \"a42937f4a73ce8bb8b8df14e63a2df31\",\n    \"amount\": 100,\n    \"currency\": \"NGN\",\n    \"charged_amount\": 100,\n    \"app_fee\": 1.4,\n    \"merchant_fee\": 0,\n    \"processor_response\": \"Approved by Financial Institution\",\n    \"auth_model\": \"PIN\",\n    \"ip\": \"197.210.64.96\",\n    \"narration\": \"CARD Transaction \",\n    \"status\": \"successful\",\n    \"payment_type\": \"card\",\n    \"created_at\": \"2020-07-06T19:17:04.000Z\",\n    \"account_id\": 17321,\n    \"customer\": {\n      \"id\": 215604089,\n      \"name\": \"Yemi Desola\",\n      \"phone_number\": null,\n      \"email\": \"user@gmail.com\",\n      \"created_at\": \"2020-07-06T19:17:04.000Z\"\n    },\n    \"card\": {\n      \"first_6digits\": \"123456\",\n      \"last_4digits\": \"7889\",\n      \"issuer\": \"VERVE FIRST CITY MONUMENT BANK PLC\",\n      \"country\": \"NG\",\n      \"type\": \"VERVE\",\n      \"expiry\": \"02/23\"\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/payments/flutterwave/flutterwave_webhook","description":"<p>This endpoint is used to receive webhook notifications from the Flutterwave payment gateway. The HTTP POST request to {{baseUrl}}/payments/flutterwave/flutterwave_webhook includes a payload in the raw request body type, containing information about a completed charge event. The response to the request is a JSON object with a \"message\" key.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li><p>event: (string) The type of event, in this case, \"charge.completed\"</p>\n</li>\n<li><p>data: (object) Contains detailed information about the completed charge, including id, tx_ref, flw_ref, device_fingerprint, amount, currency, charged_amount, app_fee, merchant_fee, processor_response, auth_model, ip, narration, status, payment_type, created_at, account_id, customer, and card details.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response to the request is a JSON object with a \"message\" key. The value of the \"message\" key will provide additional information about the processing of the webhook notification.</p>\n","urlObject":{"path":["payments","flutterwave","flutterwave_webhook"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c3db91f2-2dff-4283-929f-e95abe8b3b8c"}],"id":"d78a2de6-5871-4273-8f4b-40f59fd498ca","_postman_id":"d78a2de6-5871-4273-8f4b-40f59fd498ca","description":""},{"name":"Paystack Payment Endpoint","item":[{"name":"paystack","id":"4b34cbdc-0514-4d07-8ffa-9b4518af7328","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"amount\": 42.22,\r\n    \"email\": \"amffloreseteresa5@gmail.com\",\r\n    \"phone_number\": \"+123456789\",\r\n    \"booking_type\": \"HOTEL\",\r\n    \"currency\": \"GHS\",\r\n    \"order_id\": \"HeX_#-250330926311\",\r\n    \"booking_id\": \"b8178354-067c-459f-a6f5-d8702b6abba3\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/payments/paystack/initiate-payment","urlObject":{"path":["payments","paystack","initiate-payment"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"4b34cbdc-0514-4d07-8ffa-9b4518af7328"}],"id":"52b55656-0214-4b27-99ea-239f24a1b8a0","_postman_id":"52b55656-0214-4b27-99ea-239f24a1b8a0","description":""}],"id":"742ab498-582b-4824-b5d8-717550493437","_postman_id":"742ab498-582b-4824-b5d8-717550493437","description":""},{"name":"Reviews","item":[{"name":"/post_reviews","id":"6f0bcfbb-0fa5-43e7-80b2-d4344010dd53","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"booking_id\": \"f0a22f1d-fafb-4cbd-ab9a-76f0eeb5d131\",\r\n    \"rating\": 3,\r\n    \"comment\": \"Nice and cozy experience\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/reviews/post_reviews","description":"<p>StartFragment</p>\n<h2 id=\"post-reviewspost_reviews\"><strong>POST /reviews/post_reviews</strong></h2>\n<h3 id=\"endpoint\"><strong>Endpoint</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">POST /reviews/post_reviews\n\n</code></pre>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This endpoint allows authenticated users to submit a review for a booking.</p>\n<hr />\n<h3 id=\"request-headers\"><strong>Request Headers</strong></h3>\n<p>The JWT must include a \"uuid\" claim containing the user’s UUID. The backend extracts the user identifier from this claim.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td>Bearer</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>Content-Type</td>\n<td>application/json</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"request-body\"><strong>Request Body</strong></h3>\n<p>The request body should be sent in JSON format:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"booking_id\": \"string\",\n  \"rating\": 5,\n  \"comment\": \"Great experience!\"\n}\n\n</code></pre>\n<h4 id=\"request-body-parameters\"><strong>Request Body Parameters</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>booking_id</td>\n<td>string</td>\n<td>The unique ID of the booking being reviewed</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>rating</td>\n<td>number</td>\n<td>The rating of the booking (integer 1 to 5)</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>comment</td>\n<td>string</td>\n<td>User's feedback or comment about the booking</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"responses\"><strong>Responses</strong></h3>\n<h4 id=\"success-201---created\"><strong>Success (201 - Created)</strong></h4>\n<p>The review was submitted successfully.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Review submitted successfully\"\n}\n\n</code></pre>\n<hr />\n<h4 id=\"error-responses\"><strong>Error Responses</strong></h4>\n<p><strong>400 - Bad Request</strong></p>\n<ul>\n<li><p><code>{ \"message\": \"Missing required fields\" }</code></p>\n</li>\n<li><p><code>{ \"error\": \"Rating must be between 1 and 5.\" }</code></p>\n</li>\n<li><p><code>{ \"error\": \"Rating must be a valid integer between 1 and 5.\" }</code></p>\n</li>\n<li><p><code>{ \"msg\": \"Missing Authorization Header\" }</code></p>\n</li>\n</ul>\n<hr />\n<h3 id=\"authorization\"><strong>Authorization</strong></h3>\n<p>This endpoint requires the user to be authenticated using a <strong>JWT token</strong>.</p>\n<p>The token should be included as a <strong>Bearer Token</strong> in the <code>Authorization</code> header.</p>\n<hr />\n<h3 id=\"example-usage\"><strong>Example Usage</strong></h3>\n<h4 id=\"curl\"><strong>cURL</strong></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">bashCopyEditcurl -X POST \"http://localhost:5000/reviews/post_reviews\" \\\n    -H \"Authorization: Bearer &lt;your_jwt_token&gt;\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n        \"booking_id\": \"123456\",\n        \"rating\": 5,\n        \"comment\": \"Great service, highly recommended!\"\n    }'\n\n</code></pre>\n<h4 id=\"response\"><strong>Response</strong></h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Review submitted successfully\"\n}\n\n</code></pre>\n","urlObject":{"path":["reviews","post_reviews"],"host":["{{baseUrl}}"],"query":[{"disabled":true,"key":"booking_id","value":"f0a22f1d-fafb-4cbd-ab9a-76f0eeb5d131"},{"disabled":true,"key":"rating ","value":"6"},{"disabled":true,"key":"comments","value":"Nice and cozy exprience"}],"variable":[]}},"response":[],"_postman_id":"6f0bcfbb-0fa5-43e7-80b2-d4344010dd53"},{"name":"/get_reviews","id":"fa87542d-16ea-43d9-9b15-03106d00f8b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/reviews/get_reviews?booking_id=f0a22f1d-fafb-4cbd-ab9a-76f0eeb5d131","description":"<p>StartFragment</p>\n<h2 id=\"get-reviews\"><strong>GET /reviews</strong></h2>\n<h3 id=\"endpoint\"><strong>Endpoint</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">GET /reviews/get_reviews\n\n</code></pre>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This endpoint retrieves a list of all reviews or filters reviews by a specific booking ID.</p>\n<hr />\n<h3 id=\"query-parameters\"><strong>Query Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>booking_id</td>\n<td>string</td>\n<td>The unique ID of the booking to filter reviews by.</td>\n<td>No</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"request-headers\"><strong>Request Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Content-Type</td>\n<td>application/json</td>\n<td>No</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"responses\"><strong>Responses</strong></h3>\n<h4 id=\"success-200---ok\"><strong>Success (200 - OK)</strong></h4>\n<p>The reviews were retrieved successfully.</p>\n<h5 id=\"response-body-without-filter\"><strong>Response Body (Without Filter)</strong></h5>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Reviews retrieved successfully\",\n  \"review_data\": [\n    {\n      \"id\": 1,\n      \"user_id\": \"123456\",\n      \"booking_id\": \"789012\",\n      \"rating\": 5,\n      \"comment\": \"Great experience!\",\n      \"created_at\": \"2025-03-24T00:28:59\",\n      \"updated_at\": \"2025-03-24T00:28:59\"\n    },\n    {\n      \"id\": 2,\n      \"user_id\": \"654321\",\n      \"booking_id\": \"456789\",\n      \"rating\": 4,\n      \"comment\": \"Good service!\",\n      \"created_at\": \"2025-03-23T12:10:00\",\n      \"updated_at\": \"2025-03-23T12:10:00\"\n    }\n  ]\n}\n\n</code></pre>\n<h5 id=\"response-body-with-filter\"><strong>Response Body (With Filter)</strong></h5>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Reviews retrieved successfully\",\n  \"review_data\": [\n    {\n      \"id\": 3,\n      \"user_id\": \"112233\",\n      \"booking_id\": \"789012\",\n      \"rating\": 5,\n      \"comment\": \"Amazing booking experience!\",\n      \"created_at\": \"2025-03-22T11:50:00\",\n      \"updated_at\": \"2025-03-22T11:50:00\"\n    }\n  ]\n}\n\n</code></pre>\n<hr />\n<h3 id=\"error-responses\"><strong>Error Responses</strong></h3>\n<p><strong>404 - Not Found</strong></p>\n<p>If no reviews are found:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"No reviews found.\"\n}\n\n</code></pre>\n<hr />\n<h3 id=\"example-usage\"><strong>Example Usage</strong></h3>\n<h4 id=\"retrieve-all-reviews\"><strong>Retrieve All Reviews</strong></h4>\n<p><strong>cURL</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"http://localhost:5000/reviews/get_reviews\"\n\n</code></pre>\n<h4 id=\"retrieve-reviews-by-booking-id\"><strong>Retrieve Reviews by Booking ID</strong></h4>\n<p><strong>cURL</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X GET \"http://localhost:5000/reviews/get_reviews?booking_id=789012\"\n\n</code></pre>\n","urlObject":{"path":["reviews","get_reviews"],"host":["{{baseUrl}}"],"query":[{"key":"booking_id","value":"f0a22f1d-fafb-4cbd-ab9a-76f0eeb5d131"}],"variable":[]}},"response":[],"_postman_id":"fa87542d-16ea-43d9-9b15-03106d00f8b3"}],"id":"819d38e6-1830-4b86-8ec8-8bd46a958092","_postman_id":"819d38e6-1830-4b86-8ec8-8bd46a958092","description":""},{"name":"My Bookings","item":[{"name":"get_my_bookings","id":"5971aefd-8a6e-430d-b8c5-8b522fa6ab55","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/my_bookings/get_bookings","description":"<h3 id=\"my-bookings---retrieve-user-bookings\"><strong>My Bookings - Retrieve User Bookings</strong></h3>\n<p><strong>Endpoint:</strong><br /><code>GET /get_bookings</code></p>\n<p><strong>Description:</strong></p>\n<p>Retrieves all bookings associated with the authenticated user, including flights, hotels, car rentals, activities, and events.</p>\n<hr />\n<h4 id=\"authorization\"><strong>Authorization:</strong></h4>\n<ul>\n<li><p>This endpoint requires a <strong>JWT token</strong> for authentication targeting the user_id.</p>\n</li>\n<li><p>Authorization: Bearer</p>\n</li>\n</ul>\n<hr />\n<h4 id=\"request-headers\"><strong>Request Headers:</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td>{{vault:bearer-token}}</td>\n<td>Yes</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h4 id=\"response-format\"><strong>Response Format:</strong></h4>\n<p><strong>Success (200 OK)</strong></p>\n<p>Returns a list of bookings associated with the user.</p>\n<p><strong>Example Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"My bookings retrieved successfully\",\n    \"data\": {\n        \"flights\": [\n            {\n                \"flight_id\": \"123\",\n                \"destination\": \"New York\",\n                \"departure_date\": \"2025-04-01\",\n                \"status\": \"Confirmed\"\n            }\n        ],\n        \"hotels\": [\n            {\n                \"hotel_id\": \"456\",\n                \"name\": \"Grand Plaza\",\n                \"check_in_date\": \"2025-04-02\",\n                \"check_out_date\": \"2025-04-05\"\n            }\n        ],\n        \"car_rentals\": [\n            {\n                \"car_id\": \"789\",\n                \"car_name\": \"Tesla Model X\",\n                \"rental_date\": \"2025-04-03\",\n                \"status\": \"Reserved\"\n            }\n        ],\n        \"activities\": [\n            {\n                \"activity_id\": \"321\",\n                \"activity_name\": \"City Tour\",\n                \"date\": \"2025-04-04\"\n            }\n        ],\n        \"events\": [\n            {\n                \"event_id\": \"654\",\n                \"event_name\": \"Music Festival\",\n                \"event_date\": \"2025-04-06\"\n            }\n        ]\n    }\n}\n\n</code></pre>\n<hr />\n<p><strong>Error Responses:</strong></p>\n<ul>\n<li><p><code>{ \"message\": \"Missing or invalid token\" }</code></p>\n<ul>\n<li>Occurs if the JWT token is missing or invalid.<br />  <strong>Example:</strong></li>\n</ul>\n</li>\n<li><p><code>{ \"message\": \"User not found\" }</code></p>\n<ul>\n<li>If the user is not found in the database.<br />  <strong>Example:</strong></li>\n</ul>\n</li>\n<li><p><code>{ \"message\": \"An error occurred while retrieving bookings\" }</code></p>\n<ul>\n<li>If an unexpected error occurs while retrieving bookings.<br />  <strong>Example:</strong></li>\n</ul>\n</li>\n</ul>\n<hr />\n<h4 id=\"usage-example\"><strong>Usage Example:</strong></h4>\n<p><strong>Request:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-antlr4\">GET /get_bookings  \nAuthorization: {{vault:bearer-token}}\n\n</code></pre>\n","urlObject":{"path":["my_bookings","get_bookings"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"8ce0ccd2-68c2-4a76-8ebb-d64ba3692e99","name":"New Request","originalRequest":{"method":"GET","header":[],"url":"{{baseUrl}}/my_bookings/get_bookings"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Werkzeug/3.0.6 Python/3.13.0","enabled":true},{"key":"Date","value":"Mon, 24 Mar 2025 15:43:50 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Content-Length","value":"128","enabled":true},{"key":"Connection","value":"close","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"activities\": [],\n        \"car_rentals\": [],\n        \"events\": [],\n        \"flights\": [],\n        \"hotels\": []\n    },\n    \"message\": \"My bookings retrieved successfully\"\n}"},{"id":"1e0c07df-38c6-430c-b6c6-713ae832ce81","name":"get_my_bookings","originalRequest":{"method":"GET","header":[],"url":"{{baseUrl}}/my_bookings/get_bookings"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Mar 2025 07:49:32 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"cf-cache-status","value":"DYNAMIC","enabled":true},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=HdFR8YV4F09oU27lW0xUVrhr%2FQy%2BL3oiT6DcInBSVapFIuxOZXSy3mDmbC4DQm3n%2BeJMFzjL3ng3jslcsYv4oQv%2FW2DcMPF4wK5j4hi76ajMQTIGYmv5XZGbKuuFzJNISq3uvYKh0VgFL%2Fe3\"}],\"group\":\"cf-nel\",\"max_age\":604800}","enabled":true},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}","enabled":true},{"key":"speculation-rules","value":"\"/cdn-cgi/speculation\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"92650d4e9ebb73e0-JNB","enabled":true},{"key":"Content-Encoding","value":"br","enabled":true},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","enabled":true},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=291468&min_rtt=203179&rtt_var=100169&sent=21&recv=19&lost=0&retrans=0&sent_bytes=4975&recv_bytes=1629&delivery_rate=25188&cwnd=256&unsent_bytes=0&cid=bcaf79640def1ccf&ts=16012&x=0\"","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"activities\": [],\n        \"car_rentals\": [],\n        \"events\": [],\n        \"flights\": [],\n        \"hotels\": []\n    },\n    \"message\": \"My bookings retrieved successfully\"\n}"},{"id":"c64c980c-9741-4239-a5ff-c2f135a4ea20","name":"get_my_bookings","originalRequest":{"method":"GET","header":[],"url":"{{baseUrl}}/my_bookings/get_bookings"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 26 Mar 2025 07:49:32 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"cf-cache-status","value":"DYNAMIC","enabled":true},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=HdFR8YV4F09oU27lW0xUVrhr%2FQy%2BL3oiT6DcInBSVapFIuxOZXSy3mDmbC4DQm3n%2BeJMFzjL3ng3jslcsYv4oQv%2FW2DcMPF4wK5j4hi76ajMQTIGYmv5XZGbKuuFzJNISq3uvYKh0VgFL%2Fe3\"}],\"group\":\"cf-nel\",\"max_age\":604800}","enabled":true},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}","enabled":true},{"key":"speculation-rules","value":"\"/cdn-cgi/speculation\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"92650d4e9ebb73e0-JNB","enabled":true},{"key":"Content-Encoding","value":"br","enabled":true},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","enabled":true},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=291468&min_rtt=203179&rtt_var=100169&sent=21&recv=19&lost=0&retrans=0&sent_bytes=4975&recv_bytes=1629&delivery_rate=25188&cwnd=256&unsent_bytes=0&cid=bcaf79640def1ccf&ts=16012&x=0\"","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"activities\": [],\n        \"car_rentals\": [],\n        \"events\": [],\n        \"flights\": [],\n        \"hotels\": []\n    },\n    \"message\": \"My bookings retrieved successfully\"\n}"}],"_postman_id":"5971aefd-8a6e-430d-b8c5-8b522fa6ab55"},{"name":"View Bookings","id":"24a6dd10-ef15-4edd-b522-9a2a0165c701","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","urlObject":{"query":[],"variable":[]}},"response":[],"_postman_id":"24a6dd10-ef15-4edd-b522-9a2a0165c701"}],"id":"4c0dc8e1-1d31-4af4-bbaa-eb97fcc90c6b","description":"<h3 id=\"my-bookings---retrieve-user-bookings\"><strong>My Bookings - Retrieve User Bookings</strong></h3>\n<p><strong>Description:</strong></p>\n<p>Retrieves all bookings associated with the authenticated user, including flights, hotels, car rentals, activities, and events.</p>\n<hr />\n","_postman_id":"4c0dc8e1-1d31-4af4-bbaa-eb97fcc90c6b"},{"name":"Customer Service","item":[],"id":"f5d2e776-0a6d-4f9a-bf71-c7e169ea6b44","_postman_id":"f5d2e776-0a6d-4f9a-bf71-c7e169ea6b44","description":""},{"name":"Visa","item":[{"name":"Schengen Visa","item":[{"name":"visa/schengenvisa/apply","event":[{"listen":"test","script":{"id":"4188f91f-a703-40b3-8a4a-3a47f7846433","exec":["pm.test(\"Response status code is 201\", function () {\r","    pm.expect(pm.response.code).to.equal(201);\r","});\r","\r","\r","pm.test(\"Response time is less than 200ms\", function () {\r","  pm.expect(pm.response.responseTime).to.be.below(200);\r","});\r","\r","\r","pm.test(\"Response has the required fields - application_id and message\", function () {\r","    const responseData = pm.response.json();\r","    \r","    pm.expect(responseData).to.be.an('object');\r","    pm.expect(responseData.application_id).to.exist;\r","    pm.expect(responseData.message).to.exist;\r","});\r","\r","\r","pm.test(\"Application submission response contains payment links for flutterwave and paystack\", function () {\r","    const responseData = pm.response.json();\r","    \r","    pm.expect(responseData).to.be.an('object');\r","    pm.expect(responseData.payment_links).to.exist;\r","    pm.expect(responseData.payment_links.flutterwave).to.exist.and.to.be.a('string');\r","    pm.expect(responseData.payment_links.paystack).to.exist.and.to.be.a('string');\r","});\r","// Stores the applicationId in an environment or global variable\r","var applicationId = pm.response.json().application_id;\r","pm.environment.set(\"applicationId\", applicationId);"],"type":"text/javascript","packages":{}}}],"id":"b8b36dfc-e64c-4d0a-8576-2b5e6159c38c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"full_name","value":"Erasmus Tayviah","type":"text","uuid":"d3a2bf7e-7716-4172-afc8-ca630f9dbe71"},{"key":"date_of_birth","value":"1989-01-20","type":"text","uuid":"93f150ff-98ba-4ea6-8be1-1b5fd6056e08"},{"key":"nationality","value":"Ghanaian","type":"text","uuid":"b4b4d08b-20ff-4a7a-baa6-74394fc15e84"},{"key":"passport_scan","type":"file","uuid":"0a0a8298-6ade-4a60-8623-7817f021d73f","src":"postman-cloud:///1ef9ec1b-7bcd-4fa0-a789-562193341f7b"},{"key":"email","value":"boronicle@gmail.com","type":"text","uuid":"8eb25407-6c8a-4681-bab7-b6e87f1fdc7c"},{"key":"phone_number","value":"+233243457467","type":"text","uuid":"07c1ebaf-90b0-4ab7-9edb-1c199d1398d4"}]},"url":"{{baseUrl}}/visa/schengenvisa/apply","description":"<h1 id=\"post-visaschengenvisaapply\"><strong>POST</strong> <code>visa/schengenvisa/apply</code></h1>\n<p><strong>Endpoint:</strong> <code>visa/schengenvisa/apply</code><br /><strong>Method:</strong> <code>POST</code><br /><strong>Authentication:</strong> JWT Token Required<br /><strong>Content-Type:</strong> <code>multipart/form-data</code></p>\n<h2 id=\"summary\"><strong>Summary</strong></h2>\n<p>Submits a Schengen visa application for the authenticated user. This endpoint processes form data, uploads a scanned passport, creates a visa booking record, and returns booking and application details.</p>\n<hr />\n<h2 id=\"request-headers\"><strong>Request Headers</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td><code>Bearer</code></td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"form-data-parameters\"><strong>Form Data Parameters</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>full_name</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>Full name of the applicant.</td>\n</tr>\n<tr>\n<td><code>date_of_birth</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>Applicant’s date of birth (format: <code>YYYY-MM-DD</code>).</td>\n</tr>\n<tr>\n<td><code>nationality</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>Nationality of the applicant.</td>\n</tr>\n<tr>\n<td><code>passport_scan</code></td>\n<td><code>file</code></td>\n<td>Yes</td>\n<td>Scanned copy of the applicant's passport.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>Email address of the applicant.</td>\n</tr>\n<tr>\n<td><code>phone_number</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>Contact phone number of the applicant.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"process-overview\"><strong>Process Overview</strong></h2>\n<ol>\n<li><p><strong>Authentication</strong>: Extracts the user ID from the JWT token.</p>\n</li>\n<li><p><strong>Validation</strong>: Ensures all required fields are present.</p>\n</li>\n<li><p><strong>Passport Upload</strong>:</p>\n<ul>\n<li><p>Secures and renames the uploaded file.</p>\n</li>\n<li><p>Saves it to the server upload directory.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Booking Creation</strong>:</p>\n<ul>\n<li><p>Generates an order ID.</p>\n</li>\n<li><p>Sets booking type to <code>VISA</code>.</p>\n</li>\n<li><p>Sets pricing (<code>NGN 500,000</code>).</p>\n</li>\n<li><p>Stores pricing metadata (original &amp; markup).</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Visa Application Creation</strong>:</p>\n<ul>\n<li>Stores user-provided information and passport file path in the database.</li>\n</ul>\n</li>\n<li><p><strong>Response</strong>: Returns application and booking details including <code>booking_id</code>, <code>order_id</code>, and <code>visa_price</code>.</p>\n</li>\n</ol>\n<hr />\n<h2 id=\"success-response\"><strong>Success Response</strong></h2>\n<p><strong>Code:</strong> <code>201 Created</code><br /><strong>Content:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Visa application booked ready for payment\",\n  \"booking_id\": 101,\n  \"order_id\": \"ORD-168754902345\",\n  \"booking_type\": \"VISA\",\n  \"visa_id\": 44,\n  \"visa_email\": \"user@example.com\",\n  \"visa_price\": 500000\n}\n\n</code></pre>\n<hr />\n<h2 id=\"error-responses\"><strong>Error Responses</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Code</th>\n<th>Reason</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td>Missing required field(s).</td>\n</tr>\n<tr>\n<td>401</td>\n<td>JWT token invalid or missing <code>uuid</code>.</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Server error during processing.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Error Response:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Missing required field\"\n}\n\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Internal server error\"\n}\n\n</code></pre>\n","urlObject":{"path":["visa","schengenvisa","apply"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"b8b36dfc-e64c-4d0a-8576-2b5e6159c38c"},{"name":"visa/schengenvisa/confirm","event":[{"listen":"test","script":{"id":"9f40f680-3e59-4507-a7c2-6868679a9d17","exec":["pm.test(\"Response status code is 200\", function () {\r","    pm.response.to.have.status(200);\r","});\r","\r","\r","pm.test(\"Response time is less than 200ms\", function () {\r","  pm.expect(pm.response.responseTime).to.be.below(200);\r","});\r","\r","\r","pm.test(\"Response has the required fields - application_id and message\", function () {\r","    const responseData = pm.response.json();\r","    \r","    pm.expect(responseData).to.be.an('object');\r","    pm.expect(responseData).to.have.property('application_id');\r","    pm.expect(responseData).to.have.property('message');\r","});\r","\r","\r","pm.test(\"Application_id should not be empty\", function () {\r","    const responseData = pm.response.json();\r","    \r","    pm.expect(responseData).to.be.an('object');\r","    pm.expect(responseData.application_id).to.exist.and.to.not.be.empty;\r","});\r","\r","\r","pm.test(\"Message is a non-empty string\", function () {\r","  const responseData = pm.response.json();\r","  \r","  pm.expect(responseData.message).to.be.a('string').and.to.have.lengthOf.at.least(1, \"Message should not be empty\");\r","});\r","pm.test(\"Application_id is not 'null'\", function () {\r","    const responseData = pm.response.json();\r","    \r","    pm.expect(responseData.application_id).to.not.equal('null', \"Application_id should not be be 'null'\");\r","});\r","// Stores the application_id in a global variable\r","var applicationId = pm.response.json().application_id;\r","pm.globals.set(\"applicationId\", applicationId);"],"type":"text/javascript","packages":{}}}],"id":"875502c4-c9d1-4445-9d3a-e6cf4f38e018","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/visa/schengenvisa/confirm?order_id=HeX_%23-250501985445&visa_id=39&visa_email=boronicle@gmail.com&tx_ref=HeX_TX-250420F1C19DA","description":"<p>StartFragment</p>\n<h1 id=\"get-visaschengenvisaconfirm\"><strong>GET visa/schengenvisa/confirm</strong></h1>\n<p><strong>Endpoint:</strong> <code>visa/schengenvisa/confirm</code><br /><strong>Method:</strong> <code>GET</code><br /><strong>Authentication:</strong> JWT Token Required<br /><strong>Content-Type:</strong> <code>application/json</code><br /><strong>Purpose:</strong> Confirms a visa application after verifying a successful payment.</p>\n<hr />\n<h2 id=\"summary\"><strong>Summary</strong></h2>\n<p>This endpoint confirms a Schengen visa booking after verifying payment using a transaction reference. It updates the booking and visa records, sends email notifications to both the admin and the applicant, and returns the finalized application ID.</p>\n<hr />\n<h2 id=\"request-headers\"><strong>Request Headers</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authorization</td>\n<td><code>Bearer</code></td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"query-parameters\"><strong>Query Parameters</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>order_id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>Unique identifier for the booking order.</td>\n</tr>\n<tr>\n<td><code>visa_id</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>ID of the visa application to confirm.</td>\n</tr>\n<tr>\n<td><code>visa_email</code></td>\n<td><code>string</code></td>\n<td>No</td>\n<td>Email address of the applicant. Used for sending notification.</td>\n</tr>\n<tr>\n<td><code>tx_ref</code></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>Transaction reference for payment verification.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"process-overview\"><strong>Process Overview</strong></h2>\n<ol>\n<li><p><strong>Authentication</strong>: Verifies and extracts the user ID from the JWT token.</p>\n</li>\n<li><p><strong>Input Validation</strong>: Ensures required query parameters are present.</p>\n</li>\n<li><p><strong>Data Retrieval</strong>:</p>\n<ul>\n<li><p>Retrieves booking by <code>order_id</code>.</p>\n</li>\n<li><p>Retrieves visa application by <code>visa_id</code>.</p>\n</li>\n<li><p>Retrieves payment transaction by <code>tx_ref</code>.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Payment Verification</strong>:</p>\n<ul>\n<li>Confirms that the transaction exists and is marked as <code>SUCCESSFUL</code>.</li>\n</ul>\n</li>\n<li><p><strong>Booking Update</strong>:</p>\n<ul>\n<li><p>Changes booking status to <code>CONFIRMED</code>.</p>\n</li>\n<li><p>Saves confirmation number and updates user spending.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Visa Application Update</strong>:</p>\n<ul>\n<li><p>Marks application as paid.</p>\n</li>\n<li><p>Assigns a formatted application ID.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Email Notifications</strong>:</p>\n<ul>\n<li><p>Sends a detailed email to admins.</p>\n</li>\n<li><p>Sends a confirmation email to the applicant.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Response</strong>:</p>\n<ul>\n<li>Returns confirmation message and <code>application_id</code>.</li>\n</ul>\n</li>\n</ol>\n<hr />\n<h2 id=\"success-response\"><strong>Success Response</strong></h2>\n<p><strong>Code:</strong> <code>200 OK</code><br /><strong>Content:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Visa application payment successfully and in processing.\",\n  \"application_id\": \"SCH-2025-00123\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"error-responses\"><strong>Error Responses</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Code</th>\n<th>Reason</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td>Missing query parameters or unsuccessful payment.</td>\n</tr>\n<tr>\n<td>401</td>\n<td>JWT token invalid or user UUID missing.</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Booking or visa application not found.</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Internal server error (e.g. database commit failure).</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Examples:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Missing requirements in request args\"\n}\n\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Payment not made or not successful for this transaction. Please head back to complete your payment!\"\n}\n\n</code></pre>\n<hr />\n<h2 id=\"admin-email-notification\"><strong>Admin Email Notification</strong></h2>\n<ul>\n<li><p><strong>Recipients:</strong><br />  <code>praise.ordu@hermextravels.com</code>, <code>rhemaimerhion@gmail.com</code></p>\n</li>\n<li><p><strong>Subject:</strong><br />  <code>New Visa Application Received - SCH-2025-00123</code></p>\n</li>\n<li><p><strong>Template:</strong><br />  <code>admin_email.html</code></p>\n</li>\n<li><p><strong>Context Includes:</strong></p>\n<ul>\n<li><p>Full Name</p>\n</li>\n<li><p>Date of Birth</p>\n</li>\n<li><p>Nationality</p>\n</li>\n<li><p>Application ID</p>\n</li>\n<li><p>Order ID</p>\n</li>\n<li><p>Submission Date</p>\n</li>\n</ul>\n</li>\n</ul>\n<hr />\n<h2 id=\"customer-email-notification\"><strong>Customer Email Notification</strong></h2>\n<ul>\n<li><p><strong>Subject:</strong><br />  <code>Your Visa Application Has Been Received</code></p>\n</li>\n<li><p><strong>Template:</strong><br />  <code>user_email.html</code></p>\n</li>\n<li><p><strong>Recipient:</strong>  </p>\n<p>  Applicant's email (<code>visa_email</code>)</p>\n</li>\n</ul>\n","urlObject":{"path":["visa","schengenvisa","confirm"],"host":["{{baseUrl}}"],"query":[{"key":"order_id","value":"HeX_#-250501985445"},{"key":"visa_id","value":"39"},{"key":"visa_email","value":"boronicle@gmail.com"},{"key":"tx_ref","value":"HeX_TX-250420F1C19DA"}],"variable":[]}},"response":[{"id":"e702c39e-6ee5-47f9-9fd5-d3f972d7f47f","name":"visa/schengenvisa/confirm","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/visa/schengenvisa/confirm?order_id=HeX_%23-250501985445&visa_id=39&visa_email=boronicle@gmail.com&tx_ref=HeX_TX-250420F1C19DA","host":["{{baseUrl}}"],"path":["visa","schengenvisa","confirm"],"query":[{"key":"order_id","value":"HeX_%23-250501985445"},{"key":"visa_id","value":"39"},{"key":"visa_email","value":"boronicle@gmail.com"},{"key":"tx_ref","value":"HeX_TX-250420F1C19DA"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 01 May 2025 23:13:05 GMT","enabled":true},{"key":"Content-Type","value":"application/json","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"Cf-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Content-Encoding","value":"br","enabled":true},{"key":"CF-RAY","value":"9392f79f585473fe-JNB","enabled":true},{"key":"alt-svc","value":"h3=\":443\"; ma=86400","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"application_id\": \"HEX_VISA-250501-0027\",\n    \"message\": \"Visa application payment successfully and in processing.\"\n}"}],"_postman_id":"875502c4-c9d1-4445-9d3a-e6cf4f38e018"}],"id":"37c2eb40-b63a-4c86-821a-4123947b92df","_postman_id":"37c2eb40-b63a-4c86-821a-4123947b92df","description":""}],"id":"fe6355fd-20bc-4ec7-889a-95edad7a739d","_postman_id":"fe6355fd-20bc-4ec7-889a-95edad7a739d","description":""},{"name":"user/delete-account - WITH Google AUTH","id":"3f05bc71-1090-4c5d-95cc-b905728bd4d0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","urlObject":{"query":[],"variable":[]}},"response":[],"_postman_id":"3f05bc71-1090-4c5d-95cc-b905728bd4d0"}],"variable":[{"id":"98f320d9-2ebe-447b-bc59-46fd05ee1a05","key":"access-token","value":"","type":"default"}]}