{ "partnerId": "5812f433-b72e-4f39-9b37-e077143a4fda", "itinerary": { "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 }, "travelport": { "responseId": "cd2c5cb3-8224-470b-b2c4-e19ad7eccd5b", "transactionId": "f8bfde4cb8fdb3e1a645f2d678527578", "numberOflegs": 1, "offers": [ { "id": "o1_p0_b0_j1", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 70, "totalPrice": 176.38, "totalFees": 0, "totalTaxes": 106.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 70, "totalTaxes": 106.38, "totalFees": 0, "totalPrice": 176.38 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Discount", "brandId": "1873795", "brandCode": "DISCOUNT", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Chargeable", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 70, "totalPrice": 176.38, "totalFees": 0, "totalTaxes": 106.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 70, "totalTaxes": 106.38, "totalFees": 0, "totalPrice": 176.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p0", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "A", "fareBasisCode": "AF0DSC05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 1, "totalDuration": "PT15H55M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT11H15M", "sequence": 1, "id": "s25", "number": "827", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "22:00:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "20:00:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s26", "number": "1452", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "10:55:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "09:15:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "319", "airplaneName": "Airbus A319", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o1_p1_b3_j2", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 110, "totalPrice": 216.38, "totalFees": 0, "totalTaxes": 106.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 110, "totalTaxes": 106.38, "totalFees": 0, "totalPrice": 216.38 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Classic", "brandId": "1873793", "brandCode": "CLASSIC", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 110, "totalPrice": 216.38, "totalFees": 0, "totalTaxes": 106.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 110, "totalTaxes": 106.38, "totalFees": 0, "totalPrice": 216.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p1", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "A", "fareBasisCode": "AF0CLC05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 1, "totalDuration": "PT15H55M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT11H15M", "sequence": 1, "id": "s25", "number": "827", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "22:00:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "20:00:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s26", "number": "1452", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "10:55:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "09:15:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "319", "airplaneName": "Airbus A319", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o2_p4_b0_j5", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 123, "totalPrice": 241.38, "totalFees": 0, "totalTaxes": 118.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 123, "totalTaxes": 118.38, "totalFees": 0, "totalPrice": 241.38 } ], "taxes": [] }, "legs": [ { "offerId": "o2", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Discount", "brandId": "1873795", "brandCode": "DISCOUNT", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Chargeable", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 123, "totalPrice": 241.38, "totalFees": 0, "totalTaxes": 118.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 123, "totalTaxes": 118.38, "totalFees": 0, "totalPrice": 241.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p4", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "V", "fareBasisCode": "VF0DSC05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 4, "totalDuration": "PT18H30M", "totalFlightDuration": "PT4H45M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H45M", "sequence": 1, "id": "s33", "number": "825", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "19:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "17:25:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H5M", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s34", "number": "1452", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "10:55:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "09:15:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "319", "airplaneName": "Airbus A319", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o2_p5_b0_j5", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 123, "totalPrice": 241.38, "totalFees": 0, "totalTaxes": 118.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 123, "totalTaxes": 118.38, "totalFees": 0, "totalPrice": 241.38 } ], "taxes": [] }, "legs": [ { "offerId": "o2", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Discount", "brandId": "1873795", "brandCode": "DISCOUNT", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Chargeable", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 123, "totalPrice": 241.38, "totalFees": 0, "totalTaxes": 118.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 123, "totalTaxes": 118.38, "totalFees": 0, "totalPrice": 241.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p5", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "V", "fareBasisCode": "VF0DSC05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 7, "totalDuration": "PT20H45M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT16H5M", "sequence": 1, "id": "s35", "number": "827", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "22:00:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "20:00:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s36", "number": "2300", "operatingCarrierName": "PORTUGALIA AIRLINES", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:45:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "14:05:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "E95", "airplaneName": "Embraer 195", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o1_p2_b4_j3", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 140, "totalPrice": 246.38, "totalFees": 0, "totalTaxes": 106.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 140, "totalTaxes": 106.38, "totalFees": 0, "totalPrice": 246.38 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Plus", "brandId": "1873792", "brandCode": "PLUS", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 140, "totalPrice": 246.38, "totalFees": 0, "totalTaxes": 106.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 140, "totalTaxes": 106.38, "totalFees": 0, "totalPrice": 246.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p2", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "A", "fareBasisCode": "AF0PLU05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 1, "totalDuration": "PT15H55M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT11H15M", "sequence": 1, "id": "s25", "number": "827", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "22:00:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "20:00:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s26", "number": "1452", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "10:55:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "09:15:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "319", "airplaneName": "Airbus A319", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o3_p12_b0_j10", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 123, "totalPrice": 247.6, "totalFees": 0, "totalTaxes": 124.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 123, "totalTaxes": 124.6, "totalFees": 0, "totalPrice": 247.6 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Discount", "brandId": "1873795", "brandCode": "DISCOUNT", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Chargeable", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 123, "totalPrice": 247.6, "totalFees": 0, "totalTaxes": 124.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 123, "totalTaxes": 124.6, "totalFees": 0, "totalPrice": 247.6 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p12", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "V", "fareBasisCode": "VF0DSC05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 3, "totalDuration": "PT23H20M", "totalFlightDuration": "PT4H45M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT18H35M", "sequence": 1, "id": "s45", "number": "825", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "19:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "17:25:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H5M", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s46", "number": "2300", "operatingCarrierName": "PORTUGALIA AIRLINES", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:45:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "14:05:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "E95", "airplaneName": "Embraer 195", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o4_p16_b6_j14", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 179, "totalPrice": 279.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 179, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 279.06 } ], "taxes": [] }, "legs": [ { "offerId": "o4", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Eco Essential", "brandId": "2146384", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Not Offered", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 179, "totalPrice": 279.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 179, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 279.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p16", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NH0WE1EA", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT14H25M", "totalFlightDuration": "PT4H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT10H25M", "sequence": 1, "id": "s21", "number": "951", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "22:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s22", "number": "409", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "09:20:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "08:30:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT50M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o4_p17_b6_j14", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 179, "totalPrice": 279.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 179, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 279.06 } ], "taxes": [] }, "legs": [ { "offerId": "o4", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Eco Essential", "brandId": "2146384", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Not Offered", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 179, "totalPrice": 279.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 179, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 279.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p17", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NH0WE1EA", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 1, "totalDuration": "PT18H10M", "totalFlightDuration": "PT4H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H55M", "sequence": 1, "id": "s29", "number": "951", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "22:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s30", "number": "411", "operatingCarrierName": "RAM EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "13:05:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "12:00:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT1H5M", "equipment": "AT7", "airplaneName": "Alenia ATR 72", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o2_p6_b3_j6", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 163, "totalPrice": 281.38, "totalFees": 0, "totalTaxes": 118.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 163, "totalTaxes": 118.38, "totalFees": 0, "totalPrice": 281.38 } ], "taxes": [] }, "legs": [ { "offerId": "o2", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Classic", "brandId": "1873793", "brandCode": "CLASSIC", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 163, "totalPrice": 281.38, "totalFees": 0, "totalTaxes": 118.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 163, "totalTaxes": 118.38, "totalFees": 0, "totalPrice": 281.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p6", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "V", "fareBasisCode": "VF0CLC05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 4, "totalDuration": "PT18H30M", "totalFlightDuration": "PT4H45M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H45M", "sequence": 1, "id": "s33", "number": "825", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "19:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "17:25:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H5M", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s34", "number": "1452", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "10:55:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "09:15:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "319", "airplaneName": "Airbus A319", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o2_p7_b3_j6", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 163, "totalPrice": 281.38, "totalFees": 0, "totalTaxes": 118.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 163, "totalTaxes": 118.38, "totalFees": 0, "totalPrice": 281.38 } ], "taxes": [] }, "legs": [ { "offerId": "o2", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Classic", "brandId": "1873793", "brandCode": "CLASSIC", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 163, "totalPrice": 281.38, "totalFees": 0, "totalTaxes": 118.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 163, "totalTaxes": 118.38, "totalFees": 0, "totalPrice": 281.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p7", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "V", "fareBasisCode": "VF0CLC05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 7, "totalDuration": "PT20H45M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT16H5M", "sequence": 1, "id": "s35", "number": "827", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "22:00:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "20:00:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s36", "number": "2300", "operatingCarrierName": "PORTUGALIA AIRLINES", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:45:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "14:05:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "E95", "airplaneName": "Embraer 195", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o3_p13_b3_j11", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 163, "totalPrice": 287.6, "totalFees": 0, "totalTaxes": 124.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 163, "totalTaxes": 124.6, "totalFees": 0, "totalPrice": 287.6 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Classic", "brandId": "1873793", "brandCode": "CLASSIC", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 163, "totalPrice": 287.6, "totalFees": 0, "totalTaxes": 124.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 163, "totalTaxes": 124.6, "totalFees": 0, "totalPrice": 287.6 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p13", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "V", "fareBasisCode": "VF0CLC05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 3, "totalDuration": "PT23H20M", "totalFlightDuration": "PT4H45M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT18H35M", "sequence": 1, "id": "s45", "number": "825", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "19:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "17:25:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H5M", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s46", "number": "2300", "operatingCarrierName": "PORTUGALIA AIRLINES", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:45:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "14:05:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "E95", "airplaneName": "Embraer 195", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o4_p18_b8_j15", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 204, "totalPrice": 304.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 204, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 304.06 } ], "taxes": [] }, "legs": [ { "offerId": "o4", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Eco Classic", "brandId": "2146382", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 204, "totalPrice": 304.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 204, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 304.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p18", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NH0WE2EA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT14H25M", "totalFlightDuration": "PT4H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT10H25M", "sequence": 1, "id": "s21", "number": "951", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "22:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s22", "number": "409", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "09:20:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "08:30:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT50M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o4_p19_b8_j15", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 204, "totalPrice": 304.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 204, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 304.06 } ], "taxes": [] }, "legs": [ { "offerId": "o4", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Eco Classic", "brandId": "2146382", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 204, "totalPrice": 304.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 204, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 304.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p19", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NH0WE2EA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 1, "totalDuration": "PT18H10M", "totalFlightDuration": "PT4H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H55M", "sequence": 1, "id": "s29", "number": "951", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "22:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s30", "number": "411", "operatingCarrierName": "RAM EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "13:05:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "12:00:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT1H5M", "equipment": "AT7", "airplaneName": "Alenia ATR 72", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o5_p26_b6_j19", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 208, "totalPrice": 308.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 208, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 308.06 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Eco Essential", "brandId": "2146384", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Not Offered", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 208, "totalPrice": 308.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 208, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 308.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p26", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SH0WE1EA", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 1, "totalDuration": "PT5H45M", "totalFlightDuration": "PT4H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H30M", "sequence": 1, "id": "s1", "number": "955", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "15:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s2", "number": "413", "operatingCarrierName": "RAM EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "17:40:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "16:35:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT1H5M", "equipment": "AT7", "airplaneName": "Alenia ATR 72", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o5_p27_b6_j19", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 208, "totalPrice": 308.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 208, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 308.06 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Eco Essential", "brandId": "2146384", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Not Offered", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 208, "totalPrice": 308.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 208, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 308.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p27", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SH0WE1EA", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 1, "totalDuration": "PT21H25M", "totalFlightDuration": "PT4H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT17H25M", "sequence": 1, "id": "s41", "number": "955", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "15:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s42", "number": "409", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "09:20:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "08:30:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT50M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o2_p8_b4_j7", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 193, "totalPrice": 311.38, "totalFees": 0, "totalTaxes": 118.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 193, "totalTaxes": 118.38, "totalFees": 0, "totalPrice": 311.38 } ], "taxes": [] }, "legs": [ { "offerId": "o2", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Plus", "brandId": "1873792", "brandCode": "PLUS", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 193, "totalPrice": 311.38, "totalFees": 0, "totalTaxes": 118.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 193, "totalTaxes": 118.38, "totalFees": 0, "totalPrice": 311.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p8", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "V", "fareBasisCode": "VF0PLU05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 4, "totalDuration": "PT18H30M", "totalFlightDuration": "PT4H45M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H45M", "sequence": 1, "id": "s33", "number": "825", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "19:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "17:25:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H5M", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s34", "number": "1452", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "10:55:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "09:15:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "319", "airplaneName": "Airbus A319", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o2_p9_b4_j7", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 193, "totalPrice": 311.38, "totalFees": 0, "totalTaxes": 118.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 193, "totalTaxes": 118.38, "totalFees": 0, "totalPrice": 311.38 } ], "taxes": [] }, "legs": [ { "offerId": "o2", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Plus", "brandId": "1873792", "brandCode": "PLUS", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 193, "totalPrice": 311.38, "totalFees": 0, "totalTaxes": 118.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 193, "totalTaxes": 118.38, "totalFees": 0, "totalPrice": 311.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p9", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "V", "fareBasisCode": "VF0PLU05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 7, "totalDuration": "PT20H45M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT16H5M", "sequence": 1, "id": "s35", "number": "827", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "22:00:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "20:00:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s36", "number": "2300", "operatingCarrierName": "PORTUGALIA AIRLINES", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:45:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "14:05:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "E95", "airplaneName": "Embraer 195", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o3_p14_b4_j12", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 193, "totalPrice": 317.6, "totalFees": 0, "totalTaxes": 124.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 193, "totalTaxes": 124.6, "totalFees": 0, "totalPrice": 317.6 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Plus", "brandId": "1873792", "brandCode": "PLUS", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 193, "totalPrice": 317.6, "totalFees": 0, "totalTaxes": 124.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 193, "totalTaxes": 124.6, "totalFees": 0, "totalPrice": 317.6 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p14", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "V", "fareBasisCode": "VF0PLU05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 3, "totalDuration": "PT23H20M", "totalFlightDuration": "PT4H45M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT18H35M", "sequence": 1, "id": "s45", "number": "825", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "19:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "17:25:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H5M", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s46", "number": "2300", "operatingCarrierName": "PORTUGALIA AIRLINES", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:45:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "14:05:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "E95", "airplaneName": "Embraer 195", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o5_p28_b8_j20", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 233, "totalPrice": 333.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 233, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 333.06 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Eco Classic", "brandId": "2146382", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 233, "totalPrice": 333.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 233, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 333.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p28", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SH0WE2EA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 1, "totalDuration": "PT5H45M", "totalFlightDuration": "PT4H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H30M", "sequence": 1, "id": "s1", "number": "955", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "15:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s2", "number": "413", "operatingCarrierName": "RAM EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "17:40:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "16:35:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT1H5M", "equipment": "AT7", "airplaneName": "Alenia ATR 72", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o5_p29_b8_j20", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 233, "totalPrice": 333.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 233, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 333.06 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Eco Classic", "brandId": "2146382", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 233, "totalPrice": 333.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 233, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 333.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p29", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SH0WE2EA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 1, "totalDuration": "PT21H25M", "totalFlightDuration": "PT4H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT17H25M", "sequence": 1, "id": "s41", "number": "955", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "15:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s42", "number": "409", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "09:20:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "08:30:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT50M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o6_p36_b12_j24", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 285, "totalPrice": 334.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 285, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 334.9 } ], "taxes": [] }, "legs": [ { "offerId": "o6", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Optima", "brandId": "2140848", "brandCode": "OPT", "brandFacilities": { "Refund": "Not Offered", "Meals": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 285, "totalPrice": 334.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 285, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 334.9 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "weight": 25, "weightUnit": "Kilograms", "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "CARRYON HAND BAGGAGE ALLOWANCE" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p36", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "W", "fareBasisCode": "WOPHOVY", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT8H45M", "totalFlightDuration": "PT4H20M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT4H25M", "sequence": 1, "id": "s5", "number": "6337", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-08-01", "time": "01:35:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "23:50:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 465, "duration": "PT1H45M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" }, { "sequence": 2, "id": "s6", "number": "7332", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "07:35:00" }, "departure": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-08-01", "time": "06:00:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 873, "duration": "PT2H35M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" } ] } } ] }, { "id": "o7_p38_b12_j26", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 293, "totalPrice": 342.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 293, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 342.9 } ], "taxes": [] }, "legs": [ { "offerId": "o7", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Optima", "brandId": "2140848", "brandCode": "OPT", "brandFacilities": { "Refund": "Not Offered", "Meals": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 293, "totalPrice": 342.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 293, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 342.9 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "weight": 25, "weightUnit": "Kilograms", "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "CARRYON HAND BAGGAGE ALLOWANCE" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p38", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "V", "fareBasisCode": "VOPHOVY", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT8H20M", "totalFlightDuration": "PT4H20M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT4H", "sequence": 1, "id": "s3", "number": "6331", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-07-31", "time": "11:40:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "09:55:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 465, "duration": "PT1H45M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" }, { "sequence": 2, "id": "s4", "number": "7334", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "17:15:00" }, "departure": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-07-31", "time": "15:40:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 873, "duration": "PT2H35M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" } ] } } ] }, { "id": "o8_p40_b12_j28", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 304, "totalPrice": 353.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 304, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 353.9 } ], "taxes": [] }, "legs": [ { "offerId": "o8", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Optima", "brandId": "2140848", "brandCode": "OPT", "brandFacilities": { "Refund": "Not Offered", "Meals": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 304, "totalPrice": 353.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 304, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 353.9 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "weight": 25, "weightUnit": "Kilograms", "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "CARRYON HAND BAGGAGE ALLOWANCE" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p40", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "A", "fareBasisCode": "AOPHOVY", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT10H55M", "totalFlightDuration": "PT4H20M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H35M", "sequence": 1, "id": "s11", "number": "6345", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-07-31", "time": "23:25:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "21:40:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 465, "duration": "PT1H45M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" }, { "sequence": 2, "id": "s12", "number": "7332", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "07:35:00" }, "departure": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-08-01", "time": "06:00:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 873, "duration": "PT2H35M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" } ] } } ] }, { "id": "o8_p41_b12_j28", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 304, "totalPrice": 353.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 304, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 353.9 } ], "taxes": [] }, "legs": [ { "offerId": "o8", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Optima", "brandId": "2140848", "brandCode": "OPT", "brandFacilities": { "Refund": "Not Offered", "Meals": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 304, "totalPrice": 353.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 304, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 353.9 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "weight": 25, "weightUnit": "Kilograms", "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "CARRYON HAND BAGGAGE ALLOWANCE" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p41", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "A", "fareBasisCode": "AOPHOVY", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT14H15M", "totalFlightDuration": "PT4H20M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT9H55M", "sequence": 1, "id": "s19", "number": "6335", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-07-31", "time": "20:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "18:20:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 465, "duration": "PT1H45M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" }, { "sequence": 2, "id": "s20", "number": "7332", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "07:35:00" }, "departure": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-08-01", "time": "06:00:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 873, "duration": "PT2H35M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" } ] } } ] }, { "id": "o9_p44_b3_j30", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 233, "totalPrice": 357.6, "totalFees": 0, "totalTaxes": 124.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 233, "totalTaxes": 124.6, "totalFees": 0, "totalPrice": 357.6 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Classic", "brandId": "1873793", "brandCode": "CLASSIC", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 233, "totalPrice": 357.6, "totalFees": 0, "totalTaxes": 124.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 233, "totalTaxes": 124.6, "totalFees": 0, "totalPrice": 357.6 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p44", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "H", "fareBasisCode": "HF0CLC05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 5, "totalDuration": "PT24H5M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H25M", "sequence": 1, "id": "s47", "number": "823", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "13:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:50:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s48", "number": "1452", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "10:55:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "09:15:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "319", "airplaneName": "Airbus A319", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o10_p47_b12_j33", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 320, "totalPrice": 369.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 320, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 369.9 } ], "taxes": [] }, "legs": [ { "offerId": "o10", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Optima", "brandId": "2140848", "brandCode": "OPT", "brandFacilities": { "Refund": "Not Offered", "Meals": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 320, "totalPrice": 369.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 320, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 369.9 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "weight": 25, "weightUnit": "Kilograms", "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "CARRYON HAND BAGGAGE ALLOWANCE" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p47", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SOPHOVY", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT15H50M", "totalFlightDuration": "PT4H20M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT11H30M", "sequence": 1, "id": "s23", "number": "6333", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-07-31", "time": "18:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "16:45:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 465, "duration": "PT1H45M", "equipment": "321", "airplaneName": "Airbus A321", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" }, { "sequence": 2, "id": "s24", "number": "7332", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "07:35:00" }, "departure": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-08-01", "time": "06:00:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 873, "duration": "PT2H35M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" } ] } } ] }, { "id": "o11_p49_b17_j35", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 330, "totalPrice": 377.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 330, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 377.81 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Optima", "brandId": "2136347", "brandCode": "BUSOPTIMA", "brandFacilities": { "CheckedBag": "Included", "Refund": "Not Offered", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 330, "totalPrice": 377.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 330, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 377.81 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO31LB\/14KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p49", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "I", "fareBasisCode": "IDNNE0M2", "fareType": "PublicFare", "fareTypeCode": "BOX" } ], "quantity": 3, "totalDuration": "PT26H55M", "totalFlightDuration": "PT4H25M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT22H30M", "sequence": 1, "id": "s51", "number": "672", "operatingCarrierName": "", "arrival": { "terminal": "4", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-07-31", "time": "12:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 736, "duration": "PT2H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "sequence": 2, "id": "s52", "number": "1851", "operatingCarrierName": "IBERIA EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "12:20:00" }, "departure": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-08-01", "time": "11:20:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 661, "duration": "PT2H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" } ] } } ] }, { "id": "o4_p20_b9_j16", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 279, "totalPrice": 379.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 279, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 379.06 } ], "taxes": [] }, "legs": [ { "offerId": "o4", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Eco Flex Premium", "brandId": "2146381", "brandCode": "EFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 279, "totalPrice": 379.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 279, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 379.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p20", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NH0WE3EA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT14H25M", "totalFlightDuration": "PT4H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT10H25M", "sequence": 1, "id": "s21", "number": "951", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "22:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s22", "number": "409", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "09:20:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "08:30:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT50M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o4_p21_b9_j16", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 279, "totalPrice": 379.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 279, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 379.06 } ], "taxes": [] }, "legs": [ { "offerId": "o4", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Eco Flex Premium", "brandId": "2146381", "brandCode": "EFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 279, "totalPrice": 379.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 279, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 379.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p21", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NH0WE3EA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 1, "totalDuration": "PT18H10M", "totalFlightDuration": "PT4H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H55M", "sequence": 1, "id": "s29", "number": "951", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "22:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s30", "number": "411", "operatingCarrierName": "RAM EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "13:05:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "12:00:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT1H5M", "equipment": "AT7", "airplaneName": "Alenia ATR 72", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o9_p45_b4_j31", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 263, "totalPrice": 387.6, "totalFees": 0, "totalTaxes": 124.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 263, "totalTaxes": 124.6, "totalFees": 0, "totalPrice": 387.6 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Plus", "brandId": "1873792", "brandCode": "PLUS", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 263, "totalPrice": 387.6, "totalFees": 0, "totalTaxes": 124.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 263, "totalTaxes": 124.6, "totalFees": 0, "totalPrice": 387.6 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p45", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "H", "fareBasisCode": "HF0PLU05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 5, "totalDuration": "PT24H5M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H25M", "sequence": 1, "id": "s47", "number": "823", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "13:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:50:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s48", "number": "1452", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "10:55:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "09:15:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "319", "airplaneName": "Airbus A319", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o5_p30_b9_j21", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 308, "totalPrice": 408.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 308, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 408.06 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Eco Flex Premium", "brandId": "2146381", "brandCode": "EFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 308, "totalPrice": 408.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 308, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 408.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p30", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SH0WE3EA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 1, "totalDuration": "PT5H45M", "totalFlightDuration": "PT4H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H30M", "sequence": 1, "id": "s1", "number": "955", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "15:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s2", "number": "413", "operatingCarrierName": "RAM EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "17:40:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "16:35:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT1H5M", "equipment": "AT7", "airplaneName": "Alenia ATR 72", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o5_p31_b9_j21", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 308, "totalPrice": 408.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 308, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 408.06 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Eco Flex Premium", "brandId": "2146381", "brandCode": "EFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 308, "totalPrice": 408.06, "totalFees": 0, "totalTaxes": 100.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 308, "totalTaxes": 100.06, "totalFees": 0, "totalPrice": 408.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p31", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SH0WE3EA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 1, "totalDuration": "PT21H25M", "totalFlightDuration": "PT4H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT17H25M", "sequence": 1, "id": "s41", "number": "955", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "15:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s42", "number": "409", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "09:20:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "08:30:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT50M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o11_p50_b18_j36", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 374, "totalPrice": 421.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 374, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 421.81 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Comfort", "brandId": "2136346", "brandCode": "BUSCOMFORT", "brandFacilities": { "CheckedBag": "Included", "Refund": "Chargeable", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 374, "totalPrice": 421.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 374, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 421.81 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO31LB\/14KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p50", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "I", "fareBasisCode": "IDNNE0U2", "fareType": "PublicFare", "fareTypeCode": "BOF" } ], "quantity": 3, "totalDuration": "PT26H55M", "totalFlightDuration": "PT4H25M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT22H30M", "sequence": 1, "id": "s51", "number": "672", "operatingCarrierName": "", "arrival": { "terminal": "4", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-07-31", "time": "12:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 736, "duration": "PT2H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "sequence": 2, "id": "s52", "number": "1851", "operatingCarrierName": "IBERIA EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "12:20:00" }, "departure": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-08-01", "time": "11:20:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 661, "duration": "PT2H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" } ] } } ] }, { "id": "o12_p53_b4_j39", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 309, "totalPrice": 439.38, "totalFees": 0, "totalTaxes": 130.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 309, "totalTaxes": 130.38, "totalFees": 0, "totalPrice": 439.38 } ], "taxes": [] }, "legs": [ { "offerId": "o12", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Plus", "brandId": "1873792", "brandCode": "PLUS", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 309, "totalPrice": 439.38, "totalFees": 0, "totalTaxes": 130.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 309, "totalTaxes": 130.38, "totalFees": 0, "totalPrice": 439.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p53", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "B", "fareBasisCode": "BF0PLU05", "fareType": "PublicFare", "fareTypeCode": "XOX" } ], "quantity": 1, "totalDuration": "PT11H40M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H", "sequence": 1, "id": "s13", "number": "829", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "07:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "05:50:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s14", "number": "1454", "operatingCarrierName": "PORTUGALIA AIRLINES", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "16:30:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "14:50:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "E90", "airplaneName": "EMBRAER 190", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o13_p55_b17_j41", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 415, "totalPrice": 462.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 415, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 462.81 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Optima", "brandId": "2136347", "brandCode": "BUSOPTIMA", "brandFacilities": { "CheckedBag": "Included", "Refund": "Not Offered", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 415, "totalPrice": 462.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 415, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 462.81 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO31LB\/14KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p55", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "R", "fareBasisCode": "RDNNE0M2", "fareType": "PublicFare", "fareTypeCode": "BOX" } ], "quantity": 4, "totalDuration": "PT18H15M", "totalFlightDuration": "PT4H25M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H50M", "sequence": 1, "id": "s31", "number": "676", "operatingCarrierName": "", "arrival": { "terminal": "4", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-07-31", "time": "21:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:05:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 736, "duration": "PT2H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "sequence": 2, "id": "s32", "number": "1851", "operatingCarrierName": "IBERIA EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "12:20:00" }, "departure": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-08-01", "time": "11:20:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 661, "duration": "PT2H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" } ] } } ] }, { "id": "o13_p56_b17_j41", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 415, "totalPrice": 462.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 415, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 462.81 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Optima", "brandId": "2136347", "brandCode": "BUSOPTIMA", "brandFacilities": { "CheckedBag": "Included", "Refund": "Not Offered", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 415, "totalPrice": 462.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 415, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 462.81 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO31LB\/14KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p56", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "R", "fareBasisCode": "RDNNE0M2", "fareType": "PublicFare", "fareTypeCode": "BOX" } ], "quantity": 4, "totalDuration": "PT22H55M", "totalFlightDuration": "PT4H25M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT18H30M", "sequence": 1, "id": "s43", "number": "674", "operatingCarrierName": "", "arrival": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-07-31", "time": "16:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "14:25:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 736, "duration": "PT2H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "sequence": 2, "id": "s44", "number": "1851", "operatingCarrierName": "IBERIA EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "12:20:00" }, "departure": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-08-01", "time": "11:20:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 661, "duration": "PT2H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" } ] } } ] }, { "id": "o14_p63_b21_j45", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 292, "totalPrice": 477.86, "totalFees": 0, "totalTaxes": 185.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 292, "totalTaxes": 185.86, "totalFees": 0, "totalPrice": 477.86 } ], "taxes": [] }, "legs": [ { "offerId": "o14", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Flexible", "brandId": "2054271", "brandCode": "FX", "brandFacilities": { "Refund": "Included", "CarryOn": "Included", "Meals": "Included", "CheckedBag": "Included" } }, "price": { "currencyCode": "EUR", "base": 292, "totalPrice": 477.86, "totalFees": 0, "totalTaxes": 185.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 292, "totalTaxes": 185.86, "totalFees": 0, "totalPrice": 477.86 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO18LB\/8KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p63", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "H", "fareBasisCode": "HN2XOX", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT9H50M", "totalFlightDuration": "PT8H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H35M", "sequence": 1, "id": "s9", "number": "1878", "operatingCarrierName": "", "arrival": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "10:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:50:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 1036, "duration": "PT3H", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "s10", "number": "619", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "15:40:00" }, "departure": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "12:25:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 2141, "duration": "PT5H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] } } ] }, { "id": "o11_p51_b19_j37", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 440, "totalPrice": 487.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 440, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 487.81 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Flexible", "brandId": "2136345", "brandCode": "BUSFLEX", "brandFacilities": { "CheckedBag": "Included", "Refund": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 440, "totalPrice": 487.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 440, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 487.81 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO31LB\/14KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p51", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "I", "fareBasisCode": "IDNNE0Y2", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 3, "totalDuration": "PT26H55M", "totalFlightDuration": "PT4H25M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT22H30M", "sequence": 1, "id": "s51", "number": "672", "operatingCarrierName": "", "arrival": { "terminal": "4", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-07-31", "time": "12:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 736, "duration": "PT2H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "sequence": 2, "id": "s52", "number": "1851", "operatingCarrierName": "IBERIA EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "12:20:00" }, "departure": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-08-01", "time": "11:20:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 661, "duration": "PT2H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" } ] } } ] }, { "id": "o13_p57_b18_j42", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 459, "totalPrice": 506.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 459, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 506.81 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Comfort", "brandId": "2136346", "brandCode": "BUSCOMFORT", "brandFacilities": { "CheckedBag": "Included", "Refund": "Chargeable", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 459, "totalPrice": 506.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 459, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 506.81 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO31LB\/14KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p57", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "R", "fareBasisCode": "RDNNE0U2", "fareType": "PublicFare", "fareTypeCode": "BOF" } ], "quantity": 4, "totalDuration": "PT18H15M", "totalFlightDuration": "PT4H25M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H50M", "sequence": 1, "id": "s31", "number": "676", "operatingCarrierName": "", "arrival": { "terminal": "4", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-07-31", "time": "21:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:05:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 736, "duration": "PT2H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "sequence": 2, "id": "s32", "number": "1851", "operatingCarrierName": "IBERIA EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "12:20:00" }, "departure": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-08-01", "time": "11:20:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 661, "duration": "PT2H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" } ] } } ] }, { "id": "o13_p58_b18_j42", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 459, "totalPrice": 506.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 459, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 506.81 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Comfort", "brandId": "2136346", "brandCode": "BUSCOMFORT", "brandFacilities": { "CheckedBag": "Included", "Refund": "Chargeable", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 459, "totalPrice": 506.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 459, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 506.81 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO31LB\/14KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p58", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "R", "fareBasisCode": "RDNNE0U2", "fareType": "PublicFare", "fareTypeCode": "BOF" } ], "quantity": 4, "totalDuration": "PT22H55M", "totalFlightDuration": "PT4H25M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT18H30M", "sequence": 1, "id": "s43", "number": "674", "operatingCarrierName": "", "arrival": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-07-31", "time": "16:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "14:25:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 736, "duration": "PT2H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "sequence": 2, "id": "s44", "number": "1851", "operatingCarrierName": "IBERIA EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "12:20:00" }, "departure": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-08-01", "time": "11:20:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 661, "duration": "PT2H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" } ] } } ] }, { "id": "o1_p3_b5_j4", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 363, "totalPrice": 536.38, "totalFees": 0, "totalTaxes": 173.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 363, "totalTaxes": 173.38, "totalFees": 0, "totalPrice": 536.38 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Top Executive", "brandId": "1873790", "brandCode": "TOPEXE", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 363, "totalPrice": 536.38, "totalFees": 0, "totalTaxes": 173.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 363, "totalTaxes": 173.38, "totalFees": 0, "totalPrice": 536.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p3", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DF0TOP05", "fareType": "PublicFare", "fareTypeCode": "BOX" } ], "quantity": 8, "totalDuration": "PT15H55M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT11H15M", "sequence": 1, "id": "s25", "number": "827", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "22:00:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "20:00:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s26", "number": "1452", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "10:55:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "09:15:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "319", "airplaneName": "Airbus A319", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o2_p10_b5_j8", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 363, "totalPrice": 536.38, "totalFees": 0, "totalTaxes": 173.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 363, "totalTaxes": 173.38, "totalFees": 0, "totalPrice": 536.38 } ], "taxes": [] }, "legs": [ { "offerId": "o2", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Top Executive", "brandId": "1873790", "brandCode": "TOPEXE", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 363, "totalPrice": 536.38, "totalFees": 0, "totalTaxes": 173.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 363, "totalTaxes": 173.38, "totalFees": 0, "totalPrice": 536.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p10", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DF0TOP05", "fareType": "PublicFare", "fareTypeCode": "BOX" } ], "quantity": 4, "totalDuration": "PT20H45M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT16H5M", "sequence": 1, "id": "s35", "number": "827", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "22:00:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "20:00:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s36", "number": "2300", "operatingCarrierName": "PORTUGALIA AIRLINES", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:45:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "14:05:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "E95", "airplaneName": "Embraer 195", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o15_p66_b25_j48", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 464, "totalPrice": 538.52, "totalFees": 0, "totalTaxes": 74.52, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 464, "totalTaxes": 74.52, "totalFees": 0, "totalPrice": 538.52 } ], "taxes": [] }, "legs": [ { "offerId": "o15", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Light", "brandId": "2144113", "brandCode": "LIGHT", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Chargeable", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 464, "totalPrice": 538.52, "totalFees": 0, "totalTaxes": 74.52, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 464, "totalTaxes": 74.52, "totalFees": 0, "totalPrice": 538.52 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p66", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "P", "fareBasisCode": "PYQ0BALA", "fareType": "PublicFare", "fareTypeCode": "ERU" } ], "quantity": 8, "totalDuration": "PT9H10M", "totalFlightDuration": "PT5H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT4H5M", "sequence": 1, "id": "s7", "number": "1131", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:25:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:45:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H40M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o15_p67_b25_j48", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 464, "totalPrice": 538.52, "totalFees": 0, "totalTaxes": 74.52, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 464, "totalTaxes": 74.52, "totalFees": 0, "totalPrice": 538.52 } ], "taxes": [] }, "legs": [ { "offerId": "o15", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Light", "brandId": "2144113", "brandCode": "LIGHT", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Chargeable", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 464, "totalPrice": 538.52, "totalFees": 0, "totalTaxes": 74.52, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 464, "totalTaxes": 74.52, "totalFees": 0, "totalPrice": 538.52 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p67", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "P", "fareBasisCode": "PYQ0BALA", "fareType": "PublicFare", "fareTypeCode": "ERU" } ], "quantity": 2, "totalDuration": "PT12H50M", "totalFlightDuration": "PT4H50M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H", "sequence": 1, "id": "s17", "number": "1331", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:55:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:25:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s18", "number": "1776", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "23:15:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:55:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H20M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o9_p46_b5_j32", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 363, "totalPrice": 542.6, "totalFees": 0, "totalTaxes": 179.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 363, "totalTaxes": 179.6, "totalFees": 0, "totalPrice": 542.6 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Top Executive", "brandId": "1873790", "brandCode": "TOPEXE", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 363, "totalPrice": 542.6, "totalFees": 0, "totalTaxes": 179.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 363, "totalTaxes": 179.6, "totalFees": 0, "totalPrice": 542.6 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p46", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DF0TOP05", "fareType": "PublicFare", "fareTypeCode": "BOX" } ], "quantity": 2, "totalDuration": "PT24H5M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H25M", "sequence": 1, "id": "s47", "number": "823", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "13:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:50:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s48", "number": "1452", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "10:55:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "09:15:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "319", "airplaneName": "Airbus A319", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o16_p76_b25_j55", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 464, "totalPrice": 549.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 464, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 549.51 } ], "taxes": [] }, "legs": [ { "offerId": "o16", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Light", "brandId": "2144113", "brandCode": "LIGHT", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Chargeable", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 464, "totalPrice": 549.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 464, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 549.51 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p76", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "P", "fareBasisCode": "PYQ0BALA", "fareType": "PublicFare", "fareTypeCode": "ERU" } ], "quantity": 9, "totalDuration": "PT17H30M", "totalFlightDuration": "PT5H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H30M", "sequence": 1, "id": "s27", "number": "1131", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:25:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:45:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H40M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s28", "number": "1776", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "23:15:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:55:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H20M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o17_p81_b21_j60", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 381, "totalPrice": 566.86, "totalFees": 0, "totalTaxes": 185.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 381, "totalTaxes": 185.86, "totalFees": 0, "totalPrice": 566.86 } ], "taxes": [] }, "legs": [ { "offerId": "o17", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Flexible", "brandId": "2054271", "brandCode": "FX", "brandFacilities": { "Refund": "Included", "CarryOn": "Included", "Meals": "Included", "CheckedBag": "Included" } }, "price": { "currencyCode": "EUR", "base": 381, "totalPrice": 566.86, "totalFees": 0, "totalTaxes": 185.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 381, "totalTaxes": 185.86, "totalFees": 0, "totalPrice": 566.86 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO18LB\/8KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p81", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "A", "fareBasisCode": "AN2XOX", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT20H55M", "totalFlightDuration": "PT8H10M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H45M", "sequence": 1, "id": "s37", "number": "1876", "operatingCarrierName": "", "arrival": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "23:40:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:45:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 1036, "duration": "PT2H55M", "equipment": "333", "airplaneName": "Airbus A330-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "s38", "number": "619", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:40:00" }, "departure": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-08-01", "time": "12:25:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 2141, "duration": "PT5H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] } } ] }, { "id": "o17_p82_b21_j60", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 381, "totalPrice": 566.86, "totalFees": 0, "totalTaxes": 185.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 381, "totalTaxes": 185.86, "totalFees": 0, "totalPrice": 566.86 } ], "taxes": [] }, "legs": [ { "offerId": "o17", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Flexible", "brandId": "2054271", "brandCode": "FX", "brandFacilities": { "Refund": "Included", "CarryOn": "Included", "Meals": "Included", "CheckedBag": "Included" } }, "price": { "currencyCode": "EUR", "base": 381, "totalPrice": 566.86, "totalFees": 0, "totalTaxes": 185.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 381, "totalTaxes": 185.86, "totalFees": 0, "totalPrice": 566.86 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO18LB\/8KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p82", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "A", "fareBasisCode": "AN2XOX", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT29H55M", "totalFlightDuration": "PT8H10M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT21H45M", "sequence": 1, "id": "s55", "number": "1874", "operatingCarrierName": "", "arrival": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "14:40:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "10:45:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 1036, "duration": "PT2H55M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "s56", "number": "619", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:40:00" }, "departure": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-08-01", "time": "12:25:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 2141, "duration": "PT5H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] } } ] }, { "id": "o13_p59_b19_j43", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 525, "totalPrice": 572.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 525, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 572.81 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Flexible", "brandId": "2136345", "brandCode": "BUSFLEX", "brandFacilities": { "CheckedBag": "Included", "Refund": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 525, "totalPrice": 572.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 525, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 572.81 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO31LB\/14KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p59", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "R", "fareBasisCode": "RDNNE0Y2", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 4, "totalDuration": "PT18H15M", "totalFlightDuration": "PT4H25M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H50M", "sequence": 1, "id": "s31", "number": "676", "operatingCarrierName": "", "arrival": { "terminal": "4", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-07-31", "time": "21:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:05:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 736, "duration": "PT2H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "sequence": 2, "id": "s32", "number": "1851", "operatingCarrierName": "IBERIA EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "12:20:00" }, "departure": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-08-01", "time": "11:20:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 661, "duration": "PT2H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" } ] } } ] }, { "id": "o13_p60_b19_j43", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 525, "totalPrice": 572.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 525, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 572.81 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Flexible", "brandId": "2136345", "brandCode": "BUSFLEX", "brandFacilities": { "CheckedBag": "Included", "Refund": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 525, "totalPrice": 572.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 525, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 572.81 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO31LB\/14KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p60", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "R", "fareBasisCode": "RDNNE0Y2", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 4, "totalDuration": "PT22H55M", "totalFlightDuration": "PT4H25M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT18H30M", "sequence": 1, "id": "s43", "number": "674", "operatingCarrierName": "", "arrival": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-07-31", "time": "16:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "14:25:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 736, "duration": "PT2H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "sequence": 2, "id": "s44", "number": "1851", "operatingCarrierName": "IBERIA EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "12:20:00" }, "departure": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-08-01", "time": "11:20:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 661, "duration": "PT2H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" } ] } } ] }, { "id": "o15_p68_b32_j49", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 510, "totalPrice": 584.52, "totalFees": 0, "totalTaxes": 74.52, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 510, "totalTaxes": 74.52, "totalFees": 0, "totalPrice": 584.52 } ], "taxes": [] }, "legs": [ { "offerId": "o15", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Standard", "brandId": "2144111", "brandCode": "STANDARD", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 510, "totalPrice": 584.52, "totalFees": 0, "totalTaxes": 74.52, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 510, "totalTaxes": 74.52, "totalFees": 0, "totalPrice": 584.52 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p68", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "P", "fareBasisCode": "PYQ0BBSA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 8, "totalDuration": "PT9H10M", "totalFlightDuration": "PT5H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT4H5M", "sequence": 1, "id": "s7", "number": "1131", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:25:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:45:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H40M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o15_p69_b32_j49", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 510, "totalPrice": 584.52, "totalFees": 0, "totalTaxes": 74.52, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 510, "totalTaxes": 74.52, "totalFees": 0, "totalPrice": 584.52 } ], "taxes": [] }, "legs": [ { "offerId": "o15", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Standard", "brandId": "2144111", "brandCode": "STANDARD", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 510, "totalPrice": 584.52, "totalFees": 0, "totalTaxes": 74.52, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 510, "totalTaxes": 74.52, "totalFees": 0, "totalPrice": 584.52 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p69", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "P", "fareBasisCode": "PYQ0BBSA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 2, "totalDuration": "PT12H50M", "totalFlightDuration": "PT4H50M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H", "sequence": 1, "id": "s17", "number": "1331", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:55:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:25:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s18", "number": "1776", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "23:15:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:55:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H20M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o16_p77_b32_j56", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 510, "totalPrice": 595.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 510, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 595.51 } ], "taxes": [] }, "legs": [ { "offerId": "o16", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Standard", "brandId": "2144111", "brandCode": "STANDARD", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 510, "totalPrice": 595.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 510, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 595.51 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p77", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "P", "fareBasisCode": "PYQ0BBSA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT17H30M", "totalFlightDuration": "PT5H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H30M", "sequence": 1, "id": "s27", "number": "1131", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:25:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:45:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H40M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s28", "number": "1776", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "23:15:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:55:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H20M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o2_p11_b5_j9", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 493, "totalPrice": 666.38, "totalFees": 0, "totalTaxes": 173.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 493, "totalTaxes": 173.38, "totalFees": 0, "totalPrice": 666.38 } ], "taxes": [] }, "legs": [ { "offerId": "o2", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Top Executive", "brandId": "1873790", "brandCode": "TOPEXE", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 493, "totalPrice": 666.38, "totalFees": 0, "totalTaxes": 173.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 493, "totalTaxes": 173.38, "totalFees": 0, "totalPrice": 666.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p11", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CF0TOP05", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 2, "totalDuration": "PT18H30M", "totalFlightDuration": "PT4H45M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H45M", "sequence": 1, "id": "s33", "number": "825", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "19:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "17:25:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H5M", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s34", "number": "1452", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "10:55:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "09:15:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "319", "airplaneName": "Airbus A319", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o12_p54_b5_j40", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 493, "totalPrice": 666.38, "totalFees": 0, "totalTaxes": 173.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 493, "totalTaxes": 173.38, "totalFees": 0, "totalPrice": 666.38 } ], "taxes": [] }, "legs": [ { "offerId": "o12", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Top Executive", "brandId": "1873790", "brandCode": "TOPEXE", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 493, "totalPrice": 666.38, "totalFees": 0, "totalTaxes": 173.38, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 493, "totalTaxes": 173.38, "totalFees": 0, "totalPrice": 666.38 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p54", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CF0TOP05", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 2, "totalDuration": "PT11H40M", "totalFlightDuration": "PT4H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H", "sequence": 1, "id": "s13", "number": "829", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "07:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "05:50:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s14", "number": "1454", "operatingCarrierName": "PORTUGALIA AIRLINES", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "16:30:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "14:50:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "E90", "airplaneName": "EMBRAER 190", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o15_p70_b33_j50", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 598, "totalPrice": 672.52, "totalFees": 0, "totalTaxes": 74.52, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 598, "totalTaxes": 74.52, "totalFees": 0, "totalPrice": 672.52 } ], "taxes": [] }, "legs": [ { "offerId": "o15", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Flex", "brandId": "2144109", "brandCode": "FLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 598, "totalPrice": 672.52, "totalFees": 0, "totalTaxes": 74.52, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 598, "totalTaxes": 74.52, "totalFees": 0, "totalPrice": 672.52 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p70", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "P", "fareBasisCode": "PYQ0BFFA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 8, "totalDuration": "PT9H10M", "totalFlightDuration": "PT5H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT4H5M", "sequence": 1, "id": "s7", "number": "1131", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:25:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:45:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H40M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o15_p71_b33_j50", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 598, "totalPrice": 672.52, "totalFees": 0, "totalTaxes": 74.52, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 598, "totalTaxes": 74.52, "totalFees": 0, "totalPrice": 672.52 } ], "taxes": [] }, "legs": [ { "offerId": "o15", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Flex", "brandId": "2144109", "brandCode": "FLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 598, "totalPrice": 672.52, "totalFees": 0, "totalTaxes": 74.52, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 598, "totalTaxes": 74.52, "totalFees": 0, "totalPrice": 672.52 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p71", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "P", "fareBasisCode": "PYQ0BFFA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 2, "totalDuration": "PT12H50M", "totalFlightDuration": "PT4H50M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H", "sequence": 1, "id": "s17", "number": "1331", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:55:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:25:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s18", "number": "1776", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "23:15:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:55:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H20M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o3_p15_b5_j13", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 493, "totalPrice": 672.6, "totalFees": 0, "totalTaxes": 179.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 493, "totalTaxes": 179.6, "totalFees": 0, "totalPrice": 672.6 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Top Executive", "brandId": "1873790", "brandCode": "TOPEXE", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 493, "totalPrice": 672.6, "totalFees": 0, "totalTaxes": 179.6, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 493, "totalTaxes": 179.6, "totalFees": 0, "totalPrice": 672.6 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO22LB\/10KG AND 55L X 40W X 25H" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p15", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CF0TOP05", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 2, "totalDuration": "PT23H20M", "totalFlightDuration": "PT4H45M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT18H35M", "sequence": 1, "id": "s45", "number": "825", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-07-31", "time": "19:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "17:25:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 1049, "duration": "PT3H5M", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "sequence": 2, "id": "s46", "number": "2300", "operatingCarrierName": "PORTUGALIA AIRLINES", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:45:00" }, "departure": { "terminal": "1", "location": "LIS", "locationName": "Lisbon Portela Airport", "date": "2026-08-01", "time": "14:05:00" }, "carrier": "TP", "airlineName": "TAP Air Portugal", "distance": 499, "duration": "PT1H40M", "equipment": "E95", "airplaneName": "Embraer 195", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" } ] } } ] }, { "id": "o16_p78_b33_j57", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 598, "totalPrice": 683.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 598, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 683.51 } ], "taxes": [] }, "legs": [ { "offerId": "o16", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Flex", "brandId": "2144109", "brandCode": "FLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 598, "totalPrice": 683.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 598, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 683.51 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p78", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "P", "fareBasisCode": "PYQ0BFFA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 9, "totalDuration": "PT17H30M", "totalFlightDuration": "PT5H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H30M", "sequence": 1, "id": "s27", "number": "1131", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:25:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:45:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H40M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s28", "number": "1776", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "23:15:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:55:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H20M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o4_p22_b10_j17", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 555, "totalPrice": 698.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 555, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 698.06 } ], "taxes": [] }, "legs": [ { "offerId": "o4", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Bus Classic", "brandId": "2146380", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 555, "totalPrice": 698.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 555, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 698.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p22", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DH0WE6EA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT14H25M", "totalFlightDuration": "PT4H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT10H25M", "sequence": 1, "id": "s21", "number": "951", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "22:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s22", "number": "409", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "09:20:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "08:30:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT50M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o4_p23_b10_j17", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 555, "totalPrice": 698.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 555, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 698.06 } ], "taxes": [] }, "legs": [ { "offerId": "o4", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Bus Classic", "brandId": "2146380", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 555, "totalPrice": 698.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 555, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 698.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p23", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DH0WE6EA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 4, "totalDuration": "PT18H10M", "totalFlightDuration": "PT4H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H55M", "sequence": 1, "id": "s29", "number": "951", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "22:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s30", "number": "411", "operatingCarrierName": "RAM EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "13:05:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "12:00:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT1H5M", "equipment": "AT7", "airplaneName": "Alenia ATR 72", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o5_p32_b10_j22", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 555, "totalPrice": 698.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 555, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 698.06 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Bus Classic", "brandId": "2146380", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 555, "totalPrice": 698.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 555, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 698.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p32", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DH0WE6EA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 1, "totalDuration": "PT5H45M", "totalFlightDuration": "PT4H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H30M", "sequence": 1, "id": "s1", "number": "955", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "15:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s2", "number": "413", "operatingCarrierName": "RAM EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "17:40:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "16:35:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT1H5M", "equipment": "AT7", "airplaneName": "Alenia ATR 72", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o5_p33_b10_j22", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 555, "totalPrice": 698.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 555, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 698.06 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Bus Classic", "brandId": "2146380", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 555, "totalPrice": 698.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 555, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 698.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p33", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DH0WE6EA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 1, "totalDuration": "PT21H25M", "totalFlightDuration": "PT4H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT17H25M", "sequence": 1, "id": "s41", "number": "955", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "15:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s42", "number": "409", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "09:20:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "08:30:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT50M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o18_p87_b10_j63", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 555, "totalPrice": 698.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 555, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 698.06 } ], "taxes": [] }, "legs": [ { "offerId": "o18", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Bus Classic", "brandId": "2146380", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 555, "totalPrice": 698.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 555, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 698.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p87", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DH0WE6EA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 1, "totalDuration": "PT11H45M", "totalFlightDuration": "PT4H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H30M", "sequence": 1, "id": "s15", "number": "955", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "15:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s16", "number": "403", "operatingCarrierName": "RAM EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "23:40:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "22:35:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT1H5M", "equipment": "AT7", "airplaneName": "Alenia ATR 72", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o15_p72_b34_j51", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 642, "totalPrice": 717.27, "totalFees": 0, "totalTaxes": 75.27, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 642, "totalTaxes": 75.27, "totalFees": 0, "totalPrice": 717.27 } ], "taxes": [] }, "legs": [ { "offerId": "o15", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Standard", "brandId": "2144104", "brandCode": "BIZSTAND", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 642, "totalPrice": 717.27, "totalFees": 0, "totalTaxes": 75.27, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 642, "totalTaxes": 75.27, "totalFees": 0, "totalPrice": 717.27 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO20LB\/9KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p72", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "I", "fareBasisCode": "IYQ0BBTA", "fareType": "PublicFare", "fareTypeCode": "BXS" } ], "quantity": 3, "totalDuration": "PT12H50M", "totalFlightDuration": "PT4H50M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H", "sequence": 1, "id": "s17", "number": "1331", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:55:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:25:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s18", "number": "1776", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "23:15:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:55:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H20M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o16_p79_b34_j58", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 642, "totalPrice": 728.26, "totalFees": 0, "totalTaxes": 86.26, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 642, "totalTaxes": 86.26, "totalFees": 0, "totalPrice": 728.26 } ], "taxes": [] }, "legs": [ { "offerId": "o16", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Standard", "brandId": "2144104", "brandCode": "BIZSTAND", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 642, "totalPrice": 728.26, "totalFees": 0, "totalTaxes": 86.26, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 642, "totalTaxes": 86.26, "totalFees": 0, "totalPrice": 728.26 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO20LB\/9KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p79", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "I", "fareBasisCode": "IYQ0BBTA", "fareType": "PublicFare", "fareTypeCode": "BXS" } ], "quantity": 2, "totalDuration": "PT17H30M", "totalFlightDuration": "PT5H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H30M", "sequence": 1, "id": "s27", "number": "1131", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:25:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:45:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H40M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s28", "number": "1776", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "23:15:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:55:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H20M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o19_p89_b25_j65", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 712, "totalPrice": 797.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 712, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 797.51 } ], "taxes": [] }, "legs": [ { "offerId": "o19", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Light", "brandId": "2144113", "brandCode": "LIGHT", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Chargeable", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 712, "totalPrice": 797.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 712, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 797.51 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p89", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "B", "fareBasisCode": "BYQ0BALA", "fareType": "PublicFare", "fareTypeCode": "ERU" } ], "quantity": 9, "totalDuration": "PT21H20M", "totalFlightDuration": "PT4H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT16H25M", "sequence": 1, "id": "s39", "number": "1731", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "18:35:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s40", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-08-01", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o19_p90_b25_j65", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 712, "totalPrice": 797.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 712, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 797.51 } ], "taxes": [] }, "legs": [ { "offerId": "o19", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Light", "brandId": "2144113", "brandCode": "LIGHT", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Chargeable", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 712, "totalPrice": 797.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 712, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 797.51 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 0, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p90", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "B", "fareBasisCode": "BYQ0BALA", "fareType": "PublicFare", "fareTypeCode": "ERU" } ], "quantity": 9, "totalDuration": "PT28H30M", "totalFlightDuration": "PT4H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT23H35M", "sequence": 1, "id": "s53", "number": "1331", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:55:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:25:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s54", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-08-01", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o4_p24_b11_j18", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 655, "totalPrice": 798.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 655, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 798.06 } ], "taxes": [] }, "legs": [ { "offerId": "o4", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Bus Flex Premium", "brandId": "2146379", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 655, "totalPrice": 798.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 655, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 798.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p24", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DH0WE7EA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 3, "totalDuration": "PT14H25M", "totalFlightDuration": "PT4H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT10H25M", "sequence": 1, "id": "s21", "number": "951", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "22:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s22", "number": "409", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "09:20:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "08:30:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT50M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o4_p25_b11_j18", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 655, "totalPrice": 798.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 655, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 798.06 } ], "taxes": [] }, "legs": [ { "offerId": "o4", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Bus Flex Premium", "brandId": "2146379", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 655, "totalPrice": 798.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 655, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 798.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p25", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DH0WE7EA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 4, "totalDuration": "PT18H10M", "totalFlightDuration": "PT4H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H55M", "sequence": 1, "id": "s29", "number": "951", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "22:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s30", "number": "411", "operatingCarrierName": "RAM EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "13:05:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "12:00:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT1H5M", "equipment": "AT7", "airplaneName": "Alenia ATR 72", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o5_p34_b11_j23", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 655, "totalPrice": 798.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 655, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 798.06 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Bus Flex Premium", "brandId": "2146379", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 655, "totalPrice": 798.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 655, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 798.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p34", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DH0WE7EA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 1, "totalDuration": "PT5H45M", "totalFlightDuration": "PT4H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H30M", "sequence": 1, "id": "s1", "number": "955", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "15:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s2", "number": "413", "operatingCarrierName": "RAM EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "17:40:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "16:35:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT1H5M", "equipment": "AT7", "airplaneName": "Alenia ATR 72", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o5_p35_b11_j23", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 655, "totalPrice": 798.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 655, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 798.06 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Bus Flex Premium", "brandId": "2146379", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 655, "totalPrice": 798.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 655, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 798.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p35", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DH0WE7EA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 1, "totalDuration": "PT21H25M", "totalFlightDuration": "PT4H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT17H25M", "sequence": 1, "id": "s41", "number": "955", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "15:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s42", "number": "409", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "09:20:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-08-01", "time": "08:30:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT50M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o18_p88_b11_j64", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 655, "totalPrice": 798.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 655, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 798.06 } ], "taxes": [] }, "legs": [ { "offerId": "o18", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Bus Flex Premium", "brandId": "2146379", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 655, "totalPrice": 798.06, "totalFees": 0, "totalTaxes": 143.06, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 655, "totalTaxes": 143.06, "totalFees": 0, "totalPrice": 798.06 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p88", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DH0WE7EA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 1, "totalDuration": "PT11H45M", "totalFlightDuration": "PT4H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H30M", "sequence": 1, "id": "s15", "number": "955", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "15:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1227, "duration": "PT3H10M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s16", "number": "403", "operatingCarrierName": "RAM EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "23:40:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "22:35:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 124, "duration": "PT1H5M", "equipment": "AT7", "airplaneName": "Alenia ATR 72", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "o15_p74_b35_j53", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 747, "totalPrice": 822.27, "totalFees": 0, "totalTaxes": 75.27, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 747, "totalTaxes": 75.27, "totalFees": 0, "totalPrice": 822.27 } ], "taxes": [] }, "legs": [ { "offerId": "o15", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Flex", "brandId": "2144103", "brandCode": "BIZFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 747, "totalPrice": 822.27, "totalFees": 0, "totalTaxes": 75.27, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 747, "totalTaxes": 75.27, "totalFees": 0, "totalPrice": 822.27 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO20LB\/9KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p74", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "I", "fareBasisCode": "IYQ0BFKA", "fareType": "PublicFare", "fareTypeCode": "BCF" } ], "quantity": 3, "totalDuration": "PT12H50M", "totalFlightDuration": "PT4H50M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H", "sequence": 1, "id": "s17", "number": "1331", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:55:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:25:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s18", "number": "1776", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "23:15:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:55:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H20M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o16_p80_b35_j59", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 747, "totalPrice": 833.26, "totalFees": 0, "totalTaxes": 86.26, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 747, "totalTaxes": 86.26, "totalFees": 0, "totalPrice": 833.26 } ], "taxes": [] }, "legs": [ { "offerId": "o16", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Flex", "brandId": "2144103", "brandCode": "BIZFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 747, "totalPrice": 833.26, "totalFees": 0, "totalTaxes": 86.26, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 747, "totalTaxes": 86.26, "totalFees": 0, "totalPrice": 833.26 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO20LB\/9KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p80", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "I", "fareBasisCode": "IYQ0BFKA", "fareType": "PublicFare", "fareTypeCode": "BCF" } ], "quantity": 2, "totalDuration": "PT17H30M", "totalFlightDuration": "PT5H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H30M", "sequence": 1, "id": "s27", "number": "1131", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:25:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:45:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H40M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s28", "number": "1776", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "23:15:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:55:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H20M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o19_p91_b32_j66", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 759, "totalPrice": 844.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 759, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 844.51 } ], "taxes": [] }, "legs": [ { "offerId": "o19", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Standard", "brandId": "2144111", "brandCode": "STANDARD", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 759, "totalPrice": 844.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 759, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 844.51 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p91", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "B", "fareBasisCode": "BYQ0BBSA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT21H20M", "totalFlightDuration": "PT4H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT16H25M", "sequence": 1, "id": "s39", "number": "1731", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "18:35:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s40", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-08-01", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o19_p92_b32_j66", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 759, "totalPrice": 844.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 759, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 844.51 } ], "taxes": [] }, "legs": [ { "offerId": "o19", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Standard", "brandId": "2144111", "brandCode": "STANDARD", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 759, "totalPrice": 844.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 759, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 844.51 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p92", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "B", "fareBasisCode": "BYQ0BBSA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT28H30M", "totalFlightDuration": "PT4H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT23H35M", "sequence": 1, "id": "s53", "number": "1331", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:55:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:25:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s54", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-08-01", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o11_p52_b20_j38", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 850, "totalPrice": 897.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 850, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 897.81 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Fully Flexible", "brandId": "2136344", "brandCode": "BUSFULLFLX", "brandFacilities": { "CheckedBag": "Included", "Refund": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 850, "totalPrice": 897.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 850, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 897.81 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO31LB\/14KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p52", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "J", "fareBasisCode": "JDNNE0Y2", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 6, "totalDuration": "PT26H55M", "totalFlightDuration": "PT4H25M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT22H30M", "sequence": 1, "id": "s51", "number": "672", "operatingCarrierName": "", "arrival": { "terminal": "4", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-07-31", "time": "12:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 736, "duration": "PT2H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "sequence": 2, "id": "s52", "number": "1851", "operatingCarrierName": "IBERIA EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "12:20:00" }, "departure": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-08-01", "time": "11:20:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 661, "duration": "PT2H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" } ] } } ] }, { "id": "o13_p61_b20_j44", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 850, "totalPrice": 897.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 850, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 897.81 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Fully Flexible", "brandId": "2136344", "brandCode": "BUSFULLFLX", "brandFacilities": { "CheckedBag": "Included", "Refund": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 850, "totalPrice": 897.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 850, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 897.81 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO31LB\/14KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p61", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "J", "fareBasisCode": "JDNNE0Y2", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 6, "totalDuration": "PT18H15M", "totalFlightDuration": "PT4H25M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT13H50M", "sequence": 1, "id": "s31", "number": "676", "operatingCarrierName": "", "arrival": { "terminal": "4", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-07-31", "time": "21:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:05:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 736, "duration": "PT2H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "sequence": 2, "id": "s32", "number": "1851", "operatingCarrierName": "IBERIA EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "12:20:00" }, "departure": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-08-01", "time": "11:20:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 661, "duration": "PT2H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" } ] } } ] }, { "id": "o13_p62_b20_j44", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 850, "totalPrice": 897.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 850, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 897.81 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Fully Flexible", "brandId": "2136344", "brandCode": "BUSFULLFLX", "brandFacilities": { "CheckedBag": "Included", "Refund": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 850, "totalPrice": 897.81, "totalFees": 0, "totalTaxes": 47.81, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 850, "totalTaxes": 47.81, "totalFees": 0, "totalPrice": 897.81 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO31LB\/14KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p62", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "J", "fareBasisCode": "JDNNE0Y2", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 6, "totalDuration": "PT22H55M", "totalFlightDuration": "PT4H25M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT18H30M", "sequence": 1, "id": "s43", "number": "674", "operatingCarrierName": "", "arrival": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-07-31", "time": "16:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "14:25:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 736, "duration": "PT2H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "sequence": 2, "id": "s44", "number": "1851", "operatingCarrierName": "IBERIA EXPRESS", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "12:20:00" }, "departure": { "terminal": "4S", "location": "MAD", "locationName": "All Madrid Airports", "date": "2026-08-01", "time": "11:20:00" }, "carrier": "IB", "airlineName": "Iberia", "distance": 661, "duration": "PT2H", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" } ] } } ] }, { "id": "o15_p73_b34_j52", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 827, "totalPrice": 902.27, "totalFees": 0, "totalTaxes": 75.27, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 827, "totalTaxes": 75.27, "totalFees": 0, "totalPrice": 902.27 } ], "taxes": [] }, "legs": [ { "offerId": "o15", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Standard", "brandId": "2144104", "brandCode": "BIZSTAND", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 827, "totalPrice": 902.27, "totalFees": 0, "totalTaxes": 75.27, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 827, "totalTaxes": 75.27, "totalFees": 0, "totalPrice": 902.27 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO20LB\/9KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p73", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DYQ0BBTA", "fareType": "PublicFare", "fareTypeCode": "BXS" } ], "quantity": 1, "totalDuration": "PT9H10M", "totalFlightDuration": "PT5H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT4H5M", "sequence": 1, "id": "s7", "number": "1131", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:25:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:45:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H40M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o19_p93_b33_j67", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 848, "totalPrice": 933.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 848, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 933.51 } ], "taxes": [] }, "legs": [ { "offerId": "o19", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Flex", "brandId": "2144109", "brandCode": "FLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 848, "totalPrice": 933.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 848, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 933.51 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p93", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "B", "fareBasisCode": "BYQ0BFFA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 9, "totalDuration": "PT21H20M", "totalFlightDuration": "PT4H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT16H25M", "sequence": 1, "id": "s39", "number": "1731", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "18:35:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s40", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-08-01", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o19_p94_b33_j67", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 848, "totalPrice": 933.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 848, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 933.51 } ], "taxes": [] }, "legs": [ { "offerId": "o19", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Flex", "brandId": "2144109", "brandCode": "FLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 848, "totalPrice": 933.51, "totalFees": 0, "totalTaxes": 85.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 848, "totalTaxes": 85.51, "totalFees": 0, "totalPrice": 933.51 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p94", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "B", "fareBasisCode": "BYQ0BFFA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 9, "totalDuration": "PT28H30M", "totalFlightDuration": "PT4H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT23H35M", "sequence": 1, "id": "s53", "number": "1331", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:55:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:25:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s54", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-08-01", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o15_p75_b35_j54", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 937, "totalPrice": 1012.27, "totalFees": 0, "totalTaxes": 75.27, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 937, "totalTaxes": 75.27, "totalFees": 0, "totalPrice": 1012.27 } ], "taxes": [] }, "legs": [ { "offerId": "o15", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Flex", "brandId": "2144103", "brandCode": "BIZFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 937, "totalPrice": 1012.27, "totalFees": 0, "totalTaxes": 75.27, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 937, "totalTaxes": 75.27, "totalFees": 0, "totalPrice": 1012.27 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO20LB\/9KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p75", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DYQ0BFKA", "fareType": "PublicFare", "fareTypeCode": "BCF" } ], "quantity": 1, "totalDuration": "PT9H10M", "totalFlightDuration": "PT5H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT4H5M", "sequence": 1, "id": "s7", "number": "1131", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:25:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:45:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H40M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o20_p99_b21_j70", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 845, "totalPrice": 1030.86, "totalFees": 0, "totalTaxes": 185.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 845, "totalTaxes": 185.86, "totalFees": 0, "totalPrice": 1030.86 } ], "taxes": [] }, "legs": [ { "offerId": "o20", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Flexible", "brandId": "2054271", "brandCode": "FX", "brandFacilities": { "Refund": "Included", "CarryOn": "Included", "Meals": "Included", "CheckedBag": "Included" } }, "price": { "currencyCode": "EUR", "base": 845, "totalPrice": 1030.86, "totalFees": 0, "totalTaxes": 185.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 845, "totalTaxes": 185.86, "totalFees": 0, "totalPrice": 1030.86 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO18LB\/8KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p99", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YNOW", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 2, "totalDuration": "PT25H25M", "totalFlightDuration": "PT8H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT17H10M", "sequence": 1, "id": "s49", "number": "1896", "operatingCarrierName": "", "arrival": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "19:15:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "15:15:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 1036, "duration": "PT3H", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "s50", "number": "619", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:40:00" }, "departure": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-08-01", "time": "12:25:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 2141, "duration": "PT5H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] } } ] }, { "id": "o19_p95_b34_j68", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1092, "totalPrice": 1178.26, "totalFees": 0, "totalTaxes": 86.26, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1092, "totalTaxes": 86.26, "totalFees": 0, "totalPrice": 1178.26 } ], "taxes": [] }, "legs": [ { "offerId": "o19", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Standard", "brandId": "2144104", "brandCode": "BIZSTAND", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 1092, "totalPrice": 1178.26, "totalFees": 0, "totalTaxes": 86.26, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1092, "totalTaxes": 86.26, "totalFees": 0, "totalPrice": 1178.26 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO20LB\/9KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p95", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CYQ0BBTA", "fareType": "PublicFare", "fareTypeCode": "BXS" } ], "quantity": 2, "totalDuration": "PT21H20M", "totalFlightDuration": "PT4H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT16H25M", "sequence": 1, "id": "s39", "number": "1731", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "18:35:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s40", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-08-01", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o19_p96_b34_j68", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1092, "totalPrice": 1178.26, "totalFees": 0, "totalTaxes": 86.26, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1092, "totalTaxes": 86.26, "totalFees": 0, "totalPrice": 1178.26 } ], "taxes": [] }, "legs": [ { "offerId": "o19", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Standard", "brandId": "2144104", "brandCode": "BIZSTAND", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 1092, "totalPrice": 1178.26, "totalFees": 0, "totalTaxes": 86.26, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1092, "totalTaxes": 86.26, "totalFees": 0, "totalPrice": 1178.26 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO20LB\/9KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p96", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CYQ0BBTA", "fareType": "PublicFare", "fareTypeCode": "BXS" } ], "quantity": 3, "totalDuration": "PT28H30M", "totalFlightDuration": "PT4H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT23H35M", "sequence": 1, "id": "s53", "number": "1331", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:55:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:25:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s54", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-08-01", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o14_p64_b23_j46", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 872, "totalPrice": 1186.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 872, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1186.86 } ], "taxes": [] }, "legs": [ { "offerId": "o14", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Restricted", "brandId": "2054269", "brandCode": "BX", "brandFacilities": { "Refund": "Chargeable", "CarryOn": "Not Offered", "Meals": "Included", "CheckedBag": "Included" } }, "price": { "currencyCode": "EUR", "base": 872, "totalPrice": 1186.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 872, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1186.86 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO18LB\/8KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p64", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "Z", "fareBasisCode": "ZN1BOX", "fareType": "PublicFare", "fareTypeCode": "BX" } ], "quantity": 4, "totalDuration": "PT9H50M", "totalFlightDuration": "PT8H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H35M", "sequence": 1, "id": "s9", "number": "1878", "operatingCarrierName": "", "arrival": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "10:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:50:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 1036, "duration": "PT3H", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "s10", "number": "619", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "15:40:00" }, "departure": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "12:25:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 2141, "duration": "PT5H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] } } ] }, { "id": "o17_p83_b23_j61", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 872, "totalPrice": 1186.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 872, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1186.86 } ], "taxes": [] }, "legs": [ { "offerId": "o17", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Restricted", "brandId": "2054269", "brandCode": "BX", "brandFacilities": { "Refund": "Chargeable", "CarryOn": "Not Offered", "Meals": "Included", "CheckedBag": "Included" } }, "price": { "currencyCode": "EUR", "base": 872, "totalPrice": 1186.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 872, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1186.86 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO18LB\/8KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p83", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "Z", "fareBasisCode": "ZN1BOX", "fareType": "PublicFare", "fareTypeCode": "BX" } ], "quantity": 4, "totalDuration": "PT20H55M", "totalFlightDuration": "PT8H10M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H45M", "sequence": 1, "id": "s37", "number": "1876", "operatingCarrierName": "", "arrival": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "23:40:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:45:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 1036, "duration": "PT2H55M", "equipment": "333", "airplaneName": "Airbus A330-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "s38", "number": "619", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:40:00" }, "departure": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-08-01", "time": "12:25:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 2141, "duration": "PT5H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] } } ] }, { "id": "o17_p84_b23_j61", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 872, "totalPrice": 1186.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 872, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1186.86 } ], "taxes": [] }, "legs": [ { "offerId": "o17", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Restricted", "brandId": "2054269", "brandCode": "BX", "brandFacilities": { "Refund": "Chargeable", "CarryOn": "Not Offered", "Meals": "Included", "CheckedBag": "Included" } }, "price": { "currencyCode": "EUR", "base": 872, "totalPrice": 1186.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 872, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1186.86 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO18LB\/8KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p84", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "Z", "fareBasisCode": "ZN1BOX", "fareType": "PublicFare", "fareTypeCode": "BX" } ], "quantity": 4, "totalDuration": "PT29H55M", "totalFlightDuration": "PT8H10M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT21H45M", "sequence": 1, "id": "s55", "number": "1874", "operatingCarrierName": "", "arrival": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "14:40:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "10:45:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 1036, "duration": "PT2H55M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "s56", "number": "619", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:40:00" }, "departure": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-08-01", "time": "12:25:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 2141, "duration": "PT5H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] } } ] }, { "id": "o20_p100_b23_j71", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 872, "totalPrice": 1186.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 872, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1186.86 } ], "taxes": [] }, "legs": [ { "offerId": "o20", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Restricted", "brandId": "2054269", "brandCode": "BX", "brandFacilities": { "Refund": "Chargeable", "CarryOn": "Not Offered", "Meals": "Included", "CheckedBag": "Included" } }, "price": { "currencyCode": "EUR", "base": 872, "totalPrice": 1186.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 872, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1186.86 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO18LB\/8KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p100", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "Z", "fareBasisCode": "ZN1BOX", "fareType": "PublicFare", "fareTypeCode": "BX" } ], "quantity": 4, "totalDuration": "PT25H25M", "totalFlightDuration": "PT8H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT17H10M", "sequence": 1, "id": "s49", "number": "1896", "operatingCarrierName": "", "arrival": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "19:15:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "15:15:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 1036, "duration": "PT3H", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "s50", "number": "619", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:40:00" }, "departure": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-08-01", "time": "12:25:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 2141, "duration": "PT5H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] } } ] }, { "id": "o19_p97_b35_j69", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1207, "totalPrice": 1293.26, "totalFees": 0, "totalTaxes": 86.26, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1207, "totalTaxes": 86.26, "totalFees": 0, "totalPrice": 1293.26 } ], "taxes": [] }, "legs": [ { "offerId": "o19", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Flex", "brandId": "2144103", "brandCode": "BIZFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 1207, "totalPrice": 1293.26, "totalFees": 0, "totalTaxes": 86.26, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1207, "totalTaxes": 86.26, "totalFees": 0, "totalPrice": 1293.26 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO20LB\/9KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p97", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CYQ0BFKA", "fareType": "PublicFare", "fareTypeCode": "BCF" } ], "quantity": 2, "totalDuration": "PT21H20M", "totalFlightDuration": "PT4H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT16H25M", "sequence": 1, "id": "s39", "number": "1731", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "20:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "18:35:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s40", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-08-01", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o19_p98_b35_j69", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1207, "totalPrice": 1293.26, "totalFees": 0, "totalTaxes": 86.26, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1207, "totalTaxes": 86.26, "totalFees": 0, "totalPrice": 1293.26 } ], "taxes": [] }, "legs": [ { "offerId": "o19", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Flex", "brandId": "2144103", "brandCode": "BIZFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 1207, "totalPrice": 1293.26, "totalFees": 0, "totalTaxes": 86.26, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1207, "totalTaxes": 86.26, "totalFees": 0, "totalPrice": 1293.26 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO20LB\/9KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p98", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CYQ0BFKA", "fareType": "PublicFare", "fareTypeCode": "BCF" } ], "quantity": 3, "totalDuration": "PT28H30M", "totalFlightDuration": "PT4H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT23H35M", "sequence": 1, "id": "s53", "number": "1331", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "12:55:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "11:25:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 392, "duration": "PT1H30M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s54", "number": "1076", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "14:55:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-08-01", "time": "12:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 1312, "duration": "PT3H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "o6_p37_b16_j25", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1413, "totalPrice": 1462.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1413, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 1462.9 } ], "taxes": [] }, "legs": [ { "offerId": "o6", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Timeflex Plus", "brandId": "2140847", "brandCode": "TFL", "brandFacilities": { "Refund": "Not Offered", "Meals": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 1413, "totalPrice": 1462.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1413, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 1462.9 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "weight": 25, "weightUnit": "Kilograms", "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "CARRYON HAND BAGGAGE ALLOWANCE" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p37", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YTFHOVY", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT8H45M", "totalFlightDuration": "PT4H20M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT4H25M", "sequence": 1, "id": "s5", "number": "6337", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-08-01", "time": "01:35:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "23:50:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 465, "duration": "PT1H45M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" }, { "sequence": 2, "id": "s6", "number": "7332", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "07:35:00" }, "departure": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-08-01", "time": "06:00:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 873, "duration": "PT2H35M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" } ] } } ] }, { "id": "o7_p39_b16_j27", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1413, "totalPrice": 1462.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1413, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 1462.9 } ], "taxes": [] }, "legs": [ { "offerId": "o7", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Timeflex Plus", "brandId": "2140847", "brandCode": "TFL", "brandFacilities": { "Refund": "Not Offered", "Meals": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 1413, "totalPrice": 1462.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1413, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 1462.9 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "weight": 25, "weightUnit": "Kilograms", "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "CARRYON HAND BAGGAGE ALLOWANCE" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p39", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YTFHOVY", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT8H20M", "totalFlightDuration": "PT4H20M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT4H", "sequence": 1, "id": "s3", "number": "6331", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-07-31", "time": "11:40:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "09:55:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 465, "duration": "PT1H45M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" }, { "sequence": 2, "id": "s4", "number": "7334", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "17:15:00" }, "departure": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-07-31", "time": "15:40:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 873, "duration": "PT2H35M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" } ] } } ] }, { "id": "o8_p42_b16_j29", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1413, "totalPrice": 1462.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1413, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 1462.9 } ], "taxes": [] }, "legs": [ { "offerId": "o8", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Timeflex Plus", "brandId": "2140847", "brandCode": "TFL", "brandFacilities": { "Refund": "Not Offered", "Meals": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 1413, "totalPrice": 1462.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1413, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 1462.9 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "weight": 25, "weightUnit": "Kilograms", "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "CARRYON HAND BAGGAGE ALLOWANCE" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p42", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YTFHOVY", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT10H55M", "totalFlightDuration": "PT4H20M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H35M", "sequence": 1, "id": "s11", "number": "6345", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-07-31", "time": "23:25:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "21:40:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 465, "duration": "PT1H45M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" }, { "sequence": 2, "id": "s12", "number": "7332", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "07:35:00" }, "departure": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-08-01", "time": "06:00:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 873, "duration": "PT2H35M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" } ] } } ] }, { "id": "o8_p43_b16_j29", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1413, "totalPrice": 1462.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1413, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 1462.9 } ], "taxes": [] }, "legs": [ { "offerId": "o8", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Timeflex Plus", "brandId": "2140847", "brandCode": "TFL", "brandFacilities": { "Refund": "Not Offered", "Meals": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 1413, "totalPrice": 1462.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1413, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 1462.9 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "weight": 25, "weightUnit": "Kilograms", "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "CARRYON HAND BAGGAGE ALLOWANCE" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p43", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YTFHOVY", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT14H15M", "totalFlightDuration": "PT4H20M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT9H55M", "sequence": 1, "id": "s19", "number": "6335", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-07-31", "time": "20:05:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "18:20:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 465, "duration": "PT1H45M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" }, { "sequence": 2, "id": "s20", "number": "7332", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "07:35:00" }, "departure": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-08-01", "time": "06:00:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 873, "duration": "PT2H35M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" } ] } } ] }, { "id": "o10_p48_b16_j34", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1413, "totalPrice": 1462.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1413, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 1462.9 } ], "taxes": [] }, "legs": [ { "offerId": "o10", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Timeflex Plus", "brandId": "2140847", "brandCode": "TFL", "brandFacilities": { "Refund": "Not Offered", "Meals": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 1413, "totalPrice": 1462.9, "totalFees": 0, "totalTaxes": 49.9, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1413, "totalTaxes": 49.9, "totalFees": 0, "totalPrice": 1462.9 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "weight": 25, "weightUnit": "Kilograms", "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "CARRYON HAND BAGGAGE ALLOWANCE" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p48", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YTFHOVY", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT15H50M", "totalFlightDuration": "PT4H20M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT11H30M", "sequence": 1, "id": "s23", "number": "6333", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-07-31", "time": "18:30:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "16:45:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 465, "duration": "PT1H45M", "equipment": "321", "airplaneName": "Airbus A321", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" }, { "sequence": 2, "id": "s24", "number": "7332", "operatingCarrierName": "", "arrival": { "terminal": "1", "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "07:35:00" }, "departure": { "terminal": "1", "location": "BCN", "locationName": "Barcelona\u2013El Prat Josep Tarradellas Airport", "date": "2026-08-01", "time": "06:00:00" }, "carrier": "VY", "airlineName": "Vueling", "distance": 873, "duration": "PT2H35M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" } ] } } ] }, { "id": "o14_p65_b24_j47", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1166, "totalPrice": 1480.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1166, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1480.86 } ], "taxes": [] }, "legs": [ { "offerId": "o14", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Flex", "brandId": "2054268", "brandCode": "BB", "brandFacilities": { "Refund": "Included", "CarryOn": "Not Offered", "Meals": "Included", "CheckedBag": "Included" } }, "price": { "currencyCode": "EUR", "base": 1166, "totalPrice": 1480.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1166, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1480.86 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO18LB\/8KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p65", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DNOW", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 4, "totalDuration": "PT9H50M", "totalFlightDuration": "PT8H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H35M", "sequence": 1, "id": "s9", "number": "1878", "operatingCarrierName": "", "arrival": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "10:50:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "06:50:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 1036, "duration": "PT3H", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "s10", "number": "619", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-07-31", "time": "15:40:00" }, "departure": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "12:25:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 2141, "duration": "PT5H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] } } ] }, { "id": "o17_p85_b24_j62", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1166, "totalPrice": 1480.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1166, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1480.86 } ], "taxes": [] }, "legs": [ { "offerId": "o17", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Flex", "brandId": "2054268", "brandCode": "BB", "brandFacilities": { "Refund": "Included", "CarryOn": "Not Offered", "Meals": "Included", "CheckedBag": "Included" } }, "price": { "currencyCode": "EUR", "base": 1166, "totalPrice": 1480.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1166, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1480.86 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO18LB\/8KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p85", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DNOW", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 4, "totalDuration": "PT20H55M", "totalFlightDuration": "PT8H10M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H45M", "sequence": 1, "id": "s37", "number": "1876", "operatingCarrierName": "", "arrival": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "23:40:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "19:45:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 1036, "duration": "PT2H55M", "equipment": "333", "airplaneName": "Airbus A330-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "s38", "number": "619", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:40:00" }, "departure": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-08-01", "time": "12:25:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 2141, "duration": "PT5H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] } } ] }, { "id": "o17_p86_b24_j62", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1166, "totalPrice": 1480.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1166, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1480.86 } ], "taxes": [] }, "legs": [ { "offerId": "o17", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Flex", "brandId": "2054268", "brandCode": "BB", "brandFacilities": { "Refund": "Included", "CarryOn": "Not Offered", "Meals": "Included", "CheckedBag": "Included" } }, "price": { "currencyCode": "EUR", "base": 1166, "totalPrice": 1480.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1166, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1480.86 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO18LB\/8KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p86", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DNOW", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 4, "totalDuration": "PT29H55M", "totalFlightDuration": "PT8H10M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT21H45M", "sequence": 1, "id": "s55", "number": "1874", "operatingCarrierName": "", "arrival": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "14:40:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "10:45:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 1036, "duration": "PT2H55M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "s56", "number": "619", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:40:00" }, "departure": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-08-01", "time": "12:25:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 2141, "duration": "PT5H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] } } ] }, { "id": "o20_p101_b24_j72", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1166, "totalPrice": 1480.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1166, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1480.86 } ], "taxes": [] }, "legs": [ { "offerId": "o20", "departureCode": "MXP", "arrivalCode": "RAK", "brand": { "brandName": "Business Flex", "brandId": "2054268", "brandCode": "BB", "brandFacilities": { "Refund": "Included", "CarryOn": "Not Offered", "Meals": "Included", "CheckedBag": "Included" } }, "price": { "currencyCode": "EUR", "base": 1166, "totalPrice": 1480.86, "totalFees": 0, "totalTaxes": 314.86, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1166, "totalTaxes": 314.86, "totalFees": 0, "totalPrice": 1480.86 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO70LB\/32KG AND UPTO62LI\/158LCM" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO18LB\/8KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p101", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DNOW", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 4, "totalDuration": "PT25H25M", "totalFlightDuration": "PT8H15M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT17H10M", "sequence": 1, "id": "s49", "number": "1896", "operatingCarrierName": "", "arrival": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-07-31", "time": "19:15:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan-Malpensa Airport", "date": "2026-07-31", "time": "15:15:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 1036, "duration": "PT3H", "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "s50", "number": "619", "operatingCarrierName": "", "arrival": { "location": "RAK", "locationName": "Marrakesh Menara Airport", "date": "2026-08-01", "time": "15:40:00" }, "departure": { "location": "IST", "locationName": "All Istanbul Airports", "date": "2026-08-01", "time": "12:25:00" }, "carrier": "TK", "airlineName": "Turkish Airlines", "distance": 2141, "duration": "PT5H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] } } ] } ], "dataList": [], "filters": { "stops": [ { "name": "1 Stop", "value": "2" } ], "fareType": [ { "name": "Non Refundable", "value": "Not Offered" }, { "name": "Refundable", "value": "Included" }, { "name": "Partially Refundable", "value": "Chargeable" } ], "baggage": [ { "value": 1, "unit": "Piece" }, { "value": 25, "unit": "Kilograms" }, { "value": 2, "unit": "Piece" } ], "connectingAirports": [ { "name": "Lisbon Portela Airport", "code": "LIS" }, { "name": "Mohammed V International Airport", "code": "CMN" }, { "name": "Barcelona\u2013El Prat Josep Tarradellas Airport", "code": "BCN" }, { "name": "Adolfo Su\u00e1rez Madrid-Barajas Airport", "code": "MAD" }, { "name": "Istanbul Airport", "code": "IST" }, { "name": "Paris Charles de Gaulle Airport", "code": "CDG" } ], "airlines": [ { "name": "TAP Air Portugal", "value": "TP", "logoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TP.svg" }, { "name": "Royal Air Maroc", "value": "AT", "logoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "name": "Vueling", "value": "VY", "logoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/VY.svg" }, { "name": "Iberia", "value": "IB", "logoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/IB.svg" }, { "name": "Turkish Airlines", "value": "TK", "logoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "name": "Air France", "value": "AF", "logoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] }, "itinerary": { "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 } }, "emirates": null, "turkish": null }