{ "status": "success", "tracking_id": "91178272400398221S3N9L", "performanceDuration": "", "data": [ { "tracking_id": "91178272400398221S3N9L", "flight_key": "F1MS00008-0", "journey_type": "OneWay", "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": "PT11H15M", "transit_time": "PT11H15M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p0", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T20:00:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T22:00:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "booking_class": { "cabin_class": "Discount", "cabin_code": "DISCOUNT", "booking_code": "DISCOUNT", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": "LIS", "departure_time": "2026-08-01T09:15:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T10:55:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT11H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "319", "name": "Airbus A319", "picture": "319.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "booking_class": { "cabin_class": "Discount", "cabin_code": "DISCOUNT", "booking_code": "DISCOUNT", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 176.38, "gross_total": 176.38, "base_fare": 70, "tax": 106.38, "sell": { "currency": "EUR", "total": 176.38, "base_fare": 70, "tax": 106.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTc2LjM4LCJiYXNlX2ZhcmUiOjcwLCJ0YXgiOjEwNi4zOH0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE3Ni4zOCwiYmFzZV9mYXJlIjo3MCwidGF4IjoxMDYuMzgsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTc2LjM4LCJiYXNlX2ZhcmUiOjcwLCJ0YXgiOjEwNi4zOH19", "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": 176.38, "base_fare": 70, "tax": 106.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "70.00", "tax": "106.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 176.38, "base_fare": 70, "tax": 106.38, "gross": { "base_fare": "70.00", "tax": "106.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE3Ni4zOCIsImJhc2VfZmFyZSI6IjcwLjAwIiwidGF4IjoiMTA2LjM4IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNzAuMDAiLCJ0YXgiOiIxMDYuMzgiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxNzYuMzgiLCJiYXNlX2ZhcmUiOiI3MC4wMCIsInRheCI6IjEwNi4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjcwLjAwIiwidGF4IjoiMTA2LjM4IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTc2LjM4IiwiYmFzZV9mYXJlIjoiNzAuMDAiLCJ0YXgiOiIxMDYuMzgiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6MTc2LjM4LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 176.38, "filter": { "id": "F1MS00008-0", "price": 176.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Discount", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T20:00:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T10:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607312000lis202607312200827lis202608010915rak2026080110551452", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-1", "journey_type": "OneWay", "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": "PT11H15M", "transit_time": "PT11H15M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p1", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T20:00:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T22:00:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "booking_class": { "cabin_class": "Classic", "cabin_code": "CLASSIC", "booking_code": "CLASSIC", "meal_code": null, "seat_available": 1 }, "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": "LIS", "departure_time": "2026-08-01T09:15:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T10:55:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT11H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "319", "name": "Airbus A319", "picture": "319.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "booking_class": { "cabin_class": "Classic", "cabin_code": "CLASSIC", "booking_code": "CLASSIC", "meal_code": null, "seat_available": 1 }, "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": 216.38, "gross_total": 216.38, "base_fare": 110, "tax": 106.38, "sell": { "currency": "EUR", "total": 216.38, "base_fare": 110, "tax": 106.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjE2LjM4LCJiYXNlX2ZhcmUiOjExMCwidGF4IjoxMDYuMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyMTYuMzgsImJhc2VfZmFyZSI6MTEwLCJ0YXgiOjEwNi4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyMTYuMzgsImJhc2VfZmFyZSI6MTEwLCJ0YXgiOjEwNi4zOH19", "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": 216.38, "base_fare": 110, "tax": 106.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "110.00", "tax": "106.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 216.38, "base_fare": 110, "tax": 106.38, "gross": { "base_fare": "110.00", "tax": "106.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIxNi4zOCIsImJhc2VfZmFyZSI6IjExMC4wMCIsInRheCI6IjEwNi4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjExMC4wMCIsInRheCI6IjEwNi4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIxNi4zOCIsImJhc2VfZmFyZSI6IjExMC4wMCIsInRheCI6IjEwNi4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjExMC4wMCIsInRheCI6IjEwNi4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjIxNi4zOCIsImJhc2VfZmFyZSI6IjExMC4wMCIsInRheCI6IjEwNi4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoyMTYuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 216.38, "filter": { "id": "F1MS00008-1", "price": 216.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Classic", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T20:00:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T10:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607312000lis202607312200827lis202608010915rak2026080110551452", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-2", "journey_type": "OneWay", "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": "PT13H45M", "transit_time": "PT13H45M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p4", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T17:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T19:30:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H5M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "booking_class": { "cabin_class": "Discount", "cabin_code": "DISCOUNT", "booking_code": "DISCOUNT", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": "LIS", "departure_time": "2026-08-01T09:15:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T10:55:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT13H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "319", "name": "Airbus A319", "picture": "319.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "booking_class": { "cabin_class": "Discount", "cabin_code": "DISCOUNT", "booking_code": "DISCOUNT", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 241.38, "gross_total": 241.38, "base_fare": 123, "tax": 118.38, "sell": { "currency": "EUR", "total": 241.38, "base_fare": 123, "tax": 118.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjQxLjM4LCJiYXNlX2ZhcmUiOjEyMywidGF4IjoxMTguMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyNDEuMzgsImJhc2VfZmFyZSI6MTIzLCJ0YXgiOjExOC4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyNDEuMzgsImJhc2VfZmFyZSI6MTIzLCJ0YXgiOjExOC4zOH19", "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": 241.38, "base_fare": 123, "tax": 118.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "123.00", "tax": "118.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 241.38, "base_fare": 123, "tax": 118.38, "gross": { "base_fare": "123.00", "tax": "118.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI0MS4zOCIsImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjExOC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI0MS4zOCIsImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjExOC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI0MS4zOCIsImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoyNDEuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 241.38, "filter": { "id": "F1MS00008-2", "price": 241.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Discount", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T17:25:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T10:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311725lis202607311930825lis202608010915rak2026080110551452", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-3", "journey_type": "OneWay", "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": "PT16H5M", "transit_time": "PT16H5M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p5", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T20:00:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T22:00:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "booking_class": { "cabin_class": "Discount", "cabin_code": "DISCOUNT", "booking_code": "DISCOUNT", "meal_code": null, "seat_available": 7 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": "LIS", "departure_time": "2026-08-01T14:05:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T15:45:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT16H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "E95", "name": "Embraer 195", "picture": "E95.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "booking_class": { "cabin_class": "Discount", "cabin_code": "DISCOUNT", "booking_code": "DISCOUNT", "meal_code": null, "seat_available": 7 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 241.38, "gross_total": 241.38, "base_fare": 123, "tax": 118.38, "sell": { "currency": "EUR", "total": 241.38, "base_fare": 123, "tax": 118.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjQxLjM4LCJiYXNlX2ZhcmUiOjEyMywidGF4IjoxMTguMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyNDEuMzgsImJhc2VfZmFyZSI6MTIzLCJ0YXgiOjExOC4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyNDEuMzgsImJhc2VfZmFyZSI6MTIzLCJ0YXgiOjExOC4zOH19", "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": 241.38, "base_fare": 123, "tax": 118.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "123.00", "tax": "118.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 241.38, "base_fare": 123, "tax": 118.38, "gross": { "base_fare": "123.00", "tax": "118.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI0MS4zOCIsImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjExOC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI0MS4zOCIsImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjExOC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI0MS4zOCIsImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoyNDEuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 241.38, "filter": { "id": "F1MS00008-3", "price": 241.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Discount", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T20:00:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:45:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607312000lis202607312200827lis202608011405rak2026080115452300", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-4", "journey_type": "OneWay", "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": "PT11H15M", "transit_time": "PT11H15M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p2", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T20:00:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T22:00:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "booking_class": { "cabin_class": "Plus", "cabin_code": "PLUS", "booking_code": "PLUS", "meal_code": null, "seat_available": 1 }, "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": "LIS", "departure_time": "2026-08-01T09:15:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T10:55:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT11H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "319", "name": "Airbus A319", "picture": "319.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "booking_class": { "cabin_class": "Plus", "cabin_code": "PLUS", "booking_code": "PLUS", "meal_code": null, "seat_available": 1 }, "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": 246.38, "gross_total": 246.38, "base_fare": 140, "tax": 106.38, "sell": { "currency": "EUR", "total": 246.38, "base_fare": 140, "tax": 106.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjQ2LjM4LCJiYXNlX2ZhcmUiOjE0MCwidGF4IjoxMDYuMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyNDYuMzgsImJhc2VfZmFyZSI6MTQwLCJ0YXgiOjEwNi4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyNDYuMzgsImJhc2VfZmFyZSI6MTQwLCJ0YXgiOjEwNi4zOH19", "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": 246.38, "base_fare": 140, "tax": 106.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "140.00", "tax": "106.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 246.38, "base_fare": 140, "tax": 106.38, "gross": { "base_fare": "140.00", "tax": "106.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI0Ni4zOCIsImJhc2VfZmFyZSI6IjE0MC4wMCIsInRheCI6IjEwNi4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE0MC4wMCIsInRheCI6IjEwNi4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI0Ni4zOCIsImJhc2VfZmFyZSI6IjE0MC4wMCIsInRheCI6IjEwNi4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE0MC4wMCIsInRheCI6IjEwNi4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI0Ni4zOCIsImJhc2VfZmFyZSI6IjE0MC4wMCIsInRheCI6IjEwNi4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoyNDYuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 246.38, "filter": { "id": "F1MS00008-4", "price": 246.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Plus", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T20:00:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T10:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607312000lis202607312200827lis202608010915rak2026080110551452", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-5", "journey_type": "OneWay", "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": "PT18H35M", "transit_time": "PT18H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p12", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T17:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T19:30:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H5M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "booking_class": { "cabin_class": "Discount", "cabin_code": "DISCOUNT", "booking_code": "DISCOUNT", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": "LIS", "departure_time": "2026-08-01T14:05:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T15:45:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT18H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "E95", "name": "Embraer 195", "picture": "E95.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "booking_class": { "cabin_class": "Discount", "cabin_code": "DISCOUNT", "booking_code": "DISCOUNT", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 247.6, "gross_total": 247.6, "base_fare": 123, "tax": 124.6, "sell": { "currency": "EUR", "total": 247.6, "base_fare": 123, "tax": 124.6 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjQ3LjYsImJhc2VfZmFyZSI6MTIzLCJ0YXgiOjEyNC42fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjQ3LjYsImJhc2VfZmFyZSI6MTIzLCJ0YXgiOjEyNC42LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjI0Ny42LCJiYXNlX2ZhcmUiOjEyMywidGF4IjoxMjQuNn19", "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": 247.6, "base_fare": 123, "tax": 124.6, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "123.00", "tax": "124.60", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 247.6, "base_fare": 123, "tax": 124.6, "gross": { "base_fare": "123.00", "tax": "124.60", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI0Ny42MCIsImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjEyNC42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI0Ny42MCIsImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjEyNC42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI0Ny42MCIsImJhc2VfZmFyZSI6IjEyMy4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoyNDcuNiwidGF4QnJlYWtkb3duIjp7IkJEIjp7ImFtb3VudCI6IjAuMDAifSwiVVQiOnsiYW1vdW50IjoiMC4wMCJ9LCJFNSI6eyJhbW91bnQiOiIwLjAwIn0sIllRIjp7ImFtb3VudCI6IjAuMDAifSwiWVIiOnsiYW1vdW50IjoiMC4wMCJ9LCJPdGhlciI6eyJhbW91bnQiOiIwLjAwIn0sInN1cHBsaWVyVGF4RGF0YSI6W119fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 247.6, "filter": { "id": "F1MS00008-5", "price": 247.6, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Discount", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T17:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:45:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311725lis202607311930825lis202608011405rak2026080115452300", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-6", "journey_type": "OneWay", "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": "PT10H25M", "transit_time": "PT10H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p16", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T22:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "booking_class": { "cabin_class": "Eco Essential", "cabin_code": "EESSENTIAL", "booking_code": "EESSENTIAL", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": "CMN", "departure_time": "2026-08-01T08:30:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T09:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT0H50M", "distance": 124, "lay_over": "PT10H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "booking_class": { "cabin_class": "Eco Essential", "cabin_code": "EESSENTIAL", "booking_code": "EESSENTIAL", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 279.06, "gross_total": 279.06, "base_fare": 179, "tax": 100.06, "sell": { "currency": "EUR", "total": 279.06, "base_fare": 179, "tax": 100.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Mjc5LjA2LCJiYXNlX2ZhcmUiOjE3OSwidGF4IjoxMDAuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyNzkuMDYsImJhc2VfZmFyZSI6MTc5LCJ0YXgiOjEwMC4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyNzkuMDYsImJhc2VfZmFyZSI6MTc5LCJ0YXgiOjEwMC4wNn19", "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": 279.06, "base_fare": 179, "tax": 100.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "179.00", "tax": "100.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 279.06, "base_fare": 179, "tax": 100.06, "gross": { "base_fare": "179.00", "tax": "100.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI3OS4wNiIsImJhc2VfZmFyZSI6IjE3OS4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE3OS4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI3OS4wNiIsImJhc2VfZmFyZSI6IjE3OS4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE3OS4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI3OS4wNiIsImJhc2VfZmFyZSI6IjE3OS4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoyNzkuMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 279.06, "filter": { "id": "F1MS00008-6", "price": 279.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Eco Essential", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:55:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T09:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311955cmn202607312205951cmn202608010830rak202608010920409", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-7", "journey_type": "OneWay", "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": "PT13H55M", "transit_time": "PT13H55M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p17", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T22:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "booking_class": { "cabin_class": "Eco Essential", "cabin_code": "EESSENTIAL", "booking_code": "EESSENTIAL", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": "CMN", "departure_time": "2026-08-01T12:00:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T13:05:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H5M", "distance": 124, "lay_over": "PT13H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "AT7", "name": "Alenia ATR 72", "picture": "AT7.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "411" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "411" }, "booking_class": { "cabin_class": "Eco Essential", "cabin_code": "EESSENTIAL", "booking_code": "EESSENTIAL", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 279.06, "gross_total": 279.06, "base_fare": 179, "tax": 100.06, "sell": { "currency": "EUR", "total": 279.06, "base_fare": 179, "tax": 100.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Mjc5LjA2LCJiYXNlX2ZhcmUiOjE3OSwidGF4IjoxMDAuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyNzkuMDYsImJhc2VfZmFyZSI6MTc5LCJ0YXgiOjEwMC4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyNzkuMDYsImJhc2VfZmFyZSI6MTc5LCJ0YXgiOjEwMC4wNn19", "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": 279.06, "base_fare": 179, "tax": 100.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "179.00", "tax": "100.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 279.06, "base_fare": 179, "tax": 100.06, "gross": { "base_fare": "179.00", "tax": "100.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI3OS4wNiIsImJhc2VfZmFyZSI6IjE3OS4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE3OS4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI3OS4wNiIsImJhc2VfZmFyZSI6IjE3OS4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE3OS4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI3OS4wNiIsImJhc2VfZmFyZSI6IjE3OS4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoyNzkuMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 279.06, "filter": { "id": "F1MS00008-7", "price": 279.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Eco Essential", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:55:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T13:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311955cmn202607312205951cmn202608011200rak202608011305411", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-8", "journey_type": "OneWay", "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": "PT13H45M", "transit_time": "PT13H45M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p6", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T17:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T19:30:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H5M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "booking_class": { "cabin_class": "Classic", "cabin_code": "CLASSIC", "booking_code": "CLASSIC", "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": "LIS", "departure_time": "2026-08-01T09:15:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T10:55:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT13H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "319", "name": "Airbus A319", "picture": "319.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "booking_class": { "cabin_class": "Classic", "cabin_code": "CLASSIC", "booking_code": "CLASSIC", "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" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 281.38, "gross_total": 281.38, "base_fare": 163, "tax": 118.38, "sell": { "currency": "EUR", "total": 281.38, "base_fare": 163, "tax": 118.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjgxLjM4LCJiYXNlX2ZhcmUiOjE2MywidGF4IjoxMTguMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyODEuMzgsImJhc2VfZmFyZSI6MTYzLCJ0YXgiOjExOC4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyODEuMzgsImJhc2VfZmFyZSI6MTYzLCJ0YXgiOjExOC4zOH19", "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": 281.38, "base_fare": 163, "tax": 118.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "163.00", "tax": "118.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 281.38, "base_fare": 163, "tax": 118.38, "gross": { "base_fare": "163.00", "tax": "118.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI4MS4zOCIsImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjExOC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI4MS4zOCIsImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjExOC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI4MS4zOCIsImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoyODEuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 281.38, "filter": { "id": "F1MS00008-8", "price": 281.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Classic", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T17:25:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T10:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311725lis202607311930825lis202608010915rak2026080110551452", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-9", "journey_type": "OneWay", "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": "PT16H5M", "transit_time": "PT16H5M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p7", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T20:00:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T22:00:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "booking_class": { "cabin_class": "Classic", "cabin_code": "CLASSIC", "booking_code": "CLASSIC", "meal_code": null, "seat_available": 7 }, "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": "LIS", "departure_time": "2026-08-01T14:05:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T15:45:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT16H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "E95", "name": "Embraer 195", "picture": "E95.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "booking_class": { "cabin_class": "Classic", "cabin_code": "CLASSIC", "booking_code": "CLASSIC", "meal_code": null, "seat_available": 7 }, "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": 281.38, "gross_total": 281.38, "base_fare": 163, "tax": 118.38, "sell": { "currency": "EUR", "total": 281.38, "base_fare": 163, "tax": 118.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MjgxLjM4LCJiYXNlX2ZhcmUiOjE2MywidGF4IjoxMTguMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyODEuMzgsImJhc2VfZmFyZSI6MTYzLCJ0YXgiOjExOC4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoyODEuMzgsImJhc2VfZmFyZSI6MTYzLCJ0YXgiOjExOC4zOH19", "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": 281.38, "base_fare": 163, "tax": 118.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "163.00", "tax": "118.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 281.38, "base_fare": 163, "tax": 118.38, "gross": { "base_fare": "163.00", "tax": "118.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI4MS4zOCIsImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjExOC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI4MS4zOCIsImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjExOC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI4MS4zOCIsImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoyODEuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 281.38, "filter": { "id": "F1MS00008-9", "price": 281.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Classic", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T20:00:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:45:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607312000lis202607312200827lis202608011405rak2026080115452300", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-10", "journey_type": "OneWay", "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": "PT18H35M", "transit_time": "PT18H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p13", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T17:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T19:30:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H5M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "booking_class": { "cabin_class": "Classic", "cabin_code": "CLASSIC", "booking_code": "CLASSIC", "meal_code": null, "seat_available": 3 }, "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": "LIS", "departure_time": "2026-08-01T14:05:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T15:45:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT18H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "E95", "name": "Embraer 195", "picture": "E95.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "booking_class": { "cabin_class": "Classic", "cabin_code": "CLASSIC", "booking_code": "CLASSIC", "meal_code": null, "seat_available": 3 }, "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": 287.6, "gross_total": 287.6, "base_fare": 163, "tax": 124.6, "sell": { "currency": "EUR", "total": 287.6, "base_fare": 163, "tax": 124.6 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Mjg3LjYsImJhc2VfZmFyZSI6MTYzLCJ0YXgiOjEyNC42fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Mjg3LjYsImJhc2VfZmFyZSI6MTYzLCJ0YXgiOjEyNC42LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjI4Ny42LCJiYXNlX2ZhcmUiOjE2MywidGF4IjoxMjQuNn19", "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": 287.6, "base_fare": 163, "tax": 124.6, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "163.00", "tax": "124.60", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 287.6, "base_fare": 163, "tax": 124.6, "gross": { "base_fare": "163.00", "tax": "124.60", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI4Ny42MCIsImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjEyNC42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI4Ny42MCIsImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjEyNC42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjI4Ny42MCIsImJhc2VfZmFyZSI6IjE2My4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoyODcuNiwidGF4QnJlYWtkb3duIjp7IkJEIjp7ImFtb3VudCI6IjAuMDAifSwiVVQiOnsiYW1vdW50IjoiMC4wMCJ9LCJFNSI6eyJhbW91bnQiOiIwLjAwIn0sIllRIjp7ImFtb3VudCI6IjAuMDAifSwiWVIiOnsiYW1vdW50IjoiMC4wMCJ9LCJPdGhlciI6eyJhbW91bnQiOiIwLjAwIn0sInN1cHBsaWVyVGF4RGF0YSI6W119fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 287.6, "filter": { "id": "F1MS00008-10", "price": 287.6, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Classic", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T17:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:45:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311725lis202607311930825lis202608011405rak2026080115452300", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-11", "journey_type": "OneWay", "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": "PT10H25M", "transit_time": "PT10H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p18", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T22:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "booking_class": { "cabin_class": "Eco Classic", "cabin_code": "ECLASSIC", "booking_code": "ECLASSIC", "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": "CMN", "departure_time": "2026-08-01T08:30:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T09:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT0H50M", "distance": 124, "lay_over": "PT10H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "booking_class": { "cabin_class": "Eco Classic", "cabin_code": "ECLASSIC", "booking_code": "ECLASSIC", "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": 304.06, "gross_total": 304.06, "base_fare": 204, "tax": 100.06, "sell": { "currency": "EUR", "total": 304.06, "base_fare": 204, "tax": 100.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzA0LjA2LCJiYXNlX2ZhcmUiOjIwNCwidGF4IjoxMDAuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMDQuMDYsImJhc2VfZmFyZSI6MjA0LCJ0YXgiOjEwMC4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMDQuMDYsImJhc2VfZmFyZSI6MjA0LCJ0YXgiOjEwMC4wNn19", "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": 304.06, "base_fare": 204, "tax": 100.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "204.00", "tax": "100.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 304.06, "base_fare": 204, "tax": 100.06, "gross": { "base_fare": "204.00", "tax": "100.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNC4wNiIsImJhc2VfZmFyZSI6IjIwNC4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIwNC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNC4wNiIsImJhc2VfZmFyZSI6IjIwNC4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIwNC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNC4wNiIsImJhc2VfZmFyZSI6IjIwNC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozMDQuMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 304.06, "filter": { "id": "F1MS00008-11", "price": 304.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Eco Classic", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:55:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T09:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311955cmn202607312205951cmn202608010830rak202608010920409", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-12", "journey_type": "OneWay", "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": "PT13H55M", "transit_time": "PT13H55M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p19", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T22:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "booking_class": { "cabin_class": "Eco Classic", "cabin_code": "ECLASSIC", "booking_code": "ECLASSIC", "meal_code": null, "seat_available": 1 }, "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": "CMN", "departure_time": "2026-08-01T12:00:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T13:05:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H5M", "distance": 124, "lay_over": "PT13H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "AT7", "name": "Alenia ATR 72", "picture": "AT7.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "411" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "411" }, "booking_class": { "cabin_class": "Eco Classic", "cabin_code": "ECLASSIC", "booking_code": "ECLASSIC", "meal_code": null, "seat_available": 1 }, "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": 304.06, "gross_total": 304.06, "base_fare": 204, "tax": 100.06, "sell": { "currency": "EUR", "total": 304.06, "base_fare": 204, "tax": 100.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzA0LjA2LCJiYXNlX2ZhcmUiOjIwNCwidGF4IjoxMDAuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMDQuMDYsImJhc2VfZmFyZSI6MjA0LCJ0YXgiOjEwMC4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMDQuMDYsImJhc2VfZmFyZSI6MjA0LCJ0YXgiOjEwMC4wNn19", "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": 304.06, "base_fare": 204, "tax": 100.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "204.00", "tax": "100.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 304.06, "base_fare": 204, "tax": 100.06, "gross": { "base_fare": "204.00", "tax": "100.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNC4wNiIsImJhc2VfZmFyZSI6IjIwNC4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIwNC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNC4wNiIsImJhc2VfZmFyZSI6IjIwNC4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIwNC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwNC4wNiIsImJhc2VfZmFyZSI6IjIwNC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozMDQuMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 304.06, "filter": { "id": "F1MS00008-12", "price": 304.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Eco Classic", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:55:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T13:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311955cmn202607312205951cmn202608011200rak202608011305411", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-13", "journey_type": "OneWay", "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": "PT1H30M", "transit_time": "PT1H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p26", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T15:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "booking_class": { "cabin_class": "Eco Essential", "cabin_code": "EESSENTIAL", "booking_code": "EESSENTIAL", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": "CMN", "departure_time": "2026-07-31T16:35:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-07-31T17:40:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT1H5M", "distance": 124, "lay_over": "PT01H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "AT7", "name": "Alenia ATR 72", "picture": "AT7.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "413" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "413" }, "booking_class": { "cabin_class": "Eco Essential", "cabin_code": "EESSENTIAL", "booking_code": "EESSENTIAL", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 308.06, "gross_total": 308.06, "base_fare": 208, "tax": 100.06, "sell": { "currency": "EUR", "total": 308.06, "base_fare": 208, "tax": 100.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzA4LjA2LCJiYXNlX2ZhcmUiOjIwOCwidGF4IjoxMDAuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMDguMDYsImJhc2VfZmFyZSI6MjA4LCJ0YXgiOjEwMC4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMDguMDYsImJhc2VfZmFyZSI6MjA4LCJ0YXgiOjEwMC4wNn19", "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": 308.06, "base_fare": 208, "tax": 100.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "208.00", "tax": "100.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 308.06, "base_fare": 208, "tax": 100.06, "gross": { "base_fare": "208.00", "tax": "100.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwOC4wNiIsImJhc2VfZmFyZSI6IjIwOC4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIwOC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwOC4wNiIsImJhc2VfZmFyZSI6IjIwOC4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIwOC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwOC4wNiIsImJhc2VfZmFyZSI6IjIwOC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozMDguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 308.06, "filter": { "id": "F1MS00008-13", "price": 308.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Eco Essential", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T12:55:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-07-31T17:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311255cmn202607311505955cmn202607311635rak202607311740413", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-14", "journey_type": "OneWay", "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": "PT17H25M", "transit_time": "PT17H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p27", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T15:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "booking_class": { "cabin_class": "Eco Essential", "cabin_code": "EESSENTIAL", "booking_code": "EESSENTIAL", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": "CMN", "departure_time": "2026-08-01T08:30:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T09:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT0H50M", "distance": 124, "lay_over": "PT17H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "booking_class": { "cabin_class": "Eco Essential", "cabin_code": "EESSENTIAL", "booking_code": "EESSENTIAL", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 308.06, "gross_total": 308.06, "base_fare": 208, "tax": 100.06, "sell": { "currency": "EUR", "total": 308.06, "base_fare": 208, "tax": 100.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzA4LjA2LCJiYXNlX2ZhcmUiOjIwOCwidGF4IjoxMDAuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMDguMDYsImJhc2VfZmFyZSI6MjA4LCJ0YXgiOjEwMC4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMDguMDYsImJhc2VfZmFyZSI6MjA4LCJ0YXgiOjEwMC4wNn19", "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": 308.06, "base_fare": 208, "tax": 100.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "208.00", "tax": "100.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 308.06, "base_fare": 208, "tax": 100.06, "gross": { "base_fare": "208.00", "tax": "100.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwOC4wNiIsImJhc2VfZmFyZSI6IjIwOC4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIwOC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwOC4wNiIsImJhc2VfZmFyZSI6IjIwOC4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIwOC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwOC4wNiIsImJhc2VfZmFyZSI6IjIwOC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozMDguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 308.06, "filter": { "id": "F1MS00008-14", "price": 308.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Eco Essential", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T12:55:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T09:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311255cmn202607311505955cmn202608010830rak202608010920409", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-15", "journey_type": "OneWay", "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": "PT13H45M", "transit_time": "PT13H45M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p8", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T17:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T19:30:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H5M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "booking_class": { "cabin_class": "Plus", "cabin_code": "PLUS", "booking_code": "PLUS", "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": "LIS", "departure_time": "2026-08-01T09:15:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T10:55:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT13H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "319", "name": "Airbus A319", "picture": "319.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "booking_class": { "cabin_class": "Plus", "cabin_code": "PLUS", "booking_code": "PLUS", "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" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 311.38, "gross_total": 311.38, "base_fare": 193, "tax": 118.38, "sell": { "currency": "EUR", "total": 311.38, "base_fare": 193, "tax": 118.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzExLjM4LCJiYXNlX2ZhcmUiOjE5MywidGF4IjoxMTguMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMTEuMzgsImJhc2VfZmFyZSI6MTkzLCJ0YXgiOjExOC4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMTEuMzgsImJhc2VfZmFyZSI6MTkzLCJ0YXgiOjExOC4zOH19", "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": 311.38, "base_fare": 193, "tax": 118.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "193.00", "tax": "118.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 311.38, "base_fare": 193, "tax": 118.38, "gross": { "base_fare": "193.00", "tax": "118.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMS4zOCIsImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjExOC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMS4zOCIsImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjExOC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMS4zOCIsImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozMTEuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 311.38, "filter": { "id": "F1MS00008-15", "price": 311.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Plus", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T17:25:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T10:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311725lis202607311930825lis202608010915rak2026080110551452", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-16", "journey_type": "OneWay", "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": "PT16H5M", "transit_time": "PT16H5M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p9", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T20:00:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T22:00:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "booking_class": { "cabin_class": "Plus", "cabin_code": "PLUS", "booking_code": "PLUS", "meal_code": null, "seat_available": 7 }, "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": "LIS", "departure_time": "2026-08-01T14:05:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T15:45:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT16H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "E95", "name": "Embraer 195", "picture": "E95.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "booking_class": { "cabin_class": "Plus", "cabin_code": "PLUS", "booking_code": "PLUS", "meal_code": null, "seat_available": 7 }, "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": 311.38, "gross_total": 311.38, "base_fare": 193, "tax": 118.38, "sell": { "currency": "EUR", "total": 311.38, "base_fare": 193, "tax": 118.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzExLjM4LCJiYXNlX2ZhcmUiOjE5MywidGF4IjoxMTguMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMTEuMzgsImJhc2VfZmFyZSI6MTkzLCJ0YXgiOjExOC4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMTEuMzgsImJhc2VfZmFyZSI6MTkzLCJ0YXgiOjExOC4zOH19", "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": 311.38, "base_fare": 193, "tax": 118.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "193.00", "tax": "118.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 311.38, "base_fare": 193, "tax": 118.38, "gross": { "base_fare": "193.00", "tax": "118.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMS4zOCIsImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjExOC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMS4zOCIsImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjExOC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxMS4zOCIsImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjExOC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozMTEuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 311.38, "filter": { "id": "F1MS00008-16", "price": 311.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Plus", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T20:00:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:45:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607312000lis202607312200827lis202608011405rak2026080115452300", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-17", "journey_type": "OneWay", "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": "PT18H35M", "transit_time": "PT18H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p14", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T17:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T19:30:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H5M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "booking_class": { "cabin_class": "Plus", "cabin_code": "PLUS", "booking_code": "PLUS", "meal_code": null, "seat_available": 3 }, "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": "LIS", "departure_time": "2026-08-01T14:05:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T15:45:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT18H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "E95", "name": "Embraer 195", "picture": "E95.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "booking_class": { "cabin_class": "Plus", "cabin_code": "PLUS", "booking_code": "PLUS", "meal_code": null, "seat_available": 3 }, "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": 317.6, "gross_total": 317.6, "base_fare": 193, "tax": 124.6, "sell": { "currency": "EUR", "total": 317.6, "base_fare": 193, "tax": 124.6 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzE3LjYsImJhc2VfZmFyZSI6MTkzLCJ0YXgiOjEyNC42fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzE3LjYsImJhc2VfZmFyZSI6MTkzLCJ0YXgiOjEyNC42LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjMxNy42LCJiYXNlX2ZhcmUiOjE5MywidGF4IjoxMjQuNn19", "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": 317.6, "base_fare": 193, "tax": 124.6, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "193.00", "tax": "124.60", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 317.6, "base_fare": 193, "tax": 124.6, "gross": { "base_fare": "193.00", "tax": "124.60", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxNy42MCIsImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjEyNC42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxNy42MCIsImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjEyNC42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMxNy42MCIsImJhc2VfZmFyZSI6IjE5My4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozMTcuNiwidGF4QnJlYWtkb3duIjp7IkJEIjp7ImFtb3VudCI6IjAuMDAifSwiVVQiOnsiYW1vdW50IjoiMC4wMCJ9LCJFNSI6eyJhbW91bnQiOiIwLjAwIn0sIllRIjp7ImFtb3VudCI6IjAuMDAifSwiWVIiOnsiYW1vdW50IjoiMC4wMCJ9LCJPdGhlciI6eyJhbW91bnQiOiIwLjAwIn0sInN1cHBsaWVyVGF4RGF0YSI6W119fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 317.6, "filter": { "id": "F1MS00008-17", "price": 317.6, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Plus", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T17:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:45:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311725lis202607311930825lis202608011405rak2026080115452300", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-18", "journey_type": "OneWay", "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": "PT1H30M", "transit_time": "PT1H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p28", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T15:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "booking_class": { "cabin_class": "Eco Classic", "cabin_code": "ECLASSIC", "booking_code": "ECLASSIC", "meal_code": null, "seat_available": 1 }, "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": "CMN", "departure_time": "2026-07-31T16:35:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-07-31T17:40:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT1H5M", "distance": 124, "lay_over": "PT01H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "AT7", "name": "Alenia ATR 72", "picture": "AT7.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "413" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "413" }, "booking_class": { "cabin_class": "Eco Classic", "cabin_code": "ECLASSIC", "booking_code": "ECLASSIC", "meal_code": null, "seat_available": 1 }, "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": 333.06, "gross_total": 333.06, "base_fare": 233, "tax": 100.06, "sell": { "currency": "EUR", "total": 333.06, "base_fare": 233, "tax": 100.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzMzLjA2LCJiYXNlX2ZhcmUiOjIzMywidGF4IjoxMDAuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMzMuMDYsImJhc2VfZmFyZSI6MjMzLCJ0YXgiOjEwMC4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMzMuMDYsImJhc2VfZmFyZSI6MjMzLCJ0YXgiOjEwMC4wNn19", "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": 333.06, "base_fare": 233, "tax": 100.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "233.00", "tax": "100.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 333.06, "base_fare": 233, "tax": 100.06, "gross": { "base_fare": "233.00", "tax": "100.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMzMy4wNiIsImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMzMy4wNiIsImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMzMy4wNiIsImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozMzMuMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 333.06, "filter": { "id": "F1MS00008-18", "price": 333.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Eco Classic", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T12:55:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-07-31T17:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311255cmn202607311505955cmn202607311635rak202607311740413", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-19", "journey_type": "OneWay", "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": "PT17H25M", "transit_time": "PT17H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p29", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T15:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "booking_class": { "cabin_class": "Eco Classic", "cabin_code": "ECLASSIC", "booking_code": "ECLASSIC", "meal_code": null, "seat_available": 1 }, "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": "CMN", "departure_time": "2026-08-01T08:30:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T09:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT0H50M", "distance": 124, "lay_over": "PT17H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "booking_class": { "cabin_class": "Eco Classic", "cabin_code": "ECLASSIC", "booking_code": "ECLASSIC", "meal_code": null, "seat_available": 1 }, "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": 333.06, "gross_total": 333.06, "base_fare": 233, "tax": 100.06, "sell": { "currency": "EUR", "total": 333.06, "base_fare": 233, "tax": 100.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzMzLjA2LCJiYXNlX2ZhcmUiOjIzMywidGF4IjoxMDAuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMzMuMDYsImJhc2VfZmFyZSI6MjMzLCJ0YXgiOjEwMC4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMzMuMDYsImJhc2VfZmFyZSI6MjMzLCJ0YXgiOjEwMC4wNn19", "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": 333.06, "base_fare": 233, "tax": 100.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "233.00", "tax": "100.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 333.06, "base_fare": 233, "tax": 100.06, "gross": { "base_fare": "233.00", "tax": "100.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMzMy4wNiIsImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMzMy4wNiIsImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMzMy4wNiIsImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozMzMuMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 333.06, "filter": { "id": "F1MS00008-19", "price": 333.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Eco Classic", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T12:55:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T09:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311255cmn202607311505955cmn202608010830rak202608010920409", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-20", "journey_type": "OneWay", "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": "PT4H25M", "transit_time": "PT4H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o6", "productId": "p36", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T23:50:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "BCN", "arrival_time": "2026-08-01T01:35:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT1H45M", "distance": 465, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6337" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6337" }, "booking_class": { "cabin_class": "Optima", "cabin_code": "OPT", "booking_code": "OPT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": "BCN", "departure_time": "2026-08-01T06:00:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T07:35:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H35M", "distance": 873, "lay_over": "PT04H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "booking_class": { "cabin_class": "Optima", "cabin_code": "OPT", "booking_code": "OPT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": 334.9, "gross_total": 334.9, "base_fare": 285, "tax": 49.9, "sell": { "currency": "EUR", "total": 334.9, "base_fare": 285, "tax": 49.9 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzM0LjksImJhc2VfZmFyZSI6Mjg1LCJ0YXgiOjQ5Ljl9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMzQuOSwiYmFzZV9mYXJlIjoyODUsInRheCI6NDkuOSwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMzQuOSwiYmFzZV9mYXJlIjoyODUsInRheCI6NDkuOX19", "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": 334.9, "base_fare": 285, "tax": 49.9, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "285.00", "tax": "49.90", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 334.9, "base_fare": 285, "tax": 49.9, "gross": { "base_fare": "285.00", "tax": "49.90", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMzNC45MCIsImJhc2VfZmFyZSI6IjI4NS4wMCIsInRheCI6IjQ5LjkwIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjg1LjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIzMzQuOTAiLCJiYXNlX2ZhcmUiOiIyODUuMDAiLCJ0YXgiOiI0OS45MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjI4NS4wMCIsInRheCI6IjQ5LjkwIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMzM0LjkwIiwiYmFzZV9mYXJlIjoiMjg1LjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6MzM0LjksInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 334.9, "filter": { "id": "F1MS00008-20", "price": 334.9, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "VY", "carrier_marketing": "VY", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Optima", "connecting_airport": [ "BCN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "night", "departure_departure_time": "2026-07-31T23:50:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T07:35:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607312350bcn2026080101356337bcn202608010600rak2026080107357332", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-21", "journey_type": "OneWay", "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": "PT4H0M", "transit_time": "PT4H0M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p38", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T09:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "BCN", "arrival_time": "2026-07-31T11:40:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT1H45M", "distance": 465, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6331" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6331" }, "booking_class": { "cabin_class": "Optima", "cabin_code": "OPT", "booking_code": "OPT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": "BCN", "departure_time": "2026-07-31T15:40:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-07-31T17:15:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT1H35M", "distance": 873, "lay_over": "PT04H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7334" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7334" }, "booking_class": { "cabin_class": "Optima", "cabin_code": "OPT", "booking_code": "OPT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": 342.9, "gross_total": 342.9, "base_fare": 293, "tax": 49.9, "sell": { "currency": "EUR", "total": 342.9, "base_fare": 293, "tax": 49.9 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzQyLjksImJhc2VfZmFyZSI6MjkzLCJ0YXgiOjQ5Ljl9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozNDIuOSwiYmFzZV9mYXJlIjoyOTMsInRheCI6NDkuOSwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozNDIuOSwiYmFzZV9mYXJlIjoyOTMsInRheCI6NDkuOX19", "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": 342.9, "base_fare": 293, "tax": 49.9, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "293.00", "tax": "49.90", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 342.9, "base_fare": 293, "tax": 49.9, "gross": { "base_fare": "293.00", "tax": "49.90", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM0Mi45MCIsImJhc2VfZmFyZSI6IjI5My4wMCIsInRheCI6IjQ5LjkwIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMjkzLjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIzNDIuOTAiLCJiYXNlX2ZhcmUiOiIyOTMuMDAiLCJ0YXgiOiI0OS45MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjI5My4wMCIsInRheCI6IjQ5LjkwIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMzQyLjkwIiwiYmFzZV9mYXJlIjoiMjkzLjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6MzQyLjksInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 342.9, "filter": { "id": "F1MS00008-21", "price": 342.9, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "VY", "carrier_marketing": "VY", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Optima", "connecting_airport": [ "BCN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T09:55:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-07-31T17:15:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310955bcn2026073111406331bcn202607311540rak2026073117157334", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-22", "journey_type": "OneWay", "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": "PT6H35M", "transit_time": "PT6H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p40", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T21:40:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "BCN", "arrival_time": "2026-07-31T23:25:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT1H45M", "distance": 465, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6345" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6345" }, "booking_class": { "cabin_class": "Optima", "cabin_code": "OPT", "booking_code": "OPT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": "BCN", "departure_time": "2026-08-01T06:00:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T07:35:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H35M", "distance": 873, "lay_over": "PT06H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "booking_class": { "cabin_class": "Optima", "cabin_code": "OPT", "booking_code": "OPT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": 353.9, "gross_total": 353.9, "base_fare": 304, "tax": 49.9, "sell": { "currency": "EUR", "total": 353.9, "base_fare": 304, "tax": 49.9 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzUzLjksImJhc2VfZmFyZSI6MzA0LCJ0YXgiOjQ5Ljl9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozNTMuOSwiYmFzZV9mYXJlIjozMDQsInRheCI6NDkuOSwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozNTMuOSwiYmFzZV9mYXJlIjozMDQsInRheCI6NDkuOX19", "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": 353.9, "base_fare": 304, "tax": 49.9, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "304.00", "tax": "49.90", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 353.9, "base_fare": 304, "tax": 49.9, "gross": { "base_fare": "304.00", "tax": "49.90", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1My45MCIsImJhc2VfZmFyZSI6IjMwNC4wMCIsInRheCI6IjQ5LjkwIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzA0LjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIzNTMuOTAiLCJiYXNlX2ZhcmUiOiIzMDQuMDAiLCJ0YXgiOiI0OS45MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjMwNC4wMCIsInRheCI6IjQ5LjkwIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMzUzLjkwIiwiYmFzZV9mYXJlIjoiMzA0LjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6MzUzLjksInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 353.9, "filter": { "id": "F1MS00008-22", "price": 353.9, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "VY", "carrier_marketing": "VY", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Optima", "connecting_airport": [ "BCN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "night", "departure_departure_time": "2026-07-31T21:40:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T07:35:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607312140bcn2026073123256345bcn202608010600rak2026080107357332", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-23", "journey_type": "OneWay", "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": "PT9H55M", "transit_time": "PT9H55M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p41", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T18:20:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "BCN", "arrival_time": "2026-07-31T20:05:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT1H45M", "distance": 465, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6335" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6335" }, "booking_class": { "cabin_class": "Optima", "cabin_code": "OPT", "booking_code": "OPT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": "BCN", "departure_time": "2026-08-01T06:00:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T07:35:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H35M", "distance": 873, "lay_over": "PT09H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "booking_class": { "cabin_class": "Optima", "cabin_code": "OPT", "booking_code": "OPT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": 353.9, "gross_total": 353.9, "base_fare": 304, "tax": 49.9, "sell": { "currency": "EUR", "total": 353.9, "base_fare": 304, "tax": 49.9 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzUzLjksImJhc2VfZmFyZSI6MzA0LCJ0YXgiOjQ5Ljl9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozNTMuOSwiYmFzZV9mYXJlIjozMDQsInRheCI6NDkuOSwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozNTMuOSwiYmFzZV9mYXJlIjozMDQsInRheCI6NDkuOX19", "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": 353.9, "base_fare": 304, "tax": 49.9, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "304.00", "tax": "49.90", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 353.9, "base_fare": 304, "tax": 49.9, "gross": { "base_fare": "304.00", "tax": "49.90", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1My45MCIsImJhc2VfZmFyZSI6IjMwNC4wMCIsInRheCI6IjQ5LjkwIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzA0LjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIzNTMuOTAiLCJiYXNlX2ZhcmUiOiIzMDQuMDAiLCJ0YXgiOiI0OS45MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjMwNC4wMCIsInRheCI6IjQ5LjkwIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMzUzLjkwIiwiYmFzZV9mYXJlIjoiMzA0LjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6MzUzLjksInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 353.9, "filter": { "id": "F1MS00008-23", "price": 353.9, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "VY", "carrier_marketing": "VY", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Optima", "connecting_airport": [ "BCN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T18:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T07:35:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311820bcn2026073120056335bcn202608010600rak2026080107357332", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-24", "journey_type": "OneWay", "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": "PT19H25M", "transit_time": "PT19H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o9", "productId": "p44", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:50:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T13:50:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "823" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "823" }, "booking_class": { "cabin_class": "Classic", "cabin_code": "CLASSIC", "booking_code": "CLASSIC", "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": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "LIS", "departure_time": "2026-08-01T09:15:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T10:55:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT19H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "319", "name": "Airbus A319", "picture": "319.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "booking_class": { "cabin_class": "Classic", "cabin_code": "CLASSIC", "booking_code": "CLASSIC", "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": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 357.6, "gross_total": 357.6, "base_fare": 233, "tax": 124.6, "sell": { "currency": "EUR", "total": 357.6, "base_fare": 233, "tax": 124.6 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzU3LjYsImJhc2VfZmFyZSI6MjMzLCJ0YXgiOjEyNC42fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzU3LjYsImJhc2VfZmFyZSI6MjMzLCJ0YXgiOjEyNC42LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjM1Ny42LCJiYXNlX2ZhcmUiOjIzMywidGF4IjoxMjQuNn19", "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": 357.6, "base_fare": 233, "tax": 124.6, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "233.00", "tax": "124.60", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 357.6, "base_fare": 233, "tax": 124.6, "gross": { "base_fare": "233.00", "tax": "124.60", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1Ny42MCIsImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEyNC42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1Ny42MCIsImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEyNC42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM1Ny42MCIsImJhc2VfZmFyZSI6IjIzMy4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozNTcuNiwidGF4QnJlYWtkb3duIjp7IkJEIjp7ImFtb3VudCI6IjAuMDAifSwiVVQiOnsiYW1vdW50IjoiMC4wMCJ9LCJFNSI6eyJhbW91bnQiOiIwLjAwIn0sIllRIjp7ImFtb3VudCI6IjAuMDAifSwiWVIiOnsiYW1vdW50IjoiMC4wMCJ9LCJPdGhlciI6eyJhbW91bnQiOiIwLjAwIn0sInN1cHBsaWVyVGF4RGF0YSI6W119fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 357.6, "filter": { "id": "F1MS00008-24", "price": 357.6, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Classic", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:50:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T10:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311150lis202607311350823lis202608010915rak2026080110551452", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-25", "journey_type": "OneWay", "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": "PT11H30M", "transit_time": "PT11H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o10", "productId": "p47", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T16:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "BCN", "arrival_time": "2026-07-31T18:30:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT1H45M", "distance": 465, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "Airbus A321", "picture": "321.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6333" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6333" }, "booking_class": { "cabin_class": "Optima", "cabin_code": "OPT", "booking_code": "OPT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": "BCN", "departure_time": "2026-08-01T06:00:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T07:35:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H35M", "distance": 873, "lay_over": "PT11H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "booking_class": { "cabin_class": "Optima", "cabin_code": "OPT", "booking_code": "OPT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": 369.9, "gross_total": 369.9, "base_fare": 320, "tax": 49.9, "sell": { "currency": "EUR", "total": 369.9, "base_fare": 320, "tax": 49.9 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzY5LjksImJhc2VfZmFyZSI6MzIwLCJ0YXgiOjQ5Ljl9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozNjkuOSwiYmFzZV9mYXJlIjozMjAsInRheCI6NDkuOSwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozNjkuOSwiYmFzZV9mYXJlIjozMjAsInRheCI6NDkuOX19", "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": 369.9, "base_fare": 320, "tax": 49.9, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "320.00", "tax": "49.90", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 369.9, "base_fare": 320, "tax": 49.9, "gross": { "base_fare": "320.00", "tax": "49.90", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM2OS45MCIsImJhc2VfZmFyZSI6IjMyMC4wMCIsInRheCI6IjQ5LjkwIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzIwLjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIzNjkuOTAiLCJiYXNlX2ZhcmUiOiIzMjAuMDAiLCJ0YXgiOiI0OS45MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjMyMC4wMCIsInRheCI6IjQ5LjkwIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMzY5LjkwIiwiYmFzZV9mYXJlIjoiMzIwLjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6MzY5LjksInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 369.9, "filter": { "id": "F1MS00008-25", "price": 369.9, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "VY", "carrier_marketing": "VY", "aircraft": "321", "aircraft_name": "Airbus A321", "cabin_class": "Optima", "connecting_airport": [ "BCN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T16:45:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T07:35:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311645bcn2026073118306333bcn202608010600rak2026080107357332", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-26", "journey_type": "OneWay", "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": "PT22H30M", "transit_time": "PT22H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o11", "productId": "p49", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T10:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "MAD", "arrival_time": "2026-07-31T12:50:00", "destination_terminal": "4", "destination_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 736, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "672" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "672" }, "booking_class": { "cabin_class": "Business Optima", "cabin_code": "BUSOPTIMA", "booking_code": "BUSOPTIMA", "meal_code": null, "seat_available": 3 }, "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": "MAD", "departure_time": "2026-08-01T11:20:00", "origin_terminal": "4S", "origin_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T12:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H0M", "distance": 661, "lay_over": "PT22H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "booking_class": { "cabin_class": "Business Optima", "cabin_code": "BUSOPTIMA", "booking_code": "BUSOPTIMA", "meal_code": null, "seat_available": 3 }, "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": 377.81, "gross_total": 377.81, "base_fare": 330, "tax": 47.81, "sell": { "currency": "EUR", "total": 377.81, "base_fare": 330, "tax": 47.81 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Mzc3LjgxLCJiYXNlX2ZhcmUiOjMzMCwidGF4Ijo0Ny44MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjM3Ny44MSwiYmFzZV9mYXJlIjozMzAsInRheCI6NDcuODEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Mzc3LjgxLCJiYXNlX2ZhcmUiOjMzMCwidGF4Ijo0Ny44MX19", "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": 377.81, "base_fare": 330, "tax": 47.81, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "330.00", "tax": "47.81", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 377.81, "base_fare": 330, "tax": 47.81, "gross": { "base_fare": "330.00", "tax": "47.81", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM3Ny44MSIsImJhc2VfZmFyZSI6IjMzMC4wMCIsInRheCI6IjQ3LjgxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzMwLjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIzNzcuODEiLCJiYXNlX2ZhcmUiOiIzMzAuMDAiLCJ0YXgiOiI0Ny44MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjMzMC4wMCIsInRheCI6IjQ3LjgxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMzc3LjgxIiwiYmFzZV9mYXJlIjoiMzMwLjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6Mzc3LjgxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 377.81, "filter": { "id": "F1MS00008-26", "price": 377.81, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "IB", "carrier_marketing": "IB", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Business Optima", "connecting_airport": [ "MAD" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T10:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T12:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311025mad202607311250672mad202608011120rak2026080112201851", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-27", "journey_type": "OneWay", "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": "PT10H25M", "transit_time": "PT10H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p20", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T22:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "booking_class": { "cabin_class": "Eco Flex Premium", "cabin_code": "EFLEX", "booking_code": "EFLEX", "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": "CMN", "departure_time": "2026-08-01T08:30:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T09:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT0H50M", "distance": 124, "lay_over": "PT10H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "booking_class": { "cabin_class": "Eco Flex Premium", "cabin_code": "EFLEX", "booking_code": "EFLEX", "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": 379.06, "gross_total": 379.06, "base_fare": 279, "tax": 100.06, "sell": { "currency": "EUR", "total": 379.06, "base_fare": 279, "tax": 100.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Mzc5LjA2LCJiYXNlX2ZhcmUiOjI3OSwidGF4IjoxMDAuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozNzkuMDYsImJhc2VfZmFyZSI6Mjc5LCJ0YXgiOjEwMC4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozNzkuMDYsImJhc2VfZmFyZSI6Mjc5LCJ0YXgiOjEwMC4wNn19", "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": 379.06, "base_fare": 279, "tax": 100.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "279.00", "tax": "100.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 379.06, "base_fare": 279, "tax": 100.06, "gross": { "base_fare": "279.00", "tax": "100.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM3OS4wNiIsImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM3OS4wNiIsImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM3OS4wNiIsImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozNzkuMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 379.06, "filter": { "id": "F1MS00008-27", "price": 379.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Eco Flex Premium", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:55:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T09:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311955cmn202607312205951cmn202608010830rak202608010920409", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-28", "journey_type": "OneWay", "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": "PT13H55M", "transit_time": "PT13H55M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p21", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T22:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "booking_class": { "cabin_class": "Eco Flex Premium", "cabin_code": "EFLEX", "booking_code": "EFLEX", "meal_code": null, "seat_available": 1 }, "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": "CMN", "departure_time": "2026-08-01T12:00:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T13:05:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H5M", "distance": 124, "lay_over": "PT13H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "AT7", "name": "Alenia ATR 72", "picture": "AT7.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "411" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "411" }, "booking_class": { "cabin_class": "Eco Flex Premium", "cabin_code": "EFLEX", "booking_code": "EFLEX", "meal_code": null, "seat_available": 1 }, "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": 379.06, "gross_total": 379.06, "base_fare": 279, "tax": 100.06, "sell": { "currency": "EUR", "total": 379.06, "base_fare": 279, "tax": 100.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Mzc5LjA2LCJiYXNlX2ZhcmUiOjI3OSwidGF4IjoxMDAuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozNzkuMDYsImJhc2VfZmFyZSI6Mjc5LCJ0YXgiOjEwMC4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozNzkuMDYsImJhc2VfZmFyZSI6Mjc5LCJ0YXgiOjEwMC4wNn19", "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": 379.06, "base_fare": 279, "tax": 100.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "279.00", "tax": "100.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 379.06, "base_fare": 279, "tax": 100.06, "gross": { "base_fare": "279.00", "tax": "100.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM3OS4wNiIsImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM3OS4wNiIsImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM3OS4wNiIsImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozNzkuMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 379.06, "filter": { "id": "F1MS00008-28", "price": 379.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Eco Flex Premium", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:55:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T13:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311955cmn202607312205951cmn202608011200rak202608011305411", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-29", "journey_type": "OneWay", "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": "PT19H25M", "transit_time": "PT19H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o9", "productId": "p45", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:50:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T13:50:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "823" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "823" }, "booking_class": { "cabin_class": "Plus", "cabin_code": "PLUS", "booking_code": "PLUS", "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": 1, "weight": null, "unit": null, "title": "1 pieces" } } } }, { "air_segment_key": null, "origin": "LIS", "departure_time": "2026-08-01T09:15:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T10:55:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT19H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "319", "name": "Airbus A319", "picture": "319.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "booking_class": { "cabin_class": "Plus", "cabin_code": "PLUS", "booking_code": "PLUS", "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": 1, "weight": null, "unit": null, "title": "1 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 387.6, "gross_total": 387.6, "base_fare": 263, "tax": 124.6, "sell": { "currency": "EUR", "total": 387.6, "base_fare": 263, "tax": 124.6 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Mzg3LjYsImJhc2VfZmFyZSI6MjYzLCJ0YXgiOjEyNC42fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Mzg3LjYsImJhc2VfZmFyZSI6MjYzLCJ0YXgiOjEyNC42LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjM4Ny42LCJiYXNlX2ZhcmUiOjI2MywidGF4IjoxMjQuNn19", "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": 387.6, "base_fare": 263, "tax": 124.6, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "263.00", "tax": "124.60", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 387.6, "base_fare": 263, "tax": 124.6, "gross": { "base_fare": "263.00", "tax": "124.60", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM4Ny42MCIsImJhc2VfZmFyZSI6IjI2My4wMCIsInRheCI6IjEyNC42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjI2My4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM4Ny42MCIsImJhc2VfZmFyZSI6IjI2My4wMCIsInRheCI6IjEyNC42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjI2My4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjM4Ny42MCIsImJhc2VfZmFyZSI6IjI2My4wMCIsInRheCI6IjEyNC42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozODcuNiwidGF4QnJlYWtkb3duIjp7IkJEIjp7ImFtb3VudCI6IjAuMDAifSwiVVQiOnsiYW1vdW50IjoiMC4wMCJ9LCJFNSI6eyJhbW91bnQiOiIwLjAwIn0sIllRIjp7ImFtb3VudCI6IjAuMDAifSwiWVIiOnsiYW1vdW50IjoiMC4wMCJ9LCJPdGhlciI6eyJhbW91bnQiOiIwLjAwIn0sInN1cHBsaWVyVGF4RGF0YSI6W119fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 387.6, "filter": { "id": "F1MS00008-29", "price": 387.6, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Plus", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:50:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T10:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311150lis202607311350823lis202608010915rak2026080110551452", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-30", "journey_type": "OneWay", "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": "PT1H30M", "transit_time": "PT1H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p30", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T15:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "booking_class": { "cabin_class": "Eco Flex Premium", "cabin_code": "EFLEX", "booking_code": "EFLEX", "meal_code": null, "seat_available": 1 }, "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": "CMN", "departure_time": "2026-07-31T16:35:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-07-31T17:40:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT1H5M", "distance": 124, "lay_over": "PT01H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "AT7", "name": "Alenia ATR 72", "picture": "AT7.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "413" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "413" }, "booking_class": { "cabin_class": "Eco Flex Premium", "cabin_code": "EFLEX", "booking_code": "EFLEX", "meal_code": null, "seat_available": 1 }, "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": 408.06, "gross_total": 408.06, "base_fare": 308, "tax": 100.06, "sell": { "currency": "EUR", "total": 408.06, "base_fare": 308, "tax": 100.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDA4LjA2LCJiYXNlX2ZhcmUiOjMwOCwidGF4IjoxMDAuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0MDguMDYsImJhc2VfZmFyZSI6MzA4LCJ0YXgiOjEwMC4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0MDguMDYsImJhc2VfZmFyZSI6MzA4LCJ0YXgiOjEwMC4wNn19", "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": 408.06, "base_fare": 308, "tax": 100.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "308.00", "tax": "100.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 408.06, "base_fare": 308, "tax": 100.06, "gross": { "base_fare": "308.00", "tax": "100.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQwOC4wNiIsImJhc2VfZmFyZSI6IjMwOC4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjMwOC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQwOC4wNiIsImJhc2VfZmFyZSI6IjMwOC4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjMwOC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQwOC4wNiIsImJhc2VfZmFyZSI6IjMwOC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0MDguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 408.06, "filter": { "id": "F1MS00008-30", "price": 408.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Eco Flex Premium", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T12:55:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-07-31T17:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311255cmn202607311505955cmn202607311635rak202607311740413", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-31", "journey_type": "OneWay", "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": "PT17H25M", "transit_time": "PT17H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p31", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T15:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "booking_class": { "cabin_class": "Eco Flex Premium", "cabin_code": "EFLEX", "booking_code": "EFLEX", "meal_code": null, "seat_available": 1 }, "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": "CMN", "departure_time": "2026-08-01T08:30:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T09:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT0H50M", "distance": 124, "lay_over": "PT17H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "booking_class": { "cabin_class": "Eco Flex Premium", "cabin_code": "EFLEX", "booking_code": "EFLEX", "meal_code": null, "seat_available": 1 }, "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": 408.06, "gross_total": 408.06, "base_fare": 308, "tax": 100.06, "sell": { "currency": "EUR", "total": 408.06, "base_fare": 308, "tax": 100.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDA4LjA2LCJiYXNlX2ZhcmUiOjMwOCwidGF4IjoxMDAuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0MDguMDYsImJhc2VfZmFyZSI6MzA4LCJ0YXgiOjEwMC4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0MDguMDYsImJhc2VfZmFyZSI6MzA4LCJ0YXgiOjEwMC4wNn19", "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": 408.06, "base_fare": 308, "tax": 100.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "308.00", "tax": "100.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 408.06, "base_fare": 308, "tax": 100.06, "gross": { "base_fare": "308.00", "tax": "100.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQwOC4wNiIsImJhc2VfZmFyZSI6IjMwOC4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjMwOC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQwOC4wNiIsImJhc2VfZmFyZSI6IjMwOC4wMCIsInRheCI6IjEwMC4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjMwOC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQwOC4wNiIsImJhc2VfZmFyZSI6IjMwOC4wMCIsInRheCI6IjEwMC4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0MDguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 408.06, "filter": { "id": "F1MS00008-31", "price": 408.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Eco Flex Premium", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T12:55:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T09:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311255cmn202607311505955cmn202608010830rak202608010920409", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-32", "journey_type": "OneWay", "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": "PT22H30M", "transit_time": "PT22H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o11", "productId": "p50", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T10:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "MAD", "arrival_time": "2026-07-31T12:50:00", "destination_terminal": "4", "destination_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 736, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "672" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "672" }, "booking_class": { "cabin_class": "Business Comfort", "cabin_code": "BUSCOMFORT", "booking_code": "BUSCOMFORT", "meal_code": null, "seat_available": 3 }, "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": "MAD", "departure_time": "2026-08-01T11:20:00", "origin_terminal": "4S", "origin_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T12:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H0M", "distance": 661, "lay_over": "PT22H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "booking_class": { "cabin_class": "Business Comfort", "cabin_code": "BUSCOMFORT", "booking_code": "BUSCOMFORT", "meal_code": null, "seat_available": 3 }, "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": 421.81, "gross_total": 421.81, "base_fare": 374, "tax": 47.81, "sell": { "currency": "EUR", "total": 421.81, "base_fare": 374, "tax": 47.81 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDIxLjgxLCJiYXNlX2ZhcmUiOjM3NCwidGF4Ijo0Ny44MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQyMS44MSwiYmFzZV9mYXJlIjozNzQsInRheCI6NDcuODEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDIxLjgxLCJiYXNlX2ZhcmUiOjM3NCwidGF4Ijo0Ny44MX19", "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": 421.81, "base_fare": 374, "tax": 47.81, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "374.00", "tax": "47.81", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 421.81, "base_fare": 374, "tax": 47.81, "gross": { "base_fare": "374.00", "tax": "47.81", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQyMS44MSIsImJhc2VfZmFyZSI6IjM3NC4wMCIsInRheCI6IjQ3LjgxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMzc0LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI0MjEuODEiLCJiYXNlX2ZhcmUiOiIzNzQuMDAiLCJ0YXgiOiI0Ny44MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM3NC4wMCIsInRheCI6IjQ3LjgxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNDIxLjgxIiwiYmFzZV9mYXJlIjoiMzc0LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NDIxLjgxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 421.81, "filter": { "id": "F1MS00008-32", "price": 421.81, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "IB", "carrier_marketing": "IB", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Business Comfort", "connecting_airport": [ "MAD" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T10:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T12:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311025mad202607311250672mad202608011120rak2026080112201851", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-33", "journey_type": "OneWay", "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": "PT7H0M", "transit_time": "PT7H0M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o12", "productId": "p53", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T05:50:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T07:50:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "829" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "829" }, "booking_class": { "cabin_class": "Plus", "cabin_code": "PLUS", "booking_code": "PLUS", "meal_code": null, "seat_available": 1 }, "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": "LIS", "departure_time": "2026-07-31T14:50:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-07-31T16:30:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT07H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "E90", "name": "EMBRAER 190", "picture": "E90.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1454" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1454" }, "booking_class": { "cabin_class": "Plus", "cabin_code": "PLUS", "booking_code": "PLUS", "meal_code": null, "seat_available": 1 }, "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": 439.38, "gross_total": 439.38, "base_fare": 309, "tax": 130.38, "sell": { "currency": "EUR", "total": 439.38, "base_fare": 309, "tax": 130.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDM5LjM4LCJiYXNlX2ZhcmUiOjMwOSwidGF4IjoxMzAuMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0MzkuMzgsImJhc2VfZmFyZSI6MzA5LCJ0YXgiOjEzMC4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0MzkuMzgsImJhc2VfZmFyZSI6MzA5LCJ0YXgiOjEzMC4zOH19", "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": 439.38, "base_fare": 309, "tax": 130.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "309.00", "tax": "130.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 439.38, "base_fare": 309, "tax": 130.38, "gross": { "base_fare": "309.00", "tax": "130.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzOS4zOCIsImJhc2VfZmFyZSI6IjMwOS4wMCIsInRheCI6IjEzMC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjMwOS4wMCIsInRheCI6IjEzMC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzOS4zOCIsImJhc2VfZmFyZSI6IjMwOS4wMCIsInRheCI6IjEzMC4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjMwOS4wMCIsInRheCI6IjEzMC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQzOS4zOCIsImJhc2VfZmFyZSI6IjMwOS4wMCIsInRheCI6IjEzMC4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0MzkuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 439.38, "filter": { "id": "F1MS00008-33", "price": 439.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Plus", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T05:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-07-31T16:30:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310550lis202607310750829lis202607311450rak2026073116301454", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-34", "journey_type": "OneWay", "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": "PT13H50M", "transit_time": "PT13H50M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o13", "productId": "p55", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:05:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "MAD", "arrival_time": "2026-07-31T21:30:00", "destination_terminal": "4", "destination_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 736, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "676" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "676" }, "booking_class": { "cabin_class": "Business Optima", "cabin_code": "BUSOPTIMA", "booking_code": "BUSOPTIMA", "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": "MAD", "departure_time": "2026-08-01T11:20:00", "origin_terminal": "4S", "origin_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T12:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H0M", "distance": 661, "lay_over": "PT13H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "booking_class": { "cabin_class": "Business Optima", "cabin_code": "BUSOPTIMA", "booking_code": "BUSOPTIMA", "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" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 462.81, "gross_total": 462.81, "base_fare": 415, "tax": 47.81, "sell": { "currency": "EUR", "total": 462.81, "base_fare": 415, "tax": 47.81 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDYyLjgxLCJiYXNlX2ZhcmUiOjQxNSwidGF4Ijo0Ny44MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQ2Mi44MSwiYmFzZV9mYXJlIjo0MTUsInRheCI6NDcuODEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDYyLjgxLCJiYXNlX2ZhcmUiOjQxNSwidGF4Ijo0Ny44MX19", "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": 462.81, "base_fare": 415, "tax": 47.81, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "415.00", "tax": "47.81", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 462.81, "base_fare": 415, "tax": 47.81, "gross": { "base_fare": "415.00", "tax": "47.81", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ2Mi44MSIsImJhc2VfZmFyZSI6IjQxNS4wMCIsInRheCI6IjQ3LjgxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNDE1LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI0NjIuODEiLCJiYXNlX2ZhcmUiOiI0MTUuMDAiLCJ0YXgiOiI0Ny44MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQxNS4wMCIsInRheCI6IjQ3LjgxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNDYyLjgxIiwiYmFzZV9mYXJlIjoiNDE1LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NDYyLjgxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 462.81, "filter": { "id": "F1MS00008-34", "price": 462.81, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "IB", "carrier_marketing": "IB", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Business Optima", "connecting_airport": [ "MAD" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:05:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T12:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311905mad202607312130676mad202608011120rak2026080112201851", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-35", "journey_type": "OneWay", "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": "PT18H30M", "transit_time": "PT18H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o13", "productId": "p56", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T14:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "MAD", "arrival_time": "2026-07-31T16:50:00", "destination_terminal": "4S", "destination_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 736, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "674" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "674" }, "booking_class": { "cabin_class": "Business Optima", "cabin_code": "BUSOPTIMA", "booking_code": "BUSOPTIMA", "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": "MAD", "departure_time": "2026-08-01T11:20:00", "origin_terminal": "4S", "origin_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T12:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H0M", "distance": 661, "lay_over": "PT18H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "booking_class": { "cabin_class": "Business Optima", "cabin_code": "BUSOPTIMA", "booking_code": "BUSOPTIMA", "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" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 462.81, "gross_total": 462.81, "base_fare": 415, "tax": 47.81, "sell": { "currency": "EUR", "total": 462.81, "base_fare": 415, "tax": 47.81 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDYyLjgxLCJiYXNlX2ZhcmUiOjQxNSwidGF4Ijo0Ny44MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQ2Mi44MSwiYmFzZV9mYXJlIjo0MTUsInRheCI6NDcuODEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDYyLjgxLCJiYXNlX2ZhcmUiOjQxNSwidGF4Ijo0Ny44MX19", "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": 462.81, "base_fare": 415, "tax": 47.81, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "415.00", "tax": "47.81", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 462.81, "base_fare": 415, "tax": 47.81, "gross": { "base_fare": "415.00", "tax": "47.81", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ2Mi44MSIsImJhc2VfZmFyZSI6IjQxNS4wMCIsInRheCI6IjQ3LjgxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNDE1LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI0NjIuODEiLCJiYXNlX2ZhcmUiOiI0MTUuMDAiLCJ0YXgiOiI0Ny44MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQxNS4wMCIsInRheCI6IjQ3LjgxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNDYyLjgxIiwiYmFzZV9mYXJlIjoiNDE1LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NDYyLjgxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 462.81, "filter": { "id": "F1MS00008-35", "price": 462.81, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "IB", "carrier_marketing": "IB", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Business Optima", "connecting_airport": [ "MAD" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T14:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T12:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311425mad202607311650674mad202608011120rak2026080112201851", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-36", "journey_type": "OneWay", "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": "PT1H35M", "transit_time": "PT1H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o14", "productId": "p63", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:50:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "IST", "arrival_time": "2026-07-31T10:50:00", "destination_terminal": null, "destination_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-31", "flight_time": "PT4H0M", "distance": 1036, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1878" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1878" }, "booking_class": { "cabin_class": "Flexible", "cabin_code": "FX", "booking_code": "FX", "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": "IST", "departure_time": "2026-07-31T12:25:00", "origin_terminal": null, "origin_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "RAK", "arrival_time": "2026-07-31T15:40:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT3H15M", "distance": 2141, "lay_over": "PT01H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "Boeing 737Max", "picture": "7M8.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "booking_class": { "cabin_class": "Flexible", "cabin_code": "FX", "booking_code": "FX", "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": 477.86, "gross_total": 477.86, "base_fare": 292, "tax": 185.86, "sell": { "currency": "EUR", "total": 477.86, "base_fare": 292, "tax": 185.86 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDc3Ljg2LCJiYXNlX2ZhcmUiOjI5MiwidGF4IjoxODUuODZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzcuODYsImJhc2VfZmFyZSI6MjkyLCJ0YXgiOjE4NS44NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzcuODYsImJhc2VfZmFyZSI6MjkyLCJ0YXgiOjE4NS44Nn19", "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": 477.86, "base_fare": 292, "tax": 185.86, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "292.00", "tax": "185.86", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 477.86, "base_fare": 292, "tax": 185.86, "gross": { "base_fare": "292.00", "tax": "185.86", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3Ny44NiIsImJhc2VfZmFyZSI6IjI5Mi4wMCIsInRheCI6IjE4NS44NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjI5Mi4wMCIsInRheCI6IjE4NS44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3Ny44NiIsImJhc2VfZmFyZSI6IjI5Mi4wMCIsInRheCI6IjE4NS44NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjI5Mi4wMCIsInRheCI6IjE4NS44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3Ny44NiIsImJhc2VfZmFyZSI6IjI5Mi4wMCIsInRheCI6IjE4NS44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0NzcuODYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 477.86, "filter": { "id": "F1MS00008-36", "price": 477.86, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TK", "carrier_marketing": "TK", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Flexible", "connecting_airport": [ "IST" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:50:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-31T15:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310650ist2026073110501878ist202607311225rak202607311540619", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-37", "journey_type": "OneWay", "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": "PT22H30M", "transit_time": "PT22H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o11", "productId": "p51", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T10:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "MAD", "arrival_time": "2026-07-31T12:50:00", "destination_terminal": "4", "destination_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 736, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "672" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "672" }, "booking_class": { "cabin_class": "Business Flexible", "cabin_code": "BUSFLEX", "booking_code": "BUSFLEX", "meal_code": null, "seat_available": 3 }, "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": "MAD", "departure_time": "2026-08-01T11:20:00", "origin_terminal": "4S", "origin_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T12:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H0M", "distance": 661, "lay_over": "PT22H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "booking_class": { "cabin_class": "Business Flexible", "cabin_code": "BUSFLEX", "booking_code": "BUSFLEX", "meal_code": null, "seat_available": 3 }, "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": 487.81, "gross_total": 487.81, "base_fare": 440, "tax": 47.81, "sell": { "currency": "EUR", "total": 487.81, "base_fare": 440, "tax": 47.81 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDg3LjgxLCJiYXNlX2ZhcmUiOjQ0MCwidGF4Ijo0Ny44MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjQ4Ny44MSwiYmFzZV9mYXJlIjo0NDAsInRheCI6NDcuODEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDg3LjgxLCJiYXNlX2ZhcmUiOjQ0MCwidGF4Ijo0Ny44MX19", "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": 487.81, "base_fare": 440, "tax": 47.81, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "440.00", "tax": "47.81", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 487.81, "base_fare": 440, "tax": 47.81, "gross": { "base_fare": "440.00", "tax": "47.81", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4Ny44MSIsImJhc2VfZmFyZSI6IjQ0MC4wMCIsInRheCI6IjQ3LjgxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNDQwLjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI0ODcuODEiLCJiYXNlX2ZhcmUiOiI0NDAuMDAiLCJ0YXgiOiI0Ny44MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0MC4wMCIsInRheCI6IjQ3LjgxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNDg3LjgxIiwiYmFzZV9mYXJlIjoiNDQwLjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NDg3LjgxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 487.81, "filter": { "id": "F1MS00008-37", "price": 487.81, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "IB", "carrier_marketing": "IB", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Business Flexible", "connecting_airport": [ "MAD" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T10:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T12:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311025mad202607311250672mad202608011120rak2026080112201851", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-38", "journey_type": "OneWay", "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": "PT13H50M", "transit_time": "PT13H50M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o13", "productId": "p57", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:05:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "MAD", "arrival_time": "2026-07-31T21:30:00", "destination_terminal": "4", "destination_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 736, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "676" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "676" }, "booking_class": { "cabin_class": "Business Comfort", "cabin_code": "BUSCOMFORT", "booking_code": "BUSCOMFORT", "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": "MAD", "departure_time": "2026-08-01T11:20:00", "origin_terminal": "4S", "origin_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T12:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H0M", "distance": 661, "lay_over": "PT13H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "booking_class": { "cabin_class": "Business Comfort", "cabin_code": "BUSCOMFORT", "booking_code": "BUSCOMFORT", "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" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 506.81, "gross_total": 506.81, "base_fare": 459, "tax": 47.81, "sell": { "currency": "EUR", "total": 506.81, "base_fare": 459, "tax": 47.81 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTA2LjgxLCJiYXNlX2ZhcmUiOjQ1OSwidGF4Ijo0Ny44MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjUwNi44MSwiYmFzZV9mYXJlIjo0NTksInRheCI6NDcuODEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTA2LjgxLCJiYXNlX2ZhcmUiOjQ1OSwidGF4Ijo0Ny44MX19", "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": 506.81, "base_fare": 459, "tax": 47.81, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "459.00", "tax": "47.81", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 506.81, "base_fare": 459, "tax": 47.81, "gross": { "base_fare": "459.00", "tax": "47.81", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUwNi44MSIsImJhc2VfZmFyZSI6IjQ1OS4wMCIsInRheCI6IjQ3LjgxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNDU5LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI1MDYuODEiLCJiYXNlX2ZhcmUiOiI0NTkuMDAiLCJ0YXgiOiI0Ny44MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ1OS4wMCIsInRheCI6IjQ3LjgxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNTA2LjgxIiwiYmFzZV9mYXJlIjoiNDU5LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NTA2LjgxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 506.81, "filter": { "id": "F1MS00008-38", "price": 506.81, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "IB", "carrier_marketing": "IB", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Business Comfort", "connecting_airport": [ "MAD" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:05:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T12:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311905mad202607312130676mad202608011120rak2026080112201851", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-39", "journey_type": "OneWay", "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": "PT18H30M", "transit_time": "PT18H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o13", "productId": "p58", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T14:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "MAD", "arrival_time": "2026-07-31T16:50:00", "destination_terminal": "4S", "destination_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 736, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "674" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "674" }, "booking_class": { "cabin_class": "Business Comfort", "cabin_code": "BUSCOMFORT", "booking_code": "BUSCOMFORT", "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": "MAD", "departure_time": "2026-08-01T11:20:00", "origin_terminal": "4S", "origin_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T12:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H0M", "distance": 661, "lay_over": "PT18H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "booking_class": { "cabin_class": "Business Comfort", "cabin_code": "BUSCOMFORT", "booking_code": "BUSCOMFORT", "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" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 506.81, "gross_total": 506.81, "base_fare": 459, "tax": 47.81, "sell": { "currency": "EUR", "total": 506.81, "base_fare": 459, "tax": 47.81 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTA2LjgxLCJiYXNlX2ZhcmUiOjQ1OSwidGF4Ijo0Ny44MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjUwNi44MSwiYmFzZV9mYXJlIjo0NTksInRheCI6NDcuODEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTA2LjgxLCJiYXNlX2ZhcmUiOjQ1OSwidGF4Ijo0Ny44MX19", "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": 506.81, "base_fare": 459, "tax": 47.81, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "459.00", "tax": "47.81", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 506.81, "base_fare": 459, "tax": 47.81, "gross": { "base_fare": "459.00", "tax": "47.81", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUwNi44MSIsImJhc2VfZmFyZSI6IjQ1OS4wMCIsInRheCI6IjQ3LjgxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNDU5LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI1MDYuODEiLCJiYXNlX2ZhcmUiOiI0NTkuMDAiLCJ0YXgiOiI0Ny44MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ1OS4wMCIsInRheCI6IjQ3LjgxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNTA2LjgxIiwiYmFzZV9mYXJlIjoiNDU5LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NTA2LjgxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 506.81, "filter": { "id": "F1MS00008-39", "price": 506.81, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "IB", "carrier_marketing": "IB", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Business Comfort", "connecting_airport": [ "MAD" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T14:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T12:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311425mad202607311650674mad202608011120rak2026080112201851", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-40", "journey_type": "OneWay", "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": "PT11H15M", "transit_time": "PT11H15M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o1", "productId": "p3", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T20:00:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T22:00:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "booking_class": { "cabin_class": "Top Executive", "cabin_code": "TOPEXE", "booking_code": "TOPEXE", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "LIS", "departure_time": "2026-08-01T09:15:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T10:55:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT11H15M", "lay_over_date": "not-applicable", "aircraft": { "code": "319", "name": "Airbus A319", "picture": "319.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "booking_class": { "cabin_class": "Top Executive", "cabin_code": "TOPEXE", "booking_code": "TOPEXE", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 536.38, "gross_total": 536.38, "base_fare": 363, "tax": 173.38, "sell": { "currency": "EUR", "total": 536.38, "base_fare": 363, "tax": 173.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTM2LjM4LCJiYXNlX2ZhcmUiOjM2MywidGF4IjoxNzMuMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1MzYuMzgsImJhc2VfZmFyZSI6MzYzLCJ0YXgiOjE3My4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1MzYuMzgsImJhc2VfZmFyZSI6MzYzLCJ0YXgiOjE3My4zOH19", "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": 536.38, "base_fare": 363, "tax": 173.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "363.00", "tax": "173.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 536.38, "base_fare": 363, "tax": 173.38, "gross": { "base_fare": "363.00", "tax": "173.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUzNi4zOCIsImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3My4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3My4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUzNi4zOCIsImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3My4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3My4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUzNi4zOCIsImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3My4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1MzYuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 536.38, "filter": { "id": "F1MS00008-40", "price": 536.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Top Executive", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T20:00:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T10:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607312000lis202607312200827lis202608010915rak2026080110551452", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-41", "journey_type": "OneWay", "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": "PT16H5M", "transit_time": "PT16H5M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p10", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T20:00:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T22:00:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "827" }, "booking_class": { "cabin_class": "Top Executive", "cabin_code": "TOPEXE", "booking_code": "TOPEXE", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "LIS", "departure_time": "2026-08-01T14:05:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T15:45:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT16H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "E95", "name": "Embraer 195", "picture": "E95.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "booking_class": { "cabin_class": "Top Executive", "cabin_code": "TOPEXE", "booking_code": "TOPEXE", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 536.38, "gross_total": 536.38, "base_fare": 363, "tax": 173.38, "sell": { "currency": "EUR", "total": 536.38, "base_fare": 363, "tax": 173.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTM2LjM4LCJiYXNlX2ZhcmUiOjM2MywidGF4IjoxNzMuMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1MzYuMzgsImJhc2VfZmFyZSI6MzYzLCJ0YXgiOjE3My4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1MzYuMzgsImJhc2VfZmFyZSI6MzYzLCJ0YXgiOjE3My4zOH19", "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": 536.38, "base_fare": 363, "tax": 173.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "363.00", "tax": "173.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 536.38, "base_fare": 363, "tax": 173.38, "gross": { "base_fare": "363.00", "tax": "173.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUzNi4zOCIsImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3My4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3My4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUzNi4zOCIsImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3My4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3My4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUzNi4zOCIsImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3My4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1MzYuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 536.38, "filter": { "id": "F1MS00008-41", "price": 536.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Top Executive", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T20:00:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:45:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607312000lis202607312200827lis202608011405rak2026080115452300", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-42", "journey_type": "OneWay", "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": "PT4H5M", "transit_time": "PT4H5M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o15", "productId": "p66", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T08:25:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H40M", "distance": 392, "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": "1131" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1131" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHT", "booking_code": "LIGHT", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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-07-31T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT04H05M", "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": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHT", "booking_code": "LIGHT", "meal_code": null, "seat_available": 8 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 538.52, "gross_total": 538.52, "base_fare": 464, "tax": 74.52, "sell": { "currency": "EUR", "total": 538.52, "base_fare": 464, "tax": 74.52 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTM4LjUyLCJiYXNlX2ZhcmUiOjQ2NCwidGF4Ijo3NC41Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjUzOC41MiwiYmFzZV9mYXJlIjo0NjQsInRheCI6NzQuNTIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTM4LjUyLCJiYXNlX2ZhcmUiOjQ2NCwidGF4Ijo3NC41Mn19", "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": 538.52, "base_fare": 464, "tax": 74.52, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "464.00", "tax": "74.52", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 538.52, "base_fare": 464, "tax": 74.52, "gross": { "base_fare": "464.00", "tax": "74.52", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUzOC41MiIsImJhc2VfZmFyZSI6IjQ2NC4wMCIsInRheCI6Ijc0LjUyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNDY0LjAwIiwidGF4IjoiNzQuNTIiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI1MzguNTIiLCJiYXNlX2ZhcmUiOiI0NjQuMDAiLCJ0YXgiOiI3NC41MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ2NC4wMCIsInRheCI6Ijc0LjUyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNTM4LjUyIiwiYmFzZV9mYXJlIjoiNDY0LjAwIiwidGF4IjoiNzQuNTIiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NTM4LjUyLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 538.52, "filter": { "id": "F1MS00008-42", "price": 538.52, "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": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:45:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-31T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310645cdg2026073108251131cdg202607311230rak2026073114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-43", "journey_type": "OneWay", "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": "PT8H0M", "transit_time": "PT8H0M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o15", "productId": "p67", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T12:55:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "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": "1331" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1331" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHT", "booking_code": "LIGHT", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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-07-31T20:55:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T23:15:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H20M", "distance": 1312, "lay_over": "PT08H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHT", "booking_code": "LIGHT", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 538.52, "gross_total": 538.52, "base_fare": 464, "tax": 74.52, "sell": { "currency": "EUR", "total": 538.52, "base_fare": 464, "tax": 74.52 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTM4LjUyLCJiYXNlX2ZhcmUiOjQ2NCwidGF4Ijo3NC41Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjUzOC41MiwiYmFzZV9mYXJlIjo0NjQsInRheCI6NzQuNTIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTM4LjUyLCJiYXNlX2ZhcmUiOjQ2NCwidGF4Ijo3NC41Mn19", "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": 538.52, "base_fare": 464, "tax": 74.52, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "464.00", "tax": "74.52", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 538.52, "base_fare": 464, "tax": 74.52, "gross": { "base_fare": "464.00", "tax": "74.52", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUzOC41MiIsImJhc2VfZmFyZSI6IjQ2NC4wMCIsInRheCI6Ijc0LjUyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNDY0LjAwIiwidGF4IjoiNzQuNTIiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI1MzguNTIiLCJiYXNlX2ZhcmUiOiI0NjQuMDAiLCJ0YXgiOiI3NC41MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ2NC4wMCIsInRheCI6Ijc0LjUyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNTM4LjUyIiwiYmFzZV9mYXJlIjoiNDY0LjAwIiwidGF4IjoiNzQuNTIiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NTM4LjUyLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 538.52, "filter": { "id": "F1MS00008-43", "price": 538.52, "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": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:25:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-31T23:15:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311125cdg2026073112551331cdg202607312055rak2026073123151776", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-44", "journey_type": "OneWay", "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": "PT19H25M", "transit_time": "PT19H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o9", "productId": "p46", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:50:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T13:50:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "823" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "823" }, "booking_class": { "cabin_class": "Top Executive", "cabin_code": "TOPEXE", "booking_code": "TOPEXE", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "LIS", "departure_time": "2026-08-01T09:15:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T10:55:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT19H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "319", "name": "Airbus A319", "picture": "319.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "booking_class": { "cabin_class": "Top Executive", "cabin_code": "TOPEXE", "booking_code": "TOPEXE", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 542.6, "gross_total": 542.6, "base_fare": 363, "tax": 179.6, "sell": { "currency": "EUR", "total": 542.6, "base_fare": 363, "tax": 179.6 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTQyLjYsImJhc2VfZmFyZSI6MzYzLCJ0YXgiOjE3OS42fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTQyLjYsImJhc2VfZmFyZSI6MzYzLCJ0YXgiOjE3OS42LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjU0Mi42LCJiYXNlX2ZhcmUiOjM2MywidGF4IjoxNzkuNn19", "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": 542.6, "base_fare": 363, "tax": 179.6, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "363.00", "tax": "179.60", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 542.6, "base_fare": 363, "tax": 179.6, "gross": { "base_fare": "363.00", "tax": "179.60", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU0Mi42MCIsImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3OS42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3OS42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU0Mi42MCIsImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3OS42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3OS42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU0Mi42MCIsImJhc2VfZmFyZSI6IjM2My4wMCIsInRheCI6IjE3OS42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1NDIuNiwidGF4QnJlYWtkb3duIjp7IkJEIjp7ImFtb3VudCI6IjAuMDAifSwiVVQiOnsiYW1vdW50IjoiMC4wMCJ9LCJFNSI6eyJhbW91bnQiOiIwLjAwIn0sIllRIjp7ImFtb3VudCI6IjAuMDAifSwiWVIiOnsiYW1vdW50IjoiMC4wMCJ9LCJPdGhlciI6eyJhbW91bnQiOiIwLjAwIn0sInN1cHBsaWVyVGF4RGF0YSI6W119fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 542.6, "filter": { "id": "F1MS00008-44", "price": 542.6, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Top Executive", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:50:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T10:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311150lis202607311350823lis202608010915rak2026080110551452", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-45", "journey_type": "OneWay", "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": "PT12H30M", "transit_time": "PT12H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o16", "productId": "p76", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T08:25:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H40M", "distance": 392, "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": "1131" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1131" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHT", "booking_code": "LIGHT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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-07-31T20:55:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T23:15:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H20M", "distance": 1312, "lay_over": "PT12H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHT", "booking_code": "LIGHT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 549.51, "gross_total": 549.51, "base_fare": 464, "tax": 85.51, "sell": { "currency": "EUR", "total": 549.51, "base_fare": 464, "tax": 85.51 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTQ5LjUxLCJiYXNlX2ZhcmUiOjQ2NCwidGF4Ijo4NS41MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjU0OS41MSwiYmFzZV9mYXJlIjo0NjQsInRheCI6ODUuNTEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTQ5LjUxLCJiYXNlX2ZhcmUiOjQ2NCwidGF4Ijo4NS41MX19", "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": 549.51, "base_fare": 464, "tax": 85.51, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "464.00", "tax": "85.51", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 549.51, "base_fare": 464, "tax": 85.51, "gross": { "base_fare": "464.00", "tax": "85.51", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU0OS41MSIsImJhc2VfZmFyZSI6IjQ2NC4wMCIsInRheCI6Ijg1LjUxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNDY0LjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI1NDkuNTEiLCJiYXNlX2ZhcmUiOiI0NjQuMDAiLCJ0YXgiOiI4NS41MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ2NC4wMCIsInRheCI6Ijg1LjUxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNTQ5LjUxIiwiYmFzZV9mYXJlIjoiNDY0LjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NTQ5LjUxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 549.51, "filter": { "id": "F1MS00008-45", "price": 549.51, "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": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:45:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-31T23:15:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310645cdg2026073108251131cdg202607312055rak2026073123151776", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-46", "journey_type": "OneWay", "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": "PT12H45M", "transit_time": "PT12H45M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o17", "productId": "p81", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "IST", "arrival_time": "2026-07-31T23:40:00", "destination_terminal": null, "destination_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-31", "flight_time": "PT3H55M", "distance": 1036, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "333", "name": "Airbus A330-300", "picture": "333.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1876" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1876" }, "booking_class": { "cabin_class": "Flexible", "cabin_code": "FX", "booking_code": "FX", "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": "IST", "departure_time": "2026-08-01T12:25:00", "origin_terminal": null, "origin_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "RAK", "arrival_time": "2026-08-01T15:40:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT3H15M", "distance": 2141, "lay_over": "PT12H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "Boeing 737Max", "picture": "7M8.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "booking_class": { "cabin_class": "Flexible", "cabin_code": "FX", "booking_code": "FX", "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": 566.86, "gross_total": 566.86, "base_fare": 381, "tax": 185.86, "sell": { "currency": "EUR", "total": 566.86, "base_fare": 381, "tax": 185.86 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTY2Ljg2LCJiYXNlX2ZhcmUiOjM4MSwidGF4IjoxODUuODZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1NjYuODYsImJhc2VfZmFyZSI6MzgxLCJ0YXgiOjE4NS44NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1NjYuODYsImJhc2VfZmFyZSI6MzgxLCJ0YXgiOjE4NS44Nn19", "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": 566.86, "base_fare": 381, "tax": 185.86, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "381.00", "tax": "185.86", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 566.86, "base_fare": 381, "tax": 185.86, "gross": { "base_fare": "381.00", "tax": "185.86", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU2Ni44NiIsImJhc2VfZmFyZSI6IjM4MS4wMCIsInRheCI6IjE4NS44NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM4MS4wMCIsInRheCI6IjE4NS44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU2Ni44NiIsImJhc2VfZmFyZSI6IjM4MS4wMCIsInRheCI6IjE4NS44NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM4MS4wMCIsInRheCI6IjE4NS44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU2Ni44NiIsImJhc2VfZmFyZSI6IjM4MS4wMCIsInRheCI6IjE4NS44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1NjYuODYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 566.86, "filter": { "id": "F1MS00008-46", "price": 566.86, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TK", "carrier_marketing": "TK", "aircraft": "333", "aircraft_name": "Airbus A330-300", "cabin_class": "Flexible", "connecting_airport": [ "IST" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:45:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311945ist2026073123401876ist202608011225rak202608011540619", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-47", "journey_type": "OneWay", "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": "PT21H45M", "transit_time": "PT21H45M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o17", "productId": "p82", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T10:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "IST", "arrival_time": "2026-07-31T14:40:00", "destination_terminal": null, "destination_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-31", "flight_time": "PT3H55M", "distance": 1036, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1874" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1874" }, "booking_class": { "cabin_class": "Flexible", "cabin_code": "FX", "booking_code": "FX", "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": "IST", "departure_time": "2026-08-01T12:25:00", "origin_terminal": null, "origin_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "RAK", "arrival_time": "2026-08-01T15:40:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT3H15M", "distance": 2141, "lay_over": "PT21H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "Boeing 737Max", "picture": "7M8.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "booking_class": { "cabin_class": "Flexible", "cabin_code": "FX", "booking_code": "FX", "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": 566.86, "gross_total": 566.86, "base_fare": 381, "tax": 185.86, "sell": { "currency": "EUR", "total": 566.86, "base_fare": 381, "tax": 185.86 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTY2Ljg2LCJiYXNlX2ZhcmUiOjM4MSwidGF4IjoxODUuODZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1NjYuODYsImJhc2VfZmFyZSI6MzgxLCJ0YXgiOjE4NS44NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1NjYuODYsImJhc2VfZmFyZSI6MzgxLCJ0YXgiOjE4NS44Nn19", "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": 566.86, "base_fare": 381, "tax": 185.86, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "381.00", "tax": "185.86", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 566.86, "base_fare": 381, "tax": 185.86, "gross": { "base_fare": "381.00", "tax": "185.86", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU2Ni44NiIsImJhc2VfZmFyZSI6IjM4MS4wMCIsInRheCI6IjE4NS44NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM4MS4wMCIsInRheCI6IjE4NS44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU2Ni44NiIsImJhc2VfZmFyZSI6IjM4MS4wMCIsInRheCI6IjE4NS44NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM4MS4wMCIsInRheCI6IjE4NS44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU2Ni44NiIsImJhc2VfZmFyZSI6IjM4MS4wMCIsInRheCI6IjE4NS44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1NjYuODYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 566.86, "filter": { "id": "F1MS00008-47", "price": 566.86, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TK", "carrier_marketing": "TK", "aircraft": "359", "aircraft_name": "Airbus A350-900", "cabin_class": "Flexible", "connecting_airport": [ "IST" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T10:45:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311045ist2026073114401874ist202608011225rak202608011540619", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-48", "journey_type": "OneWay", "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": "PT13H50M", "transit_time": "PT13H50M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o13", "productId": "p59", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:05:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "MAD", "arrival_time": "2026-07-31T21:30:00", "destination_terminal": "4", "destination_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 736, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "676" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "676" }, "booking_class": { "cabin_class": "Business Flexible", "cabin_code": "BUSFLEX", "booking_code": "BUSFLEX", "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": "MAD", "departure_time": "2026-08-01T11:20:00", "origin_terminal": "4S", "origin_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T12:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H0M", "distance": 661, "lay_over": "PT13H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "booking_class": { "cabin_class": "Business Flexible", "cabin_code": "BUSFLEX", "booking_code": "BUSFLEX", "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" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 572.81, "gross_total": 572.81, "base_fare": 525, "tax": 47.81, "sell": { "currency": "EUR", "total": 572.81, "base_fare": 525, "tax": 47.81 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTcyLjgxLCJiYXNlX2ZhcmUiOjUyNSwidGF4Ijo0Ny44MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjU3Mi44MSwiYmFzZV9mYXJlIjo1MjUsInRheCI6NDcuODEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTcyLjgxLCJiYXNlX2ZhcmUiOjUyNSwidGF4Ijo0Ny44MX19", "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": 572.81, "base_fare": 525, "tax": 47.81, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "525.00", "tax": "47.81", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 572.81, "base_fare": 525, "tax": 47.81, "gross": { "base_fare": "525.00", "tax": "47.81", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU3Mi44MSIsImJhc2VfZmFyZSI6IjUyNS4wMCIsInRheCI6IjQ3LjgxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNTI1LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI1NzIuODEiLCJiYXNlX2ZhcmUiOiI1MjUuMDAiLCJ0YXgiOiI0Ny44MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjUyNS4wMCIsInRheCI6IjQ3LjgxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNTcyLjgxIiwiYmFzZV9mYXJlIjoiNTI1LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NTcyLjgxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 572.81, "filter": { "id": "F1MS00008-48", "price": 572.81, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "IB", "carrier_marketing": "IB", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Business Flexible", "connecting_airport": [ "MAD" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:05:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T12:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311905mad202607312130676mad202608011120rak2026080112201851", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-49", "journey_type": "OneWay", "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": "PT18H30M", "transit_time": "PT18H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o13", "productId": "p60", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T14:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "MAD", "arrival_time": "2026-07-31T16:50:00", "destination_terminal": "4S", "destination_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 736, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "674" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "674" }, "booking_class": { "cabin_class": "Business Flexible", "cabin_code": "BUSFLEX", "booking_code": "BUSFLEX", "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": "MAD", "departure_time": "2026-08-01T11:20:00", "origin_terminal": "4S", "origin_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T12:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H0M", "distance": 661, "lay_over": "PT18H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "booking_class": { "cabin_class": "Business Flexible", "cabin_code": "BUSFLEX", "booking_code": "BUSFLEX", "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" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 572.81, "gross_total": 572.81, "base_fare": 525, "tax": 47.81, "sell": { "currency": "EUR", "total": 572.81, "base_fare": 525, "tax": 47.81 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTcyLjgxLCJiYXNlX2ZhcmUiOjUyNSwidGF4Ijo0Ny44MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjU3Mi44MSwiYmFzZV9mYXJlIjo1MjUsInRheCI6NDcuODEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTcyLjgxLCJiYXNlX2ZhcmUiOjUyNSwidGF4Ijo0Ny44MX19", "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": 572.81, "base_fare": 525, "tax": 47.81, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "525.00", "tax": "47.81", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 572.81, "base_fare": 525, "tax": 47.81, "gross": { "base_fare": "525.00", "tax": "47.81", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU3Mi44MSIsImJhc2VfZmFyZSI6IjUyNS4wMCIsInRheCI6IjQ3LjgxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNTI1LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI1NzIuODEiLCJiYXNlX2ZhcmUiOiI1MjUuMDAiLCJ0YXgiOiI0Ny44MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjUyNS4wMCIsInRheCI6IjQ3LjgxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNTcyLjgxIiwiYmFzZV9mYXJlIjoiNTI1LjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NTcyLjgxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 572.81, "filter": { "id": "F1MS00008-49", "price": 572.81, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "IB", "carrier_marketing": "IB", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Business Flexible", "connecting_airport": [ "MAD" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T14:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T12:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311425mad202607311650674mad202608011120rak2026080112201851", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-50", "journey_type": "OneWay", "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": "PT4H5M", "transit_time": "PT4H5M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o15", "productId": "p68", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T08:25:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H40M", "distance": 392, "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": "1131" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1131" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD", "booking_code": "STANDARD", "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-07-31T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT04H05M", "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": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD", "booking_code": "STANDARD", "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": 584.52, "gross_total": 584.52, "base_fare": 510, "tax": 74.52, "sell": { "currency": "EUR", "total": 584.52, "base_fare": 510, "tax": 74.52 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg0LjUyLCJiYXNlX2ZhcmUiOjUxMCwidGF4Ijo3NC41Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjU4NC41MiwiYmFzZV9mYXJlIjo1MTAsInRheCI6NzQuNTIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg0LjUyLCJiYXNlX2ZhcmUiOjUxMCwidGF4Ijo3NC41Mn19", "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": 584.52, "base_fare": 510, "tax": 74.52, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "510.00", "tax": "74.52", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 584.52, "base_fare": 510, "tax": 74.52, "gross": { "base_fare": "510.00", "tax": "74.52", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4NC41MiIsImJhc2VfZmFyZSI6IjUxMC4wMCIsInRheCI6Ijc0LjUyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNTEwLjAwIiwidGF4IjoiNzQuNTIiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI1ODQuNTIiLCJiYXNlX2ZhcmUiOiI1MTAuMDAiLCJ0YXgiOiI3NC41MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjUxMC4wMCIsInRheCI6Ijc0LjUyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNTg0LjUyIiwiYmFzZV9mYXJlIjoiNTEwLjAwIiwidGF4IjoiNzQuNTIiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NTg0LjUyLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 584.52, "filter": { "id": "F1MS00008-50", "price": 584.52, "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": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:45:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-31T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310645cdg2026073108251131cdg202607311230rak2026073114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-51", "journey_type": "OneWay", "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": "PT8H0M", "transit_time": "PT8H0M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o15", "productId": "p69", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T12:55:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "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": "1331" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1331" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD", "booking_code": "STANDARD", "meal_code": null, "seat_available": 2 }, "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-07-31T20:55:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T23:15:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H20M", "distance": 1312, "lay_over": "PT08H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD", "booking_code": "STANDARD", "meal_code": null, "seat_available": 2 }, "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": 584.52, "gross_total": 584.52, "base_fare": 510, "tax": 74.52, "sell": { "currency": "EUR", "total": 584.52, "base_fare": 510, "tax": 74.52 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg0LjUyLCJiYXNlX2ZhcmUiOjUxMCwidGF4Ijo3NC41Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjU4NC41MiwiYmFzZV9mYXJlIjo1MTAsInRheCI6NzQuNTIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg0LjUyLCJiYXNlX2ZhcmUiOjUxMCwidGF4Ijo3NC41Mn19", "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": 584.52, "base_fare": 510, "tax": 74.52, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "510.00", "tax": "74.52", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 584.52, "base_fare": 510, "tax": 74.52, "gross": { "base_fare": "510.00", "tax": "74.52", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4NC41MiIsImJhc2VfZmFyZSI6IjUxMC4wMCIsInRheCI6Ijc0LjUyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNTEwLjAwIiwidGF4IjoiNzQuNTIiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI1ODQuNTIiLCJiYXNlX2ZhcmUiOiI1MTAuMDAiLCJ0YXgiOiI3NC41MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjUxMC4wMCIsInRheCI6Ijc0LjUyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNTg0LjUyIiwiYmFzZV9mYXJlIjoiNTEwLjAwIiwidGF4IjoiNzQuNTIiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NTg0LjUyLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 584.52, "filter": { "id": "F1MS00008-51", "price": 584.52, "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": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:25:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-31T23:15:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311125cdg2026073112551331cdg202607312055rak2026073123151776", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-52", "journey_type": "OneWay", "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": "PT12H30M", "transit_time": "PT12H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o16", "productId": "p77", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T08:25:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H40M", "distance": 392, "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": "1131" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1131" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD", "booking_code": "STANDARD", "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-07-31T20:55:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T23:15:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H20M", "distance": 1312, "lay_over": "PT12H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD", "booking_code": "STANDARD", "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": 595.51, "gross_total": 595.51, "base_fare": 510, "tax": 85.51, "sell": { "currency": "EUR", "total": 595.51, "base_fare": 510, "tax": 85.51 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTk1LjUxLCJiYXNlX2ZhcmUiOjUxMCwidGF4Ijo4NS41MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjU5NS41MSwiYmFzZV9mYXJlIjo1MTAsInRheCI6ODUuNTEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTk1LjUxLCJiYXNlX2ZhcmUiOjUxMCwidGF4Ijo4NS41MX19", "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": 595.51, "base_fare": 510, "tax": 85.51, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "510.00", "tax": "85.51", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 595.51, "base_fare": 510, "tax": 85.51, "gross": { "base_fare": "510.00", "tax": "85.51", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5NS41MSIsImJhc2VfZmFyZSI6IjUxMC4wMCIsInRheCI6Ijg1LjUxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNTEwLjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI1OTUuNTEiLCJiYXNlX2ZhcmUiOiI1MTAuMDAiLCJ0YXgiOiI4NS41MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjUxMC4wMCIsInRheCI6Ijg1LjUxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNTk1LjUxIiwiYmFzZV9mYXJlIjoiNTEwLjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NTk1LjUxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 595.51, "filter": { "id": "F1MS00008-52", "price": 595.51, "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": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:45:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-31T23:15:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310645cdg2026073108251131cdg202607312055rak2026073123151776", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-53", "journey_type": "OneWay", "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": "PT13H45M", "transit_time": "PT13H45M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o2", "productId": "p11", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T17:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T19:30:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H5M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "booking_class": { "cabin_class": "Top Executive", "cabin_code": "TOPEXE", "booking_code": "TOPEXE", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "LIS", "departure_time": "2026-08-01T09:15:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T10:55:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT13H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "319", "name": "Airbus A319", "picture": "319.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1452" }, "booking_class": { "cabin_class": "Top Executive", "cabin_code": "TOPEXE", "booking_code": "TOPEXE", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 666.38, "gross_total": 666.38, "base_fare": 493, "tax": 173.38, "sell": { "currency": "EUR", "total": 666.38, "base_fare": 493, "tax": 173.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NjY2LjM4LCJiYXNlX2ZhcmUiOjQ5MywidGF4IjoxNzMuMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2NjYuMzgsImJhc2VfZmFyZSI6NDkzLCJ0YXgiOjE3My4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2NjYuMzgsImJhc2VfZmFyZSI6NDkzLCJ0YXgiOjE3My4zOH19", "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": 666.38, "base_fare": 493, "tax": 173.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "493.00", "tax": "173.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 666.38, "base_fare": 493, "tax": 173.38, "gross": { "base_fare": "493.00", "tax": "173.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY2Ni4zOCIsImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3My4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3My4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY2Ni4zOCIsImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3My4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3My4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY2Ni4zOCIsImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3My4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo2NjYuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 666.38, "filter": { "id": "F1MS00008-53", "price": 666.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Top Executive", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T17:25:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T10:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311725lis202607311930825lis202608010915rak2026080110551452", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-54", "journey_type": "OneWay", "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": "PT7H0M", "transit_time": "PT7H0M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o12", "productId": "p54", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T05:50:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T07:50:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H0M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "829" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "829" }, "booking_class": { "cabin_class": "Top Executive", "cabin_code": "TOPEXE", "booking_code": "TOPEXE", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "LIS", "departure_time": "2026-07-31T14:50:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-07-31T16:30:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT07H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "E90", "name": "EMBRAER 190", "picture": "E90.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1454" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "1454" }, "booking_class": { "cabin_class": "Top Executive", "cabin_code": "TOPEXE", "booking_code": "TOPEXE", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 666.38, "gross_total": 666.38, "base_fare": 493, "tax": 173.38, "sell": { "currency": "EUR", "total": 666.38, "base_fare": 493, "tax": 173.38 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NjY2LjM4LCJiYXNlX2ZhcmUiOjQ5MywidGF4IjoxNzMuMzh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2NjYuMzgsImJhc2VfZmFyZSI6NDkzLCJ0YXgiOjE3My4zOCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2NjYuMzgsImJhc2VfZmFyZSI6NDkzLCJ0YXgiOjE3My4zOH19", "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": 666.38, "base_fare": 493, "tax": 173.38, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "493.00", "tax": "173.38", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 666.38, "base_fare": 493, "tax": 173.38, "gross": { "base_fare": "493.00", "tax": "173.38", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY2Ni4zOCIsImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3My4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3My4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY2Ni4zOCIsImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3My4zOCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3My4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY2Ni4zOCIsImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3My4zOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo2NjYuMzgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 666.38, "filter": { "id": "F1MS00008-54", "price": 666.38, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Top Executive", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T05:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-07-31T16:30:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310550lis202607310750829lis202607311450rak2026073116301454", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-55", "journey_type": "OneWay", "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": "PT4H5M", "transit_time": "PT4H5M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o15", "productId": "p70", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T08:25:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H40M", "distance": 392, "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": "1131" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1131" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX", "booking_code": "FLEX", "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-07-31T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT04H05M", "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": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX", "booking_code": "FLEX", "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": 672.52, "gross_total": 672.52, "base_fare": 598, "tax": 74.52, "sell": { "currency": "EUR", "total": 672.52, "base_fare": 598, "tax": 74.52 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NjcyLjUyLCJiYXNlX2ZhcmUiOjU5OCwidGF4Ijo3NC41Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjY3Mi41MiwiYmFzZV9mYXJlIjo1OTgsInRheCI6NzQuNTIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NjcyLjUyLCJiYXNlX2ZhcmUiOjU5OCwidGF4Ijo3NC41Mn19", "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": 672.52, "base_fare": 598, "tax": 74.52, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "598.00", "tax": "74.52", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 672.52, "base_fare": 598, "tax": 74.52, "gross": { "base_fare": "598.00", "tax": "74.52", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY3Mi41MiIsImJhc2VfZmFyZSI6IjU5OC4wMCIsInRheCI6Ijc0LjUyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNTk4LjAwIiwidGF4IjoiNzQuNTIiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI2NzIuNTIiLCJiYXNlX2ZhcmUiOiI1OTguMDAiLCJ0YXgiOiI3NC41MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU5OC4wMCIsInRheCI6Ijc0LjUyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNjcyLjUyIiwiYmFzZV9mYXJlIjoiNTk4LjAwIiwidGF4IjoiNzQuNTIiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NjcyLjUyLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 672.52, "filter": { "id": "F1MS00008-55", "price": 672.52, "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": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:45:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-31T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310645cdg2026073108251131cdg202607311230rak2026073114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-56", "journey_type": "OneWay", "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": "PT8H0M", "transit_time": "PT8H0M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o15", "productId": "p71", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T12:55:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "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": "1331" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1331" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX", "booking_code": "FLEX", "meal_code": null, "seat_available": 2 }, "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-07-31T20:55:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T23:15:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H20M", "distance": 1312, "lay_over": "PT08H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX", "booking_code": "FLEX", "meal_code": null, "seat_available": 2 }, "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": 672.52, "gross_total": 672.52, "base_fare": 598, "tax": 74.52, "sell": { "currency": "EUR", "total": 672.52, "base_fare": 598, "tax": 74.52 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NjcyLjUyLCJiYXNlX2ZhcmUiOjU5OCwidGF4Ijo3NC41Mn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjY3Mi41MiwiYmFzZV9mYXJlIjo1OTgsInRheCI6NzQuNTIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NjcyLjUyLCJiYXNlX2ZhcmUiOjU5OCwidGF4Ijo3NC41Mn19", "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": 672.52, "base_fare": 598, "tax": 74.52, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "598.00", "tax": "74.52", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 672.52, "base_fare": 598, "tax": 74.52, "gross": { "base_fare": "598.00", "tax": "74.52", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY3Mi41MiIsImJhc2VfZmFyZSI6IjU5OC4wMCIsInRheCI6Ijc0LjUyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNTk4LjAwIiwidGF4IjoiNzQuNTIiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI2NzIuNTIiLCJiYXNlX2ZhcmUiOiI1OTguMDAiLCJ0YXgiOiI3NC41MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU5OC4wMCIsInRheCI6Ijc0LjUyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNjcyLjUyIiwiYmFzZV9mYXJlIjoiNTk4LjAwIiwidGF4IjoiNzQuNTIiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NjcyLjUyLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 672.52, "filter": { "id": "F1MS00008-56", "price": 672.52, "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": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:25:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-31T23:15:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311125cdg2026073112551331cdg202607312055rak2026073123151776", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-57", "journey_type": "OneWay", "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": "PT18H35M", "transit_time": "PT18H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o3", "productId": "p15", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T17:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "LIS", "arrival_time": "2026-07-31T19:30:00", "destination_terminal": "1", "destination_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "flight_date": "2026-07-31", "flight_time": "PT2H5M", "distance": 1049, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "825" }, "booking_class": { "cabin_class": "Top Executive", "cabin_code": "TOPEXE", "booking_code": "TOPEXE", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "LIS", "departure_time": "2026-08-01T14:05:00", "origin_terminal": "1", "origin_airport": { "name": "Lisbon Humberto Delgado Airport", "city": "Lisbon", "country": "Portugal", "timezone": "Europe\/Lisbon" }, "destination": "RAK", "arrival_time": "2026-08-01T15:45:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H40M", "distance": 499, "lay_over": "PT18H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "E95", "name": "Embraer 195", "picture": "E95.png" }, "operating": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "marketing": { "carrier": "TP", "carrier_name": "TAP Portugal", "carrier_logo": "TP.png", "flight_number": "2300" }, "booking_class": { "cabin_class": "Top Executive", "cabin_code": "TOPEXE", "booking_code": "TOPEXE", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 672.6, "gross_total": 672.6, "base_fare": 493, "tax": 179.6, "sell": { "currency": "EUR", "total": 672.6, "base_fare": 493, "tax": 179.6 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NjcyLjYsImJhc2VfZmFyZSI6NDkzLCJ0YXgiOjE3OS42fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NjcyLjYsImJhc2VfZmFyZSI6NDkzLCJ0YXgiOjE3OS42LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjY3Mi42LCJiYXNlX2ZhcmUiOjQ5MywidGF4IjoxNzkuNn19", "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": 672.6, "base_fare": 493, "tax": 179.6, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "493.00", "tax": "179.60", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 672.6, "base_fare": 493, "tax": 179.6, "gross": { "base_fare": "493.00", "tax": "179.60", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY3Mi42MCIsImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3OS42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3OS42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY3Mi42MCIsImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3OS42MCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3OS42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY3Mi42MCIsImJhc2VfZmFyZSI6IjQ5My4wMCIsInRheCI6IjE3OS42MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo2NzIuNiwidGF4QnJlYWtkb3duIjp7IkJEIjp7ImFtb3VudCI6IjAuMDAifSwiVVQiOnsiYW1vdW50IjoiMC4wMCJ9LCJFNSI6eyJhbW91bnQiOiIwLjAwIn0sIllRIjp7ImFtb3VudCI6IjAuMDAifSwiWVIiOnsiYW1vdW50IjoiMC4wMCJ9LCJPdGhlciI6eyJhbW91bnQiOiIwLjAwIn0sInN1cHBsaWVyVGF4RGF0YSI6W119fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 672.6, "filter": { "id": "F1MS00008-57", "price": 672.6, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TP", "carrier_marketing": "TP", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Top Executive", "connecting_airport": [ "LIS" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T17:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:45:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311725lis202607311930825lis202608011405rak2026080115452300", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-58", "journey_type": "OneWay", "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": "PT12H30M", "transit_time": "PT12H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o16", "productId": "p78", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T08:25:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H40M", "distance": 392, "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": "1131" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1131" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX", "booking_code": "FLEX", "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-07-31T20:55:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T23:15:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H20M", "distance": 1312, "lay_over": "PT12H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX", "booking_code": "FLEX", "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": 683.51, "gross_total": 683.51, "base_fare": 598, "tax": 85.51, "sell": { "currency": "EUR", "total": 683.51, "base_fare": 598, "tax": 85.51 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NjgzLjUxLCJiYXNlX2ZhcmUiOjU5OCwidGF4Ijo4NS41MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjY4My41MSwiYmFzZV9mYXJlIjo1OTgsInRheCI6ODUuNTEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NjgzLjUxLCJiYXNlX2ZhcmUiOjU5OCwidGF4Ijo4NS41MX19", "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": 683.51, "base_fare": 598, "tax": 85.51, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "598.00", "tax": "85.51", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 683.51, "base_fare": 598, "tax": 85.51, "gross": { "base_fare": "598.00", "tax": "85.51", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY4My41MSIsImJhc2VfZmFyZSI6IjU5OC4wMCIsInRheCI6Ijg1LjUxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNTk4LjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI2ODMuNTEiLCJiYXNlX2ZhcmUiOiI1OTguMDAiLCJ0YXgiOiI4NS41MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU5OC4wMCIsInRheCI6Ijg1LjUxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNjgzLjUxIiwiYmFzZV9mYXJlIjoiNTk4LjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NjgzLjUxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 683.51, "filter": { "id": "F1MS00008-58", "price": 683.51, "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": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:45:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-31T23:15:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310645cdg2026073108251131cdg202607312055rak2026073123151776", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-59", "journey_type": "OneWay", "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": "PT10H25M", "transit_time": "PT10H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p22", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T22:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "booking_class": { "cabin_class": "Bus Classic", "cabin_code": "BCLASSIC", "booking_code": "BCLASSIC", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "CMN", "departure_time": "2026-08-01T08:30:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T09:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT0H50M", "distance": 124, "lay_over": "PT10H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "booking_class": { "cabin_class": "Bus Classic", "cabin_code": "BCLASSIC", "booking_code": "BCLASSIC", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": 698.06, "gross_total": 698.06, "base_fare": 555, "tax": 143.06, "sell": { "currency": "EUR", "total": 698.06, "base_fare": 555, "tax": 143.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Njk4LjA2LCJiYXNlX2ZhcmUiOjU1NSwidGF4IjoxNDMuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2OTguMDYsImJhc2VfZmFyZSI6NTU1LCJ0YXgiOjE0My4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2OTguMDYsImJhc2VfZmFyZSI6NTU1LCJ0YXgiOjE0My4wNn19", "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": 698.06, "base_fare": 555, "tax": 143.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "555.00", "tax": "143.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 698.06, "base_fare": 555, "tax": 143.06, "gross": { "base_fare": "555.00", "tax": "143.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo2OTguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 698.06, "filter": { "id": "F1MS00008-59", "price": 698.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Bus Classic", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:55:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T09:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311955cmn202607312205951cmn202608010830rak202608010920409", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-60", "journey_type": "OneWay", "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-60", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT13H55M", "transit_time": "PT13H55M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p23", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T22:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "booking_class": { "cabin_class": "Bus Classic", "cabin_code": "BCLASSIC", "booking_code": "BCLASSIC", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "CMN", "departure_time": "2026-08-01T12:00:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T13:05:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H5M", "distance": 124, "lay_over": "PT13H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "AT7", "name": "Alenia ATR 72", "picture": "AT7.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "411" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "411" }, "booking_class": { "cabin_class": "Bus Classic", "cabin_code": "BCLASSIC", "booking_code": "BCLASSIC", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": 698.06, "gross_total": 698.06, "base_fare": 555, "tax": 143.06, "sell": { "currency": "EUR", "total": 698.06, "base_fare": 555, "tax": 143.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Njk4LjA2LCJiYXNlX2ZhcmUiOjU1NSwidGF4IjoxNDMuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2OTguMDYsImJhc2VfZmFyZSI6NTU1LCJ0YXgiOjE0My4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2OTguMDYsImJhc2VfZmFyZSI6NTU1LCJ0YXgiOjE0My4wNn19", "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": 698.06, "base_fare": 555, "tax": 143.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "555.00", "tax": "143.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 698.06, "base_fare": 555, "tax": 143.06, "gross": { "base_fare": "555.00", "tax": "143.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo2OTguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 698.06, "filter": { "id": "F1MS00008-60", "price": 698.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Bus Classic", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:55:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T13:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311955cmn202607312205951cmn202608011200rak202608011305411", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-61", "journey_type": "OneWay", "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-61", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H30M", "transit_time": "PT1H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p32", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T15:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "booking_class": { "cabin_class": "Bus Classic", "cabin_code": "BCLASSIC", "booking_code": "BCLASSIC", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "CMN", "departure_time": "2026-07-31T16:35:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-07-31T17:40:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT1H5M", "distance": 124, "lay_over": "PT01H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "AT7", "name": "Alenia ATR 72", "picture": "AT7.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "413" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "413" }, "booking_class": { "cabin_class": "Bus Classic", "cabin_code": "BCLASSIC", "booking_code": "BCLASSIC", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": 698.06, "gross_total": 698.06, "base_fare": 555, "tax": 143.06, "sell": { "currency": "EUR", "total": 698.06, "base_fare": 555, "tax": 143.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Njk4LjA2LCJiYXNlX2ZhcmUiOjU1NSwidGF4IjoxNDMuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2OTguMDYsImJhc2VfZmFyZSI6NTU1LCJ0YXgiOjE0My4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2OTguMDYsImJhc2VfZmFyZSI6NTU1LCJ0YXgiOjE0My4wNn19", "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": 698.06, "base_fare": 555, "tax": 143.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "555.00", "tax": "143.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 698.06, "base_fare": 555, "tax": 143.06, "gross": { "base_fare": "555.00", "tax": "143.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo2OTguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 698.06, "filter": { "id": "F1MS00008-61", "price": 698.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Bus Classic", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T12:55:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-07-31T17:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311255cmn202607311505955cmn202607311635rak202607311740413", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-62", "journey_type": "OneWay", "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-62", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT17H25M", "transit_time": "PT17H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p33", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T15:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "booking_class": { "cabin_class": "Bus Classic", "cabin_code": "BCLASSIC", "booking_code": "BCLASSIC", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "CMN", "departure_time": "2026-08-01T08:30:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T09:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT0H50M", "distance": 124, "lay_over": "PT17H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "booking_class": { "cabin_class": "Bus Classic", "cabin_code": "BCLASSIC", "booking_code": "BCLASSIC", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": 698.06, "gross_total": 698.06, "base_fare": 555, "tax": 143.06, "sell": { "currency": "EUR", "total": 698.06, "base_fare": 555, "tax": 143.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Njk4LjA2LCJiYXNlX2ZhcmUiOjU1NSwidGF4IjoxNDMuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2OTguMDYsImJhc2VfZmFyZSI6NTU1LCJ0YXgiOjE0My4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2OTguMDYsImJhc2VfZmFyZSI6NTU1LCJ0YXgiOjE0My4wNn19", "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": 698.06, "base_fare": 555, "tax": 143.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "555.00", "tax": "143.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 698.06, "base_fare": 555, "tax": 143.06, "gross": { "base_fare": "555.00", "tax": "143.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo2OTguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 698.06, "filter": { "id": "F1MS00008-62", "price": 698.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Bus Classic", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T12:55:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T09:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311255cmn202607311505955cmn202608010830rak202608010920409", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-63", "journey_type": "OneWay", "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-63", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT7H30M", "transit_time": "PT7H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o18", "productId": "p87", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T15:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "booking_class": { "cabin_class": "Bus Classic", "cabin_code": "BCLASSIC", "booking_code": "BCLASSIC", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "CMN", "departure_time": "2026-07-31T22:35:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-07-31T23:40:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT1H5M", "distance": 124, "lay_over": "PT07H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "AT7", "name": "Alenia ATR 72", "picture": "AT7.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "403" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "403" }, "booking_class": { "cabin_class": "Bus Classic", "cabin_code": "BCLASSIC", "booking_code": "BCLASSIC", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": 698.06, "gross_total": 698.06, "base_fare": 555, "tax": 143.06, "sell": { "currency": "EUR", "total": 698.06, "base_fare": 555, "tax": 143.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Njk4LjA2LCJiYXNlX2ZhcmUiOjU1NSwidGF4IjoxNDMuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2OTguMDYsImJhc2VfZmFyZSI6NTU1LCJ0YXgiOjE0My4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2OTguMDYsImJhc2VfZmFyZSI6NTU1LCJ0YXgiOjE0My4wNn19", "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": 698.06, "base_fare": 555, "tax": 143.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "555.00", "tax": "143.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 698.06, "base_fare": 555, "tax": 143.06, "gross": { "base_fare": "555.00", "tax": "143.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY5OC4wNiIsImJhc2VfZmFyZSI6IjU1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo2OTguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 698.06, "filter": { "id": "F1MS00008-63", "price": 698.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Bus Classic", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T12:55:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-31T23:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311255cmn202607311505955cmn202607312235rak202607312340403", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-64", "journey_type": "OneWay", "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-64", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT8H0M", "transit_time": "PT8H0M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o15", "productId": "p72", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T12:55:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "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": "1331" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1331" }, "booking_class": { "cabin_class": "Business Standard", "cabin_code": "BIZSTAND", "booking_code": "BIZSTAND", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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-07-31T20:55:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T23:15:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H20M", "distance": 1312, "lay_over": "PT08H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "booking_class": { "cabin_class": "Business Standard", "cabin_code": "BIZSTAND", "booking_code": "BIZSTAND", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 717.27, "gross_total": 717.27, "base_fare": 642, "tax": 75.27, "sell": { "currency": "EUR", "total": 717.27, "base_fare": 642, "tax": 75.27 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NzE3LjI3LCJiYXNlX2ZhcmUiOjY0MiwidGF4Ijo3NS4yN30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjcxNy4yNywiYmFzZV9mYXJlIjo2NDIsInRheCI6NzUuMjcsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NzE3LjI3LCJiYXNlX2ZhcmUiOjY0MiwidGF4Ijo3NS4yN319", "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": 717.27, "base_fare": 642, "tax": 75.27, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "642.00", "tax": "75.27", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 717.27, "base_fare": 642, "tax": 75.27, "gross": { "base_fare": "642.00", "tax": "75.27", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcxNy4yNyIsImJhc2VfZmFyZSI6IjY0Mi4wMCIsInRheCI6Ijc1LjI3IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNjQyLjAwIiwidGF4IjoiNzUuMjciLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI3MTcuMjciLCJiYXNlX2ZhcmUiOiI2NDIuMDAiLCJ0YXgiOiI3NS4yNyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjY0Mi4wMCIsInRheCI6Ijc1LjI3IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNzE3LjI3IiwiYmFzZV9mYXJlIjoiNjQyLjAwIiwidGF4IjoiNzUuMjciLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NzE3LjI3LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 717.27, "filter": { "id": "F1MS00008-64", "price": 717.27, "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": "Business Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:25:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-31T23:15:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311125cdg2026073112551331cdg202607312055rak2026073123151776", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-65", "journey_type": "OneWay", "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-65", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT12H30M", "transit_time": "PT12H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o16", "productId": "p79", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T08:25:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H40M", "distance": 392, "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": "1131" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1131" }, "booking_class": { "cabin_class": "Business Standard", "cabin_code": "BIZSTAND", "booking_code": "BIZSTAND", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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-07-31T20:55:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T23:15:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H20M", "distance": 1312, "lay_over": "PT12H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "booking_class": { "cabin_class": "Business Standard", "cabin_code": "BIZSTAND", "booking_code": "BIZSTAND", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 728.26, "gross_total": 728.26, "base_fare": 642, "tax": 86.26, "sell": { "currency": "EUR", "total": 728.26, "base_fare": 642, "tax": 86.26 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NzI4LjI2LCJiYXNlX2ZhcmUiOjY0MiwidGF4Ijo4Ni4yNn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjcyOC4yNiwiYmFzZV9mYXJlIjo2NDIsInRheCI6ODYuMjYsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NzI4LjI2LCJiYXNlX2ZhcmUiOjY0MiwidGF4Ijo4Ni4yNn19", "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": 728.26, "base_fare": 642, "tax": 86.26, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "642.00", "tax": "86.26", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 728.26, "base_fare": 642, "tax": 86.26, "gross": { "base_fare": "642.00", "tax": "86.26", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcyOC4yNiIsImJhc2VfZmFyZSI6IjY0Mi4wMCIsInRheCI6Ijg2LjI2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNjQyLjAwIiwidGF4IjoiODYuMjYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI3MjguMjYiLCJiYXNlX2ZhcmUiOiI2NDIuMDAiLCJ0YXgiOiI4Ni4yNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjY0Mi4wMCIsInRheCI6Ijg2LjI2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNzI4LjI2IiwiYmFzZV9mYXJlIjoiNjQyLjAwIiwidGF4IjoiODYuMjYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NzI4LjI2LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 728.26, "filter": { "id": "F1MS00008-65", "price": 728.26, "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": "Business Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:45:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-31T23:15:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310645cdg2026073108251131cdg202607312055rak2026073123151776", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-66", "journey_type": "OneWay", "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-66", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT16H25M", "transit_time": "PT16H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o19", "productId": "p89", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T18:35:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T20:05:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1731" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1731" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHT", "booking_code": "LIGHT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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-08-01T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-08-01T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT16H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHT", "booking_code": "LIGHT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 797.51, "gross_total": 797.51, "base_fare": 712, "tax": 85.51, "sell": { "currency": "EUR", "total": 797.51, "base_fare": 712, "tax": 85.51 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Nzk3LjUxLCJiYXNlX2ZhcmUiOjcxMiwidGF4Ijo4NS41MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjc5Ny41MSwiYmFzZV9mYXJlIjo3MTIsInRheCI6ODUuNTEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Nzk3LjUxLCJiYXNlX2ZhcmUiOjcxMiwidGF4Ijo4NS41MX19", "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": 797.51, "base_fare": 712, "tax": 85.51, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "712.00", "tax": "85.51", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 797.51, "base_fare": 712, "tax": 85.51, "gross": { "base_fare": "712.00", "tax": "85.51", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5Ny41MSIsImJhc2VfZmFyZSI6IjcxMi4wMCIsInRheCI6Ijg1LjUxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNzEyLjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI3OTcuNTEiLCJiYXNlX2ZhcmUiOiI3MTIuMDAiLCJ0YXgiOiI4NS41MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjcxMi4wMCIsInRheCI6Ijg1LjUxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNzk3LjUxIiwiYmFzZV9mYXJlIjoiNzEyLjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6Nzk3LjUxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 797.51, "filter": { "id": "F1MS00008-66", "price": 797.51, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Light", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T18:35:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311835cdg2026073120051731cdg202608011230rak2026080114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-67", "journey_type": "OneWay", "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-67", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H35M", "transit_time": "PT23H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o19", "productId": "p90", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T12:55:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "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": "1331" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1331" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHT", "booking_code": "LIGHT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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-08-01T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-08-01T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT23H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Light", "cabin_code": "LIGHT", "booking_code": "LIGHT", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 0, "weight": 22.68, "unit": "kg", "title": "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": 797.51, "gross_total": 797.51, "base_fare": 712, "tax": 85.51, "sell": { "currency": "EUR", "total": 797.51, "base_fare": 712, "tax": 85.51 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Nzk3LjUxLCJiYXNlX2ZhcmUiOjcxMiwidGF4Ijo4NS41MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjc5Ny41MSwiYmFzZV9mYXJlIjo3MTIsInRheCI6ODUuNTEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Nzk3LjUxLCJiYXNlX2ZhcmUiOjcxMiwidGF4Ijo4NS41MX19", "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": 797.51, "base_fare": 712, "tax": 85.51, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "712.00", "tax": "85.51", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 797.51, "base_fare": 712, "tax": 85.51, "gross": { "base_fare": "712.00", "tax": "85.51", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5Ny41MSIsImJhc2VfZmFyZSI6IjcxMi4wMCIsInRheCI6Ijg1LjUxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNzEyLjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI3OTcuNTEiLCJiYXNlX2ZhcmUiOiI3MTIuMDAiLCJ0YXgiOiI4NS41MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjcxMi4wMCIsInRheCI6Ijg1LjUxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiNzk3LjUxIiwiYmFzZV9mYXJlIjoiNzEyLjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6Nzk3LjUxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 797.51, "filter": { "id": "F1MS00008-67", "price": 797.51, "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": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311125cdg2026073112551331cdg202608011230rak2026080114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-68", "journey_type": "OneWay", "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-68", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT10H25M", "transit_time": "PT10H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p24", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T22:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "booking_class": { "cabin_class": "Bus Flex Premium", "cabin_code": "BFLEX", "booking_code": "BFLEX", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "CMN", "departure_time": "2026-08-01T08:30:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T09:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT0H50M", "distance": 124, "lay_over": "PT10H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "booking_class": { "cabin_class": "Bus Flex Premium", "cabin_code": "BFLEX", "booking_code": "BFLEX", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": 798.06, "gross_total": 798.06, "base_fare": 655, "tax": 143.06, "sell": { "currency": "EUR", "total": 798.06, "base_fare": 655, "tax": 143.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Nzk4LjA2LCJiYXNlX2ZhcmUiOjY1NSwidGF4IjoxNDMuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3OTguMDYsImJhc2VfZmFyZSI6NjU1LCJ0YXgiOjE0My4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3OTguMDYsImJhc2VfZmFyZSI6NjU1LCJ0YXgiOjE0My4wNn19", "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": 798.06, "base_fare": 655, "tax": 143.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "655.00", "tax": "143.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 798.06, "base_fare": 655, "tax": 143.06, "gross": { "base_fare": "655.00", "tax": "143.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo3OTguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 798.06, "filter": { "id": "F1MS00008-68", "price": 798.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Bus Flex Premium", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:55:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T09:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311955cmn202607312205951cmn202608010830rak202608010920409", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-69", "journey_type": "OneWay", "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-69", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT13H55M", "transit_time": "PT13H55M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o4", "productId": "p25", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T22:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "951" }, "booking_class": { "cabin_class": "Bus Flex Premium", "cabin_code": "BFLEX", "booking_code": "BFLEX", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "CMN", "departure_time": "2026-08-01T12:00:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T13:05:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H5M", "distance": 124, "lay_over": "PT13H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "AT7", "name": "Alenia ATR 72", "picture": "AT7.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "411" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "411" }, "booking_class": { "cabin_class": "Bus Flex Premium", "cabin_code": "BFLEX", "booking_code": "BFLEX", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": 798.06, "gross_total": 798.06, "base_fare": 655, "tax": 143.06, "sell": { "currency": "EUR", "total": 798.06, "base_fare": 655, "tax": 143.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Nzk4LjA2LCJiYXNlX2ZhcmUiOjY1NSwidGF4IjoxNDMuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3OTguMDYsImJhc2VfZmFyZSI6NjU1LCJ0YXgiOjE0My4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3OTguMDYsImJhc2VfZmFyZSI6NjU1LCJ0YXgiOjE0My4wNn19", "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": 798.06, "base_fare": 655, "tax": 143.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "655.00", "tax": "143.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 798.06, "base_fare": 655, "tax": 143.06, "gross": { "base_fare": "655.00", "tax": "143.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo3OTguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 798.06, "filter": { "id": "F1MS00008-69", "price": 798.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Bus Flex Premium", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:55:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T13:05:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311955cmn202607312205951cmn202608011200rak202608011305411", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-70", "journey_type": "OneWay", "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-70", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H30M", "transit_time": "PT1H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p34", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T15:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "booking_class": { "cabin_class": "Bus Flex Premium", "cabin_code": "BFLEX", "booking_code": "BFLEX", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "CMN", "departure_time": "2026-07-31T16:35:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-07-31T17:40:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT1H5M", "distance": 124, "lay_over": "PT01H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "AT7", "name": "Alenia ATR 72", "picture": "AT7.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "413" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "413" }, "booking_class": { "cabin_class": "Bus Flex Premium", "cabin_code": "BFLEX", "booking_code": "BFLEX", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": 798.06, "gross_total": 798.06, "base_fare": 655, "tax": 143.06, "sell": { "currency": "EUR", "total": 798.06, "base_fare": 655, "tax": 143.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Nzk4LjA2LCJiYXNlX2ZhcmUiOjY1NSwidGF4IjoxNDMuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3OTguMDYsImJhc2VfZmFyZSI6NjU1LCJ0YXgiOjE0My4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3OTguMDYsImJhc2VfZmFyZSI6NjU1LCJ0YXgiOjE0My4wNn19", "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": 798.06, "base_fare": 655, "tax": 143.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "655.00", "tax": "143.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 798.06, "base_fare": 655, "tax": 143.06, "gross": { "base_fare": "655.00", "tax": "143.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo3OTguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 798.06, "filter": { "id": "F1MS00008-70", "price": 798.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Bus Flex Premium", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T12:55:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-07-31T17:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311255cmn202607311505955cmn202607311635rak202607311740413", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-71", "journey_type": "OneWay", "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-71", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT17H25M", "transit_time": "PT17H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o5", "productId": "p35", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T15:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "booking_class": { "cabin_class": "Bus Flex Premium", "cabin_code": "BFLEX", "booking_code": "BFLEX", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "CMN", "departure_time": "2026-08-01T08:30:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-08-01T09:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT0H50M", "distance": 124, "lay_over": "PT17H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "409" }, "booking_class": { "cabin_class": "Bus Flex Premium", "cabin_code": "BFLEX", "booking_code": "BFLEX", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": 798.06, "gross_total": 798.06, "base_fare": 655, "tax": 143.06, "sell": { "currency": "EUR", "total": 798.06, "base_fare": 655, "tax": 143.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Nzk4LjA2LCJiYXNlX2ZhcmUiOjY1NSwidGF4IjoxNDMuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3OTguMDYsImJhc2VfZmFyZSI6NjU1LCJ0YXgiOjE0My4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3OTguMDYsImJhc2VfZmFyZSI6NjU1LCJ0YXgiOjE0My4wNn19", "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": 798.06, "base_fare": 655, "tax": 143.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "655.00", "tax": "143.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 798.06, "base_fare": 655, "tax": 143.06, "gross": { "base_fare": "655.00", "tax": "143.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo3OTguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 798.06, "filter": { "id": "F1MS00008-71", "price": 798.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Bus Flex Premium", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T12:55:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T09:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311255cmn202607311505955cmn202608010830rak202608010920409", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-72", "journey_type": "OneWay", "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-72", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT7H30M", "transit_time": "PT7H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o18", "productId": "p88", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CMN", "arrival_time": "2026-07-31T15:05:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H10M", "distance": 1227, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "73H", "name": "Boeing 737", "picture": "73H.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "955" }, "booking_class": { "cabin_class": "Bus Flex Premium", "cabin_code": "BFLEX", "booking_code": "BFLEX", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "CMN", "departure_time": "2026-07-31T22:35:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "RAK", "arrival_time": "2026-07-31T23:40:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT1H5M", "distance": 124, "lay_over": "PT07H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "AT7", "name": "Alenia ATR 72", "picture": "AT7.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "403" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "403" }, "booking_class": { "cabin_class": "Bus Flex Premium", "cabin_code": "BFLEX", "booking_code": "BFLEX", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": 798.06, "gross_total": 798.06, "base_fare": 655, "tax": 143.06, "sell": { "currency": "EUR", "total": 798.06, "base_fare": 655, "tax": 143.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Nzk4LjA2LCJiYXNlX2ZhcmUiOjY1NSwidGF4IjoxNDMuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3OTguMDYsImJhc2VfZmFyZSI6NjU1LCJ0YXgiOjE0My4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3OTguMDYsImJhc2VfZmFyZSI6NjU1LCJ0YXgiOjE0My4wNn19", "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": 798.06, "base_fare": 655, "tax": 143.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "655.00", "tax": "143.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 798.06, "base_fare": 655, "tax": 143.06, "gross": { "base_fare": "655.00", "tax": "143.06", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijc5OC4wNiIsImJhc2VfZmFyZSI6IjY1NS4wMCIsInRheCI6IjE0My4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo3OTguMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 798.06, "filter": { "id": "F1MS00008-72", "price": 798.06, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "73H", "aircraft_name": "Boeing 737", "cabin_class": "Bus Flex Premium", "connecting_airport": [ "CMN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T12:55:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-31T23:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311255cmn202607311505955cmn202607312235rak202607312340403", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-73", "journey_type": "OneWay", "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-73", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT8H0M", "transit_time": "PT8H0M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o15", "productId": "p74", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T12:55:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "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": "1331" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1331" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BIZFLEX", "booking_code": "BIZFLEX", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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-07-31T20:55:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T23:15:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H20M", "distance": 1312, "lay_over": "PT08H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BIZFLEX", "booking_code": "BIZFLEX", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 822.27, "gross_total": 822.27, "base_fare": 747, "tax": 75.27, "sell": { "currency": "EUR", "total": 822.27, "base_fare": 747, "tax": 75.27 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODIyLjI3LCJiYXNlX2ZhcmUiOjc0NywidGF4Ijo3NS4yN30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjgyMi4yNywiYmFzZV9mYXJlIjo3NDcsInRheCI6NzUuMjcsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODIyLjI3LCJiYXNlX2ZhcmUiOjc0NywidGF4Ijo3NS4yN319", "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": 822.27, "base_fare": 747, "tax": 75.27, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "747.00", "tax": "75.27", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 822.27, "base_fare": 747, "tax": 75.27, "gross": { "base_fare": "747.00", "tax": "75.27", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjgyMi4yNyIsImJhc2VfZmFyZSI6Ijc0Ny4wMCIsInRheCI6Ijc1LjI3IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNzQ3LjAwIiwidGF4IjoiNzUuMjciLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI4MjIuMjciLCJiYXNlX2ZhcmUiOiI3NDcuMDAiLCJ0YXgiOiI3NS4yNyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6Ijc0Ny4wMCIsInRheCI6Ijc1LjI3IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiODIyLjI3IiwiYmFzZV9mYXJlIjoiNzQ3LjAwIiwidGF4IjoiNzUuMjciLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6ODIyLjI3LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 822.27, "filter": { "id": "F1MS00008-73", "price": 822.27, "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": "Business Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:25:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-31T23:15:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311125cdg2026073112551331cdg202607312055rak2026073123151776", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-74", "journey_type": "OneWay", "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-74", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT12H30M", "transit_time": "PT12H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o16", "productId": "p80", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T08:25:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H40M", "distance": 392, "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": "1131" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1131" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BIZFLEX", "booking_code": "BIZFLEX", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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-07-31T20:55:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T23:15:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H20M", "distance": 1312, "lay_over": "PT12H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1776" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BIZFLEX", "booking_code": "BIZFLEX", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 833.26, "gross_total": 833.26, "base_fare": 747, "tax": 86.26, "sell": { "currency": "EUR", "total": 833.26, "base_fare": 747, "tax": 86.26 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODMzLjI2LCJiYXNlX2ZhcmUiOjc0NywidGF4Ijo4Ni4yNn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjgzMy4yNiwiYmFzZV9mYXJlIjo3NDcsInRheCI6ODYuMjYsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODMzLjI2LCJiYXNlX2ZhcmUiOjc0NywidGF4Ijo4Ni4yNn19", "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": 833.26, "base_fare": 747, "tax": 86.26, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "747.00", "tax": "86.26", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 833.26, "base_fare": 747, "tax": 86.26, "gross": { "base_fare": "747.00", "tax": "86.26", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjgzMy4yNiIsImJhc2VfZmFyZSI6Ijc0Ny4wMCIsInRheCI6Ijg2LjI2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNzQ3LjAwIiwidGF4IjoiODYuMjYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI4MzMuMjYiLCJiYXNlX2ZhcmUiOiI3NDcuMDAiLCJ0YXgiOiI4Ni4yNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6Ijc0Ny4wMCIsInRheCI6Ijg2LjI2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiODMzLjI2IiwiYmFzZV9mYXJlIjoiNzQ3LjAwIiwidGF4IjoiODYuMjYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6ODMzLjI2LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 833.26, "filter": { "id": "F1MS00008-74", "price": 833.26, "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": "Business Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:45:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-31T23:15:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310645cdg2026073108251131cdg202607312055rak2026073123151776", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-75", "journey_type": "OneWay", "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-75", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT16H25M", "transit_time": "PT16H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o19", "productId": "p91", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T18:35:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T20:05:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1731" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1731" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD", "booking_code": "STANDARD", "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-08-01T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-08-01T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT16H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD", "booking_code": "STANDARD", "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": 844.51, "gross_total": 844.51, "base_fare": 759, "tax": 85.51, "sell": { "currency": "EUR", "total": 844.51, "base_fare": 759, "tax": 85.51 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODQ0LjUxLCJiYXNlX2ZhcmUiOjc1OSwidGF4Ijo4NS41MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjg0NC41MSwiYmFzZV9mYXJlIjo3NTksInRheCI6ODUuNTEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODQ0LjUxLCJiYXNlX2ZhcmUiOjc1OSwidGF4Ijo4NS41MX19", "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": 844.51, "base_fare": 759, "tax": 85.51, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "759.00", "tax": "85.51", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 844.51, "base_fare": 759, "tax": 85.51, "gross": { "base_fare": "759.00", "tax": "85.51", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijg0NC41MSIsImJhc2VfZmFyZSI6Ijc1OS4wMCIsInRheCI6Ijg1LjUxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNzU5LjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI4NDQuNTEiLCJiYXNlX2ZhcmUiOiI3NTkuMDAiLCJ0YXgiOiI4NS41MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6Ijc1OS4wMCIsInRheCI6Ijg1LjUxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiODQ0LjUxIiwiYmFzZV9mYXJlIjoiNzU5LjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6ODQ0LjUxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 844.51, "filter": { "id": "F1MS00008-75", "price": 844.51, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T18:35:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311835cdg2026073120051731cdg202608011230rak2026080114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-76", "journey_type": "OneWay", "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-76", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H35M", "transit_time": "PT23H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o19", "productId": "p92", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T12:55:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "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": "1331" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1331" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD", "booking_code": "STANDARD", "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-08-01T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-08-01T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT23H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Standard", "cabin_code": "STANDARD", "booking_code": "STANDARD", "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": 844.51, "gross_total": 844.51, "base_fare": 759, "tax": 85.51, "sell": { "currency": "EUR", "total": 844.51, "base_fare": 759, "tax": 85.51 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODQ0LjUxLCJiYXNlX2ZhcmUiOjc1OSwidGF4Ijo4NS41MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjg0NC41MSwiYmFzZV9mYXJlIjo3NTksInRheCI6ODUuNTEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODQ0LjUxLCJiYXNlX2ZhcmUiOjc1OSwidGF4Ijo4NS41MX19", "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": 844.51, "base_fare": 759, "tax": 85.51, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "759.00", "tax": "85.51", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 844.51, "base_fare": 759, "tax": 85.51, "gross": { "base_fare": "759.00", "tax": "85.51", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijg0NC41MSIsImJhc2VfZmFyZSI6Ijc1OS4wMCIsInRheCI6Ijg1LjUxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNzU5LjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI4NDQuNTEiLCJiYXNlX2ZhcmUiOiI3NTkuMDAiLCJ0YXgiOiI4NS41MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6Ijc1OS4wMCIsInRheCI6Ijg1LjUxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiODQ0LjUxIiwiYmFzZV9mYXJlIjoiNzU5LjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6ODQ0LjUxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 844.51, "filter": { "id": "F1MS00008-76", "price": 844.51, "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": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311125cdg2026073112551331cdg202608011230rak2026080114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-77", "journey_type": "OneWay", "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-77", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT22H30M", "transit_time": "PT22H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o11", "productId": "p52", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T10:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "MAD", "arrival_time": "2026-07-31T12:50:00", "destination_terminal": "4", "destination_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 736, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "672" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "672" }, "booking_class": { "cabin_class": "Business Fully Flexible", "cabin_code": "BUSFULLFLX", "booking_code": "BUSFULLFLX", "meal_code": null, "seat_available": 6 }, "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": "MAD", "departure_time": "2026-08-01T11:20:00", "origin_terminal": "4S", "origin_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T12:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H0M", "distance": 661, "lay_over": "PT22H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "booking_class": { "cabin_class": "Business Fully Flexible", "cabin_code": "BUSFULLFLX", "booking_code": "BUSFULLFLX", "meal_code": null, "seat_available": 6 }, "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": 897.81, "gross_total": 897.81, "base_fare": 850, "tax": 47.81, "sell": { "currency": "EUR", "total": 897.81, "base_fare": 850, "tax": 47.81 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODk3LjgxLCJiYXNlX2ZhcmUiOjg1MCwidGF4Ijo0Ny44MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjg5Ny44MSwiYmFzZV9mYXJlIjo4NTAsInRheCI6NDcuODEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODk3LjgxLCJiYXNlX2ZhcmUiOjg1MCwidGF4Ijo0Ny44MX19", "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": 897.81, "base_fare": 850, "tax": 47.81, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "850.00", "tax": "47.81", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 897.81, "base_fare": 850, "tax": 47.81, "gross": { "base_fare": "850.00", "tax": "47.81", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijg5Ny44MSIsImJhc2VfZmFyZSI6Ijg1MC4wMCIsInRheCI6IjQ3LjgxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiODUwLjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI4OTcuODEiLCJiYXNlX2ZhcmUiOiI4NTAuMDAiLCJ0YXgiOiI0Ny44MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6Ijg1MC4wMCIsInRheCI6IjQ3LjgxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiODk3LjgxIiwiYmFzZV9mYXJlIjoiODUwLjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6ODk3LjgxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 897.81, "filter": { "id": "F1MS00008-77", "price": 897.81, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "IB", "carrier_marketing": "IB", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Business Fully Flexible", "connecting_airport": [ "MAD" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T10:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T12:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311025mad202607311250672mad202608011120rak2026080112201851", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-78", "journey_type": "OneWay", "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-78", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT13H50M", "transit_time": "PT13H50M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o13", "productId": "p61", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:05:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "MAD", "arrival_time": "2026-07-31T21:30:00", "destination_terminal": "4", "destination_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 736, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "676" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "676" }, "booking_class": { "cabin_class": "Business Fully Flexible", "cabin_code": "BUSFULLFLX", "booking_code": "BUSFULLFLX", "meal_code": null, "seat_available": 6 }, "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": "MAD", "departure_time": "2026-08-01T11:20:00", "origin_terminal": "4S", "origin_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T12:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H0M", "distance": 661, "lay_over": "PT13H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "booking_class": { "cabin_class": "Business Fully Flexible", "cabin_code": "BUSFULLFLX", "booking_code": "BUSFULLFLX", "meal_code": null, "seat_available": 6 }, "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": 897.81, "gross_total": 897.81, "base_fare": 850, "tax": 47.81, "sell": { "currency": "EUR", "total": 897.81, "base_fare": 850, "tax": 47.81 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODk3LjgxLCJiYXNlX2ZhcmUiOjg1MCwidGF4Ijo0Ny44MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjg5Ny44MSwiYmFzZV9mYXJlIjo4NTAsInRheCI6NDcuODEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODk3LjgxLCJiYXNlX2ZhcmUiOjg1MCwidGF4Ijo0Ny44MX19", "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": 897.81, "base_fare": 850, "tax": 47.81, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "850.00", "tax": "47.81", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 897.81, "base_fare": 850, "tax": 47.81, "gross": { "base_fare": "850.00", "tax": "47.81", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijg5Ny44MSIsImJhc2VfZmFyZSI6Ijg1MC4wMCIsInRheCI6IjQ3LjgxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiODUwLjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI4OTcuODEiLCJiYXNlX2ZhcmUiOiI4NTAuMDAiLCJ0YXgiOiI0Ny44MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6Ijg1MC4wMCIsInRheCI6IjQ3LjgxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiODk3LjgxIiwiYmFzZV9mYXJlIjoiODUwLjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6ODk3LjgxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 897.81, "filter": { "id": "F1MS00008-78", "price": 897.81, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "IB", "carrier_marketing": "IB", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Business Fully Flexible", "connecting_airport": [ "MAD" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:05:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T12:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311905mad202607312130676mad202608011120rak2026080112201851", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-79", "journey_type": "OneWay", "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-79", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT18H30M", "transit_time": "PT18H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o13", "productId": "p62", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T14:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "MAD", "arrival_time": "2026-07-31T16:50:00", "destination_terminal": "4S", "destination_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 736, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "674" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "674" }, "booking_class": { "cabin_class": "Business Fully Flexible", "cabin_code": "BUSFULLFLX", "booking_code": "BUSFULLFLX", "meal_code": null, "seat_available": 6 }, "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": "MAD", "departure_time": "2026-08-01T11:20:00", "origin_terminal": "4S", "origin_airport": { "name": "Adolfo Suarez Madrid-Barajas Airport", "city": "Madrid", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T12:20:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H0M", "distance": 661, "lay_over": "PT18H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "marketing": { "carrier": "IB", "carrier_name": "Iberia", "carrier_logo": "IB.png", "flight_number": "1851" }, "booking_class": { "cabin_class": "Business Fully Flexible", "cabin_code": "BUSFULLFLX", "booking_code": "BUSFULLFLX", "meal_code": null, "seat_available": 6 }, "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": 897.81, "gross_total": 897.81, "base_fare": 850, "tax": 47.81, "sell": { "currency": "EUR", "total": 897.81, "base_fare": 850, "tax": 47.81 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODk3LjgxLCJiYXNlX2ZhcmUiOjg1MCwidGF4Ijo0Ny44MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjg5Ny44MSwiYmFzZV9mYXJlIjo4NTAsInRheCI6NDcuODEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6ODk3LjgxLCJiYXNlX2ZhcmUiOjg1MCwidGF4Ijo0Ny44MX19", "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": 897.81, "base_fare": 850, "tax": 47.81, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "850.00", "tax": "47.81", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 897.81, "base_fare": 850, "tax": 47.81, "gross": { "base_fare": "850.00", "tax": "47.81", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Ijg5Ny44MSIsImJhc2VfZmFyZSI6Ijg1MC4wMCIsInRheCI6IjQ3LjgxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiODUwLjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI4OTcuODEiLCJiYXNlX2ZhcmUiOiI4NTAuMDAiLCJ0YXgiOiI0Ny44MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6Ijg1MC4wMCIsInRheCI6IjQ3LjgxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiODk3LjgxIiwiYmFzZV9mYXJlIjoiODUwLjAwIiwidGF4IjoiNDcuODEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6ODk3LjgxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 897.81, "filter": { "id": "F1MS00008-79", "price": 897.81, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "IB", "carrier_marketing": "IB", "aircraft": "320", "aircraft_name": "Airbus A320", "cabin_class": "Business Fully Flexible", "connecting_airport": [ "MAD" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T14:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T12:20:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311425mad202607311650674mad202608011120rak2026080112201851", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-80", "journey_type": "OneWay", "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-80", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT4H5M", "transit_time": "PT4H5M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o15", "productId": "p73", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T08:25:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H40M", "distance": 392, "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": "1131" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1131" }, "booking_class": { "cabin_class": "Business Standard", "cabin_code": "BIZSTAND", "booking_code": "BIZSTAND", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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-07-31T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT04H05M", "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": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Business Standard", "cabin_code": "BIZSTAND", "booking_code": "BIZSTAND", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 902.27, "gross_total": 902.27, "base_fare": 827, "tax": 75.27, "sell": { "currency": "EUR", "total": 902.27, "base_fare": 827, "tax": 75.27 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6OTAyLjI3LCJiYXNlX2ZhcmUiOjgyNywidGF4Ijo3NS4yN30sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjkwMi4yNywiYmFzZV9mYXJlIjo4MjcsInRheCI6NzUuMjcsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6OTAyLjI3LCJiYXNlX2ZhcmUiOjgyNywidGF4Ijo3NS4yN319", "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": 902.27, "base_fare": 827, "tax": 75.27, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "827.00", "tax": "75.27", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 902.27, "base_fare": 827, "tax": 75.27, "gross": { "base_fare": "827.00", "tax": "75.27", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjkwMi4yNyIsImJhc2VfZmFyZSI6IjgyNy4wMCIsInRheCI6Ijc1LjI3IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiODI3LjAwIiwidGF4IjoiNzUuMjciLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI5MDIuMjciLCJiYXNlX2ZhcmUiOiI4MjcuMDAiLCJ0YXgiOiI3NS4yNyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjgyNy4wMCIsInRheCI6Ijc1LjI3IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiOTAyLjI3IiwiYmFzZV9mYXJlIjoiODI3LjAwIiwidGF4IjoiNzUuMjciLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6OTAyLjI3LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 902.27, "filter": { "id": "F1MS00008-80", "price": 902.27, "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": "Business Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:45:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-31T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310645cdg2026073108251131cdg202607311230rak2026073114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-81", "journey_type": "OneWay", "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-81", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT16H25M", "transit_time": "PT16H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o19", "productId": "p93", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T18:35:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T20:05:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1731" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1731" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX", "booking_code": "FLEX", "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-08-01T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-08-01T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT16H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX", "booking_code": "FLEX", "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": 933.51, "gross_total": 933.51, "base_fare": 848, "tax": 85.51, "sell": { "currency": "EUR", "total": 933.51, "base_fare": 848, "tax": 85.51 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6OTMzLjUxLCJiYXNlX2ZhcmUiOjg0OCwidGF4Ijo4NS41MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjkzMy41MSwiYmFzZV9mYXJlIjo4NDgsInRheCI6ODUuNTEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6OTMzLjUxLCJiYXNlX2ZhcmUiOjg0OCwidGF4Ijo4NS41MX19", "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": 933.51, "base_fare": 848, "tax": 85.51, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "848.00", "tax": "85.51", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 933.51, "base_fare": 848, "tax": 85.51, "gross": { "base_fare": "848.00", "tax": "85.51", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjkzMy41MSIsImJhc2VfZmFyZSI6Ijg0OC4wMCIsInRheCI6Ijg1LjUxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiODQ4LjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI5MzMuNTEiLCJiYXNlX2ZhcmUiOiI4NDguMDAiLCJ0YXgiOiI4NS41MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6Ijg0OC4wMCIsInRheCI6Ijg1LjUxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiOTMzLjUxIiwiYmFzZV9mYXJlIjoiODQ4LjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6OTMzLjUxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 933.51, "filter": { "id": "F1MS00008-81", "price": 933.51, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T18:35:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311835cdg2026073120051731cdg202608011230rak2026080114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-82", "journey_type": "OneWay", "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-82", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H35M", "transit_time": "PT23H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o19", "productId": "p94", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T12:55:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "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": "1331" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1331" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX", "booking_code": "FLEX", "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-08-01T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-08-01T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT23H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Flex", "cabin_code": "FLEX", "booking_code": "FLEX", "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": 933.51, "gross_total": 933.51, "base_fare": 848, "tax": 85.51, "sell": { "currency": "EUR", "total": 933.51, "base_fare": 848, "tax": 85.51 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6OTMzLjUxLCJiYXNlX2ZhcmUiOjg0OCwidGF4Ijo4NS41MX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjkzMy41MSwiYmFzZV9mYXJlIjo4NDgsInRheCI6ODUuNTEsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6OTMzLjUxLCJiYXNlX2ZhcmUiOjg0OCwidGF4Ijo4NS41MX19", "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": 933.51, "base_fare": 848, "tax": 85.51, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "848.00", "tax": "85.51", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 933.51, "base_fare": 848, "tax": 85.51, "gross": { "base_fare": "848.00", "tax": "85.51", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjkzMy41MSIsImJhc2VfZmFyZSI6Ijg0OC4wMCIsInRheCI6Ijg1LjUxIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiODQ4LjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiI5MzMuNTEiLCJiYXNlX2ZhcmUiOiI4NDguMDAiLCJ0YXgiOiI4NS41MSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6Ijg0OC4wMCIsInRheCI6Ijg1LjUxIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiOTMzLjUxIiwiYmFzZV9mYXJlIjoiODQ4LjAwIiwidGF4IjoiODUuNTEiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6OTMzLjUxLCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 933.51, "filter": { "id": "F1MS00008-82", "price": 933.51, "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": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311125cdg2026073112551331cdg202608011230rak2026080114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-83", "journey_type": "OneWay", "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-83", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT4H5M", "transit_time": "PT4H5M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o15", "productId": "p75", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T08:25:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H40M", "distance": 392, "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": "1131" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1131" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BIZFLEX", "booking_code": "BIZFLEX", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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-07-31T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-07-31T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT04H05M", "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": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BIZFLEX", "booking_code": "BIZFLEX", "meal_code": null, "seat_available": 1 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1012.27, "gross_total": 1012.27, "base_fare": 937, "tax": 75.27, "sell": { "currency": "EUR", "total": 1012.27, "base_fare": 937, "tax": 75.27 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTAxMi4yNywiYmFzZV9mYXJlIjo5MzcsInRheCI6NzUuMjd9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoxMDEyLjI3LCJiYXNlX2ZhcmUiOjkzNywidGF4Ijo3NS4yNywiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoxMDEyLjI3LCJiYXNlX2ZhcmUiOjkzNywidGF4Ijo3NS4yN319", "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": 1012.27, "base_fare": 937, "tax": 75.27, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "937.00", "tax": "75.27", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1012.27, "base_fare": 937, "tax": 75.27, "gross": { "base_fare": "937.00", "tax": "75.27", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEwMTIuMjciLCJiYXNlX2ZhcmUiOiI5MzcuMDAiLCJ0YXgiOiI3NS4yNyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjkzNy4wMCIsInRheCI6Ijc1LjI3IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCJ9LCJjb25maWciOnsibWFya3VwX3R5cGUiOm51bGwsIm1hcmt1cF90aXRsZSI6bnVsbCwicmV2ZW51ZSI6IjAuMDAiLCJ0aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsInRvdGFsX3RpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwiY3VycmVuY3lFeGNoYW5nZVJhdGUiOiIxLjAwIiwiRk1HX092ZXJ3cml0ZVJ1bGVzIjpbXX19LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTAxMi4yNyIsImJhc2VfZmFyZSI6IjkzNy4wMCIsInRheCI6Ijc1LjI3IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiOTM3LjAwIiwidGF4IjoiNzUuMjciLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOjAsInBlcl9zZWdtZW50X2Rpc2NvdW50IjowLCJzZWdtZW50X2Rpc2NvdW50IjoiMC4wMCIsInN1cHBsaWVyX3NlZ21lbnRfZmVlc0NhbGN1bGF0ZSI6bnVsbCwic2VnbWVudF9kaXNjb3VudF9hY2NvdW50UHVycG9zZSI6bnVsbH19LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxMDEyLjI3IiwiYmFzZV9mYXJlIjoiOTM3LjAwIiwidGF4IjoiNzUuMjciLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6MTAxMi4yNywidGF4QnJlYWtkb3duIjp7IkJEIjp7ImFtb3VudCI6IjAuMDAifSwiVVQiOnsiYW1vdW50IjoiMC4wMCJ9LCJFNSI6eyJhbW91bnQiOiIwLjAwIn0sIllRIjp7ImFtb3VudCI6IjAuMDAifSwiWVIiOnsiYW1vdW50IjoiMC4wMCJ9LCJPdGhlciI6eyJhbW91bnQiOiIwLjAwIn0sInN1cHBsaWVyVGF4RGF0YSI6W119fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1012.27, "filter": { "id": "F1MS00008-83", "price": 1012.27, "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": "Business Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:45:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-31T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310645cdg2026073108251131cdg202607311230rak2026073114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-84", "journey_type": "OneWay", "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-84", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT17H10M", "transit_time": "PT17H10M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o20", "productId": "p99", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T15:15:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "IST", "arrival_time": "2026-07-31T19:15:00", "destination_terminal": null, "destination_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-31", "flight_time": "PT4H0M", "distance": 1036, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1896" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1896" }, "booking_class": { "cabin_class": "Flexible", "cabin_code": "FX", "booking_code": "FX", "meal_code": null, "seat_available": 2 }, "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": "IST", "departure_time": "2026-08-01T12:25:00", "origin_terminal": null, "origin_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "RAK", "arrival_time": "2026-08-01T15:40:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT3H15M", "distance": 2141, "lay_over": "PT17H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "Boeing 737Max", "picture": "7M8.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "booking_class": { "cabin_class": "Flexible", "cabin_code": "FX", "booking_code": "FX", "meal_code": null, "seat_available": 2 }, "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": 1030.86, "gross_total": 1030.86, "base_fare": 845, "tax": 185.86, "sell": { "currency": "EUR", "total": 1030.86, "base_fare": 845, "tax": 185.86 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTAzMC44NiwiYmFzZV9mYXJlIjo4NDUsInRheCI6MTg1Ljg2fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTAzMC44NiwiYmFzZV9mYXJlIjo4NDUsInRheCI6MTg1Ljg2LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjEwMzAuODYsImJhc2VfZmFyZSI6ODQ1LCJ0YXgiOjE4NS44Nn19", "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": 1030.86, "base_fare": 845, "tax": 185.86, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "845.00", "tax": "185.86", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1030.86, "base_fare": 845, "tax": 185.86, "gross": { "base_fare": "845.00", "tax": "185.86", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEwMzAuODYiLCJiYXNlX2ZhcmUiOiI4NDUuMDAiLCJ0YXgiOiIxODUuODYiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiI4NDUuMDAiLCJ0YXgiOiIxODUuODYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxMDMwLjg2IiwiYmFzZV9mYXJlIjoiODQ1LjAwIiwidGF4IjoiMTg1Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiODQ1LjAwIiwidGF4IjoiMTg1Ljg2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTAzMC44NiIsImJhc2VfZmFyZSI6Ijg0NS4wMCIsInRheCI6IjE4NS44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxMDMwLjg2LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1030.86, "filter": { "id": "F1MS00008-84", "price": 1030.86, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TK", "carrier_marketing": "TK", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Flexible", "connecting_airport": [ "IST" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T15:15:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311515ist2026073119151896ist202608011225rak202608011540619", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-85", "journey_type": "OneWay", "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-85", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT16H25M", "transit_time": "PT16H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o19", "productId": "p95", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T18:35:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T20:05:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1731" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1731" }, "booking_class": { "cabin_class": "Business Standard", "cabin_code": "BIZSTAND", "booking_code": "BIZSTAND", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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-08-01T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-08-01T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT16H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Business Standard", "cabin_code": "BIZSTAND", "booking_code": "BIZSTAND", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1178.26, "gross_total": 1178.26, "base_fare": 1092, "tax": 86.26, "sell": { "currency": "EUR", "total": 1178.26, "base_fare": 1092, "tax": 86.26 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTE3OC4yNiwiYmFzZV9mYXJlIjoxMDkyLCJ0YXgiOjg2LjI2fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTE3OC4yNiwiYmFzZV9mYXJlIjoxMDkyLCJ0YXgiOjg2LjI2LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjExNzguMjYsImJhc2VfZmFyZSI6MTA5MiwidGF4Ijo4Ni4yNn19", "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": 1178.26, "base_fare": 1092, "tax": 86.26, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1092.00", "tax": "86.26", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1178.26, "base_fare": 1092, "tax": 86.26, "gross": { "base_fare": "1092.00", "tax": "86.26", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjExNzguMjYiLCJiYXNlX2ZhcmUiOiIxMDkyLjAwIiwidGF4IjoiODYuMjYiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiIxMDkyLjAwIiwidGF4IjoiODYuMjYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxMTc4LjI2IiwiYmFzZV9mYXJlIjoiMTA5Mi4wMCIsInRheCI6Ijg2LjI2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA5Mi4wMCIsInRheCI6Ijg2LjI2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTE3OC4yNiIsImJhc2VfZmFyZSI6IjEwOTIuMDAiLCJ0YXgiOiI4Ni4yNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxMTc4LjI2LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1178.26, "filter": { "id": "F1MS00008-85", "price": 1178.26, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Business Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T18:35:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311835cdg2026073120051731cdg202608011230rak2026080114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-86", "journey_type": "OneWay", "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-86", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H35M", "transit_time": "PT23H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o19", "productId": "p96", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T12:55:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "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": "1331" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1331" }, "booking_class": { "cabin_class": "Business Standard", "cabin_code": "BIZSTAND", "booking_code": "BIZSTAND", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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-08-01T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-08-01T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT23H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Business Standard", "cabin_code": "BIZSTAND", "booking_code": "BIZSTAND", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1178.26, "gross_total": 1178.26, "base_fare": 1092, "tax": 86.26, "sell": { "currency": "EUR", "total": 1178.26, "base_fare": 1092, "tax": 86.26 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTE3OC4yNiwiYmFzZV9mYXJlIjoxMDkyLCJ0YXgiOjg2LjI2fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTE3OC4yNiwiYmFzZV9mYXJlIjoxMDkyLCJ0YXgiOjg2LjI2LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjExNzguMjYsImJhc2VfZmFyZSI6MTA5MiwidGF4Ijo4Ni4yNn19", "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": 1178.26, "base_fare": 1092, "tax": 86.26, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1092.00", "tax": "86.26", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1178.26, "base_fare": 1092, "tax": 86.26, "gross": { "base_fare": "1092.00", "tax": "86.26", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjExNzguMjYiLCJiYXNlX2ZhcmUiOiIxMDkyLjAwIiwidGF4IjoiODYuMjYiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiIxMDkyLjAwIiwidGF4IjoiODYuMjYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxMTc4LjI2IiwiYmFzZV9mYXJlIjoiMTA5Mi4wMCIsInRheCI6Ijg2LjI2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA5Mi4wMCIsInRheCI6Ijg2LjI2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTE3OC4yNiIsImJhc2VfZmFyZSI6IjEwOTIuMDAiLCJ0YXgiOiI4Ni4yNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxMTc4LjI2LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1178.26, "filter": { "id": "F1MS00008-86", "price": 1178.26, "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": "Business Standard", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311125cdg2026073112551331cdg202608011230rak2026080114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-87", "journey_type": "OneWay", "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-87", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H35M", "transit_time": "PT1H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o14", "productId": "p64", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:50:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "IST", "arrival_time": "2026-07-31T10:50:00", "destination_terminal": null, "destination_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-31", "flight_time": "PT4H0M", "distance": 1036, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1878" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1878" }, "booking_class": { "cabin_class": "Business Restricted", "cabin_code": "BX", "booking_code": "BX", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "IST", "departure_time": "2026-07-31T12:25:00", "origin_terminal": null, "origin_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "RAK", "arrival_time": "2026-07-31T15:40:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT3H15M", "distance": 2141, "lay_over": "PT01H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "Boeing 737Max", "picture": "7M8.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "booking_class": { "cabin_class": "Business Restricted", "cabin_code": "BX", "booking_code": "BX", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1186.86, "gross_total": 1186.86, "base_fare": 872, "tax": 314.86, "sell": { "currency": "EUR", "total": 1186.86, "base_fare": 872, "tax": 314.86 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTE4Ni44NiwiYmFzZV9mYXJlIjo4NzIsInRheCI6MzE0Ljg2fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTE4Ni44NiwiYmFzZV9mYXJlIjo4NzIsInRheCI6MzE0Ljg2LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjExODYuODYsImJhc2VfZmFyZSI6ODcyLCJ0YXgiOjMxNC44Nn19", "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": 1186.86, "base_fare": 872, "tax": 314.86, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "872.00", "tax": "314.86", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1186.86, "base_fare": 872, "tax": 314.86, "gross": { "base_fare": "872.00", "tax": "314.86", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjExODYuODYiLCJiYXNlX2ZhcmUiOiI4NzIuMDAiLCJ0YXgiOiIzMTQuODYiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiI4NzIuMDAiLCJ0YXgiOiIzMTQuODYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxMTg2Ljg2IiwiYmFzZV9mYXJlIjoiODcyLjAwIiwidGF4IjoiMzE0Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiODcyLjAwIiwidGF4IjoiMzE0Ljg2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTE4Ni44NiIsImJhc2VfZmFyZSI6Ijg3Mi4wMCIsInRheCI6IjMxNC44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxMTg2Ljg2LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1186.86, "filter": { "id": "F1MS00008-87", "price": 1186.86, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TK", "carrier_marketing": "TK", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Business Restricted", "connecting_airport": [ "IST" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:50:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-31T15:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310650ist2026073110501878ist202607311225rak202607311540619", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-88", "journey_type": "OneWay", "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-88", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT12H45M", "transit_time": "PT12H45M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o17", "productId": "p83", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "IST", "arrival_time": "2026-07-31T23:40:00", "destination_terminal": null, "destination_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-31", "flight_time": "PT3H55M", "distance": 1036, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "333", "name": "Airbus A330-300", "picture": "333.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1876" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1876" }, "booking_class": { "cabin_class": "Business Restricted", "cabin_code": "BX", "booking_code": "BX", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "IST", "departure_time": "2026-08-01T12:25:00", "origin_terminal": null, "origin_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "RAK", "arrival_time": "2026-08-01T15:40:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT3H15M", "distance": 2141, "lay_over": "PT12H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "Boeing 737Max", "picture": "7M8.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "booking_class": { "cabin_class": "Business Restricted", "cabin_code": "BX", "booking_code": "BX", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1186.86, "gross_total": 1186.86, "base_fare": 872, "tax": 314.86, "sell": { "currency": "EUR", "total": 1186.86, "base_fare": 872, "tax": 314.86 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTE4Ni44NiwiYmFzZV9mYXJlIjo4NzIsInRheCI6MzE0Ljg2fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTE4Ni44NiwiYmFzZV9mYXJlIjo4NzIsInRheCI6MzE0Ljg2LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjExODYuODYsImJhc2VfZmFyZSI6ODcyLCJ0YXgiOjMxNC44Nn19", "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": 1186.86, "base_fare": 872, "tax": 314.86, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "872.00", "tax": "314.86", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1186.86, "base_fare": 872, "tax": 314.86, "gross": { "base_fare": "872.00", "tax": "314.86", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjExODYuODYiLCJiYXNlX2ZhcmUiOiI4NzIuMDAiLCJ0YXgiOiIzMTQuODYiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiI4NzIuMDAiLCJ0YXgiOiIzMTQuODYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxMTg2Ljg2IiwiYmFzZV9mYXJlIjoiODcyLjAwIiwidGF4IjoiMzE0Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiODcyLjAwIiwidGF4IjoiMzE0Ljg2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTE4Ni44NiIsImJhc2VfZmFyZSI6Ijg3Mi4wMCIsInRheCI6IjMxNC44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxMTg2Ljg2LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1186.86, "filter": { "id": "F1MS00008-88", "price": 1186.86, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TK", "carrier_marketing": "TK", "aircraft": "333", "aircraft_name": "Airbus A330-300", "cabin_class": "Business Restricted", "connecting_airport": [ "IST" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:45:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311945ist2026073123401876ist202608011225rak202608011540619", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-89", "journey_type": "OneWay", "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-89", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT21H45M", "transit_time": "PT21H45M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o17", "productId": "p84", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T10:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "IST", "arrival_time": "2026-07-31T14:40:00", "destination_terminal": null, "destination_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-31", "flight_time": "PT3H55M", "distance": 1036, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1874" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1874" }, "booking_class": { "cabin_class": "Business Restricted", "cabin_code": "BX", "booking_code": "BX", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "IST", "departure_time": "2026-08-01T12:25:00", "origin_terminal": null, "origin_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "RAK", "arrival_time": "2026-08-01T15:40:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT3H15M", "distance": 2141, "lay_over": "PT21H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "Boeing 737Max", "picture": "7M8.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "booking_class": { "cabin_class": "Business Restricted", "cabin_code": "BX", "booking_code": "BX", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1186.86, "gross_total": 1186.86, "base_fare": 872, "tax": 314.86, "sell": { "currency": "EUR", "total": 1186.86, "base_fare": 872, "tax": 314.86 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTE4Ni44NiwiYmFzZV9mYXJlIjo4NzIsInRheCI6MzE0Ljg2fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTE4Ni44NiwiYmFzZV9mYXJlIjo4NzIsInRheCI6MzE0Ljg2LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjExODYuODYsImJhc2VfZmFyZSI6ODcyLCJ0YXgiOjMxNC44Nn19", "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": 1186.86, "base_fare": 872, "tax": 314.86, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "872.00", "tax": "314.86", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1186.86, "base_fare": 872, "tax": 314.86, "gross": { "base_fare": "872.00", "tax": "314.86", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjExODYuODYiLCJiYXNlX2ZhcmUiOiI4NzIuMDAiLCJ0YXgiOiIzMTQuODYiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiI4NzIuMDAiLCJ0YXgiOiIzMTQuODYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxMTg2Ljg2IiwiYmFzZV9mYXJlIjoiODcyLjAwIiwidGF4IjoiMzE0Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiODcyLjAwIiwidGF4IjoiMzE0Ljg2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTE4Ni44NiIsImJhc2VfZmFyZSI6Ijg3Mi4wMCIsInRheCI6IjMxNC44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxMTg2Ljg2LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1186.86, "filter": { "id": "F1MS00008-89", "price": 1186.86, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TK", "carrier_marketing": "TK", "aircraft": "359", "aircraft_name": "Airbus A350-900", "cabin_class": "Business Restricted", "connecting_airport": [ "IST" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T10:45:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311045ist2026073114401874ist202608011225rak202608011540619", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-90", "journey_type": "OneWay", "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-90", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT17H10M", "transit_time": "PT17H10M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o20", "productId": "p100", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T15:15:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "IST", "arrival_time": "2026-07-31T19:15:00", "destination_terminal": null, "destination_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-31", "flight_time": "PT4H0M", "distance": 1036, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1896" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1896" }, "booking_class": { "cabin_class": "Business Restricted", "cabin_code": "BX", "booking_code": "BX", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "IST", "departure_time": "2026-08-01T12:25:00", "origin_terminal": null, "origin_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "RAK", "arrival_time": "2026-08-01T15:40:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT3H15M", "distance": 2141, "lay_over": "PT17H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "Boeing 737Max", "picture": "7M8.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "booking_class": { "cabin_class": "Business Restricted", "cabin_code": "BX", "booking_code": "BX", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1186.86, "gross_total": 1186.86, "base_fare": 872, "tax": 314.86, "sell": { "currency": "EUR", "total": 1186.86, "base_fare": 872, "tax": 314.86 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTE4Ni44NiwiYmFzZV9mYXJlIjo4NzIsInRheCI6MzE0Ljg2fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTE4Ni44NiwiYmFzZV9mYXJlIjo4NzIsInRheCI6MzE0Ljg2LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjExODYuODYsImJhc2VfZmFyZSI6ODcyLCJ0YXgiOjMxNC44Nn19", "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": 1186.86, "base_fare": 872, "tax": 314.86, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "872.00", "tax": "314.86", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1186.86, "base_fare": 872, "tax": 314.86, "gross": { "base_fare": "872.00", "tax": "314.86", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjExODYuODYiLCJiYXNlX2ZhcmUiOiI4NzIuMDAiLCJ0YXgiOiIzMTQuODYiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiI4NzIuMDAiLCJ0YXgiOiIzMTQuODYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxMTg2Ljg2IiwiYmFzZV9mYXJlIjoiODcyLjAwIiwidGF4IjoiMzE0Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiODcyLjAwIiwidGF4IjoiMzE0Ljg2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTE4Ni44NiIsImJhc2VfZmFyZSI6Ijg3Mi4wMCIsInRheCI6IjMxNC44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxMTg2Ljg2LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1186.86, "filter": { "id": "F1MS00008-90", "price": 1186.86, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TK", "carrier_marketing": "TK", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Business Restricted", "connecting_airport": [ "IST" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T15:15:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311515ist2026073119151896ist202608011225rak202608011540619", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-91", "journey_type": "OneWay", "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-91", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT16H25M", "transit_time": "PT16H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o19", "productId": "p97", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T18:35:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T20:05:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1731" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1731" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BIZFLEX", "booking_code": "BIZFLEX", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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-08-01T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-08-01T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT16H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BIZFLEX", "booking_code": "BIZFLEX", "meal_code": null, "seat_available": 2 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1293.26, "gross_total": 1293.26, "base_fare": 1207, "tax": 86.26, "sell": { "currency": "EUR", "total": 1293.26, "base_fare": 1207, "tax": 86.26 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTI5My4yNiwiYmFzZV9mYXJlIjoxMjA3LCJ0YXgiOjg2LjI2fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTI5My4yNiwiYmFzZV9mYXJlIjoxMjA3LCJ0YXgiOjg2LjI2LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjEyOTMuMjYsImJhc2VfZmFyZSI6MTIwNywidGF4Ijo4Ni4yNn19", "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": 1293.26, "base_fare": 1207, "tax": 86.26, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1207.00", "tax": "86.26", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1293.26, "base_fare": 1207, "tax": 86.26, "gross": { "base_fare": "1207.00", "tax": "86.26", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEyOTMuMjYiLCJiYXNlX2ZhcmUiOiIxMjA3LjAwIiwidGF4IjoiODYuMjYiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiIxMjA3LjAwIiwidGF4IjoiODYuMjYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxMjkzLjI2IiwiYmFzZV9mYXJlIjoiMTIwNy4wMCIsInRheCI6Ijg2LjI2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTIwNy4wMCIsInRheCI6Ijg2LjI2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTI5My4yNiIsImJhc2VfZmFyZSI6IjEyMDcuMDAiLCJ0YXgiOiI4Ni4yNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxMjkzLjI2LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1293.26, "filter": { "id": "F1MS00008-91", "price": 1293.26, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "AF", "carrier_marketing": "AF", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Business Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T18:35:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311835cdg2026073120051731cdg202608011230rak2026080114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-92", "journey_type": "OneWay", "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-92", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT23H35M", "transit_time": "PT23H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o19", "productId": "p98", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T11:25:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "CDG", "arrival_time": "2026-07-31T12:55:00", "destination_terminal": "2F", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-31", "flight_time": "PT1H30M", "distance": 392, "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": "1331" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1331" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BIZFLEX", "booking_code": "BIZFLEX", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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-08-01T12:30:00", "origin_terminal": "2F", "origin_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "destination": "RAK", "arrival_time": "2026-08-01T14:55:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT2H25M", "distance": 1312, "lay_over": "PT23H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "marketing": { "carrier": "AF", "carrier_name": "Air France", "carrier_logo": "AF.png", "flight_number": "1076" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BIZFLEX", "booking_code": "BIZFLEX", "meal_code": null, "seat_available": 3 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1293.26, "gross_total": 1293.26, "base_fare": 1207, "tax": 86.26, "sell": { "currency": "EUR", "total": 1293.26, "base_fare": 1207, "tax": 86.26 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTI5My4yNiwiYmFzZV9mYXJlIjoxMjA3LCJ0YXgiOjg2LjI2fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTI5My4yNiwiYmFzZV9mYXJlIjoxMjA3LCJ0YXgiOjg2LjI2LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjEyOTMuMjYsImJhc2VfZmFyZSI6MTIwNywidGF4Ijo4Ni4yNn19", "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": 1293.26, "base_fare": 1207, "tax": 86.26, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1207.00", "tax": "86.26", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1293.26, "base_fare": 1207, "tax": 86.26, "gross": { "base_fare": "1207.00", "tax": "86.26", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEyOTMuMjYiLCJiYXNlX2ZhcmUiOiIxMjA3LjAwIiwidGF4IjoiODYuMjYiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiIxMjA3LjAwIiwidGF4IjoiODYuMjYiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxMjkzLjI2IiwiYmFzZV9mYXJlIjoiMTIwNy4wMCIsInRheCI6Ijg2LjI2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTIwNy4wMCIsInRheCI6Ijg2LjI2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTI5My4yNiIsImJhc2VfZmFyZSI6IjEyMDcuMDAiLCJ0YXgiOiI4Ni4yNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxMjkzLjI2LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUiI6eyJhbW91bnQiOiIwLjAwIn0sIk90aGVyIjp7ImFtb3VudCI6IjAuMDAifSwic3VwcGxpZXJUYXhEYXRhIjpbXX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1293.26, "filter": { "id": "F1MS00008-92", "price": 1293.26, "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": "Business Flex", "connecting_airport": [ "CDG" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T11:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T14:55:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311125cdg2026073112551331cdg202608011230rak2026080114551076", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-93", "journey_type": "OneWay", "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-93", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT4H25M", "transit_time": "PT4H25M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o6", "productId": "p37", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T23:50:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "BCN", "arrival_time": "2026-08-01T01:35:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT1H45M", "distance": 465, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6337" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6337" }, "booking_class": { "cabin_class": "Timeflex Plus", "cabin_code": "TFL", "booking_code": "TFL", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": "BCN", "departure_time": "2026-08-01T06:00:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T07:35:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H35M", "distance": 873, "lay_over": "PT04H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "booking_class": { "cabin_class": "Timeflex Plus", "cabin_code": "TFL", "booking_code": "TFL", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": 1462.9, "gross_total": 1462.9, "base_fare": 1413, "tax": 49.9, "sell": { "currency": "EUR", "total": 1462.9, "base_fare": 1413, "tax": 49.9 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ2Mi45LCJiYXNlX2ZhcmUiOjE0MTMsInRheCI6NDkuOX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE0NjIuOSwiYmFzZV9mYXJlIjoxNDEzLCJ0YXgiOjQ5LjksImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ2Mi45LCJiYXNlX2ZhcmUiOjE0MTMsInRheCI6NDkuOX19", "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": 1462.9, "base_fare": 1413, "tax": 49.9, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1413.00", "tax": "49.90", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1462.9, "base_fare": 1413, "tax": 49.9, "gross": { "base_fare": "1413.00", "tax": "49.90", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0NjIuOTAiLCJiYXNlX2ZhcmUiOiIxNDEzLjAwIiwidGF4IjoiNDkuOTAiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiIxNDEzLjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxNDYyLjkwIiwiYmFzZV9mYXJlIjoiMTQxMy4wMCIsInRheCI6IjQ5LjkwIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQxMy4wMCIsInRheCI6IjQ5LjkwIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTQ2Mi45MCIsImJhc2VfZmFyZSI6IjE0MTMuMDAiLCJ0YXgiOiI0OS45MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxNDYyLjksInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1462.9, "filter": { "id": "F1MS00008-93", "price": 1462.9, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "VY", "carrier_marketing": "VY", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Timeflex Plus", "connecting_airport": [ "BCN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "night", "departure_departure_time": "2026-07-31T23:50:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T07:35:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607312350bcn2026080101356337bcn202608010600rak2026080107357332", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-94", "journey_type": "OneWay", "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-94", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT4H0M", "transit_time": "PT4H0M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o7", "productId": "p39", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T09:55:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "BCN", "arrival_time": "2026-07-31T11:40:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT1H45M", "distance": 465, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6331" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6331" }, "booking_class": { "cabin_class": "Timeflex Plus", "cabin_code": "TFL", "booking_code": "TFL", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": "BCN", "departure_time": "2026-07-31T15:40:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-07-31T17:15:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT1H35M", "distance": 873, "lay_over": "PT04H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "Airbus A320", "picture": "320.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7334" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7334" }, "booking_class": { "cabin_class": "Timeflex Plus", "cabin_code": "TFL", "booking_code": "TFL", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": 1462.9, "gross_total": 1462.9, "base_fare": 1413, "tax": 49.9, "sell": { "currency": "EUR", "total": 1462.9, "base_fare": 1413, "tax": 49.9 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ2Mi45LCJiYXNlX2ZhcmUiOjE0MTMsInRheCI6NDkuOX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE0NjIuOSwiYmFzZV9mYXJlIjoxNDEzLCJ0YXgiOjQ5LjksImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ2Mi45LCJiYXNlX2ZhcmUiOjE0MTMsInRheCI6NDkuOX19", "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": 1462.9, "base_fare": 1413, "tax": 49.9, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1413.00", "tax": "49.90", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1462.9, "base_fare": 1413, "tax": 49.9, "gross": { "base_fare": "1413.00", "tax": "49.90", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0NjIuOTAiLCJiYXNlX2ZhcmUiOiIxNDEzLjAwIiwidGF4IjoiNDkuOTAiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiIxNDEzLjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxNDYyLjkwIiwiYmFzZV9mYXJlIjoiMTQxMy4wMCIsInRheCI6IjQ5LjkwIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQxMy4wMCIsInRheCI6IjQ5LjkwIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTQ2Mi45MCIsImJhc2VfZmFyZSI6IjE0MTMuMDAiLCJ0YXgiOiI0OS45MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxNDYyLjksInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1462.9, "filter": { "id": "F1MS00008-94", "price": 1462.9, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "VY", "carrier_marketing": "VY", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Timeflex Plus", "connecting_airport": [ "BCN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T09:55:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-07-31T17:15:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310955bcn2026073111406331bcn202607311540rak2026073117157334", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-95", "journey_type": "OneWay", "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-95", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT6H35M", "transit_time": "PT6H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p42", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T21:40:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "BCN", "arrival_time": "2026-07-31T23:25:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT1H45M", "distance": 465, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6345" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6345" }, "booking_class": { "cabin_class": "Timeflex Plus", "cabin_code": "TFL", "booking_code": "TFL", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": "BCN", "departure_time": "2026-08-01T06:00:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T07:35:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H35M", "distance": 873, "lay_over": "PT06H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "booking_class": { "cabin_class": "Timeflex Plus", "cabin_code": "TFL", "booking_code": "TFL", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": 1462.9, "gross_total": 1462.9, "base_fare": 1413, "tax": 49.9, "sell": { "currency": "EUR", "total": 1462.9, "base_fare": 1413, "tax": 49.9 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ2Mi45LCJiYXNlX2ZhcmUiOjE0MTMsInRheCI6NDkuOX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE0NjIuOSwiYmFzZV9mYXJlIjoxNDEzLCJ0YXgiOjQ5LjksImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ2Mi45LCJiYXNlX2ZhcmUiOjE0MTMsInRheCI6NDkuOX19", "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": 1462.9, "base_fare": 1413, "tax": 49.9, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1413.00", "tax": "49.90", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1462.9, "base_fare": 1413, "tax": 49.9, "gross": { "base_fare": "1413.00", "tax": "49.90", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0NjIuOTAiLCJiYXNlX2ZhcmUiOiIxNDEzLjAwIiwidGF4IjoiNDkuOTAiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiIxNDEzLjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxNDYyLjkwIiwiYmFzZV9mYXJlIjoiMTQxMy4wMCIsInRheCI6IjQ5LjkwIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQxMy4wMCIsInRheCI6IjQ5LjkwIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTQ2Mi45MCIsImJhc2VfZmFyZSI6IjE0MTMuMDAiLCJ0YXgiOiI0OS45MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxNDYyLjksInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1462.9, "filter": { "id": "F1MS00008-95", "price": 1462.9, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "VY", "carrier_marketing": "VY", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Timeflex Plus", "connecting_airport": [ "BCN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "night", "departure_departure_time": "2026-07-31T21:40:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T07:35:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607312140bcn2026073123256345bcn202608010600rak2026080107357332", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-96", "journey_type": "OneWay", "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-96", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT9H55M", "transit_time": "PT9H55M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o8", "productId": "p43", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T18:20:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "BCN", "arrival_time": "2026-07-31T20:05:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT1H45M", "distance": 465, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6335" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6335" }, "booking_class": { "cabin_class": "Timeflex Plus", "cabin_code": "TFL", "booking_code": "TFL", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": "BCN", "departure_time": "2026-08-01T06:00:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T07:35:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H35M", "distance": 873, "lay_over": "PT09H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "booking_class": { "cabin_class": "Timeflex Plus", "cabin_code": "TFL", "booking_code": "TFL", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": 1462.9, "gross_total": 1462.9, "base_fare": 1413, "tax": 49.9, "sell": { "currency": "EUR", "total": 1462.9, "base_fare": 1413, "tax": 49.9 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ2Mi45LCJiYXNlX2ZhcmUiOjE0MTMsInRheCI6NDkuOX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE0NjIuOSwiYmFzZV9mYXJlIjoxNDEzLCJ0YXgiOjQ5LjksImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ2Mi45LCJiYXNlX2ZhcmUiOjE0MTMsInRheCI6NDkuOX19", "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": 1462.9, "base_fare": 1413, "tax": 49.9, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1413.00", "tax": "49.90", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1462.9, "base_fare": 1413, "tax": 49.9, "gross": { "base_fare": "1413.00", "tax": "49.90", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0NjIuOTAiLCJiYXNlX2ZhcmUiOiIxNDEzLjAwIiwidGF4IjoiNDkuOTAiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiIxNDEzLjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxNDYyLjkwIiwiYmFzZV9mYXJlIjoiMTQxMy4wMCIsInRheCI6IjQ5LjkwIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQxMy4wMCIsInRheCI6IjQ5LjkwIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTQ2Mi45MCIsImJhc2VfZmFyZSI6IjE0MTMuMDAiLCJ0YXgiOiI0OS45MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxNDYyLjksInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1462.9, "filter": { "id": "F1MS00008-96", "price": 1462.9, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "VY", "carrier_marketing": "VY", "aircraft": "32A", "aircraft_name": "Airbus A320", "cabin_class": "Timeflex Plus", "connecting_airport": [ "BCN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T18:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T07:35:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311820bcn2026073120056335bcn202608010600rak2026080107357332", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-97", "journey_type": "OneWay", "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-97", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT11H30M", "transit_time": "PT11H30M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o10", "productId": "p48", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T16:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "BCN", "arrival_time": "2026-07-31T18:30:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-31", "flight_time": "PT1H45M", "distance": 465, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "Airbus A321", "picture": "321.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6333" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "6333" }, "booking_class": { "cabin_class": "Timeflex Plus", "cabin_code": "TFL", "booking_code": "TFL", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": "BCN", "departure_time": "2026-08-01T06:00:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "RAK", "arrival_time": "2026-08-01T07:35:00", "destination_terminal": "1", "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT1H35M", "distance": 873, "lay_over": "PT11H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "Airbus A320", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "marketing": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": "7332" }, "booking_class": { "cabin_class": "Timeflex Plus", "cabin_code": "TFL", "booking_code": "TFL", "meal_code": null, "seat_available": 9 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 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": 1462.9, "gross_total": 1462.9, "base_fare": 1413, "tax": 49.9, "sell": { "currency": "EUR", "total": 1462.9, "base_fare": 1413, "tax": 49.9 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ2Mi45LCJiYXNlX2ZhcmUiOjE0MTMsInRheCI6NDkuOX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE0NjIuOSwiYmFzZV9mYXJlIjoxNDEzLCJ0YXgiOjQ5LjksImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ2Mi45LCJiYXNlX2ZhcmUiOjE0MTMsInRheCI6NDkuOX19", "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": 1462.9, "base_fare": 1413, "tax": 49.9, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1413.00", "tax": "49.90", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1462.9, "base_fare": 1413, "tax": 49.9, "gross": { "base_fare": "1413.00", "tax": "49.90", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0NjIuOTAiLCJiYXNlX2ZhcmUiOiIxNDEzLjAwIiwidGF4IjoiNDkuOTAiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiIxNDEzLjAwIiwidGF4IjoiNDkuOTAiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxNDYyLjkwIiwiYmFzZV9mYXJlIjoiMTQxMy4wMCIsInRheCI6IjQ5LjkwIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTQxMy4wMCIsInRheCI6IjQ5LjkwIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTQ2Mi45MCIsImJhc2VfZmFyZSI6IjE0MTMuMDAiLCJ0YXgiOiI0OS45MCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxNDYyLjksInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1462.9, "filter": { "id": "F1MS00008-97", "price": 1462.9, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "VY", "carrier_marketing": "VY", "aircraft": "321", "aircraft_name": "Airbus A321", "cabin_class": "Timeflex Plus", "connecting_airport": [ "BCN" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T16:45:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-08-01T07:35:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311645bcn2026073118306333bcn202608010600rak2026080107357332", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-98", "journey_type": "OneWay", "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-98", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT1H35M", "transit_time": "PT1H35M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o14", "productId": "p65", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T06:50:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "IST", "arrival_time": "2026-07-31T10:50:00", "destination_terminal": null, "destination_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-31", "flight_time": "PT4H0M", "distance": 1036, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1878" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1878" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BB", "booking_code": "BB", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "IST", "departure_time": "2026-07-31T12:25:00", "origin_terminal": null, "origin_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "RAK", "arrival_time": "2026-07-31T15:40:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-07-31", "flight_time": "PT3H15M", "distance": 2141, "lay_over": "PT01H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "Boeing 737Max", "picture": "7M8.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BB", "booking_code": "BB", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1480.86, "gross_total": 1480.86, "base_fare": 1166, "tax": 314.86, "sell": { "currency": "EUR", "total": 1480.86, "base_fare": 1166, "tax": 314.86 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ4MC44NiwiYmFzZV9mYXJlIjoxMTY2LCJ0YXgiOjMxNC44Nn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE0ODAuODYsImJhc2VfZmFyZSI6MTE2NiwidGF4IjozMTQuODYsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ4MC44NiwiYmFzZV9mYXJlIjoxMTY2LCJ0YXgiOjMxNC44Nn19", "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": 1480.86, "base_fare": 1166, "tax": 314.86, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1166.00", "tax": "314.86", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1480.86, "base_fare": 1166, "tax": 314.86, "gross": { "base_fare": "1166.00", "tax": "314.86", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0ODAuODYiLCJiYXNlX2ZhcmUiOiIxMTY2LjAwIiwidGF4IjoiMzE0Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE2Ni4wMCIsInRheCI6IjMxNC44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0ODAuODYiLCJiYXNlX2ZhcmUiOiIxMTY2LjAwIiwidGF4IjoiMzE0Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE2Ni4wMCIsInRheCI6IjMxNC44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0ODAuODYiLCJiYXNlX2ZhcmUiOiIxMTY2LjAwIiwidGF4IjoiMzE0Ljg2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE0ODAuODYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1480.86, "filter": { "id": "F1MS00008-98", "price": 1480.86, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TK", "carrier_marketing": "TK", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Business Flex", "connecting_airport": [ "IST" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-31T06:50:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-31T15:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607310650ist2026073110501878ist202607311225rak202607311540619", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-99", "journey_type": "OneWay", "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-99", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT12H45M", "transit_time": "PT12H45M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o17", "productId": "p85", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T19:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "IST", "arrival_time": "2026-07-31T23:40:00", "destination_terminal": null, "destination_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-31", "flight_time": "PT3H55M", "distance": 1036, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "333", "name": "Airbus A330-300", "picture": "333.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1876" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1876" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BB", "booking_code": "BB", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "IST", "departure_time": "2026-08-01T12:25:00", "origin_terminal": null, "origin_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "RAK", "arrival_time": "2026-08-01T15:40:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT3H15M", "distance": 2141, "lay_over": "PT12H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "Boeing 737Max", "picture": "7M8.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BB", "booking_code": "BB", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1480.86, "gross_total": 1480.86, "base_fare": 1166, "tax": 314.86, "sell": { "currency": "EUR", "total": 1480.86, "base_fare": 1166, "tax": 314.86 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ4MC44NiwiYmFzZV9mYXJlIjoxMTY2LCJ0YXgiOjMxNC44Nn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE0ODAuODYsImJhc2VfZmFyZSI6MTE2NiwidGF4IjozMTQuODYsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ4MC44NiwiYmFzZV9mYXJlIjoxMTY2LCJ0YXgiOjMxNC44Nn19", "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": 1480.86, "base_fare": 1166, "tax": 314.86, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1166.00", "tax": "314.86", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1480.86, "base_fare": 1166, "tax": 314.86, "gross": { "base_fare": "1166.00", "tax": "314.86", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0ODAuODYiLCJiYXNlX2ZhcmUiOiIxMTY2LjAwIiwidGF4IjoiMzE0Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE2Ni4wMCIsInRheCI6IjMxNC44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0ODAuODYiLCJiYXNlX2ZhcmUiOiIxMTY2LjAwIiwidGF4IjoiMzE0Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE2Ni4wMCIsInRheCI6IjMxNC44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0ODAuODYiLCJiYXNlX2ZhcmUiOiIxMTY2LjAwIiwidGF4IjoiMzE0Ljg2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE0ODAuODYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1480.86, "filter": { "id": "F1MS00008-99", "price": 1480.86, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TK", "carrier_marketing": "TK", "aircraft": "333", "aircraft_name": "Airbus A330-300", "cabin_class": "Business Flex", "connecting_airport": [ "IST" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-31T19:45:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311945ist2026073123401876ist202608011225rak202608011540619", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-100", "journey_type": "OneWay", "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-100", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT21H45M", "transit_time": "PT21H45M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o17", "productId": "p86", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T10:45:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "IST", "arrival_time": "2026-07-31T14:40:00", "destination_terminal": null, "destination_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-31", "flight_time": "PT3H55M", "distance": 1036, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "Airbus A350-900", "picture": "359.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1874" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1874" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BB", "booking_code": "BB", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "IST", "departure_time": "2026-08-01T12:25:00", "origin_terminal": null, "origin_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "RAK", "arrival_time": "2026-08-01T15:40:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT3H15M", "distance": 2141, "lay_over": "PT21H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "Boeing 737Max", "picture": "7M8.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BB", "booking_code": "BB", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1480.86, "gross_total": 1480.86, "base_fare": 1166, "tax": 314.86, "sell": { "currency": "EUR", "total": 1480.86, "base_fare": 1166, "tax": 314.86 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ4MC44NiwiYmFzZV9mYXJlIjoxMTY2LCJ0YXgiOjMxNC44Nn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE0ODAuODYsImJhc2VfZmFyZSI6MTE2NiwidGF4IjozMTQuODYsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ4MC44NiwiYmFzZV9mYXJlIjoxMTY2LCJ0YXgiOjMxNC44Nn19", "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": 1480.86, "base_fare": 1166, "tax": 314.86, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1166.00", "tax": "314.86", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1480.86, "base_fare": 1166, "tax": 314.86, "gross": { "base_fare": "1166.00", "tax": "314.86", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0ODAuODYiLCJiYXNlX2ZhcmUiOiIxMTY2LjAwIiwidGF4IjoiMzE0Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE2Ni4wMCIsInRheCI6IjMxNC44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0ODAuODYiLCJiYXNlX2ZhcmUiOiIxMTY2LjAwIiwidGF4IjoiMzE0Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE2Ni4wMCIsInRheCI6IjMxNC44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0ODAuODYiLCJiYXNlX2ZhcmUiOiIxMTY2LjAwIiwidGF4IjoiMzE0Ljg2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE0ODAuODYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1480.86, "filter": { "id": "F1MS00008-100", "price": 1480.86, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TK", "carrier_marketing": "TK", "aircraft": "359", "aircraft_name": "Airbus A350-900", "cabin_class": "Business Flex", "connecting_airport": [ "IST" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-31T10:45:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311045ist2026073114401874ist202608011225rak202608011540619", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "91178272400398221S3N9L", "flight_key": "F1MS00008-101", "journey_type": "OneWay", "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-101", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT17H10M", "transit_time": "PT17H10M", "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "source": "GDS:TravelPort", "offerId": "o20", "productId": "p101", "routes": [ { "air_segment_key": null, "origin": "MXP", "departure_time": "2026-07-31T15:15:00", "origin_terminal": "1", "origin_airport": { "name": "Milano Malpensa Airport", "city": "Milan", "country": "Italy", "timezone": "Europe\/Rome" }, "destination": "IST", "arrival_time": "2026-07-31T19:15:00", "destination_terminal": null, "destination_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-31", "flight_time": "PT4H0M", "distance": 1036, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "Airbus A321 NEO", "picture": "32Q.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1896" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "1896" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BB", "booking_code": "BB", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 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": "IST", "departure_time": "2026-08-01T12:25:00", "origin_terminal": null, "origin_airport": { "name": "Istanbul Airport", "city": "Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "RAK", "arrival_time": "2026-08-01T15:40:00", "destination_terminal": null, "destination_airport": { "name": "Menara Airport", "city": "Marrakech", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-08-01", "flight_time": "PT3H15M", "distance": 2141, "lay_over": "PT17H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "Boeing 737Max", "picture": "7M8.png" }, "operating": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "marketing": { "carrier": "TK", "carrier_name": "Turkish Airlines", "carrier_logo": "TK.png", "flight_number": "619" }, "booking_class": { "cabin_class": "Business Flex", "cabin_code": "BB", "booking_code": "BB", "meal_code": null, "seat_available": 4 }, "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": 31.75, "unit": "kg", "title": "2 pieces 31.75 kg" } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 2, "weight": null, "unit": null, "title": "2 pieces" } } } } ] } ], "pax_options": { "doc_required": "yes", "flight_type": "international" }, "price": { "currency": "EUR", "total": 1480.86, "gross_total": 1480.86, "base_fare": 1166, "tax": 314.86, "sell": { "currency": "EUR", "total": 1480.86, "base_fare": 1166, "tax": 314.86 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ4MC44NiwiYmFzZV9mYXJlIjoxMTY2LCJ0YXgiOjMxNC44Nn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjE0ODAuODYsImJhc2VfZmFyZSI6MTE2NiwidGF4IjozMTQuODYsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTQ4MC44NiwiYmFzZV9mYXJlIjoxMTY2LCJ0YXgiOjMxNC44Nn19", "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": 1480.86, "base_fare": 1166, "tax": 314.86, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1166.00", "tax": "314.86", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1480.86, "base_fare": 1166, "tax": 314.86, "gross": { "base_fare": "1166.00", "tax": "314.86", "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": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0ODAuODYiLCJiYXNlX2ZhcmUiOiIxMTY2LjAwIiwidGF4IjoiMzE0Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE2Ni4wMCIsInRheCI6IjMxNC44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0ODAuODYiLCJiYXNlX2ZhcmUiOiIxMTY2LjAwIiwidGF4IjoiMzE0Ljg2IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTE2Ni4wMCIsInRheCI6IjMxNC44NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjE0ODAuODYiLCJiYXNlX2ZhcmUiOiIxMTY2LjAwIiwidGF4IjoiMzE0Ljg2IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjE0ODAuODYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIwLjAwIn0sIllSIjp7ImFtb3VudCI6IjAuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMC4wMCJ9LCJzdXBwbGllclRheERhdGEiOltdfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "fare_rules": { "refundable_data": null, "refundable": "partially-refundable", "change_before_departure": "available" }, "total_price": 1480.86, "filter": { "id": "F1MS00008-101", "price": 1480.86, "journey_duration": "PT", "journey_duration_seconds": null, "layover_duration": "PT", "layover_duration_seconds": null, "carrier_operating": "TK", "carrier_marketing": "TK", "aircraft": "32Q", "aircraft_name": "Airbus A321 NEO", "cabin_class": "Business Flex", "connecting_airport": [ "IST" ], "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-31T15:15:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-08-01T15:40:00", "refund": "partially-refundable", "baggage_value": null, "baggage_unit": null, "baggage_title": "no-baggage" }, "filter_unique_filter_code": "mxp202607311515ist2026073119151896ist202608011225rak202608011540619", "destination_reach_time": "PT", "destination_reach_timestamp": null, "itinerary_search": { "trips": [ { "origin": "MXP", "destination": "RAK", "departureDate": "2026-07-31", "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": "OneWay", "segment": [ { "departure_airport_type": "AIRPORT", "departure_airport": "MXP", "arrival_airport_type": "AIRPORT", "arrival_airport": "RAK", "departure_date": "2026-07-31", "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": "9", "language": "en", "short_ref": "3040eda83fa0ed31ed6ee4dbae4f90b7f92dce2d7bc3e031f0b2d4707b6b447c", "version": 1, "team_profile": [ null ], "RefundableOnly": false, "BestFareOnly": false } }