{ "status": "success", "tracking_id": "611782583174982217FXW9", "performanceDuration": "", "data": [ { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-0", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-0", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p0", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-0", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D0H20M", "transit_time": "PT1D0H20M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p10", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1542.82, "gross_total": 1542.82, "base_fare": 1048, "tax": 494.82, "sell": { "currency": "EUR", "total": 1542.82, "base_fare": 1048, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTU0Mi44MiwiYmFzZV9mYXJlIjoxMDQ4LCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE1NDIuODIsImJhc2VfZmFyZSI6MTA0OCwidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTU0Mi44MiwiYmFzZV9mYXJlIjoxMDQ4LCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1542.82, "base_fare": 1048, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1048.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1542.82, "base_fare": 1048, "tax": 494.82, "gross": { "base_fare": "1048.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1NDIuODIiLCJiYXNlX2ZhcmUiOiIxMDQ4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0OC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1NDIuODIiLCJiYXNlX2ZhcmUiOiIxMDQ4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0OC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1NDIuODIiLCJiYXNlX2ZhcmUiOiIxMDQ4LjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE1NDIuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1542.82, "filter": { "id": "F1MS00008-0", "price": 1542.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-1", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-1", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p0", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-1", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D3H35M", "transit_time": "PT1D3H35M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p11", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1542.82, "gross_total": 1542.82, "base_fare": 1048, "tax": 494.82, "sell": { "currency": "EUR", "total": 1542.82, "base_fare": 1048, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTU0Mi44MiwiYmFzZV9mYXJlIjoxMDQ4LCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE1NDIuODIsImJhc2VfZmFyZSI6MTA0OCwidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTU0Mi44MiwiYmFzZV9mYXJlIjoxMDQ4LCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1542.82, "base_fare": 1048, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1048.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1542.82, "base_fare": 1048, "tax": 494.82, "gross": { "base_fare": "1048.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1NDIuODIiLCJiYXNlX2ZhcmUiOiIxMDQ4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0OC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1NDIuODIiLCJiYXNlX2ZhcmUiOiIxMDQ4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0OC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1NDIuODIiLCJiYXNlX2ZhcmUiOiIxMDQ4LjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE1NDIuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1542.82, "filter": { "id": "F1MS00008-1", "price": 1542.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-2", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-2", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p1", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-2", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D3H30M", "transit_time": "PT1D3H30M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p10", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1542.82, "gross_total": 1542.82, "base_fare": 1048, "tax": 494.82, "sell": { "currency": "EUR", "total": 1542.82, "base_fare": 1048, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTU0Mi44MiwiYmFzZV9mYXJlIjoxMDQ4LCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE1NDIuODIsImJhc2VfZmFyZSI6MTA0OCwidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTU0Mi44MiwiYmFzZV9mYXJlIjoxMDQ4LCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1542.82, "base_fare": 1048, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1048.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1542.82, "base_fare": 1048, "tax": 494.82, "gross": { "base_fare": "1048.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1NDIuODIiLCJiYXNlX2ZhcmUiOiIxMDQ4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0OC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1NDIuODIiLCJiYXNlX2ZhcmUiOiIxMDQ4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0OC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1NDIuODIiLCJiYXNlX2ZhcmUiOiIxMDQ4LjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE1NDIuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1542.82, "filter": { "id": "F1MS00008-2", "price": 1542.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-3", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-3", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p1", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-3", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D6H45M", "transit_time": "PT1D6H45M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p11", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1542.82, "gross_total": 1542.82, "base_fare": 1048, "tax": 494.82, "sell": { "currency": "EUR", "total": 1542.82, "base_fare": 1048, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTU0Mi44MiwiYmFzZV9mYXJlIjoxMDQ4LCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE1NDIuODIsImJhc2VfZmFyZSI6MTA0OCwidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTU0Mi44MiwiYmFzZV9mYXJlIjoxMDQ4LCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1542.82, "base_fare": 1048, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1048.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1542.82, "base_fare": 1048, "tax": 494.82, "gross": { "base_fare": "1048.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1NDIuODIiLCJiYXNlX2ZhcmUiOiIxMDQ4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0OC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1NDIuODIiLCJiYXNlX2ZhcmUiOiIxMDQ4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0OC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1NDIuODIiLCJiYXNlX2ZhcmUiOiIxMDQ4LjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE1NDIuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1542.82, "filter": { "id": "F1MS00008-3", "price": 1542.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-4", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-4", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p20", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-4", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D8H5M", "transit_time": "PT1D8H5M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p30", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T21:20:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T23:05:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT10H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "E90", "name": "EMBRAER 190", "picture": "E90.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1595.94, "gross_total": 1595.94, "base_fare": 1049, "tax": 546.94, "sell": { "currency": "EUR", "total": 1595.94, "base_fare": 1049, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTU5NS45NCwiYmFzZV9mYXJlIjoxMDQ5LCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE1OTUuOTQsImJhc2VfZmFyZSI6MTA0OSwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTU5NS45NCwiYmFzZV9mYXJlIjoxMDQ5LCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1595.94, "base_fare": 1049, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1049.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1595.94, "base_fare": 1049, "tax": 546.94, "gross": { "base_fare": "1049.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1OTUuOTQiLCJiYXNlX2ZhcmUiOiIxMDQ5LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0OS4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1OTUuOTQiLCJiYXNlX2ZhcmUiOiIxMDQ5LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0OS4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1OTUuOTQiLCJiYXNlX2ZhcmUiOiIxMDQ5LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE1OTUuOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1595.94, "filter": { "id": "F1MS00008-4", "price": 1595.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Light", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-12-21T23:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612212120blq2026122123051667", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-5", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-5", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p21", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-5", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D11H15M", "transit_time": "PT1D11H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p30", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T21:20:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T23:05:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT10H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "E90", "name": "EMBRAER 190", "picture": "E90.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1595.94, "gross_total": 1595.94, "base_fare": 1049, "tax": 546.94, "sell": { "currency": "EUR", "total": 1595.94, "base_fare": 1049, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTU5NS45NCwiYmFzZV9mYXJlIjoxMDQ5LCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE1OTUuOTQsImJhc2VfZmFyZSI6MTA0OSwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTU5NS45NCwiYmFzZV9mYXJlIjoxMDQ5LCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1595.94, "base_fare": 1049, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1049.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1595.94, "base_fare": 1049, "tax": 546.94, "gross": { "base_fare": "1049.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1OTUuOTQiLCJiYXNlX2ZhcmUiOiIxMDQ5LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0OS4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1OTUuOTQiLCJiYXNlX2ZhcmUiOiIxMDQ5LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0OS4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE1OTUuOTQiLCJiYXNlX2ZhcmUiOiIxMDQ5LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE1OTUuOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1595.94, "filter": { "id": "F1MS00008-5", "price": 1595.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Light", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-12-21T23:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612212120blq2026122123051667", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-6", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-6", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p2", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-6", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D0H20M", "transit_time": "PT1D0H20M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p12", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1667.82, "gross_total": 1667.82, "base_fare": 1173, "tax": 494.82, "sell": { "currency": "EUR", "total": 1667.82, "base_fare": 1173, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTY2Ny44MiwiYmFzZV9mYXJlIjoxMTczLCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE2NjcuODIsImJhc2VfZmFyZSI6MTE3MywidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTY2Ny44MiwiYmFzZV9mYXJlIjoxMTczLCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1667.82, "base_fare": 1173, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1173.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1667.82, "base_fare": 1173, "tax": 494.82, "gross": { "base_fare": "1173.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE2NjcuODIiLCJiYXNlX2ZhcmUiOiIxMTczLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE3My4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE2NjcuODIiLCJiYXNlX2ZhcmUiOiIxMTczLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE3My4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE2NjcuODIiLCJiYXNlX2ZhcmUiOiIxMTczLjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE2NjcuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1667.82, "filter": { "id": "F1MS00008-6", "price": 1667.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-7", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-7", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p2", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-7", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D3H35M", "transit_time": "PT1D3H35M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p13", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1667.82, "gross_total": 1667.82, "base_fare": 1173, "tax": 494.82, "sell": { "currency": "EUR", "total": 1667.82, "base_fare": 1173, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTY2Ny44MiwiYmFzZV9mYXJlIjoxMTczLCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE2NjcuODIsImJhc2VfZmFyZSI6MTE3MywidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTY2Ny44MiwiYmFzZV9mYXJlIjoxMTczLCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1667.82, "base_fare": 1173, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1173.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1667.82, "base_fare": 1173, "tax": 494.82, "gross": { "base_fare": "1173.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE2NjcuODIiLCJiYXNlX2ZhcmUiOiIxMTczLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE3My4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE2NjcuODIiLCJiYXNlX2ZhcmUiOiIxMTczLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE3My4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE2NjcuODIiLCJiYXNlX2ZhcmUiOiIxMTczLjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE2NjcuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1667.82, "filter": { "id": "F1MS00008-7", "price": 1667.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-8", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-8", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p3", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-8", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D3H30M", "transit_time": "PT1D3H30M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p12", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1667.82, "gross_total": 1667.82, "base_fare": 1173, "tax": 494.82, "sell": { "currency": "EUR", "total": 1667.82, "base_fare": 1173, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTY2Ny44MiwiYmFzZV9mYXJlIjoxMTczLCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE2NjcuODIsImJhc2VfZmFyZSI6MTE3MywidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTY2Ny44MiwiYmFzZV9mYXJlIjoxMTczLCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1667.82, "base_fare": 1173, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1173.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1667.82, "base_fare": 1173, "tax": 494.82, "gross": { "base_fare": "1173.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE2NjcuODIiLCJiYXNlX2ZhcmUiOiIxMTczLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE3My4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE2NjcuODIiLCJiYXNlX2ZhcmUiOiIxMTczLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE3My4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE2NjcuODIiLCJiYXNlX2ZhcmUiOiIxMTczLjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE2NjcuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1667.82, "filter": { "id": "F1MS00008-8", "price": 1667.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-9", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-9", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p3", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-9", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D6H45M", "transit_time": "PT1D6H45M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p13", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1667.82, "gross_total": 1667.82, "base_fare": 1173, "tax": 494.82, "sell": { "currency": "EUR", "total": 1667.82, "base_fare": 1173, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTY2Ny44MiwiYmFzZV9mYXJlIjoxMTczLCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE2NjcuODIsImJhc2VfZmFyZSI6MTE3MywidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTY2Ny44MiwiYmFzZV9mYXJlIjoxMTczLCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1667.82, "base_fare": 1173, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1173.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1667.82, "base_fare": 1173, "tax": 494.82, "gross": { "base_fare": "1173.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE2NjcuODIiLCJiYXNlX2ZhcmUiOiIxMTczLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE3My4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE2NjcuODIiLCJiYXNlX2ZhcmUiOiIxMTczLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE3My4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE2NjcuODIiLCJiYXNlX2ZhcmUiOiIxMTczLjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE2NjcuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1667.82, "filter": { "id": "F1MS00008-9", "price": 1667.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-10", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-10", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p22", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-10", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D8H5M", "transit_time": "PT1D8H5M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p31", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T21:20:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T23:05:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT10H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "E90", "name": "EMBRAER 190", "picture": "E90.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1720.94, "gross_total": 1720.94, "base_fare": 1174, "tax": 546.94, "sell": { "currency": "EUR", "total": 1720.94, "base_fare": 1174, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTcyMC45NCwiYmFzZV9mYXJlIjoxMTc0LCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE3MjAuOTQsImJhc2VfZmFyZSI6MTE3NCwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTcyMC45NCwiYmFzZV9mYXJlIjoxMTc0LCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1720.94, "base_fare": 1174, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1174.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1720.94, "base_fare": 1174, "tax": 546.94, "gross": { "base_fare": "1174.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3MjAuOTQiLCJiYXNlX2ZhcmUiOiIxMTc0LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE3NC4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3MjAuOTQiLCJiYXNlX2ZhcmUiOiIxMTc0LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE3NC4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3MjAuOTQiLCJiYXNlX2ZhcmUiOiIxMTc0LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE3MjAuOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1720.94, "filter": { "id": "F1MS00008-10", "price": 1720.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Standard", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-12-21T23:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612212120blq2026122123051667", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-11", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-11", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p23", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-11", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D11H15M", "transit_time": "PT1D11H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p31", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T21:20:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T23:05:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT10H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "E90", "name": "EMBRAER 190", "picture": "E90.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1720.94, "gross_total": 1720.94, "base_fare": 1174, "tax": 546.94, "sell": { "currency": "EUR", "total": 1720.94, "base_fare": 1174, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTcyMC45NCwiYmFzZV9mYXJlIjoxMTc0LCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE3MjAuOTQsImJhc2VfZmFyZSI6MTE3NCwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTcyMC45NCwiYmFzZV9mYXJlIjoxMTc0LCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1720.94, "base_fare": 1174, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1174.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1720.94, "base_fare": 1174, "tax": 546.94, "gross": { "base_fare": "1174.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3MjAuOTQiLCJiYXNlX2ZhcmUiOiIxMTc0LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE3NC4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3MjAuOTQiLCJiYXNlX2ZhcmUiOiIxMTc0LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE3NC4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3MjAuOTQiLCJiYXNlX2ZhcmUiOiIxMTc0LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE3MjAuOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1720.94, "filter": { "id": "F1MS00008-11", "price": 1720.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Standard", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-12-21T23:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612212120blq2026122123051667", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-12", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-12", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p35", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-12", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D1H25M", "transit_time": "PT1D1H25M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o6", "productId": "p45", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T14:40:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T16:25:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT04H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "295", "name": "Embraer195 E2", "picture": "295.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1748.94, "gross_total": 1748.94, "base_fare": 1202, "tax": 546.94, "sell": { "currency": "EUR", "total": 1748.94, "base_fare": 1202, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTc0OC45NCwiYmFzZV9mYXJlIjoxMjAyLCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE3NDguOTQsImJhc2VfZmFyZSI6MTIwMiwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTc0OC45NCwiYmFzZV9mYXJlIjoxMjAyLCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1748.94, "base_fare": 1202, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1202.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1748.94, "base_fare": 1202, "tax": 546.94, "gross": { "base_fare": "1202.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3NDguOTQiLCJiYXNlX2ZhcmUiOiIxMjAyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTIwMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3NDguOTQiLCJiYXNlX2ZhcmUiOiIxMjAyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTIwMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3NDguOTQiLCJiYXNlX2ZhcmUiOiIxMjAyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE3NDguOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1748.94, "filter": { "id": "F1MS00008-12", "price": 1748.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Light", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T16:25:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612211440blq2026122116251665", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-13", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-13", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p36", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-13", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D4H35M", "transit_time": "PT1D4H35M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o6", "productId": "p45", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T14:40:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T16:25:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT04H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "295", "name": "Embraer195 E2", "picture": "295.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1748.94, "gross_total": 1748.94, "base_fare": 1202, "tax": 546.94, "sell": { "currency": "EUR", "total": 1748.94, "base_fare": 1202, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTc0OC45NCwiYmFzZV9mYXJlIjoxMjAyLCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE3NDguOTQsImJhc2VfZmFyZSI6MTIwMiwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTc0OC45NCwiYmFzZV9mYXJlIjoxMjAyLCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1748.94, "base_fare": 1202, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1202.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1748.94, "base_fare": 1202, "tax": 546.94, "gross": { "base_fare": "1202.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3NDguOTQiLCJiYXNlX2ZhcmUiOiIxMjAyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTIwMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3NDguOTQiLCJiYXNlX2ZhcmUiOiIxMjAyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTIwMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3NDguOTQiLCJiYXNlX2ZhcmUiOiIxMjAyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE3NDguOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1748.94, "filter": { "id": "F1MS00008-13", "price": 1748.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Light", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T16:25:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612211440blq2026122116251665", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-14", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-14", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p4", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-14", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D0H20M", "transit_time": "PT1D0H20M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p14", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1832.82, "gross_total": 1832.82, "base_fare": 1338, "tax": 494.82, "sell": { "currency": "EUR", "total": 1832.82, "base_fare": 1338, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTgzMi44MiwiYmFzZV9mYXJlIjoxMzM4LCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE4MzIuODIsImJhc2VfZmFyZSI6MTMzOCwidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTgzMi44MiwiYmFzZV9mYXJlIjoxMzM4LCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1832.82, "base_fare": 1338, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1338.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1832.82, "base_fare": 1338, "tax": 494.82, "gross": { "base_fare": "1338.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4MzIuODIiLCJiYXNlX2ZhcmUiOiIxMzM4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzOC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4MzIuODIiLCJiYXNlX2ZhcmUiOiIxMzM4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzOC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4MzIuODIiLCJiYXNlX2ZhcmUiOiIxMzM4LjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE4MzIuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1832.82, "filter": { "id": "F1MS00008-14", "price": 1832.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-15", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-15", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p4", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-15", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D3H35M", "transit_time": "PT1D3H35M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p15", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1832.82, "gross_total": 1832.82, "base_fare": 1338, "tax": 494.82, "sell": { "currency": "EUR", "total": 1832.82, "base_fare": 1338, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTgzMi44MiwiYmFzZV9mYXJlIjoxMzM4LCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE4MzIuODIsImJhc2VfZmFyZSI6MTMzOCwidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTgzMi44MiwiYmFzZV9mYXJlIjoxMzM4LCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1832.82, "base_fare": 1338, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1338.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1832.82, "base_fare": 1338, "tax": 494.82, "gross": { "base_fare": "1338.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4MzIuODIiLCJiYXNlX2ZhcmUiOiIxMzM4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzOC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4MzIuODIiLCJiYXNlX2ZhcmUiOiIxMzM4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzOC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4MzIuODIiLCJiYXNlX2ZhcmUiOiIxMzM4LjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE4MzIuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1832.82, "filter": { "id": "F1MS00008-15", "price": 1832.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-16", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-16", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p5", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-16", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D3H30M", "transit_time": "PT1D3H30M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p14", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1832.82, "gross_total": 1832.82, "base_fare": 1338, "tax": 494.82, "sell": { "currency": "EUR", "total": 1832.82, "base_fare": 1338, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTgzMi44MiwiYmFzZV9mYXJlIjoxMzM4LCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE4MzIuODIsImJhc2VfZmFyZSI6MTMzOCwidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTgzMi44MiwiYmFzZV9mYXJlIjoxMzM4LCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1832.82, "base_fare": 1338, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1338.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1832.82, "base_fare": 1338, "tax": 494.82, "gross": { "base_fare": "1338.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4MzIuODIiLCJiYXNlX2ZhcmUiOiIxMzM4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzOC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4MzIuODIiLCJiYXNlX2ZhcmUiOiIxMzM4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzOC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4MzIuODIiLCJiYXNlX2ZhcmUiOiIxMzM4LjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE4MzIuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1832.82, "filter": { "id": "F1MS00008-16", "price": 1832.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-17", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-17", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p5", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-17", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D6H45M", "transit_time": "PT1D6H45M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p15", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1832.82, "gross_total": 1832.82, "base_fare": 1338, "tax": 494.82, "sell": { "currency": "EUR", "total": 1832.82, "base_fare": 1338, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTgzMi44MiwiYmFzZV9mYXJlIjoxMzM4LCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE4MzIuODIsImJhc2VfZmFyZSI6MTMzOCwidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTgzMi44MiwiYmFzZV9mYXJlIjoxMzM4LCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1832.82, "base_fare": 1338, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1338.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1832.82, "base_fare": 1338, "tax": 494.82, "gross": { "base_fare": "1338.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4MzIuODIiLCJiYXNlX2ZhcmUiOiIxMzM4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzOC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4MzIuODIiLCJiYXNlX2ZhcmUiOiIxMzM4LjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzOC4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4MzIuODIiLCJiYXNlX2ZhcmUiOiIxMzM4LjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE4MzIuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1832.82, "filter": { "id": "F1MS00008-17", "price": 1832.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-18", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-18", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p37", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-18", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D1H25M", "transit_time": "PT1D1H25M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o6", "productId": "p46", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T14:40:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T16:25:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT04H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "295", "name": "Embraer195 E2", "picture": "295.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1878.94, "gross_total": 1878.94, "base_fare": 1332, "tax": 546.94, "sell": { "currency": "EUR", "total": 1878.94, "base_fare": 1332, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTg3OC45NCwiYmFzZV9mYXJlIjoxMzMyLCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE4NzguOTQsImJhc2VfZmFyZSI6MTMzMiwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTg3OC45NCwiYmFzZV9mYXJlIjoxMzMyLCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1878.94, "base_fare": 1332, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1332.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1878.94, "base_fare": 1332, "tax": 546.94, "gross": { "base_fare": "1332.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4NzguOTQiLCJiYXNlX2ZhcmUiOiIxMzMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4NzguOTQiLCJiYXNlX2ZhcmUiOiIxMzMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4NzguOTQiLCJiYXNlX2ZhcmUiOiIxMzMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE4NzguOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1878.94, "filter": { "id": "F1MS00008-18", "price": 1878.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Standard", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T16:25:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612211440blq2026122116251665", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-19", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-19", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p38", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-19", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D4H35M", "transit_time": "PT1D4H35M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o6", "productId": "p46", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T14:40:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T16:25:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT04H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "295", "name": "Embraer195 E2", "picture": "295.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1878.94, "gross_total": 1878.94, "base_fare": 1332, "tax": 546.94, "sell": { "currency": "EUR", "total": 1878.94, "base_fare": 1332, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTg3OC45NCwiYmFzZV9mYXJlIjoxMzMyLCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE4NzguOTQsImJhc2VfZmFyZSI6MTMzMiwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTg3OC45NCwiYmFzZV9mYXJlIjoxMzMyLCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1878.94, "base_fare": 1332, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1332.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1878.94, "base_fare": 1332, "tax": 546.94, "gross": { "base_fare": "1332.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4NzguOTQiLCJiYXNlX2ZhcmUiOiIxMzMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4NzguOTQiLCJiYXNlX2ZhcmUiOiIxMzMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4NzguOTQiLCJiYXNlX2ZhcmUiOiIxMzMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE4NzguOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1878.94, "filter": { "id": "F1MS00008-19", "price": 1878.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Standard", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T16:25:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612211440blq2026122116251665", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-20", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-20", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p24", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-20", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D8H5M", "transit_time": "PT1D8H5M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p32", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T21:20:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T23:05:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT10H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "E90", "name": "EMBRAER 190", "picture": "E90.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1885.94, "gross_total": 1885.94, "base_fare": 1339, "tax": 546.94, "sell": { "currency": "EUR", "total": 1885.94, "base_fare": 1339, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTg4NS45NCwiYmFzZV9mYXJlIjoxMzM5LCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE4ODUuOTQsImJhc2VfZmFyZSI6MTMzOSwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTg4NS45NCwiYmFzZV9mYXJlIjoxMzM5LCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1885.94, "base_fare": 1339, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1339.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1885.94, "base_fare": 1339, "tax": 546.94, "gross": { "base_fare": "1339.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4ODUuOTQiLCJiYXNlX2ZhcmUiOiIxMzM5LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzOS4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4ODUuOTQiLCJiYXNlX2ZhcmUiOiIxMzM5LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzOS4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4ODUuOTQiLCJiYXNlX2ZhcmUiOiIxMzM5LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE4ODUuOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1885.94, "filter": { "id": "F1MS00008-20", "price": 1885.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Flex", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-12-21T23:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612212120blq2026122123051667", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-21", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-21", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p25", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-21", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D11H15M", "transit_time": "PT1D11H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p32", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T21:20:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T23:05:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT10H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "E90", "name": "EMBRAER 190", "picture": "E90.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1885.94, "gross_total": 1885.94, "base_fare": 1339, "tax": 546.94, "sell": { "currency": "EUR", "total": 1885.94, "base_fare": 1339, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTg4NS45NCwiYmFzZV9mYXJlIjoxMzM5LCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE4ODUuOTQsImJhc2VfZmFyZSI6MTMzOSwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTg4NS45NCwiYmFzZV9mYXJlIjoxMzM5LCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1885.94, "base_fare": 1339, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1339.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1885.94, "base_fare": 1339, "tax": 546.94, "gross": { "base_fare": "1339.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4ODUuOTQiLCJiYXNlX2ZhcmUiOiIxMzM5LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzOS4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4ODUuOTQiLCJiYXNlX2ZhcmUiOiIxMzM5LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTMzOS4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE4ODUuOTQiLCJiYXNlX2ZhcmUiOiIxMzM5LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE4ODUuOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1885.94, "filter": { "id": "F1MS00008-21", "price": 1885.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Flex", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-12-21T23:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612212120blq2026122123051667", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-22", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-22", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H40M", "transit_time": "PT1H40M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p50", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T09:55:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T11:45:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT01H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-22", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT6H10M", "transit_time": "PT6H10M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p60", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1913.83, "gross_total": 1913.83, "base_fare": 1430, "tax": 483.83, "sell": { "currency": "EUR", "total": 1913.83, "base_fare": 1430, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTkxMy44MywiYmFzZV9mYXJlIjoxNDMwLCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE5MTMuODMsImJhc2VfZmFyZSI6MTQzMCwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTkxMy44MywiYmFzZV9mYXJlIjoxNDMwLCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1913.83, "base_fare": 1430, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1430.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1913.83, "base_fare": 1430, "tax": 483.83, "gross": { "base_fare": "1430.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE5MTMuODMiLCJiYXNlX2ZhcmUiOiIxNDMwLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQzMC4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE5MTMuODMiLCJiYXNlX2ZhcmUiOiIxNDMwLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQzMC4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE5MTMuODMiLCJiYXNlX2ZhcmUiOiIxNDMwLjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE5MTMuODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1913.83, "filter": { "id": "F1MS00008-22", "price": 1913.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-09-20T09:55:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200955cdg2026092011451229cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-23", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-23", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H40M", "transit_time": "PT1H40M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p50", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T09:55:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T11:45:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT01H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-23", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT9H25M", "transit_time": "PT9H25M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p61", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1913.83, "gross_total": 1913.83, "base_fare": 1430, "tax": 483.83, "sell": { "currency": "EUR", "total": 1913.83, "base_fare": 1430, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTkxMy44MywiYmFzZV9mYXJlIjoxNDMwLCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE5MTMuODMsImJhc2VfZmFyZSI6MTQzMCwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTkxMy44MywiYmFzZV9mYXJlIjoxNDMwLCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1913.83, "base_fare": 1430, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1430.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1913.83, "base_fare": 1430, "tax": 483.83, "gross": { "base_fare": "1430.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE5MTMuODMiLCJiYXNlX2ZhcmUiOiIxNDMwLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQzMC4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE5MTMuODMiLCJiYXNlX2ZhcmUiOiIxNDMwLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQzMC4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE5MTMuODMiLCJiYXNlX2ZhcmUiOiIxNDMwLjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE5MTMuODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1913.83, "filter": { "id": "F1MS00008-23", "price": 1913.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-09-20T09:55:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200955cdg2026092011451229cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-24", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-24", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT5H15M", "transit_time": "PT5H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p51", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T06:15:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T08:10:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H55M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT05H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-24", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT9H45M", "transit_time": "PT9H45M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p60", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1913.83, "gross_total": 1913.83, "base_fare": 1430, "tax": 483.83, "sell": { "currency": "EUR", "total": 1913.83, "base_fare": 1430, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTkxMy44MywiYmFzZV9mYXJlIjoxNDMwLCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE5MTMuODMsImJhc2VfZmFyZSI6MTQzMCwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTkxMy44MywiYmFzZV9mYXJlIjoxNDMwLCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1913.83, "base_fare": 1430, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1430.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1913.83, "base_fare": 1430, "tax": 483.83, "gross": { "base_fare": "1430.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE5MTMuODMiLCJiYXNlX2ZhcmUiOiIxNDMwLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQzMC4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE5MTMuODMiLCJiYXNlX2ZhcmUiOiIxNDMwLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQzMC4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE5MTMuODMiLCJiYXNlX2ZhcmUiOiIxNDMwLjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE5MTMuODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1913.83, "filter": { "id": "F1MS00008-24", "price": 1913.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-09-20T06:15:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200615cdg2026092008101029cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-25", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-25", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT5H15M", "transit_time": "PT5H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p51", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T06:15:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T08:10:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H55M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT05H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-25", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT13H0M", "transit_time": "PT13H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p61", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHTBAG", "booking_code": "LIGHTBAG", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1913.83, "gross_total": 1913.83, "base_fare": 1430, "tax": 483.83, "sell": { "currency": "EUR", "total": 1913.83, "base_fare": 1430, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTkxMy44MywiYmFzZV9mYXJlIjoxNDMwLCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE5MTMuODMsImJhc2VfZmFyZSI6MTQzMCwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTkxMy44MywiYmFzZV9mYXJlIjoxNDMwLCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1913.83, "base_fare": 1430, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1430.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1913.83, "base_fare": 1430, "tax": 483.83, "gross": { "base_fare": "1430.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE5MTMuODMiLCJiYXNlX2ZhcmUiOiIxNDMwLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQzMC4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE5MTMuODMiLCJiYXNlX2ZhcmUiOiIxNDMwLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQzMC4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE5MTMuODMiLCJiYXNlX2ZhcmUiOiIxNDMwLjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE5MTMuODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1913.83, "filter": { "id": "F1MS00008-25", "price": 1913.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-09-20T06:15:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200615cdg2026092008101029cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-26", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-26", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H40M", "transit_time": "PT1H40M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p52", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T09:55:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T11:45:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT01H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-26", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT6H10M", "transit_time": "PT6H10M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p62", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 2048.83, "gross_total": 2048.83, "base_fare": 1565, "tax": 483.83, "sell": { "currency": "EUR", "total": 2048.83, "base_fare": 1565, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjA0OC44MywiYmFzZV9mYXJlIjoxNTY1LCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjIwNDguODMsImJhc2VfZmFyZSI6MTU2NSwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjA0OC44MywiYmFzZV9mYXJlIjoxNTY1LCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 2048.83, "base_fare": 1565, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1565.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 2048.83, "base_fare": 1565, "tax": 483.83, "gross": { "base_fare": "1565.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNDguODMiLCJiYXNlX2ZhcmUiOiIxNTY1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTU2NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNDguODMiLCJiYXNlX2ZhcmUiOiIxNTY1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTU2NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNDguODMiLCJiYXNlX2ZhcmUiOiIxNTY1LjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjIwNDguODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 2048.83, "filter": { "id": "F1MS00008-26", "price": 2048.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-09-20T09:55:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200955cdg2026092011451229cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-27", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-27", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H40M", "transit_time": "PT1H40M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p52", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T09:55:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T11:45:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT01H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-27", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT9H25M", "transit_time": "PT9H25M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p63", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 2048.83, "gross_total": 2048.83, "base_fare": 1565, "tax": 483.83, "sell": { "currency": "EUR", "total": 2048.83, "base_fare": 1565, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjA0OC44MywiYmFzZV9mYXJlIjoxNTY1LCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjIwNDguODMsImJhc2VfZmFyZSI6MTU2NSwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjA0OC44MywiYmFzZV9mYXJlIjoxNTY1LCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 2048.83, "base_fare": 1565, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1565.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 2048.83, "base_fare": 1565, "tax": 483.83, "gross": { "base_fare": "1565.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNDguODMiLCJiYXNlX2ZhcmUiOiIxNTY1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTU2NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNDguODMiLCJiYXNlX2ZhcmUiOiIxNTY1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTU2NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNDguODMiLCJiYXNlX2ZhcmUiOiIxNTY1LjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjIwNDguODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 2048.83, "filter": { "id": "F1MS00008-27", "price": 2048.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-09-20T09:55:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200955cdg2026092011451229cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-28", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-28", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT5H15M", "transit_time": "PT5H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p53", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T06:15:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T08:10:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H55M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT05H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-28", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT9H45M", "transit_time": "PT9H45M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p62", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 2048.83, "gross_total": 2048.83, "base_fare": 1565, "tax": 483.83, "sell": { "currency": "EUR", "total": 2048.83, "base_fare": 1565, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjA0OC44MywiYmFzZV9mYXJlIjoxNTY1LCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjIwNDguODMsImJhc2VfZmFyZSI6MTU2NSwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjA0OC44MywiYmFzZV9mYXJlIjoxNTY1LCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 2048.83, "base_fare": 1565, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1565.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 2048.83, "base_fare": 1565, "tax": 483.83, "gross": { "base_fare": "1565.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNDguODMiLCJiYXNlX2ZhcmUiOiIxNTY1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTU2NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNDguODMiLCJiYXNlX2ZhcmUiOiIxNTY1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTU2NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNDguODMiLCJiYXNlX2ZhcmUiOiIxNTY1LjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjIwNDguODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 2048.83, "filter": { "id": "F1MS00008-28", "price": 2048.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-09-20T06:15:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200615cdg2026092008101029cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-29", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-29", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT5H15M", "transit_time": "PT5H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p53", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T06:15:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T08:10:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H55M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT05H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-29", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT13H0M", "transit_time": "PT13H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p63", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD3", "booking_code": "STANDARD3", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 2048.83, "gross_total": 2048.83, "base_fare": 1565, "tax": 483.83, "sell": { "currency": "EUR", "total": 2048.83, "base_fare": 1565, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjA0OC44MywiYmFzZV9mYXJlIjoxNTY1LCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjIwNDguODMsImJhc2VfZmFyZSI6MTU2NSwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjA0OC44MywiYmFzZV9mYXJlIjoxNTY1LCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 2048.83, "base_fare": 1565, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1565.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 2048.83, "base_fare": 1565, "tax": 483.83, "gross": { "base_fare": "1565.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNDguODMiLCJiYXNlX2ZhcmUiOiIxNTY1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTU2NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNDguODMiLCJiYXNlX2ZhcmUiOiIxNTY1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTU2NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNDguODMiLCJiYXNlX2ZhcmUiOiIxNTY1LjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjIwNDguODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 2048.83, "filter": { "id": "F1MS00008-29", "price": 2048.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-09-20T06:15:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200615cdg2026092008101029cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-30", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-30", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p39", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-30", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D1H25M", "transit_time": "PT1D1H25M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o6", "productId": "p47", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T14:40:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T16:25:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT04H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "295", "name": "Embraer195 E2", "picture": "295.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 2053.94, "gross_total": 2053.94, "base_fare": 1507, "tax": 546.94, "sell": { "currency": "EUR", "total": 2053.94, "base_fare": 1507, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjA1My45NCwiYmFzZV9mYXJlIjoxNTA3LCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjIwNTMuOTQsImJhc2VfZmFyZSI6MTUwNywidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjA1My45NCwiYmFzZV9mYXJlIjoxNTA3LCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 2053.94, "base_fare": 1507, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1507.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 2053.94, "base_fare": 1507, "tax": 546.94, "gross": { "base_fare": "1507.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNTMuOTQiLCJiYXNlX2ZhcmUiOiIxNTA3LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTUwNy4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNTMuOTQiLCJiYXNlX2ZhcmUiOiIxNTA3LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTUwNy4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNTMuOTQiLCJiYXNlX2ZhcmUiOiIxNTA3LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjIwNTMuOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 2053.94, "filter": { "id": "F1MS00008-30", "price": 2053.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Flex", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T16:25:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612211440blq2026122116251665", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-31", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-31", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p40", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-31", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D4H35M", "transit_time": "PT1D4H35M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o6", "productId": "p47", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T14:40:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T16:25:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT04H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "295", "name": "Embraer195 E2", "picture": "295.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 2053.94, "gross_total": 2053.94, "base_fare": 1507, "tax": 546.94, "sell": { "currency": "EUR", "total": 2053.94, "base_fare": 1507, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjA1My45NCwiYmFzZV9mYXJlIjoxNTA3LCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjIwNTMuOTQsImJhc2VfZmFyZSI6MTUwNywidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjA1My45NCwiYmFzZV9mYXJlIjoxNTA3LCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 2053.94, "base_fare": 1507, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1507.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 2053.94, "base_fare": 1507, "tax": 546.94, "gross": { "base_fare": "1507.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNTMuOTQiLCJiYXNlX2ZhcmUiOiIxNTA3LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTUwNy4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNTMuOTQiLCJiYXNlX2ZhcmUiOiIxNTA3LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTUwNy4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIwNTMuOTQiLCJiYXNlX2ZhcmUiOiIxNTA3LjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjIwNTMuOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 2053.94, "filter": { "id": "F1MS00008-31", "price": 2053.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Flex", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T16:25:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612211440blq2026122116251665", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-32", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-32", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H40M", "transit_time": "PT1H40M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p54", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T09:55:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T11:45:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT01H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-32", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT6H10M", "transit_time": "PT6H10M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p64", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 2228.83, "gross_total": 2228.83, "base_fare": 1745, "tax": 483.83, "sell": { "currency": "EUR", "total": 2228.83, "base_fare": 1745, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjIyOC44MywiYmFzZV9mYXJlIjoxNzQ1LCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjIyMjguODMsImJhc2VfZmFyZSI6MTc0NSwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjIyOC44MywiYmFzZV9mYXJlIjoxNzQ1LCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 2228.83, "base_fare": 1745, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1745.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 2228.83, "base_fare": 1745, "tax": 483.83, "gross": { "base_fare": "1745.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIyMjguODMiLCJiYXNlX2ZhcmUiOiIxNzQ1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTc0NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIyMjguODMiLCJiYXNlX2ZhcmUiOiIxNzQ1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTc0NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIyMjguODMiLCJiYXNlX2ZhcmUiOiIxNzQ1LjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjIyMjguODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 2228.83, "filter": { "id": "F1MS00008-32", "price": 2228.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-09-20T09:55:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200955cdg2026092011451229cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-33", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-33", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H40M", "transit_time": "PT1H40M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p54", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T09:55:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T11:45:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT01H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-33", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT9H25M", "transit_time": "PT9H25M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p65", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 2228.83, "gross_total": 2228.83, "base_fare": 1745, "tax": 483.83, "sell": { "currency": "EUR", "total": 2228.83, "base_fare": 1745, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjIyOC44MywiYmFzZV9mYXJlIjoxNzQ1LCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjIyMjguODMsImJhc2VfZmFyZSI6MTc0NSwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjIyOC44MywiYmFzZV9mYXJlIjoxNzQ1LCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 2228.83, "base_fare": 1745, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1745.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 2228.83, "base_fare": 1745, "tax": 483.83, "gross": { "base_fare": "1745.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIyMjguODMiLCJiYXNlX2ZhcmUiOiIxNzQ1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTc0NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIyMjguODMiLCJiYXNlX2ZhcmUiOiIxNzQ1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTc0NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIyMjguODMiLCJiYXNlX2ZhcmUiOiIxNzQ1LjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjIyMjguODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 2228.83, "filter": { "id": "F1MS00008-33", "price": 2228.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-09-20T09:55:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200955cdg2026092011451229cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-34", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-34", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT5H15M", "transit_time": "PT5H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p55", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T06:15:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T08:10:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H55M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT05H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-34", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT9H45M", "transit_time": "PT9H45M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p64", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 2228.83, "gross_total": 2228.83, "base_fare": 1745, "tax": 483.83, "sell": { "currency": "EUR", "total": 2228.83, "base_fare": 1745, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjIyOC44MywiYmFzZV9mYXJlIjoxNzQ1LCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjIyMjguODMsImJhc2VfZmFyZSI6MTc0NSwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjIyOC44MywiYmFzZV9mYXJlIjoxNzQ1LCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 2228.83, "base_fare": 1745, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1745.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 2228.83, "base_fare": 1745, "tax": 483.83, "gross": { "base_fare": "1745.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIyMjguODMiLCJiYXNlX2ZhcmUiOiIxNzQ1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTc0NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIyMjguODMiLCJiYXNlX2ZhcmUiOiIxNzQ1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTc0NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIyMjguODMiLCJiYXNlX2ZhcmUiOiIxNzQ1LjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjIyMjguODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 2228.83, "filter": { "id": "F1MS00008-34", "price": 2228.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-09-20T06:15:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200615cdg2026092008101029cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-35", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-35", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT5H15M", "transit_time": "PT5H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p55", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T06:15:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T08:10:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H55M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT05H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-35", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT13H0M", "transit_time": "PT13H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p65", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX1", "booking_code": "FLEX1", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 2228.83, "gross_total": 2228.83, "base_fare": 1745, "tax": 483.83, "sell": { "currency": "EUR", "total": 2228.83, "base_fare": 1745, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjIyOC44MywiYmFzZV9mYXJlIjoxNzQ1LCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjIyMjguODMsImJhc2VfZmFyZSI6MTc0NSwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjIyOC44MywiYmFzZV9mYXJlIjoxNzQ1LCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 2228.83, "base_fare": 1745, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1745.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 2228.83, "base_fare": 1745, "tax": 483.83, "gross": { "base_fare": "1745.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIyMjguODMiLCJiYXNlX2ZhcmUiOiIxNzQ1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTc0NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIyMjguODMiLCJiYXNlX2ZhcmUiOiIxNzQ1LjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTc0NS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIyMjguODMiLCJiYXNlX2ZhcmUiOiIxNzQ1LjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjIyMjguODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 2228.83, "filter": { "id": "F1MS00008-35", "price": 2228.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-09-20T06:15:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200615cdg2026092008101029cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-36", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-36", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p8", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-36", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D0H20M", "transit_time": "PT1D0H20M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p18", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 3079.82, "gross_total": 3079.82, "base_fare": 2481, "tax": 598.82, "sell": { "currency": "EUR", "total": 3079.82, "base_fare": 2481, "tax": 598.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzA3OS44MiwiYmFzZV9mYXJlIjoyNDgxLCJ0YXgiOjU5OC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjMwNzkuODIsImJhc2VfZmFyZSI6MjQ4MSwidGF4Ijo1OTguODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzA3OS44MiwiYmFzZV9mYXJlIjoyNDgxLCJ0YXgiOjU5OC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 3079.82, "base_fare": 2481, "tax": 598.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "2481.00", "tax": "598.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 3079.82, "base_fare": 2481, "tax": 598.82, "gross": { "base_fare": "2481.00", "tax": "598.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNzkuODIiLCJiYXNlX2ZhcmUiOiIyNDgxLjAwIiwidGF4IjoiNTk4LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4MS4wMCIsInRheCI6IjU5OC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNzkuODIiLCJiYXNlX2ZhcmUiOiIyNDgxLjAwIiwidGF4IjoiNTk4LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4MS4wMCIsInRheCI6IjU5OC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNzkuODIiLCJiYXNlX2ZhcmUiOiIyNDgxLjAwIiwidGF4IjoiNTk4LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjMwNzkuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 3079.82, "filter": { "id": "F1MS00008-36", "price": 3079.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Premium Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-37", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-37", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p8", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-37", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D3H35M", "transit_time": "PT1D3H35M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p19", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 3079.82, "gross_total": 3079.82, "base_fare": 2481, "tax": 598.82, "sell": { "currency": "EUR", "total": 3079.82, "base_fare": 2481, "tax": 598.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzA3OS44MiwiYmFzZV9mYXJlIjoyNDgxLCJ0YXgiOjU5OC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjMwNzkuODIsImJhc2VfZmFyZSI6MjQ4MSwidGF4Ijo1OTguODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzA3OS44MiwiYmFzZV9mYXJlIjoyNDgxLCJ0YXgiOjU5OC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 3079.82, "base_fare": 2481, "tax": 598.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "2481.00", "tax": "598.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 3079.82, "base_fare": 2481, "tax": 598.82, "gross": { "base_fare": "2481.00", "tax": "598.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNzkuODIiLCJiYXNlX2ZhcmUiOiIyNDgxLjAwIiwidGF4IjoiNTk4LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4MS4wMCIsInRheCI6IjU5OC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNzkuODIiLCJiYXNlX2ZhcmUiOiIyNDgxLjAwIiwidGF4IjoiNTk4LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4MS4wMCIsInRheCI6IjU5OC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNzkuODIiLCJiYXNlX2ZhcmUiOiIyNDgxLjAwIiwidGF4IjoiNTk4LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjMwNzkuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 3079.82, "filter": { "id": "F1MS00008-37", "price": 3079.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Premium Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-38", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-38", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p9", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-38", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D3H30M", "transit_time": "PT1D3H30M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p18", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 3079.82, "gross_total": 3079.82, "base_fare": 2481, "tax": 598.82, "sell": { "currency": "EUR", "total": 3079.82, "base_fare": 2481, "tax": 598.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzA3OS44MiwiYmFzZV9mYXJlIjoyNDgxLCJ0YXgiOjU5OC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjMwNzkuODIsImJhc2VfZmFyZSI6MjQ4MSwidGF4Ijo1OTguODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzA3OS44MiwiYmFzZV9mYXJlIjoyNDgxLCJ0YXgiOjU5OC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 3079.82, "base_fare": 2481, "tax": 598.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "2481.00", "tax": "598.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 3079.82, "base_fare": 2481, "tax": 598.82, "gross": { "base_fare": "2481.00", "tax": "598.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNzkuODIiLCJiYXNlX2ZhcmUiOiIyNDgxLjAwIiwidGF4IjoiNTk4LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4MS4wMCIsInRheCI6IjU5OC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNzkuODIiLCJiYXNlX2ZhcmUiOiIyNDgxLjAwIiwidGF4IjoiNTk4LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4MS4wMCIsInRheCI6IjU5OC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNzkuODIiLCJiYXNlX2ZhcmUiOiIyNDgxLjAwIiwidGF4IjoiNTk4LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjMwNzkuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 3079.82, "filter": { "id": "F1MS00008-38", "price": 3079.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Premium Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-39", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-39", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p9", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-39", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D6H45M", "transit_time": "PT1D6H45M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p19", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 3079.82, "gross_total": 3079.82, "base_fare": 2481, "tax": 598.82, "sell": { "currency": "EUR", "total": 3079.82, "base_fare": 2481, "tax": 598.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzA3OS44MiwiYmFzZV9mYXJlIjoyNDgxLCJ0YXgiOjU5OC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjMwNzkuODIsImJhc2VfZmFyZSI6MjQ4MSwidGF4Ijo1OTguODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzA3OS44MiwiYmFzZV9mYXJlIjoyNDgxLCJ0YXgiOjU5OC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 3079.82, "base_fare": 2481, "tax": 598.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "2481.00", "tax": "598.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 3079.82, "base_fare": 2481, "tax": 598.82, "gross": { "base_fare": "2481.00", "tax": "598.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNzkuODIiLCJiYXNlX2ZhcmUiOiIyNDgxLjAwIiwidGF4IjoiNTk4LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4MS4wMCIsInRheCI6IjU5OC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNzkuODIiLCJiYXNlX2ZhcmUiOiIyNDgxLjAwIiwidGF4IjoiNTk4LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4MS4wMCIsInRheCI6IjU5OC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNzkuODIiLCJiYXNlX2ZhcmUiOiIyNDgxLjAwIiwidGF4IjoiNTk4LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjMwNzkuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 3079.82, "filter": { "id": "F1MS00008-39", "price": 3079.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Premium Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-40", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-40", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p28", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-40", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D8H5M", "transit_time": "PT1D8H5M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p34", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T21:20:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T23:05:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT10H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "E90", "name": "EMBRAER 190", "picture": "E90.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 3132.94, "gross_total": 3132.94, "base_fare": 2482, "tax": 650.94, "sell": { "currency": "EUR", "total": 3132.94, "base_fare": 2482, "tax": 650.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzEzMi45NCwiYmFzZV9mYXJlIjoyNDgyLCJ0YXgiOjY1MC45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjMxMzIuOTQsImJhc2VfZmFyZSI6MjQ4MiwidGF4Ijo2NTAuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzEzMi45NCwiYmFzZV9mYXJlIjoyNDgyLCJ0YXgiOjY1MC45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 3132.94, "base_fare": 2482, "tax": 650.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "2482.00", "tax": "650.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 3132.94, "base_fare": 2482, "tax": 650.94, "gross": { "base_fare": "2482.00", "tax": "650.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMzIuOTQiLCJiYXNlX2ZhcmUiOiIyNDgyLjAwIiwidGF4IjoiNjUwLjk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4Mi4wMCIsInRheCI6IjY1MC45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMzIuOTQiLCJiYXNlX2ZhcmUiOiIyNDgyLjAwIiwidGF4IjoiNjUwLjk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4Mi4wMCIsInRheCI6IjY1MC45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMzIuOTQiLCJiYXNlX2ZhcmUiOiIyNDgyLjAwIiwidGF4IjoiNjUwLjk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjMxMzIuOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 3132.94, "filter": { "id": "F1MS00008-40", "price": 3132.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Premium Light", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-12-21T23:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612212120blq2026122123051667", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-41", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-41", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p29", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-41", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D11H15M", "transit_time": "PT1D11H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p34", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T21:20:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T23:05:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT10H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "E90", "name": "EMBRAER 190", "picture": "E90.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 3132.94, "gross_total": 3132.94, "base_fare": 2482, "tax": 650.94, "sell": { "currency": "EUR", "total": 3132.94, "base_fare": 2482, "tax": 650.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzEzMi45NCwiYmFzZV9mYXJlIjoyNDgyLCJ0YXgiOjY1MC45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjMxMzIuOTQsImJhc2VfZmFyZSI6MjQ4MiwidGF4Ijo2NTAuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzEzMi45NCwiYmFzZV9mYXJlIjoyNDgyLCJ0YXgiOjY1MC45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 3132.94, "base_fare": 2482, "tax": 650.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "2482.00", "tax": "650.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 3132.94, "base_fare": 2482, "tax": 650.94, "gross": { "base_fare": "2482.00", "tax": "650.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMzIuOTQiLCJiYXNlX2ZhcmUiOiIyNDgyLjAwIiwidGF4IjoiNjUwLjk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4Mi4wMCIsInRheCI6IjY1MC45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMzIuOTQiLCJiYXNlX2ZhcmUiOiIyNDgyLjAwIiwidGF4IjoiNjUwLjk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4Mi4wMCIsInRheCI6IjY1MC45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMzIuOTQiLCJiYXNlX2ZhcmUiOiIyNDgyLjAwIiwidGF4IjoiNjUwLjk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjMxMzIuOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 3132.94, "filter": { "id": "F1MS00008-41", "price": 3132.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Premium Light", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-12-21T23:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612212120blq2026122123051667", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-42", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-42", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p43", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-42", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D1H25M", "transit_time": "PT1D1H25M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o6", "productId": "p49", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T14:40:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T16:25:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT04H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "295", "name": "Embraer195 E2", "picture": "295.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 3132.94, "gross_total": 3132.94, "base_fare": 2482, "tax": 650.94, "sell": { "currency": "EUR", "total": 3132.94, "base_fare": 2482, "tax": 650.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzEzMi45NCwiYmFzZV9mYXJlIjoyNDgyLCJ0YXgiOjY1MC45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjMxMzIuOTQsImJhc2VfZmFyZSI6MjQ4MiwidGF4Ijo2NTAuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzEzMi45NCwiYmFzZV9mYXJlIjoyNDgyLCJ0YXgiOjY1MC45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 3132.94, "base_fare": 2482, "tax": 650.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "2482.00", "tax": "650.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 3132.94, "base_fare": 2482, "tax": 650.94, "gross": { "base_fare": "2482.00", "tax": "650.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMzIuOTQiLCJiYXNlX2ZhcmUiOiIyNDgyLjAwIiwidGF4IjoiNjUwLjk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4Mi4wMCIsInRheCI6IjY1MC45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMzIuOTQiLCJiYXNlX2ZhcmUiOiIyNDgyLjAwIiwidGF4IjoiNjUwLjk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4Mi4wMCIsInRheCI6IjY1MC45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMzIuOTQiLCJiYXNlX2ZhcmUiOiIyNDgyLjAwIiwidGF4IjoiNjUwLjk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjMxMzIuOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 3132.94, "filter": { "id": "F1MS00008-42", "price": 3132.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Premium Light", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T16:25:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612211440blq2026122116251665", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-43", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-43", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p44", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-43", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D4H35M", "transit_time": "PT1D4H35M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o6", "productId": "p49", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T14:40:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T16:25:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT04H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "295", "name": "Embraer195 E2", "picture": "295.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 3132.94, "gross_total": 3132.94, "base_fare": 2482, "tax": 650.94, "sell": { "currency": "EUR", "total": 3132.94, "base_fare": 2482, "tax": 650.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzEzMi45NCwiYmFzZV9mYXJlIjoyNDgyLCJ0YXgiOjY1MC45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjMxMzIuOTQsImJhc2VfZmFyZSI6MjQ4MiwidGF4Ijo2NTAuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzEzMi45NCwiYmFzZV9mYXJlIjoyNDgyLCJ0YXgiOjY1MC45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 3132.94, "base_fare": 2482, "tax": 650.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "2482.00", "tax": "650.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 3132.94, "base_fare": 2482, "tax": 650.94, "gross": { "base_fare": "2482.00", "tax": "650.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMzIuOTQiLCJiYXNlX2ZhcmUiOiIyNDgyLjAwIiwidGF4IjoiNjUwLjk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4Mi4wMCIsInRheCI6IjY1MC45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMzIuOTQiLCJiYXNlX2ZhcmUiOiIyNDgyLjAwIiwidGF4IjoiNjUwLjk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjQ4Mi4wMCIsInRheCI6IjY1MC45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMzIuOTQiLCJiYXNlX2ZhcmUiOiIyNDgyLjAwIiwidGF4IjoiNjUwLjk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjMxMzIuOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 3132.94, "filter": { "id": "F1MS00008-43", "price": 3132.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Premium Light", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T16:25:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612211440blq2026122116251665", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-44", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-44", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H40M", "transit_time": "PT1H40M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p58", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T09:55:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T11:45:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT01H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-44", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT6H10M", "transit_time": "PT6H10M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p68", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 3516.83, "gross_total": 3516.83, "base_fare": 2929, "tax": 587.83, "sell": { "currency": "EUR", "total": 3516.83, "base_fare": 2929, "tax": 587.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzUxNi44MywiYmFzZV9mYXJlIjoyOTI5LCJ0YXgiOjU4Ny44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjM1MTYuODMsImJhc2VfZmFyZSI6MjkyOSwidGF4Ijo1ODcuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzUxNi44MywiYmFzZV9mYXJlIjoyOTI5LCJ0YXgiOjU4Ny44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 3516.83, "base_fare": 2929, "tax": 587.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "2929.00", "tax": "587.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 3516.83, "base_fare": 2929, "tax": 587.83, "gross": { "base_fare": "2929.00", "tax": "587.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1MTYuODMiLCJiYXNlX2ZhcmUiOiIyOTI5LjAwIiwidGF4IjoiNTg3LjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjkyOS4wMCIsInRheCI6IjU4Ny44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1MTYuODMiLCJiYXNlX2ZhcmUiOiIyOTI5LjAwIiwidGF4IjoiNTg3LjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjkyOS4wMCIsInRheCI6IjU4Ny44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1MTYuODMiLCJiYXNlX2ZhcmUiOiIyOTI5LjAwIiwidGF4IjoiNTg3LjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjM1MTYuODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 3516.83, "filter": { "id": "F1MS00008-44", "price": 3516.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Premium Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-09-20T09:55:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200955cdg2026092011451229cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-45", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-45", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H40M", "transit_time": "PT1H40M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p58", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T09:55:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T11:45:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT01H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-45", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT9H25M", "transit_time": "PT9H25M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p69", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 3516.83, "gross_total": 3516.83, "base_fare": 2929, "tax": 587.83, "sell": { "currency": "EUR", "total": 3516.83, "base_fare": 2929, "tax": 587.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzUxNi44MywiYmFzZV9mYXJlIjoyOTI5LCJ0YXgiOjU4Ny44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjM1MTYuODMsImJhc2VfZmFyZSI6MjkyOSwidGF4Ijo1ODcuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzUxNi44MywiYmFzZV9mYXJlIjoyOTI5LCJ0YXgiOjU4Ny44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 3516.83, "base_fare": 2929, "tax": 587.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "2929.00", "tax": "587.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 3516.83, "base_fare": 2929, "tax": 587.83, "gross": { "base_fare": "2929.00", "tax": "587.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1MTYuODMiLCJiYXNlX2ZhcmUiOiIyOTI5LjAwIiwidGF4IjoiNTg3LjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjkyOS4wMCIsInRheCI6IjU4Ny44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1MTYuODMiLCJiYXNlX2ZhcmUiOiIyOTI5LjAwIiwidGF4IjoiNTg3LjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjkyOS4wMCIsInRheCI6IjU4Ny44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1MTYuODMiLCJiYXNlX2ZhcmUiOiIyOTI5LjAwIiwidGF4IjoiNTg3LjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjM1MTYuODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 3516.83, "filter": { "id": "F1MS00008-45", "price": 3516.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Premium Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-09-20T09:55:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200955cdg2026092011451229cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-46", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-46", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT5H15M", "transit_time": "PT5H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p59", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T06:15:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T08:10:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H55M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 5 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT05H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 5 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-46", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT9H45M", "transit_time": "PT9H45M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p68", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 3516.83, "gross_total": 3516.83, "base_fare": 2929, "tax": 587.83, "sell": { "currency": "EUR", "total": 3516.83, "base_fare": 2929, "tax": 587.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzUxNi44MywiYmFzZV9mYXJlIjoyOTI5LCJ0YXgiOjU4Ny44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjM1MTYuODMsImJhc2VfZmFyZSI6MjkyOSwidGF4Ijo1ODcuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzUxNi44MywiYmFzZV9mYXJlIjoyOTI5LCJ0YXgiOjU4Ny44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 3516.83, "base_fare": 2929, "tax": 587.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "2929.00", "tax": "587.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 3516.83, "base_fare": 2929, "tax": 587.83, "gross": { "base_fare": "2929.00", "tax": "587.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1MTYuODMiLCJiYXNlX2ZhcmUiOiIyOTI5LjAwIiwidGF4IjoiNTg3LjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjkyOS4wMCIsInRheCI6IjU4Ny44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1MTYuODMiLCJiYXNlX2ZhcmUiOiIyOTI5LjAwIiwidGF4IjoiNTg3LjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjkyOS4wMCIsInRheCI6IjU4Ny44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1MTYuODMiLCJiYXNlX2ZhcmUiOiIyOTI5LjAwIiwidGF4IjoiNTg3LjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjM1MTYuODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 3516.83, "filter": { "id": "F1MS00008-46", "price": 3516.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Premium Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-09-20T06:15:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200615cdg2026092008101029cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-47", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-47", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT5H15M", "transit_time": "PT5H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p59", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T06:15:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T08:10:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H55M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 5 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT05H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 5 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-47", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT13H0M", "transit_time": "PT13H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p69", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Premium Light", "cabin_code": "PREMLIGHTB", "booking_code": "PREMLIGHTB", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": 22.68, "unit": "kg", "title": "1 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 3516.83, "gross_total": 3516.83, "base_fare": 2929, "tax": 587.83, "sell": { "currency": "EUR", "total": 3516.83, "base_fare": 2929, "tax": 587.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzUxNi44MywiYmFzZV9mYXJlIjoyOTI5LCJ0YXgiOjU4Ny44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjM1MTYuODMsImJhc2VfZmFyZSI6MjkyOSwidGF4Ijo1ODcuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzUxNi44MywiYmFzZV9mYXJlIjoyOTI5LCJ0YXgiOjU4Ny44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 3516.83, "base_fare": 2929, "tax": 587.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "2929.00", "tax": "587.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 3516.83, "base_fare": 2929, "tax": 587.83, "gross": { "base_fare": "2929.00", "tax": "587.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1MTYuODMiLCJiYXNlX2ZhcmUiOiIyOTI5LjAwIiwidGF4IjoiNTg3LjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjkyOS4wMCIsInRheCI6IjU4Ny44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1MTYuODMiLCJiYXNlX2ZhcmUiOiIyOTI5LjAwIiwidGF4IjoiNTg3LjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjkyOS4wMCIsInRheCI6IjU4Ny44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1MTYuODMiLCJiYXNlX2ZhcmUiOiIyOTI5LjAwIiwidGF4IjoiNTg3LjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjM1MTYuODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 3516.83, "filter": { "id": "F1MS00008-47", "price": 3516.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Premium Light", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-09-20T06:15:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200615cdg2026092008101029cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-48", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-48", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H40M", "transit_time": "PT1H40M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p56", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T09:55:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T11:45:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT01H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-48", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT6H10M", "transit_time": "PT6H10M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p66", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 4314.83, "gross_total": 4314.83, "base_fare": 3831, "tax": 483.83, "sell": { "currency": "EUR", "total": 4314.83, "base_fare": 3831, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMxNC44MywiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQzMTQuODMsImJhc2VfZmFyZSI6MzgzMSwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMxNC44MywiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 4314.83, "base_fare": 3831, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "3831.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 4314.83, "base_fare": 3831, "tax": 483.83, "gross": { "base_fare": "3831.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMTQuODMiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMTQuODMiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMTQuODMiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjQzMTQuODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 4314.83, "filter": { "id": "F1MS00008-48", "price": 4314.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Full Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-09-20T09:55:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200955cdg2026092011451229cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-49", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-49", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H40M", "transit_time": "PT1H40M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p56", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T09:55:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T11:45:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1229" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT01H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-49", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT9H25M", "transit_time": "PT9H25M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p67", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 4314.83, "gross_total": 4314.83, "base_fare": 3831, "tax": 483.83, "sell": { "currency": "EUR", "total": 4314.83, "base_fare": 3831, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMxNC44MywiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQzMTQuODMsImJhc2VfZmFyZSI6MzgzMSwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMxNC44MywiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 4314.83, "base_fare": 3831, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "3831.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 4314.83, "base_fare": 3831, "tax": 483.83, "gross": { "base_fare": "3831.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMTQuODMiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMTQuODMiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMTQuODMiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjQzMTQuODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 4314.83, "filter": { "id": "F1MS00008-49", "price": 4314.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Full Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-09-20T09:55:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200955cdg2026092011451229cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-50", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-50", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT5H15M", "transit_time": "PT5H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p57", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T06:15:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T08:10:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H55M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT05H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-50", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT9H45M", "transit_time": "PT9H45M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p66", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 4314.83, "gross_total": 4314.83, "base_fare": 3831, "tax": 483.83, "sell": { "currency": "EUR", "total": 4314.83, "base_fare": 3831, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMxNC44MywiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQzMTQuODMsImJhc2VfZmFyZSI6MzgzMSwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMxNC44MywiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 4314.83, "base_fare": 3831, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "3831.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 4314.83, "base_fare": 3831, "tax": 483.83, "gross": { "base_fare": "3831.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMTQuODMiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMTQuODMiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMTQuODMiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjQzMTQuODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 4314.83, "filter": { "id": "F1MS00008-50", "price": 4314.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Full Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-09-20T06:15:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200615cdg2026092008101029cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-51", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-51", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT5H15M", "transit_time": "PT5H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p57", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T06:15:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T08:10:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H55M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1029" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-20T13:25:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-20T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-20", "flight_time": "PT8H20M", "distance": 2952, "lay_over": "PT05H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "332", "name": "Airbus A330-200", "picture": "332.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "832" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-51", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT13H0M", "transit_time": "PT13H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p67", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 4314.83, "gross_total": 4314.83, "base_fare": 3831, "tax": 483.83, "sell": { "currency": "EUR", "total": 4314.83, "base_fare": 3831, "tax": 483.83 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMxNC44MywiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ4My44M30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQzMTQuODMsImJhc2VfZmFyZSI6MzgzMSwidGF4Ijo0ODMuODMsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMxNC44MywiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ4My44M319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 4314.83, "base_fare": 3831, "tax": 483.83, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "3831.00", "tax": "483.83", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 4314.83, "base_fare": 3831, "tax": 483.83, "gross": { "base_fare": "3831.00", "tax": "483.83", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMTQuODMiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMTQuODMiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDgzLjgzIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ4My44MyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMTQuODMiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDgzLjgzIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjQzMTQuODMsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 4314.83, "filter": { "id": "F1MS00008-51", "price": 4314.83, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Full Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-09-20T06:15:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609200615cdg2026092008101029cdg202609201325lfw202609202145832lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-52", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-52", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p6", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-52", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D0H20M", "transit_time": "PT1D0H20M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p16", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 4325.82, "gross_total": 4325.82, "base_fare": 3831, "tax": 494.82, "sell": { "currency": "EUR", "total": 4325.82, "base_fare": 3831, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMyNS44MiwiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQzMjUuODIsImJhc2VfZmFyZSI6MzgzMSwidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMyNS44MiwiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 4325.82, "base_fare": 3831, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "3831.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 4325.82, "base_fare": 3831, "tax": 494.82, "gross": { "base_fare": "3831.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMjUuODIiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMjUuODIiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMjUuODIiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjQzMjUuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 4325.82, "filter": { "id": "F1MS00008-52", "price": 4325.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Full Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-53", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-53", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p6", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-53", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D3H35M", "transit_time": "PT1D3H35M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p17", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 4325.82, "gross_total": 4325.82, "base_fare": 3831, "tax": 494.82, "sell": { "currency": "EUR", "total": 4325.82, "base_fare": 3831, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMyNS44MiwiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQzMjUuODIsImJhc2VfZmFyZSI6MzgzMSwidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMyNS44MiwiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 4325.82, "base_fare": 3831, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "3831.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 4325.82, "base_fare": 3831, "tax": 494.82, "gross": { "base_fare": "3831.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMjUuODIiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMjUuODIiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMjUuODIiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjQzMjUuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 4325.82, "filter": { "id": "F1MS00008-53", "price": 4325.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Full Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-54", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-54", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p7", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-54", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D3H30M", "transit_time": "PT1D3H30M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p16", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T12:10:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T13:55:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT04H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1328" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 4325.82, "gross_total": 4325.82, "base_fare": 3831, "tax": 494.82, "sell": { "currency": "EUR", "total": 4325.82, "base_fare": 3831, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMyNS44MiwiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQzMjUuODIsImJhc2VfZmFyZSI6MzgzMSwidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMyNS44MiwiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 4325.82, "base_fare": 3831, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "3831.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 4325.82, "base_fare": 3831, "tax": 494.82, "gross": { "base_fare": "3831.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMjUuODIiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMjUuODIiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMjUuODIiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjQzMjUuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 4325.82, "filter": { "id": "F1MS00008-54", "price": 4325.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Full Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-12-21T13:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211210blq2026122113551328", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-55", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-55", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p7", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-55", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1D6H45M", "transit_time": "PT1D6H45M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p17", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T15:25:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "BLQ", "arrival_time": "2026-12-21T17:10:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 515, "lay_over": "PT07H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1828" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 4325.82, "gross_total": 4325.82, "base_fare": 3831, "tax": 494.82, "sell": { "currency": "EUR", "total": 4325.82, "base_fare": 3831, "tax": 494.82 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMyNS44MiwiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ5NC44Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQzMjUuODIsImJhc2VfZmFyZSI6MzgzMSwidGF4Ijo0OTQuODIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDMyNS44MiwiYmFzZV9mYXJlIjozODMxLCJ0YXgiOjQ5NC44Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 4325.82, "base_fare": 3831, "tax": 494.82, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "3831.00", "tax": "494.82", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 4325.82, "base_fare": 3831, "tax": 494.82, "gross": { "base_fare": "3831.00", "tax": "494.82", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMjUuODIiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMjUuODIiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDk0LjgyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMS4wMCIsInRheCI6IjQ5NC44MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzMjUuODIiLCJiYXNlX2ZhcmUiOiIzODMxLjAwIiwidGF4IjoiNDk0LjgyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjQzMjUuODIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 4325.82, "filter": { "id": "F1MS00008-55", "price": 4325.82, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Full Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 4, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T17:10:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612211525blq2026122117101828", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-56", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-56", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p26", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-56", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D8H5M", "transit_time": "PT1D8H5M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p33", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T21:20:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T23:05:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT10H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "E90", "name": "EMBRAER 190", "picture": "E90.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 4378.94, "gross_total": 4378.94, "base_fare": 3832, "tax": 546.94, "sell": { "currency": "EUR", "total": 4378.94, "base_fare": 3832, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDM3OC45NCwiYmFzZV9mYXJlIjozODMyLCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQzNzguOTQsImJhc2VfZmFyZSI6MzgzMiwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDM3OC45NCwiYmFzZV9mYXJlIjozODMyLCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 4378.94, "base_fare": 3832, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "3832.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 4378.94, "base_fare": 3832, "tax": 546.94, "gross": { "base_fare": "3832.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzNzguOTQiLCJiYXNlX2ZhcmUiOiIzODMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzNzguOTQiLCJiYXNlX2ZhcmUiOiIzODMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzNzguOTQiLCJiYXNlX2ZhcmUiOiIzODMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjQzNzguOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 4378.94, "filter": { "id": "F1MS00008-56", "price": 4378.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Full Flex", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-12-21T23:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612212120blq2026122123051667", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-57", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-57", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p27", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-57", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D11H15M", "transit_time": "PT1D11H15M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p33", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T21:20:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T23:05:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT10H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "E90", "name": "EMBRAER 190", "picture": "E90.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1667" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 4378.94, "gross_total": 4378.94, "base_fare": 3832, "tax": 546.94, "sell": { "currency": "EUR", "total": 4378.94, "base_fare": 3832, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDM3OC45NCwiYmFzZV9mYXJlIjozODMyLCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQzNzguOTQsImJhc2VfZmFyZSI6MzgzMiwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDM3OC45NCwiYmFzZV9mYXJlIjozODMyLCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 4378.94, "base_fare": 3832, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "3832.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 4378.94, "base_fare": 3832, "tax": 546.94, "gross": { "base_fare": "3832.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzNzguOTQiLCJiYXNlX2ZhcmUiOiIzODMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzNzguOTQiLCJiYXNlX2ZhcmUiOiIzODMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzNzguOTQiLCJiYXNlX2ZhcmUiOiIzODMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjQzNzguOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 4378.94, "filter": { "id": "F1MS00008-57", "price": 4378.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Full Flex", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-12-21T23:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612212120blq2026122123051667", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-58", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-58", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H50M", "transit_time": "PT19H50M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p41", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T18:00:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T19:50:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1329" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-58", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D1H25M", "transit_time": "PT1D1H25M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o6", "productId": "p48", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T14:40:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T16:25:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT04H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "295", "name": "Embraer195 E2", "picture": "295.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 4378.94, "gross_total": 4378.94, "base_fare": 3832, "tax": 546.94, "sell": { "currency": "EUR", "total": 4378.94, "base_fare": 3832, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDM3OC45NCwiYmFzZV9mYXJlIjozODMyLCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQzNzguOTQsImJhc2VfZmFyZSI6MzgzMiwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDM3OC45NCwiYmFzZV9mYXJlIjozODMyLCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 4378.94, "base_fare": 3832, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "3832.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 4378.94, "base_fare": 3832, "tax": 546.94, "gross": { "base_fare": "3832.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzNzguOTQiLCJiYXNlX2ZhcmUiOiIzODMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzNzguOTQiLCJiYXNlX2ZhcmUiOiIzODMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzNzguOTQiLCJiYXNlX2ZhcmUiOiIzODMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjQzNzguOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 4378.94, "filter": { "id": "F1MS00008-58", "price": 4378.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Full Flex", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "evening", "departure_departure_time": "2026-09-20T18:00:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T16:25:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201800cdg2026092019501329cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612211440blq2026122116251665", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } }, { "tracking_id": "611782583174982217FXW9", "flight_key": "F1MS00008-59", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "package_option": "no", "supplier_title": "M-Live", "color_code": "#5ba5a4", "supplier_code": "myethool_partners", "supplier_uid": "F1MS00008", "supplier_partner_code": "myethool_partners-1-00008", "flight_group": [ { "group": 1, "flight_key": "F1MS00008-59", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H0M", "transit_time": "PT23H0M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p42", "routes": [ { "air_segment_key": null, "origin": "BLQ", "departure_time": "2026-09-20T14:50:00", "origin_terminal": null, "origin_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-09-20T16:40:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-09-20", "flight_time": "PT1H50M", "distance": 515, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "223", "name": "Airbus A220-300", "picture": "223.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1829" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-09-21T15:40:00", "origin_terminal": "2E", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "LFW", "arrival_time": "2026-09-21T20:20:00", "destination_terminal": null, "destination_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "flight_date": "2026-09-21", "flight_time": "PT4H40M", "distance": 2952, "lay_over": "PT23H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "860" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] }, { "group": 2, "flight_key": "F1MS00008-59", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT1D4H35M", "transit_time": "PT1D4H35M", "responseId": "eef37f6f-c2e9-4388-955b-8276e0b8c8e8", "source": "GDS:TravelPort", "offerId": "o6", "productId": "p48", "routes": [ { "air_segment_key": null, "origin": "LFW", "departure_time": "2026-12-20T23:55:00", "origin_terminal": null, "origin_airport": { "name": "Lome-Tokoin Airport", "city": "Lom\u00c3\u00a9", "country": "Togo", "timezone": "Africa\/Lome" }, "destination": "CDG", "arrival_time": "2026-12-21T07:40:00", "destination_terminal": "2E", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-12-20", "flight_time": "PT7H45M", "distance": 2952, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "861" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "CDG", "departure_time": "2026-12-21T09:05:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "AMS", "arrival_time": "2026-12-21T10:30:00", "destination_terminal": null, "destination_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "flight_date": "2026-12-21", "flight_time": "PT1H25M", "distance": 259, "lay_over": "PT01H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1402" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "AMS", "departure_time": "2026-12-21T14:40:00", "origin_terminal": null, "origin_airport": { "name": "Amsterdam Airport Schiphol", "city": "Amsterdam", "country": "Netherlands The", "timezone": "Europe\/Amsterdam" }, "destination": "BLQ", "arrival_time": "2026-12-21T16:25:00", "destination_terminal": null, "destination_airport": { "name": "Bologna Guglielmo Marconi Airport", "city": "Bologna", "country": "Italy", "timezone": "Europe\/Rome" }, "flight_date": "2026-12-21", "flight_time": "PT1H45M", "distance": 614, "lay_over": "PT04H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "295", "name": "Embraer195 E2", "picture": "295.png" }, "operating": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "marketing": { "carrier": "KL", "carrier_name": "KLM Royal Dutch Airlines", "carrier_logo": "KL.png", "flight_number": "1665" }, "booking_class": { "cabin_class": "Full Flex", "cabin_code": "FULLFLEX", "booking_code": "FULLFLEX", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 22.68, "unit": "kg", "title": "2 pieces 22.68 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 4378.94, "gross_total": 4378.94, "base_fare": 3832, "tax": 546.94, "sell": { "currency": "EUR", "total": 4378.94, "base_fare": 3832, "tax": 546.94 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDM3OC45NCwiYmFzZV9mYXJlIjozODMyLCJ0YXgiOjU0Ni45NH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQzNzguOTQsImJhc2VfZmFyZSI6MzgzMiwidGF4Ijo1NDYuOTQsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDM3OC45NCwiYmFzZV9mYXJlIjozODMyLCJ0YXgiOjU0Ni45NH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 4378.94, "base_fare": 3832, "tax": 546.94, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "3832.00", "tax": "546.94", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 4378.94, "base_fare": 3832, "tax": 546.94, "gross": { "base_fare": "3832.00", "tax": "546.94", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "0.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "0.00" }, "Other": { "title": "Others taxes", "amount": "0.00" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzNzguOTQiLCJiYXNlX2ZhcmUiOiIzODMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzNzguOTQiLCJiYXNlX2ZhcmUiOiIzODMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzgzMi4wMCIsInRheCI6IjU0Ni45NCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzNzguOTQiLCJiYXNlX2ZhcmUiOiIzODMyLjAwIiwidGF4IjoiNTQ2Ljk0IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjQzNzguOTQsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 4378.94, "filter": { "id": "F1MS00008-59", "price": 4378.94, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "223", "aircraft_name": "Airbus A220-300", "cabin_class": "Full Flex", "connecting_airport": { "0": "CDG", "2": "AMS" }, "total_segment_count": 5, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-09-20T14:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-12-21T16:25:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "blq202609201450cdg2026092016401829cdg202609211540lfw202609212020860lfw202612202355cdg202612210740861cdg202612210905ams2026122110301402ams202612211440blq2026122116251665", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "BLQ", "destination": "LFW", "departureDate": "2026-09-20", "departureTime": "" }, { "origin": "LFW", "destination": "BLQ", "departureDate": "2026-12-20", "departureTime": "" } ], "adults": 1, "children": 0, "infants": 0, "cabinClass": [ "Economy" ], "preferredAirlines": [ "all" ], "brandedFare": true, "publicFare": true, "privateFare": true, "ticketType": "all", "connectionType": "all", "contentType": [ "GDS", "NDC" ], "country": [], "isCalenderSearch": false } } ], "search_parameter": { "journey_type": "RoundTrip", "segment": [ { "departure_airport_type": "AIRPORT", "departure_airport": "BLQ", "arrival_airport_type": "AIRPORT", "arrival_airport": "LFW", "departure_date": "2026-09-20", "departure_time": "anytime", "departure_time_within": "anytime", "booking_class": "Economy", "stop": "any", "alliance": { "include": [], "exclude": [] }, "country": { "include": [], "exclude": [] }, "airlines": { "include": [], "exclude": [] } }, { "departure_airport_type": "AIRPORT", "departure_airport": "LFW", "arrival_airport_type": "AIRPORT", "arrival_airport": "BLQ", "departure_date": "2026-12-20", "departure_time": "anytime", "departure_time_within": "anytime", "booking_class": "Economy", "stop": "any", "alliance": { "include": [], "exclude": [] }, "country": { "include": [], "exclude": [] }, "airlines": { "include": [], "exclude": [] } } ], "travelers_adult": 1, "travelers_child": 0, "travelers_child_age": [], "travelers_infants": 0, "travelers_infants_age": [], "fare_type": [ "all", "public", "brand" ], "fare_option": [], "content_type": "all_content", "ptc_option": [], "agency_ethnic_list": [], "preferred_carrier": [], "non_stop_flight": "any", "baggage_option": "any", "booking_class": "Economy", "supplier_uid": "all", "partner_id": "6", "language": "en", "short_ref": "ae844ea7f3286651bc83cc55d3006335f50f749b4d3cb33ae574a4ed2137c102", "version": 1, "team_profile": [ null ], "RefundableOnly": false, "BestFareOnly": false } }