{ "partnerId": "5812f433-b72e-4f39-9b37-e077143a4fda", "itinerary": { "trips": [ { "origin": "BLQ", "destination": "DSS", "departureDate": "2026-06-30", "departureTime": "" }, { "origin": "DSS", "destination": "BLQ", "departureDate": "2026-07-30", "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": "89f1500a-8c76-4913-8842-28583cd8d950", "transactionId": "677d7942fffdcd16c737bc5cdd356c25", "numberOflegs": 2, "offers": [ { "id": "j1_o1_p0_b0_j1-o2_p6_b14_j1", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 277, "totalPrice": 799.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 277, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 799.58 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 277, "totalPrice": 799.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 277, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 799.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p0", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT20H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT14H10M", "sequence": 1, "id": "s38", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s39", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o2", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Essential", "brandId": "2145929", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 277, "totalPrice": 799.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 277, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 799.58 } ], "taxes": [] }, "sequence": 2, "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": "p6", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE1PP", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j1_o1_p0_b0_j1-o2_p7_b14_j1", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 277, "totalPrice": 799.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 277, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 799.58 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 277, "totalPrice": 799.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 277, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 799.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p0", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT20H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT14H10M", "sequence": 1, "id": "s38", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s39", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o2", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Essential", "brandId": "2145929", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 277, "totalPrice": 799.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 277, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 799.58 } ], "taxes": [] }, "sequence": 2, "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": "p7", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE1PP", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j1_o1_p1_b0_j1-o2_p6_b14_j1", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 277, "totalPrice": 799.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 277, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 799.58 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 277, "totalPrice": 799.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 277, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 799.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p1", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT25H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H10M", "sequence": 1, "id": "s49", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s50", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o2", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Essential", "brandId": "2145929", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 277, "totalPrice": 799.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 277, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 799.58 } ], "taxes": [] }, "sequence": 2, "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": "p6", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE1PP", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j1_o1_p1_b0_j1-o2_p7_b14_j1", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 277, "totalPrice": 799.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 277, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 799.58 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 277, "totalPrice": 799.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 277, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 799.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p1", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT25H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H10M", "sequence": 1, "id": "s49", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s50", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o2", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Essential", "brandId": "2145929", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 277, "totalPrice": 799.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 277, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 799.58 } ], "taxes": [] }, "sequence": 2, "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": "p7", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE1PP", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j5_o3_p14_b0_j5-o4_p20_b14_j5", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 312, "totalPrice": 834.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 312, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 834.58 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 312, "totalPrice": 834.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 312, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 834.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p14", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT20H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT14H10M", "sequence": 1, "id": "s38", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s39", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o4", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Essential", "brandId": "2145929", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 312, "totalPrice": 834.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 312, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 834.58 } ], "taxes": [] }, "sequence": 2, "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": "S", "fareBasisCode": "SA0RE1PP", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT7H30M", "totalFlightDuration": "PT6H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H25M", "sequence": 1, "id": "s70", "number": "500", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "02:25:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H5M", "equipment": "789", "airplaneName": "Boeing 787-9", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s71", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-30", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j5_o3_p14_b0_j5-o4_p21_b14_j5", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 312, "totalPrice": 834.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 312, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 834.58 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 312, "totalPrice": 834.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 312, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 834.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p14", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT20H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT14H10M", "sequence": 1, "id": "s38", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s39", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o4", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Essential", "brandId": "2145929", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 312, "totalPrice": 834.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 312, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 834.58 } ], "taxes": [] }, "sequence": 2, "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": "S", "fareBasisCode": "SA0RE1PP", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT12H30M", "totalFlightDuration": "PT6H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H25M", "sequence": 1, "id": "s82", "number": "500", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "02:25:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H5M", "equipment": "789", "airplaneName": "Boeing 787-9", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s83", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-30", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j5_o3_p15_b0_j5-o4_p20_b14_j5", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 312, "totalPrice": 834.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 312, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 834.58 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 312, "totalPrice": 834.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 312, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 834.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p15", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT25H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H10M", "sequence": 1, "id": "s49", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s50", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o4", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Essential", "brandId": "2145929", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 312, "totalPrice": 834.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 312, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 834.58 } ], "taxes": [] }, "sequence": 2, "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": "S", "fareBasisCode": "SA0RE1PP", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT7H30M", "totalFlightDuration": "PT6H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H25M", "sequence": 1, "id": "s70", "number": "500", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "02:25:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H5M", "equipment": "789", "airplaneName": "Boeing 787-9", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s71", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-30", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j5_o3_p15_b0_j5-o4_p21_b14_j5", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 312, "totalPrice": 834.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 312, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 834.58 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 312, "totalPrice": 834.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 312, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 834.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p15", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT25H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H10M", "sequence": 1, "id": "s49", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s50", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o4", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Essential", "brandId": "2145929", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 312, "totalPrice": 834.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 312, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 834.58 } ], "taxes": [] }, "sequence": 2, "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": "S", "fareBasisCode": "SA0RE1PP", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT12H30M", "totalFlightDuration": "PT6H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H25M", "sequence": 1, "id": "s82", "number": "500", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "02:25:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H5M", "equipment": "789", "airplaneName": "Boeing 787-9", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s83", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-30", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j2_o1_p2_b0_j2-o2_p8_b0_j2", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 337, "totalPrice": 859.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 337, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 859.58 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 337, "totalPrice": 859.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 337, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 859.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p2", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT20H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT14H10M", "sequence": 1, "id": "s38", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s39", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o2", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 337, "totalPrice": 859.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 337, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 859.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p8", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE2PP", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j2_o1_p2_b0_j2-o2_p9_b0_j2", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 337, "totalPrice": 859.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 337, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 859.58 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 337, "totalPrice": 859.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 337, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 859.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p2", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT20H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT14H10M", "sequence": 1, "id": "s38", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s39", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o2", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 337, "totalPrice": 859.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 337, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 859.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p9", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE2PP", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j2_o1_p3_b0_j2-o2_p8_b0_j2", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 337, "totalPrice": 859.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 337, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 859.58 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 337, "totalPrice": 859.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 337, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 859.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p3", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT25H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H10M", "sequence": 1, "id": "s49", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s50", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o2", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 337, "totalPrice": 859.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 337, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 859.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p8", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE2PP", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j2_o1_p3_b0_j2-o2_p9_b0_j2", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 337, "totalPrice": 859.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 337, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 859.58 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 337, "totalPrice": 859.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 337, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 859.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p3", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT25H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H10M", "sequence": 1, "id": "s49", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s50", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o2", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 337, "totalPrice": 859.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 337, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 859.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p9", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE2PP", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j6_o3_p16_b0_j6-o4_p22_b0_j6", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 372, "totalPrice": 894.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 894.58 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 372, "totalPrice": 894.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 894.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p16", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT20H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT14H10M", "sequence": 1, "id": "s38", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s39", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o4", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 372, "totalPrice": 894.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 894.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "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": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PP", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT7H30M", "totalFlightDuration": "PT6H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H25M", "sequence": 1, "id": "s70", "number": "500", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "02:25:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H5M", "equipment": "789", "airplaneName": "Boeing 787-9", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s71", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-30", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j6_o3_p16_b0_j6-o4_p23_b0_j6", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 372, "totalPrice": 894.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 894.58 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 372, "totalPrice": 894.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 894.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p16", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT20H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT14H10M", "sequence": 1, "id": "s38", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s39", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o4", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 372, "totalPrice": 894.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 894.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "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": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PP", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT12H30M", "totalFlightDuration": "PT6H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H25M", "sequence": 1, "id": "s82", "number": "500", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "02:25:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H5M", "equipment": "789", "airplaneName": "Boeing 787-9", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s83", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-30", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j6_o3_p17_b0_j6-o4_p22_b0_j6", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 372, "totalPrice": 894.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 894.58 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 372, "totalPrice": 894.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 894.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p17", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT25H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H10M", "sequence": 1, "id": "s49", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s50", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o4", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 372, "totalPrice": 894.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 894.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "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": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PP", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT7H30M", "totalFlightDuration": "PT6H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H25M", "sequence": 1, "id": "s70", "number": "500", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "02:25:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H5M", "equipment": "789", "airplaneName": "Boeing 787-9", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s71", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-30", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j6_o3_p17_b0_j6-o4_p23_b0_j6", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 372, "totalPrice": 894.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 894.58 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 372, "totalPrice": 894.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 894.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p17", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT25H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H10M", "sequence": 1, "id": "s49", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s50", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o4", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 372, "totalPrice": 894.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 894.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "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": "Economy", "classOfService": "S", "fareBasisCode": "SA0RE2PP", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT12H30M", "totalFlightDuration": "PT6H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H25M", "sequence": 1, "id": "s82", "number": "500", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "02:25:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H5M", "equipment": "789", "airplaneName": "Boeing 787-9", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s83", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-30", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j9_o5_p28_b16_j9-o6_p38_b16_j9", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 371, "totalPrice": 909.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 371, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 909.79 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Light", "brandId": "2146774", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 371, "totalPrice": 909.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 371, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 909.79 } ], "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": "p28", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 2, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o6", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Light", "brandId": "2146774", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 371, "totalPrice": 909.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 371, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 909.79 } ], "taxes": [] }, "sequence": 2, "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": "p38", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 9, "totalDuration": "PT22H", "totalFlightDuration": "PT7H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT15H", "sequence": 1, "id": "s107", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s108", "number": "1028", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "23:10:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "21:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H40M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j9_o5_p29_b16_j9-o6_p38_b16_j9", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 371, "totalPrice": 909.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 371, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 909.79 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Light", "brandId": "2146774", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 371, "totalPrice": 909.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 371, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 909.79 } ], "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": "p29", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 2, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o6", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Light", "brandId": "2146774", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 371, "totalPrice": 909.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 371, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 909.79 } ], "taxes": [] }, "sequence": 2, "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": "p38", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 9, "totalDuration": "PT22H", "totalFlightDuration": "PT7H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT15H", "sequence": 1, "id": "s107", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s108", "number": "1028", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "23:10:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "21:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H40M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j14_o7_p43_b16_j14-o8_p53_b16_j14", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 372, "totalPrice": 959.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 959.98 } ], "taxes": [] }, "legs": [ { "offerId": "o7", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Light", "brandId": "2146774", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 372, "totalPrice": 959.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 959.98 } ], "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": "p43", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 2, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Light", "brandId": "2146774", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 372, "totalPrice": 959.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 959.98 } ], "taxes": [] }, "sequence": 2, "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": "p53", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 5, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s74", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s75", "number": "1340", "operatingCarrierName": "", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 3, "id": "s76", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j14_o7_p44_b16_j14-o8_p53_b16_j14", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 372, "totalPrice": 959.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 959.98 } ], "taxes": [] }, "legs": [ { "offerId": "o7", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Light", "brandId": "2146774", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 372, "totalPrice": 959.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 959.98 } ], "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": "p44", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 2, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Light", "brandId": "2146774", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 372, "totalPrice": 959.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 372, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 959.98 } ], "taxes": [] }, "sequence": 2, "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": "p53", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 5, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s74", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s75", "number": "1340", "operatingCarrierName": "", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 3, "id": "s76", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j19_o9_p58_b21_j19-o10_p68_b21_j19", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 373, "totalPrice": 963.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 373, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 963.51 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Light Bag", "brandId": "2146788", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 373, "totalPrice": 963.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 373, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 963.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": "p58", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 2, "totalDuration": "PT15H5M", "totalFlightDuration": "PT8H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H55M", "sequence": 1, "id": "s23", "number": "1664", "operatingCarrierName": "KLM CITYHOPPER", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "15:55:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "13:55:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT2H", "equipment": "295", "airplaneName": "Embraer195 E2", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT4H15M", "sequence": 2, "id": "s24", "number": "1411", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:05:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "17:50:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s25", "number": "2092", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } }, { "offerId": "o10", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Light Bag", "brandId": "2146788", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 373, "totalPrice": 963.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 373, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 963.51 } ], "taxes": [] }, "sequence": 2, "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": "Q", "fareBasisCode": "QGQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 5, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s77", "number": "2277", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s78", "number": "2006", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s79", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j19_o9_p59_b21_j19-o10_p68_b21_j19", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 373, "totalPrice": 963.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 373, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 963.51 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Light Bag", "brandId": "2146788", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 373, "totalPrice": 963.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 373, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 963.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": "p59", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 1, "totalDuration": "PT19H40M", "totalFlightDuration": "PT9H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H50M", "sequence": 1, "id": "s35", "number": "1662", "operatingCarrierName": "KLM CITYHOPPER", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "11:20:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "09:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT2H", "equipment": "295", "airplaneName": "Embraer195 E2", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT7H45M", "sequence": 2, "id": "s36", "number": "2009", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "15:35:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "14:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s37", "number": "2092", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } }, { "offerId": "o10", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Light Bag", "brandId": "2146788", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 373, "totalPrice": 963.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 373, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 963.51 } ], "taxes": [] }, "sequence": 2, "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": "Q", "fareBasisCode": "QGQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 5, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s77", "number": "2277", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s78", "number": "2006", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s79", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j24_o11_p73_b16_j24-o12_p83_b16_j24", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 429, "totalPrice": 966.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 429, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 966.45 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Light", "brandId": "2146774", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 429, "totalPrice": 966.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 429, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 966.45 } ], "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": "p73", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 2, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o12", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Light", "brandId": "2146774", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 429, "totalPrice": 966.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 429, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 966.45 } ], "taxes": [] }, "sequence": 2, "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": "p83", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "LGQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 7, "totalDuration": "PT15H55M", "totalFlightDuration": "PT7H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H50M", "sequence": 1, "id": "s98", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s99", "number": "1328", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "17:05:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "15:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H45M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j24_o11_p74_b16_j24-o12_p83_b16_j24", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 429, "totalPrice": 966.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 429, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 966.45 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Light", "brandId": "2146774", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 429, "totalPrice": 966.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 429, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 966.45 } ], "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": "p74", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 2, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o12", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Light", "brandId": "2146774", "brandCode": "LIGHTBAG", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 429, "totalPrice": 966.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 429, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 966.45 } ], "taxes": [] }, "sequence": 2, "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": "p83", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "LGQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ERH" } ], "quantity": 7, "totalDuration": "PT15H55M", "totalFlightDuration": "PT7H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H50M", "sequence": 1, "id": "s98", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s99", "number": "1328", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "17:05:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "15:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H45M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j29_o13_p88_b0_j29-o14_p98_b14_j29", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 448, "totalPrice": 970.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 448, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 970.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 448, "totalPrice": 970.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 448, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 970.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "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": "Economy", "classOfService": "M", "fareBasisCode": "MA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT9H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H30M", "sequence": 1, "id": "s3", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s4", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Essential", "brandId": "2145929", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 448, "totalPrice": 970.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 448, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 970.58 } ], "taxes": [] }, "sequence": 2, "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": "p98", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE1PP", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j29_o13_p88_b0_j29-o14_p99_b14_j29", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 448, "totalPrice": 970.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 448, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 970.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 448, "totalPrice": 970.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 448, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 970.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "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": "Economy", "classOfService": "M", "fareBasisCode": "MA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT9H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H30M", "sequence": 1, "id": "s3", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s4", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Essential", "brandId": "2145929", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 448, "totalPrice": 970.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 448, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 970.58 } ], "taxes": [] }, "sequence": 2, "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": "p99", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE1PP", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j29_o13_p89_b0_j29-o14_p98_b14_j29", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 448, "totalPrice": 970.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 448, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 970.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 448, "totalPrice": 970.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 448, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 970.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p89", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "M", "fareBasisCode": "MA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT14H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H30M", "sequence": 1, "id": "s19", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s20", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Essential", "brandId": "2145929", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 448, "totalPrice": 970.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 448, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 970.58 } ], "taxes": [] }, "sequence": 2, "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": "p98", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE1PP", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j29_o13_p89_b0_j29-o14_p99_b14_j29", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 448, "totalPrice": 970.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 448, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 970.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 448, "totalPrice": 970.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 448, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 970.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p89", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "M", "fareBasisCode": "MA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT14H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H30M", "sequence": 1, "id": "s19", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s20", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Essential", "brandId": "2145929", "brandCode": "EESSENTIAL", "brandFacilities": { "Refund": "Not Offered", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 448, "totalPrice": 970.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 448, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 970.58 } ], "taxes": [] }, "sequence": 2, "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": "p99", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE1PP", "fareType": "PublicFare", "fareTypeCode": "ER" } ], "quantity": 9, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j10_o5_p30_b17_j10-o6_p39_b17_j10", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 489, "totalPrice": 1027.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 489, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 1027.79 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Standard", "brandId": "2146773", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 489, "totalPrice": 1027.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 489, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 1027.79 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p30", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGLPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 2, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o6", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Standard", "brandId": "2146773", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 489, "totalPrice": 1027.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 489, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 1027.79 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p39", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT22H", "totalFlightDuration": "PT7H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT15H", "sequence": 1, "id": "s107", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s108", "number": "1028", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "23:10:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "21:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H40M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j10_o5_p31_b17_j10-o6_p39_b17_j10", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 489, "totalPrice": 1027.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 489, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 1027.79 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Standard", "brandId": "2146773", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 489, "totalPrice": 1027.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 489, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 1027.79 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p31", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGLPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 2, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o6", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Standard", "brandId": "2146773", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 489, "totalPrice": 1027.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 489, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 1027.79 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p39", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT22H", "totalFlightDuration": "PT7H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT15H", "sequence": 1, "id": "s107", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s108", "number": "1028", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "23:10:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "21:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H40M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j30_o13_p90_b0_j30-o14_p100_b0_j30", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 508, "totalPrice": 1030.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 508, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1030.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 508, "totalPrice": 1030.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 508, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1030.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p90", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "M", "fareBasisCode": "MA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT9H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H30M", "sequence": 1, "id": "s3", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s4", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 508, "totalPrice": 1030.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 508, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1030.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p100", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE2PP", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j30_o13_p90_b0_j30-o14_p101_b0_j30", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 508, "totalPrice": 1030.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 508, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1030.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 508, "totalPrice": 1030.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 508, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1030.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p90", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "M", "fareBasisCode": "MA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT9H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H30M", "sequence": 1, "id": "s3", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s4", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 508, "totalPrice": 1030.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 508, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1030.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p101", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE2PP", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j30_o13_p91_b0_j30-o14_p100_b0_j30", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 508, "totalPrice": 1030.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 508, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1030.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 508, "totalPrice": 1030.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 508, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1030.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p91", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "M", "fareBasisCode": "MA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT14H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H30M", "sequence": 1, "id": "s19", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s20", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 508, "totalPrice": 1030.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 508, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1030.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p100", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE2PP", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j30_o13_p91_b0_j30-o14_p101_b0_j30", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 508, "totalPrice": 1030.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 508, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1030.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 508, "totalPrice": 1030.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 508, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1030.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p91", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "M", "fareBasisCode": "MA0RE2PA", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT14H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H30M", "sequence": 1, "id": "s19", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s20", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Classic", "brandId": "2145927", "brandCode": "ECLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 508, "totalPrice": 1030.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 508, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1030.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p101", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE2PP", "fareType": "PublicFare", "fareTypeCode": "XEX" } ], "quantity": 9, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j15_o7_p45_b17_j15-o8_p54_b17_j15", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 490, "totalPrice": 1077.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 490, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 1077.98 } ], "taxes": [] }, "legs": [ { "offerId": "o7", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Standard", "brandId": "2146773", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 490, "totalPrice": 1077.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 490, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 1077.98 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p45", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGLPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 2, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Standard", "brandId": "2146773", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 490, "totalPrice": 1077.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 490, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 1077.98 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p54", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s74", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s75", "number": "1340", "operatingCarrierName": "", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 3, "id": "s76", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j15_o7_p46_b17_j15-o8_p54_b17_j15", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 490, "totalPrice": 1077.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 490, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 1077.98 } ], "taxes": [] }, "legs": [ { "offerId": "o7", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Standard", "brandId": "2146773", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 490, "totalPrice": 1077.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 490, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 1077.98 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p46", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGLPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 2, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Standard", "brandId": "2146773", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 490, "totalPrice": 1077.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 490, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 1077.98 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p54", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s74", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s75", "number": "1340", "operatingCarrierName": "", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 3, "id": "s76", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j20_o9_p60_b22_j20-o10_p69_b22_j20", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 491, "totalPrice": 1081.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 491, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 1081.51 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Standard", "brandId": "2146787", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 491, "totalPrice": 1081.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 491, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 1081.51 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p60", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGLPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 2, "totalDuration": "PT15H5M", "totalFlightDuration": "PT8H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H55M", "sequence": 1, "id": "s23", "number": "1664", "operatingCarrierName": "KLM CITYHOPPER", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "15:55:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "13:55:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT2H", "equipment": "295", "airplaneName": "Embraer195 E2", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT4H15M", "sequence": 2, "id": "s24", "number": "1411", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:05:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "17:50:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s25", "number": "2092", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } }, { "offerId": "o10", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Standard", "brandId": "2146787", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 491, "totalPrice": 1081.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 491, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 1081.51 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p69", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s77", "number": "2277", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s78", "number": "2006", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s79", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j20_o9_p61_b22_j20-o10_p69_b22_j20", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 491, "totalPrice": 1081.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 491, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 1081.51 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Standard", "brandId": "2146787", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 491, "totalPrice": 1081.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 491, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 1081.51 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p61", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGLPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 1, "totalDuration": "PT19H40M", "totalFlightDuration": "PT9H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H50M", "sequence": 1, "id": "s35", "number": "1662", "operatingCarrierName": "KLM CITYHOPPER", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "11:20:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "09:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT2H", "equipment": "295", "airplaneName": "Embraer195 E2", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT7H45M", "sequence": 2, "id": "s36", "number": "2009", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "15:35:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "14:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s37", "number": "2092", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } }, { "offerId": "o10", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Standard", "brandId": "2146787", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 491, "totalPrice": 1081.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 491, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 1081.51 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p69", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 5, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s77", "number": "2277", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s78", "number": "2006", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s79", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j25_o11_p75_b17_j25-o12_p84_b17_j25", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 546, "totalPrice": 1083.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 546, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 1083.45 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Standard", "brandId": "2146773", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 546, "totalPrice": 1083.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 546, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 1083.45 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p75", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGLPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 2, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o12", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Standard", "brandId": "2146773", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 546, "totalPrice": 1083.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 546, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 1083.45 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p84", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "LGQPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 7, "totalDuration": "PT15H55M", "totalFlightDuration": "PT7H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H50M", "sequence": 1, "id": "s98", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s99", "number": "1328", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "17:05:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "15:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H45M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j25_o11_p76_b17_j25-o12_p84_b17_j25", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 546, "totalPrice": 1083.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 546, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 1083.45 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Standard", "brandId": "2146773", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 546, "totalPrice": 1083.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 546, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 1083.45 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p76", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGLPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 2, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o12", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Standard", "brandId": "2146773", "brandCode": "STANDARD3", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 546, "totalPrice": 1083.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 546, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 1083.45 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p84", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "LGQPV1NA", "fareType": "AirlinePrivateFare", "fareTypeCode": "XEX" } ], "quantity": 7, "totalDuration": "PT15H55M", "totalFlightDuration": "PT7H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H50M", "sequence": 1, "id": "s98", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s99", "number": "1328", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "17:05:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "15:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H45M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j11_o5_p32_b18_j11-o6_p40_b18_j11", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 656, "totalPrice": 1194.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 656, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 1194.79 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Flex", "brandId": "2146772", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 656, "totalPrice": 1194.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 656, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 1194.79 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p32", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 2, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o6", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Flex", "brandId": "2146772", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 656, "totalPrice": 1194.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 656, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 1194.79 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p40", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQ0AFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 9, "totalDuration": "PT22H", "totalFlightDuration": "PT7H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT15H", "sequence": 1, "id": "s107", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s108", "number": "1028", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "23:10:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "21:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H40M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j11_o5_p33_b18_j11-o6_p40_b18_j11", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 656, "totalPrice": 1194.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 656, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 1194.79 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Flex", "brandId": "2146772", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 656, "totalPrice": 1194.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 656, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 1194.79 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p33", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 2, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o6", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Flex", "brandId": "2146772", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 656, "totalPrice": 1194.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 656, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 1194.79 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p40", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQ0AFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 9, "totalDuration": "PT22H", "totalFlightDuration": "PT7H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT15H", "sequence": 1, "id": "s107", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s108", "number": "1028", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "23:10:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "21:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H40M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j16_o7_p47_b18_j16-o8_p55_b18_j16", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 657, "totalPrice": 1244.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 657, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 1244.98 } ], "taxes": [] }, "legs": [ { "offerId": "o7", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Flex", "brandId": "2146772", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 657, "totalPrice": 1244.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 657, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 1244.98 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p47", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 2, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Flex", "brandId": "2146772", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 657, "totalPrice": 1244.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 657, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 1244.98 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p55", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQ0AFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 5, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s74", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s75", "number": "1340", "operatingCarrierName": "", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 3, "id": "s76", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j16_o7_p48_b18_j16-o8_p55_b18_j16", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 657, "totalPrice": 1244.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 657, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 1244.98 } ], "taxes": [] }, "legs": [ { "offerId": "o7", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Flex", "brandId": "2146772", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 657, "totalPrice": 1244.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 657, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 1244.98 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p48", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 2, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Flex", "brandId": "2146772", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 657, "totalPrice": 1244.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 657, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 1244.98 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p55", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQ0AFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 5, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s74", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s75", "number": "1340", "operatingCarrierName": "", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 3, "id": "s76", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j21_o9_p62_b23_j21-o10_p70_b23_j21", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 658, "totalPrice": 1248.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 658, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 1248.51 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Flex", "brandId": "2146786", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 658, "totalPrice": 1248.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 658, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 1248.51 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p62", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 2, "totalDuration": "PT15H5M", "totalFlightDuration": "PT8H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H55M", "sequence": 1, "id": "s23", "number": "1664", "operatingCarrierName": "KLM CITYHOPPER", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "15:55:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "13:55:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT2H", "equipment": "295", "airplaneName": "Embraer195 E2", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT4H15M", "sequence": 2, "id": "s24", "number": "1411", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:05:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "17:50:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s25", "number": "2092", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } }, { "offerId": "o10", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Flex", "brandId": "2146786", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 658, "totalPrice": 1248.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 658, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 1248.51 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p70", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQ0AFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 5, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s77", "number": "2277", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s78", "number": "2006", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s79", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j21_o9_p63_b23_j21-o10_p70_b23_j21", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 658, "totalPrice": 1248.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 658, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 1248.51 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Flex", "brandId": "2146786", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 658, "totalPrice": 1248.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 658, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 1248.51 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p63", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 1, "totalDuration": "PT19H40M", "totalFlightDuration": "PT9H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H50M", "sequence": 1, "id": "s35", "number": "1662", "operatingCarrierName": "KLM CITYHOPPER", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "11:20:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "09:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT2H", "equipment": "295", "airplaneName": "Embraer195 E2", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT7H45M", "sequence": 2, "id": "s36", "number": "2009", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "15:35:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "14:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s37", "number": "2092", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } }, { "offerId": "o10", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Flex", "brandId": "2146786", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 658, "totalPrice": 1248.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 658, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 1248.51 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p70", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Q", "fareBasisCode": "QGQ0AFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 5, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s77", "number": "2277", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s78", "number": "2006", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s79", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j26_o11_p77_b18_j26-o12_p85_b18_j26", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 714, "totalPrice": 1251.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 714, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 1251.45 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Flex", "brandId": "2146772", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 714, "totalPrice": 1251.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 714, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 1251.45 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p77", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 2, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o12", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Flex", "brandId": "2146772", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 714, "totalPrice": 1251.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 714, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 1251.45 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p85", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "LGQ0AFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 7, "totalDuration": "PT15H55M", "totalFlightDuration": "PT7H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H50M", "sequence": 1, "id": "s98", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s99", "number": "1328", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "17:05:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "15:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H45M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j26_o11_p78_b18_j26-o12_p85_b18_j26", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 714, "totalPrice": 1251.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 714, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 1251.45 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Flex", "brandId": "2146772", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 714, "totalPrice": 1251.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 714, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 1251.45 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p78", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "NGL0KFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 2, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o12", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Flex", "brandId": "2146772", "brandCode": "FLEX1", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 714, "totalPrice": 1251.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 714, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 1251.45 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p85", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "L", "fareBasisCode": "LGQ0AFKA", "fareType": "PublicFare", "fareTypeCode": "ERR" } ], "quantity": 7, "totalDuration": "PT15H55M", "totalFlightDuration": "PT7H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H50M", "sequence": 1, "id": "s98", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s99", "number": "1328", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "17:05:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "15:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H45M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j31_o13_p92_b12_j31-o14_p102_b12_j31", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 748, "totalPrice": 1270.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 748, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1270.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Flex Premium", "brandId": "2145926", "brandCode": "EFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 748, "totalPrice": 1270.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 748, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1270.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p92", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "M", "fareBasisCode": "MA0RE3PA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT9H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H30M", "sequence": 1, "id": "s3", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s4", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Flex Premium", "brandId": "2145926", "brandCode": "EFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 748, "totalPrice": 1270.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 748, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1270.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p102", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE3PP", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j31_o13_p92_b12_j31-o14_p103_b12_j31", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 748, "totalPrice": 1270.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 748, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1270.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Flex Premium", "brandId": "2145926", "brandCode": "EFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 748, "totalPrice": 1270.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 748, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1270.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p92", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "M", "fareBasisCode": "MA0RE3PA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT9H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H30M", "sequence": 1, "id": "s3", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s4", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Flex Premium", "brandId": "2145926", "brandCode": "EFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 748, "totalPrice": 1270.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 748, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1270.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p103", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE3PP", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j31_o13_p93_b12_j31-o14_p102_b12_j31", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 748, "totalPrice": 1270.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 748, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1270.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Flex Premium", "brandId": "2145926", "brandCode": "EFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 748, "totalPrice": 1270.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 748, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1270.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p93", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "M", "fareBasisCode": "MA0RE3PA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT14H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H30M", "sequence": 1, "id": "s19", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s20", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Flex Premium", "brandId": "2145926", "brandCode": "EFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 748, "totalPrice": 1270.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 748, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1270.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p102", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE3PP", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j31_o13_p93_b12_j31-o14_p103_b12_j31", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 748, "totalPrice": 1270.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 748, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1270.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Eco Flex Premium", "brandId": "2145926", "brandCode": "EFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 748, "totalPrice": 1270.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 748, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1270.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p93", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "M", "fareBasisCode": "MA0RE3PA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT14H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H30M", "sequence": 1, "id": "s19", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s20", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Eco Flex Premium", "brandId": "2145926", "brandCode": "EFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 748, "totalPrice": 1270.58, "totalFees": 0, "totalTaxes": 522.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 748, "totalTaxes": 522.58, "totalFees": 0, "totalPrice": 1270.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "UPTO50LB\/23KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p103", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "N", "fareBasisCode": "NA0RE3PP", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j13_o5_p36_b20_j13-o6_p42_b20_j13", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 771, "totalPrice": 1413.79, "totalFees": 0, "totalTaxes": 642.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 771, "totalTaxes": 642.79, "totalFees": 0, "totalPrice": 1413.79 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Premium Light", "brandId": "2146770", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 771, "totalPrice": 1413.79, "totalFees": 0, "totalTaxes": 642.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 771, "totalTaxes": 642.79, "totalFees": 0, "totalPrice": 1413.79 } ], "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": 2, "description": "UPTO13LB\/6KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p36", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "AEL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 9, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o6", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Premium Light", "brandId": "2146770", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 771, "totalPrice": 1413.79, "totalFees": 0, "totalTaxes": 642.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 771, "totalTaxes": 642.79, "totalFees": 0, "totalPrice": 1413.79 } ], "taxes": [] }, "sequence": 2, "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": "p42", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "PremiumEconomy", "classOfService": "A", "fareBasisCode": "AIQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 3, "totalDuration": "PT22H", "totalFlightDuration": "PT7H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT15H", "sequence": 1, "id": "s107", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s108", "number": "1028", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "23:10:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "21:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H40M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j13_o5_p37_b20_j13-o6_p42_b20_j13", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 771, "totalPrice": 1413.79, "totalFees": 0, "totalTaxes": 642.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 771, "totalTaxes": 642.79, "totalFees": 0, "totalPrice": 1413.79 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Premium Light", "brandId": "2146770", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 771, "totalPrice": 1413.79, "totalFees": 0, "totalTaxes": 642.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 771, "totalTaxes": 642.79, "totalFees": 0, "totalPrice": 1413.79 } ], "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": 2, "description": "UPTO13LB\/6KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p37", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "AEL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 9, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o6", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Premium Light", "brandId": "2146770", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 771, "totalPrice": 1413.79, "totalFees": 0, "totalTaxes": 642.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 771, "totalTaxes": 642.79, "totalFees": 0, "totalPrice": 1413.79 } ], "taxes": [] }, "sequence": 2, "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": "p42", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "PremiumEconomy", "classOfService": "A", "fareBasisCode": "AIQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 3, "totalDuration": "PT22H", "totalFlightDuration": "PT7H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT15H", "sequence": 1, "id": "s107", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s108", "number": "1028", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "23:10:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "21:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H40M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j18_o7_p51_b20_j18-o8_p57_b20_j18", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 772, "totalPrice": 1463.98, "totalFees": 0, "totalTaxes": 691.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 772, "totalTaxes": 691.98, "totalFees": 0, "totalPrice": 1463.98 } ], "taxes": [] }, "legs": [ { "offerId": "o7", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Premium Light", "brandId": "2146770", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 772, "totalPrice": 1463.98, "totalFees": 0, "totalTaxes": 691.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 772, "totalTaxes": 691.98, "totalFees": 0, "totalPrice": 1463.98 } ], "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": 2, "description": "UPTO13LB\/6KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p51", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "AEL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 9, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Premium Light", "brandId": "2146770", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 772, "totalPrice": 1463.98, "totalFees": 0, "totalTaxes": 691.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 772, "totalTaxes": 691.98, "totalFees": 0, "totalPrice": 1463.98 } ], "taxes": [] }, "sequence": 2, "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": "p57", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "PremiumEconomy", "classOfService": "A", "fareBasisCode": "AIQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 2, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s74", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s75", "number": "1340", "operatingCarrierName": "", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 3, "id": "s76", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j18_o7_p52_b20_j18-o8_p57_b20_j18", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 772, "totalPrice": 1463.98, "totalFees": 0, "totalTaxes": 691.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 772, "totalTaxes": 691.98, "totalFees": 0, "totalPrice": 1463.98 } ], "taxes": [] }, "legs": [ { "offerId": "o7", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Premium Light", "brandId": "2146770", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 772, "totalPrice": 1463.98, "totalFees": 0, "totalTaxes": 691.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 772, "totalTaxes": 691.98, "totalFees": 0, "totalPrice": 1463.98 } ], "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": 2, "description": "UPTO13LB\/6KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p52", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "AEL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 9, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Premium Light", "brandId": "2146770", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 772, "totalPrice": 1463.98, "totalFees": 0, "totalTaxes": 691.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 772, "totalTaxes": 691.98, "totalFees": 0, "totalPrice": 1463.98 } ], "taxes": [] }, "sequence": 2, "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": "p57", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "PremiumEconomy", "classOfService": "A", "fareBasisCode": "AIQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 2, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s74", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s75", "number": "1340", "operatingCarrierName": "", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 3, "id": "s76", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j23_o9_p66_b25_j23-o10_p72_b25_j23", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 773, "totalPrice": 1467.51, "totalFees": 0, "totalTaxes": 694.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 773, "totalTaxes": 694.51, "totalFees": 0, "totalPrice": 1467.51 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Premium Light", "brandId": "2146784", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 773, "totalPrice": 1467.51, "totalFees": 0, "totalTaxes": 694.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 773, "totalTaxes": 694.51, "totalFees": 0, "totalPrice": 1467.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": 2, "description": "UPTO13LB\/6KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p66", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "AEL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 9, "totalDuration": "PT15H5M", "totalFlightDuration": "PT8H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H55M", "sequence": 1, "id": "s23", "number": "1664", "operatingCarrierName": "KLM CITYHOPPER", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "15:55:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "13:55:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT2H", "equipment": "295", "airplaneName": "Embraer195 E2", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT4H15M", "sequence": 2, "id": "s24", "number": "1411", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:05:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "17:50:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s25", "number": "2092", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } }, { "offerId": "o10", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Premium Light", "brandId": "2146784", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 773, "totalPrice": 1467.51, "totalFees": 0, "totalTaxes": 694.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 773, "totalTaxes": 694.51, "totalFees": 0, "totalPrice": 1467.51 } ], "taxes": [] }, "sequence": 2, "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": "p72", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "PremiumEconomy", "classOfService": "A", "fareBasisCode": "AIQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 2, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s77", "number": "2277", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s78", "number": "2006", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s79", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j23_o9_p67_b25_j23-o10_p72_b25_j23", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 773, "totalPrice": 1467.51, "totalFees": 0, "totalTaxes": 694.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 773, "totalTaxes": 694.51, "totalFees": 0, "totalPrice": 1467.51 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Premium Light", "brandId": "2146784", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 773, "totalPrice": 1467.51, "totalFees": 0, "totalTaxes": 694.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 773, "totalTaxes": 694.51, "totalFees": 0, "totalPrice": 1467.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": 2, "description": "UPTO13LB\/6KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p67", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "AEL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 9, "totalDuration": "PT19H40M", "totalFlightDuration": "PT9H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H50M", "sequence": 1, "id": "s35", "number": "1662", "operatingCarrierName": "KLM CITYHOPPER", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "11:20:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "09:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT2H", "equipment": "295", "airplaneName": "Embraer195 E2", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT7H45M", "sequence": 2, "id": "s36", "number": "2009", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "15:35:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "14:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s37", "number": "2092", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } }, { "offerId": "o10", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Premium Light", "brandId": "2146784", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 773, "totalPrice": 1467.51, "totalFees": 0, "totalTaxes": 694.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 773, "totalTaxes": 694.51, "totalFees": 0, "totalPrice": 1467.51 } ], "taxes": [] }, "sequence": 2, "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": "p72", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "PremiumEconomy", "classOfService": "A", "fareBasisCode": "AIQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 2, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s77", "number": "2277", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s78", "number": "2006", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s79", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j28_o11_p81_b20_j28-o12_p87_b20_j28", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 918, "totalPrice": 1559.45, "totalFees": 0, "totalTaxes": 641.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 918, "totalTaxes": 641.45, "totalFees": 0, "totalPrice": 1559.45 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Premium Light", "brandId": "2146770", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 918, "totalPrice": 1559.45, "totalFees": 0, "totalTaxes": 641.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 918, "totalTaxes": 641.45, "totalFees": 0, "totalPrice": 1559.45 } ], "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": 2, "description": "UPTO13LB\/6KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p81", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "AEL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 9, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o12", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Premium Light", "brandId": "2146770", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 918, "totalPrice": 1559.45, "totalFees": 0, "totalTaxes": 641.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 918, "totalTaxes": 641.45, "totalFees": 0, "totalPrice": 1559.45 } ], "taxes": [] }, "sequence": 2, "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": "p87", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "PremiumEconomy", "classOfService": "S", "fareBasisCode": "SEQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 9, "totalDuration": "PT15H55M", "totalFlightDuration": "PT7H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H50M", "sequence": 1, "id": "s98", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s99", "number": "1328", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "17:05:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "15:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H45M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j28_o11_p82_b20_j28-o12_p87_b20_j28", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 918, "totalPrice": 1559.45, "totalFees": 0, "totalTaxes": 641.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 918, "totalTaxes": 641.45, "totalFees": 0, "totalPrice": 1559.45 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Premium Light", "brandId": "2146770", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 918, "totalPrice": 1559.45, "totalFees": 0, "totalTaxes": 641.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 918, "totalTaxes": 641.45, "totalFees": 0, "totalPrice": 1559.45 } ], "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": 2, "description": "UPTO13LB\/6KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p82", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "AEL0KBRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 9, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o12", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Premium Light", "brandId": "2146770", "brandCode": "PREMLIGHTB", "brandFacilities": { "Refund": "Not Offered", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 918, "totalPrice": 1559.45, "totalFees": 0, "totalTaxes": 641.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 918, "totalTaxes": 641.45, "totalFees": 0, "totalPrice": 1559.45 } ], "taxes": [] }, "sequence": 2, "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": "p87", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "PremiumEconomy", "classOfService": "S", "fareBasisCode": "SEQ0ABRA", "fareType": "PublicFare", "fareTypeCode": "ZPX" } ], "quantity": 9, "totalDuration": "PT15H55M", "totalFlightDuration": "PT7H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H50M", "sequence": 1, "id": "s98", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s99", "number": "1328", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "17:05:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "15:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H45M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j32_o13_p94_b15_j32-o14_p104_b15_j32", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1463, "totalPrice": 2223.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1463, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2223.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1463, "totalPrice": 2223.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1463, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2223.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p94", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA07E8IT", "fareType": "AirlinePrivateFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT14H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H30M", "sequence": 1, "id": "s19", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s20", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1463, "totalPrice": 2223.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1463, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2223.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p104", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA07E8IT", "fareType": "AirlinePrivateFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j32_o13_p94_b15_j32-o14_p105_b15_j32", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1463, "totalPrice": 2223.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1463, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2223.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1463, "totalPrice": 2223.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1463, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2223.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p94", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA07E8IT", "fareType": "AirlinePrivateFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT14H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H30M", "sequence": 1, "id": "s19", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s20", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1463, "totalPrice": 2223.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1463, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2223.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p105", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA07E8IT", "fareType": "AirlinePrivateFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j3_o1_p4_b15_j3-o2_p10_b15_j3", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1573, "totalPrice": 2333.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1573, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2333.58 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1573, "totalPrice": 2333.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1573, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2333.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO40LB\/18KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p4", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 1, "totalDuration": "PT25H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H10M", "sequence": 1, "id": "s49", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s50", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o2", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1573, "totalPrice": 2333.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1573, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2333.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p10", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j3_o1_p4_b15_j3-o2_p11_b15_j3", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1573, "totalPrice": 2333.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1573, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2333.58 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1573, "totalPrice": 2333.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1573, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2333.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO40LB\/18KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p4", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 1, "totalDuration": "PT25H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H10M", "sequence": 1, "id": "s49", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s50", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o2", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1573, "totalPrice": 2333.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1573, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2333.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p11", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j7_o3_p18_b15_j7-o4_p24_b15_j7", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1573, "totalPrice": 2333.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1573, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2333.58 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1573, "totalPrice": 2333.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1573, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2333.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO40LB\/18KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p18", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 1, "totalDuration": "PT25H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H10M", "sequence": 1, "id": "s49", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s50", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o4", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1573, "totalPrice": 2333.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1573, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2333.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "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": "DA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT7H30M", "totalFlightDuration": "PT6H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H25M", "sequence": 1, "id": "s70", "number": "500", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "02:25:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H5M", "equipment": "789", "airplaneName": "Boeing 787-9", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s71", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-30", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j7_o3_p18_b15_j7-o4_p25_b15_j7", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1573, "totalPrice": 2333.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1573, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2333.58 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1573, "totalPrice": 2333.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1573, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2333.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO40LB\/18KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p18", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 1, "totalDuration": "PT25H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT19H10M", "sequence": 1, "id": "s49", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s50", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o4", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1573, "totalPrice": 2333.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1573, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2333.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "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": "DA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT12H30M", "totalFlightDuration": "PT6H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H25M", "sequence": 1, "id": "s82", "number": "500", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "02:25:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H5M", "equipment": "789", "airplaneName": "Boeing 787-9", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s83", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-30", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j33_o13_p95_b15_j33-o14_p106_b15_j33", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1624, "totalPrice": 2384.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1624, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2384.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1624, "totalPrice": 2384.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1624, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2384.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p95", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CA07E8IT", "fareType": "AirlinePrivateFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT9H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H30M", "sequence": 1, "id": "s3", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s4", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1624, "totalPrice": 2384.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1624, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2384.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p106", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA07E8IT", "fareType": "AirlinePrivateFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j33_o13_p95_b15_j33-o14_p107_b15_j33", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1624, "totalPrice": 2384.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1624, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2384.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1624, "totalPrice": 2384.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1624, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2384.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p95", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CA07E8IT", "fareType": "AirlinePrivateFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT9H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H30M", "sequence": 1, "id": "s3", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s4", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1624, "totalPrice": 2384.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1624, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2384.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p107", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA07E8IT", "fareType": "AirlinePrivateFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j4_o1_p5_b15_j4-o2_p12_b15_j4", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1746, "totalPrice": 2506.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1746, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2506.58 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1746, "totalPrice": 2506.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1746, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2506.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO40LB\/18KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p5", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT20H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT14H10M", "sequence": 1, "id": "s38", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s39", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o2", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1746, "totalPrice": 2506.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1746, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2506.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p12", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j4_o1_p5_b15_j4-o2_p13_b15_j4", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1746, "totalPrice": 2506.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1746, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2506.58 } ], "taxes": [] }, "legs": [ { "offerId": "o1", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1746, "totalPrice": 2506.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1746, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2506.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO40LB\/18KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p5", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT20H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT14H10M", "sequence": 1, "id": "s38", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s39", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o2", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1746, "totalPrice": 2506.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1746, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2506.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p13", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j8_o3_p19_b15_j8-o4_p26_b15_j8", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1746, "totalPrice": 2506.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1746, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2506.58 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1746, "totalPrice": 2506.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1746, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2506.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO40LB\/18KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p19", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT20H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT14H10M", "sequence": 1, "id": "s38", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s39", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o4", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1746, "totalPrice": 2506.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1746, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2506.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "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": "Business", "classOfService": "D", "fareBasisCode": "DA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT7H30M", "totalFlightDuration": "PT6H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H25M", "sequence": 1, "id": "s70", "number": "500", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "02:25:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H5M", "equipment": "789", "airplaneName": "Boeing 787-9", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s71", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-30", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j8_o3_p19_b15_j8-o4_p27_b15_j8", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1746, "totalPrice": 2506.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1746, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2506.58 } ], "taxes": [] }, "legs": [ { "offerId": "o3", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1746, "totalPrice": 2506.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1746, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2506.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO40LB\/18KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p19", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT20H40M", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT14H10M", "sequence": 1, "id": "s38", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s39", "number": "9000", "operatingCarrierName": "AIR SENEGAL", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "12:35:00" }, "departure": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-01", "time": "10:20:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "738", "airplaneName": "Boeing 737-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o4", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Classic", "brandId": "2145925", "brandCode": "BCLASSIC", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1746, "totalPrice": 2506.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1746, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2506.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "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": "Business", "classOfService": "D", "fareBasisCode": "DA0RE6PA", "fareType": "PublicFare", "fareTypeCode": "BR" } ], "quantity": 3, "totalDuration": "PT12H30M", "totalFlightDuration": "PT6H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H25M", "sequence": 1, "id": "s82", "number": "500", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "02:25:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H5M", "equipment": "789", "airplaneName": "Boeing 787-9", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s83", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-30", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j34_o13_p96_b11_j34-o14_p108_b11_j34", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1973, "totalPrice": 2733.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1973, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2733.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Flex Premium", "brandId": "2145924", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1973, "totalPrice": 2733.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1973, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2733.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p96", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE7PA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 3, "totalDuration": "PT14H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H30M", "sequence": 1, "id": "s19", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s20", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Flex Premium", "brandId": "2145924", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1973, "totalPrice": 2733.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1973, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2733.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p108", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE7PA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 3, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j34_o13_p96_b11_j34-o14_p109_b11_j34", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 1973, "totalPrice": 2733.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1973, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2733.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Flex Premium", "brandId": "2145924", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1973, "totalPrice": 2733.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1973, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2733.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p96", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE7PA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 3, "totalDuration": "PT14H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H30M", "sequence": 1, "id": "s19", "number": "947", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "15:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s20", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Flex Premium", "brandId": "2145924", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 1973, "totalPrice": 2733.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 1973, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2733.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p109", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE7PA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 3, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j35_o13_p97_b11_j35-o14_p110_b11_j35", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 2146, "totalPrice": 2906.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 2146, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2906.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Flex Premium", "brandId": "2145924", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 2146, "totalPrice": 2906.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 2146, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2906.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p97", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CA0RE7PA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 3, "totalDuration": "PT9H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H30M", "sequence": 1, "id": "s3", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s4", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Flex Premium", "brandId": "2145924", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 2146, "totalPrice": 2906.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 2146, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2906.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p110", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE7PA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 3, "totalDuration": "PT14H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT7H56M", "sequence": 1, "id": "s84", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s85", "number": "946", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "11:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "07:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j35_o13_p97_b11_j35-o14_p111_b11_j35", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 2146, "totalPrice": 2906.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 2146, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2906.58 } ], "taxes": [] }, "legs": [ { "offerId": "o13", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Bus Flex Premium", "brandId": "2145924", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 2146, "totalPrice": 2906.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 2146, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2906.58 } ], "taxes": [] }, "sequence": 1, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p97", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "C", "fareBasisCode": "CA0RE7PA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 3, "totalDuration": "PT9H", "totalFlightDuration": "PT6H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H30M", "sequence": 1, "id": "s3", "number": "953", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "20:10:00" }, "departure": { "terminal": "1", "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "17:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H15M", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s4", "number": "501", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "00:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-06-30", "time": "22:40:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H15M", "equipment": "788", "airplaneName": "Boeing 787-8", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } }, { "offerId": "o14", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Bus Flex Premium", "brandId": "2145924", "brandCode": "BFLEX", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "price": { "currencyCode": "EUR", "base": 2146, "totalPrice": 2906.58, "totalFees": 0, "totalTaxes": 760.58, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 2146, "totalTaxes": 760.58, "totalFees": 0, "totalPrice": 2906.58 } ], "taxes": [] }, "sequence": 2, "terms_and_conditions": { "baggageAllowance": { "Adult": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 3, "description": "UPTO70LB\/32KG" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "quantity": 1, "description": "UPTO22LB\/10KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p111", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Business", "classOfService": "D", "fareBasisCode": "DA0RE7PA", "fareType": "PublicFare", "fareTypeCode": "BU" } ], "quantity": 3, "totalDuration": "PT19H5M", "totalFlightDuration": "PT6H9M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT12H56M", "sequence": 1, "id": "s102", "number": "502", "operatingCarrierName": "", "arrival": { "terminal": "2", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-30", "time": "23:59:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "19:50:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1426, "duration": "PT3H9M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "sequence": 2, "id": "s103", "number": "952", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "16:55:00" }, "departure": { "terminal": "1", "location": "CMN", "locationName": "Mohammed V International Airport", "date": "2026-07-31", "time": "12:55:00" }, "carrier": "AT", "airlineName": "Royal Air Maroc", "distance": 1270, "duration": "PT3H", "equipment": "7M8", "airplaneName": "Boeing 737Max", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" } ] } } ] }, { "id": "j27_o11_p79_b19_j27-o12_p86_b19_j27", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 3327, "totalPrice": 3864.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3327, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 3864.45 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Full Flex", "brandId": "2146771", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3327, "totalPrice": 3864.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3327, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 3864.45 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p79", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o12", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Full Flex", "brandId": "2146771", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3327, "totalPrice": 3864.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3327, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 3864.45 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p86", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT15H55M", "totalFlightDuration": "PT7H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H50M", "sequence": 1, "id": "s98", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s99", "number": "1328", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "17:05:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "15:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H45M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j27_o11_p80_b19_j27-o12_p86_b19_j27", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 3327, "totalPrice": 3864.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3327, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 3864.45 } ], "taxes": [] }, "legs": [ { "offerId": "o11", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Full Flex", "brandId": "2146771", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3327, "totalPrice": 3864.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3327, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 3864.45 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p80", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o12", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Full Flex", "brandId": "2146771", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3327, "totalPrice": 3864.45, "totalFees": 0, "totalTaxes": 537.45, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3327, "totalTaxes": 537.45, "totalFees": 0, "totalPrice": 3864.45 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p86", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT15H55M", "totalFlightDuration": "PT7H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT8H50M", "sequence": 1, "id": "s98", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s99", "number": "1328", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "17:05:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "15:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H45M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j12_o5_p34_b19_j12-o6_p41_b19_j12", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 3327, "totalPrice": 3865.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3327, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 3865.79 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Full Flex", "brandId": "2146771", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3327, "totalPrice": 3865.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3327, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 3865.79 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p34", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o6", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Full Flex", "brandId": "2146771", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3327, "totalPrice": 3865.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3327, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 3865.79 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p41", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT22H", "totalFlightDuration": "PT7H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT15H", "sequence": 1, "id": "s107", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s108", "number": "1028", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "23:10:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "21:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H40M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j12_o5_p35_b19_j12-o6_p41_b19_j12", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 3327, "totalPrice": 3865.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3327, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 3865.79 } ], "taxes": [] }, "legs": [ { "offerId": "o5", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Full Flex", "brandId": "2146771", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3327, "totalPrice": 3865.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3327, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 3865.79 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p35", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o6", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Full Flex", "brandId": "2146771", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3327, "totalPrice": 3865.79, "totalFees": 0, "totalTaxes": 538.79, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3327, "totalTaxes": 538.79, "totalFees": 0, "totalPrice": 3865.79 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p41", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT22H", "totalFlightDuration": "PT7H0M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT15H", "sequence": 1, "id": "s107", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s108", "number": "1028", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "23:10:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "21:30:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H40M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } } ] }, { "id": "j17_o7_p49_b19_j17-o8_p56_b19_j17", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 3328, "totalPrice": 3915.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3328, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 3915.98 } ], "taxes": [] }, "legs": [ { "offerId": "o7", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Full Flex", "brandId": "2146771", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3328, "totalPrice": 3915.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3328, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 3915.98 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p49", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT11H", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT3H30M", "sequence": 1, "id": "s7", "number": "1329", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:50:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "18:00:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s8", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Full Flex", "brandId": "2146771", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3328, "totalPrice": 3915.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3328, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 3915.98 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p56", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s74", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s75", "number": "1340", "operatingCarrierName": "", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 3, "id": "s76", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j17_o7_p50_b19_j17-o8_p56_b19_j17", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 3328, "totalPrice": 3915.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3328, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 3915.98 } ], "taxes": [] }, "legs": [ { "offerId": "o7", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Full Flex", "brandId": "2146771", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3328, "totalPrice": 3915.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3328, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 3915.98 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p50", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT14H10M", "totalFlightDuration": "PT7H30M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT6H40M", "sequence": 1, "id": "s21", "number": "1829", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "16:40:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "14:50:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 515, "duration": "PT1H50M", "equipment": "320", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 2, "id": "s22", "number": "710", "operatingCarrierName": "", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" } ] } }, { "offerId": "o8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Full Flex", "brandId": "2146771", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3328, "totalPrice": 3915.98, "totalFees": 0, "totalTaxes": 587.98, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3328, "totalTaxes": 587.98, "totalFees": 0, "totalPrice": 3915.98 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p56", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s74", "number": "719", "operatingCarrierName": "", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s75", "number": "1340", "operatingCarrierName": "", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "AF", "airlineName": "Air France", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "sequence": 3, "id": "s76", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j22_o9_p64_b24_j22-o10_p71_b24_j22", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 3329, "totalPrice": 3919.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3329, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 3919.51 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Full Flex", "brandId": "2146785", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3329, "totalPrice": 3919.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3329, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 3919.51 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p64", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT15H5M", "totalFlightDuration": "PT8H55M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H55M", "sequence": 1, "id": "s23", "number": "1664", "operatingCarrierName": "KLM CITYHOPPER", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "15:55:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "13:55:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT2H", "equipment": "295", "airplaneName": "Embraer195 E2", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT4H15M", "sequence": 2, "id": "s24", "number": "1411", "operatingCarrierName": "", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "19:05:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "17:50:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H15M", "equipment": "73H", "airplaneName": "Boeing 737", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s25", "number": "2092", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } }, { "offerId": "o10", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Full Flex", "brandId": "2146785", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3329, "totalPrice": 3919.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3329, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 3919.51 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p71", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s77", "number": "2277", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s78", "number": "2006", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s79", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] }, { "id": "j22_o9_p65_b24_j22-o10_p71_b24_j22", "source": "GDS:TravelPort", "fullprice": { "currencyCode": "EUR", "base": 3329, "totalPrice": 3919.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3329, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 3919.51 } ], "taxes": [] }, "legs": [ { "offerId": "o9", "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Full Flex", "brandId": "2146785", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3329, "totalPrice": 3919.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3329, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 3919.51 } ], "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p65", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT19H40M", "totalFlightDuration": "PT9H5M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT2H50M", "sequence": 1, "id": "s35", "number": "1662", "operatingCarrierName": "KLM CITYHOPPER", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "11:20:00" }, "departure": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-06-30", "time": "09:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT2H", "equipment": "295", "airplaneName": "Embraer195 E2", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT7H45M", "sequence": 2, "id": "s36", "number": "2009", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "15:35:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-06-30", "time": "14:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H25M", "equipment": "32A", "airplaneName": "Airbus A320", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s37", "number": "2092", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-01", "time": "03:00:00" }, "departure": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-06-30", "time": "23:20:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H40M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } }, { "offerId": "o10", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Full Flex", "brandId": "2146785", "brandCode": "FULLFLEX", "brandFacilities": { "Refund": "Included", "Meals": "Included", "CheckedBag": "Included", "CarryOn": "Included" } }, "price": { "currencyCode": "EUR", "base": 3329, "totalPrice": 3919.51, "totalFees": 0, "totalTaxes": 590.51, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "AJI", "passengerType": "Adult", "base": 3329, "totalTaxes": 590.51, "totalFees": 0, "totalPrice": 3919.51 } ], "taxes": [] }, "sequence": 2, "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": "UPTO26LB\/12KG AND UPTO45LI\/115LCM" } } } }, "accountCodePrivateFare": null }, "product": { "id": "p71", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YGS0AFNA", "fareType": "PublicFare", "fareTypeCode": "EU" } ], "quantity": 9, "totalDuration": "PT11H5M", "totalFlightDuration": "PT8H40M", "flightSegments": [ { "boundFlightsInd": true, "connectionDuration": "PT1H40M", "sequence": 1, "id": "s77", "number": "2277", "operatingCarrierName": "AIR FRANCE", "arrival": { "terminal": "2E", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "06:30:00" }, "departure": { "location": "DSS", "locationName": "Blaise Diagne International Airport", "date": "2026-07-30", "time": "23:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 2613, "duration": "PT5H20M", "equipment": "77W", "airplaneName": "Boeing 777-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "boundFlightsInd": true, "connectionDuration": "PT45M", "sequence": 2, "id": "s78", "number": "2006", "operatingCarrierName": "AIR FRANCE", "arrival": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "09:40:00" }, "departure": { "terminal": "2F", "location": "CDG", "locationName": "Paris Charles de Gaulle Airport", "date": "2026-07-31", "time": "08:10:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 259, "duration": "PT1H30M", "equipment": "223", "airplaneName": "Airbus A220-300", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" }, { "sequence": 3, "id": "s79", "number": "1663", "operatingCarrierName": "", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi Airport", "date": "2026-07-31", "time": "12:15:00" }, "departure": { "location": "AMS", "locationName": "Amsterdam Airport Schiphol", "date": "2026-07-31", "time": "10:25:00" }, "carrier": "KL", "airlineName": "KLM", "distance": 614, "duration": "PT1H50M", "equipment": "73W", "airplaneName": "Boeing 737-700", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] } } ] } ], "dataList": [], "filters": { "stops": [ { "name": "1 Stop", "value": "2" }, { "name": "2 Stops", "value": "3" } ], "fareType": [ { "name": "Partially Refundable", "value": "Chargeable" }, { "name": "Non Refundable", "value": "Not Offered" }, { "name": "Refundable", "value": "Included" } ], "baggage": [ { "value": 2, "unit": "Piece" }, { "value": 1, "unit": "Piece" }, { "value": 3, "unit": "Piece" } ], "connectingAirports": [ { "name": "Mohammed V International Airport", "code": "CMN" }, { "name": "Paris Charles de Gaulle Airport", "code": "CDG" }, { "name": "Amsterdam Airport Schiphol", "code": "AMS" } ], "airlines": [ { "name": "Royal Air Maroc", "value": "AT", "logoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AT.svg" }, { "name": "Air France", "value": "AF", "logoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/AF.svg" }, { "name": "KLM", "value": "KL", "logoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/KL.svg" } ] }, "itinerary": { "trips": [ { "origin": "BLQ", "destination": "DSS", "departureDate": "2026-06-30", "departureTime": "" }, { "origin": "DSS", "destination": "BLQ", "departureDate": "2026-07-30", "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": { "responseId": "XF7210262-5B1B-4CCE-8816,XC266BE5D-89C7-4393-A589,XA35B7591-73CA-4200-9E4D", "transactionId": "", "numberOflegs": 2, "offers": [ { "id": "XF7210262-5B1B-4CCE-8816-1+XF7210262-5B1B-4CCE-8816-7", "fullprice": { "currencyCode": "EUR", "totalPrice": 1848.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1364, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1848.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XF7210262-5B1B-4CCE-8816-1", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900bbe3b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT47H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm0200bbe3b8d7a", "number": "3011", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "19:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "16:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT18H57M" }, { "sequence": 2, "id": "Isgm0300bbe3b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm0400bbe3b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XF7210262-5B1B-4CCE-8816-7", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00bbe3b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 234, "base": 234, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 513.26, "totalPrice": 513.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT19H45M", "totalFlightDuration": "PT18H30M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600bbe3b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT1H15M" }, { "sequence": 2, "id": "Isgm2700bbe3b8d7a", "number": "93", "class": "T", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi", "date": "2026-07-31", "time": "13:40:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "08:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2784, "duration": "PT4H45M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc0800bbe3b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk0700bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sTZpxTbWmASh*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc2b00bbe3b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk2a00bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9@KO~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DAJP~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DAJP~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~D~MAD9RKCDNHR0~MSB9TEL1~MEA9RKCDNHR0-UDM0*sTZpxTbWmASh*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XF7210262-5B1B-4CCE-8816-1", "offerItemId": "XF7210262-5B1B-4CCE-8816-1-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt0500bbe3b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XF7210262-5B1B-4CCE-8816-7", "offerItemId": "XF7210262-5B1B-4CCE-8816-7-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt2800bbe3b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt0500bbe3b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt2800bbe3b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "source": "NDC:Emirates" }, { "id": "XF7210262-5B1B-4CCE-8816-2+XF7210262-5B1B-4CCE-8816-7", "fullprice": { "currencyCode": "EUR", "totalPrice": 1848.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1364, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1848.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XF7210262-5B1B-4CCE-8816-2", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900bbe3b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT52H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm1100bbe3b8d7a", "number": "3013", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "14:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "11:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT23H57M" }, { "sequence": 2, "id": "Isgm0300bbe3b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm0400bbe3b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XF7210262-5B1B-4CCE-8816-7", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00bbe3b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 234, "base": 234, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 513.26, "totalPrice": 513.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT19H45M", "totalFlightDuration": "PT18H30M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600bbe3b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT1H15M" }, { "sequence": 2, "id": "Isgm2700bbe3b8d7a", "number": "93", "class": "T", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi", "date": "2026-07-31", "time": "13:40:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "08:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2784, "duration": "PT4H45M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc0800bbe3b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk0700bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sTZpxTbWmASh*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc2b00bbe3b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk2a00bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9@KO~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DAJP~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DAJP~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~D~MAD9RKCDNHR0~MSB9TEL1~MEA9RKCDNHR0-UDM0*sTZpxTbWmASh*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XF7210262-5B1B-4CCE-8816-2", "offerItemId": "XF7210262-5B1B-4CCE-8816-2-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt1200bbe3b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XF7210262-5B1B-4CCE-8816-7", "offerItemId": "XF7210262-5B1B-4CCE-8816-7-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt2800bbe3b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt1200bbe3b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt2800bbe3b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "source": "NDC:Emirates" }, { "id": "XC266BE5D-89C7-4393-A589-1+XC266BE5D-89C7-4393-A589-7", "fullprice": { "currencyCode": "EUR", "totalPrice": 1848.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1364, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1848.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XC266BE5D-89C7-4393-A589-1", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc09008d03b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm02008d03b8d7a Isgm03008d03b8d7a Isgm04008d03b8d7a" } ], "quantity": 0, "totalDuration": "PT47H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm02008d03b8d7a", "number": "3011", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "19:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "16:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT18H57M" }, { "sequence": 2, "id": "Isgm03008d03b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm04008d03b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XC266BE5D-89C7-4393-A589-7", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c008d03b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 234, "base": 234, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 513.26, "totalPrice": 513.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm26008d03b8d7a Isgm27008d03b8d7a" } ], "quantity": 0, "totalDuration": "PT19H45M", "totalFlightDuration": "PT18H30M", "flightSegments": [ { "sequence": 1, "id": "Isgm26008d03b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT1H15M" }, { "sequence": 2, "id": "Isgm27008d03b8d7a", "number": "93", "class": "T", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi", "date": "2026-07-31", "time": "13:40:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "08:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2784, "duration": "PT4H45M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc08008d03b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk07008d03b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*stF6IE9qukAI*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc2b008d03b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk2a008d03b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9@KO~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DAJP~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DAJP~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~D~MAD9RKCDNHR0~MSB9TEL1~MEA9RKCDNHR0-UDM0*stF6IE9qukAI*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XC266BE5D-89C7-4393-A589-1", "offerItemId": "XC266BE5D-89C7-4393-A589-1-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt05008d03b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm02008d03b8d7a Isgm03008d03b8d7a Isgm04008d03b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XC266BE5D-89C7-4393-A589-7", "offerItemId": "XC266BE5D-89C7-4393-A589-7-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt28008d03b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm26008d03b8d7a Isgm27008d03b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt05008d03b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm02008d03b8d7a Isgm03008d03b8d7a Isgm04008d03b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt28008d03b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm26008d03b8d7a Isgm27008d03b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "source": "NDC:Emirates" }, { "id": "XC266BE5D-89C7-4393-A589-2+XC266BE5D-89C7-4393-A589-7", "fullprice": { "currencyCode": "EUR", "totalPrice": 1848.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1364, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1848.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XC266BE5D-89C7-4393-A589-2", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc09008d03b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm11008d03b8d7a Isgm03008d03b8d7a Isgm04008d03b8d7a" } ], "quantity": 0, "totalDuration": "PT52H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm11008d03b8d7a", "number": "3013", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "14:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "11:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT23H57M" }, { "sequence": 2, "id": "Isgm03008d03b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm04008d03b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XC266BE5D-89C7-4393-A589-7", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c008d03b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 234, "base": 234, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 513.26, "totalPrice": 513.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm26008d03b8d7a Isgm27008d03b8d7a" } ], "quantity": 0, "totalDuration": "PT19H45M", "totalFlightDuration": "PT18H30M", "flightSegments": [ { "sequence": 1, "id": "Isgm26008d03b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT1H15M" }, { "sequence": 2, "id": "Isgm27008d03b8d7a", "number": "93", "class": "T", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi", "date": "2026-07-31", "time": "13:40:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "08:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2784, "duration": "PT4H45M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc08008d03b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk07008d03b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*stF6IE9qukAI*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc2b008d03b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk2a008d03b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9@KO~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DAJP~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DAJP~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~D~MAD9RKCDNHR0~MSB9TEL1~MEA9RKCDNHR0-UDM0*stF6IE9qukAI*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XC266BE5D-89C7-4393-A589-2", "offerItemId": "XC266BE5D-89C7-4393-A589-2-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt12008d03b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm11008d03b8d7a Isgm03008d03b8d7a Isgm04008d03b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XC266BE5D-89C7-4393-A589-7", "offerItemId": "XC266BE5D-89C7-4393-A589-7-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt28008d03b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm26008d03b8d7a Isgm27008d03b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt12008d03b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm11008d03b8d7a Isgm03008d03b8d7a Isgm04008d03b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt28008d03b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm26008d03b8d7a Isgm27008d03b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "source": "NDC:Emirates" }, { "id": "XA35B7591-73CA-4200-9E4D-1+XA35B7591-73CA-4200-9E4D-7", "fullprice": { "currencyCode": "EUR", "totalPrice": 1848.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1364, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1848.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XA35B7591-73CA-4200-9E4D-1", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900fd23b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm0200fd23b8d7a Isgm0300fd23b8d7a Isgm0400fd23b8d7a" } ], "quantity": 0, "totalDuration": "PT47H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm0200fd23b8d7a", "number": "3011", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "19:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "16:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT18H57M" }, { "sequence": 2, "id": "Isgm0300fd23b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm0400fd23b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XA35B7591-73CA-4200-9E4D-7", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00fd23b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 234, "base": 234, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 513.26, "totalPrice": 513.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600fd23b8d7a Isgm2700fd23b8d7a" } ], "quantity": 0, "totalDuration": "PT19H45M", "totalFlightDuration": "PT18H30M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600fd23b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT1H15M" }, { "sequence": 2, "id": "Isgm2700fd23b8d7a", "number": "93", "class": "T", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi", "date": "2026-07-31", "time": "13:40:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "08:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2784, "duration": "PT4H45M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc0800fd23b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk0700fd23b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sjDUqINUx6wd*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc2b00fd23b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk2a00fd23b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9@KO~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DAJP~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DAJP~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~D~MAD9RKCDNHR0~MSB9TEL1~MEA9RKCDNHR0-UDM0*sjDUqINUx6wd*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XA35B7591-73CA-4200-9E4D-1", "offerItemId": "XA35B7591-73CA-4200-9E4D-1-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt0500fd23b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm0200fd23b8d7a Isgm0300fd23b8d7a Isgm0400fd23b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XA35B7591-73CA-4200-9E4D-7", "offerItemId": "XA35B7591-73CA-4200-9E4D-7-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt2800fd23b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600fd23b8d7a Isgm2700fd23b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt0500fd23b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm0200fd23b8d7a Isgm0300fd23b8d7a Isgm0400fd23b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt2800fd23b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600fd23b8d7a Isgm2700fd23b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "source": "NDC:Emirates" }, { "id": "XA35B7591-73CA-4200-9E4D-2+XA35B7591-73CA-4200-9E4D-7", "fullprice": { "currencyCode": "EUR", "totalPrice": 1848.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1364, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1848.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XA35B7591-73CA-4200-9E4D-2", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900fd23b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm1100fd23b8d7a Isgm0300fd23b8d7a Isgm0400fd23b8d7a" } ], "quantity": 0, "totalDuration": "PT52H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm1100fd23b8d7a", "number": "3013", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "14:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "11:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT23H57M" }, { "sequence": 2, "id": "Isgm0300fd23b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm0400fd23b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XA35B7591-73CA-4200-9E4D-7", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00fd23b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 234, "base": 234, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 513.26, "totalPrice": 513.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600fd23b8d7a Isgm2700fd23b8d7a" } ], "quantity": 0, "totalDuration": "PT19H45M", "totalFlightDuration": "PT18H30M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600fd23b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT1H15M" }, { "sequence": 2, "id": "Isgm2700fd23b8d7a", "number": "93", "class": "T", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi", "date": "2026-07-31", "time": "13:40:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "08:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2784, "duration": "PT4H45M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc0800fd23b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk0700fd23b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sjDUqINUx6wd*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc2b00fd23b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk2a00fd23b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9@KO~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DAJP~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DAJP~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~D~MAD9RKCDNHR0~MSB9TEL1~MEA9RKCDNHR0-UDM0*sjDUqINUx6wd*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XA35B7591-73CA-4200-9E4D-2", "offerItemId": "XA35B7591-73CA-4200-9E4D-2-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt1200fd23b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1100fd23b8d7a Isgm0300fd23b8d7a Isgm0400fd23b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XA35B7591-73CA-4200-9E4D-7", "offerItemId": "XA35B7591-73CA-4200-9E4D-7-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt2800fd23b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600fd23b8d7a Isgm2700fd23b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt1200fd23b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1100fd23b8d7a Isgm0300fd23b8d7a Isgm0400fd23b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt2800fd23b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600fd23b8d7a Isgm2700fd23b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "source": "NDC:Emirates" }, { "id": "XF7210262-5B1B-4CCE-8816-3+XF7210262-5B1B-4CCE-8816-7", "fullprice": { "currencyCode": "EUR", "totalPrice": 1875.65, "totalFees": 0, "totalTaxes": 501.65, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1374, "totalTaxes": 501.65, "totalFees": 0, "totalPrice": 1875.65 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XF7210262-5B1B-4CCE-8816-3", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900bbe3b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1140, "base": 1140, "totalTaxes": 222.39, "taxAmount": 222.39, "totalFees": 0, "feeUnit": "", "totalAmount": 1362.39, "totalPrice": 1362.39, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm1400bbe3b8d7a Isgm1500bbe3b8d7a Isgm0400bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT48H33M", "totalFlightDuration": "PT19H20M", "flightSegments": [ { "sequence": 1, "id": "Isgm1400bbe3b8d7a", "number": "3182", "class": "Y", "arrival": { "location": "FCO", "locationName": "Rome Fiumicino Apt", "date": "2026-06-30", "time": "18:37:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "15:37:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 192, "duration": "PT3H", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT21H8M" }, { "sequence": 2, "id": "Isgm1500bbe3b8d7a", "number": "98", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "23:45:00" }, "departure": { "terminal": "3", "location": "FCO", "locationName": "Rome Fiumicino Apt", "date": "2026-07-01", "time": "15:45:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2697, "duration": "PT8H", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT8H5M" }, { "sequence": 3, "id": "Isgm0400bbe3b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XF7210262-5B1B-4CCE-8816-7", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00bbe3b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 234, "base": 234, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 513.26, "totalPrice": 513.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT19H45M", "totalFlightDuration": "PT18H30M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600bbe3b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT1H15M" }, { "sequence": 2, "id": "Isgm2700bbe3b8d7a", "number": "93", "class": "T", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi", "date": "2026-07-31", "time": "13:40:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "08:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2784, "duration": "PT4H45M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc1900bbe3b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk1800bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DQML~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DPNK~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.3~D\/.\/.1~D5426~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sTZpxTbWmASh*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc2b00bbe3b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk2a00bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9@KO~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DAJP~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DAJP~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~D~MAD9RKCDNHR0~MSB9TEL1~MEA9RKCDNHR0-UDM0*sTZpxTbWmASh*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XF7210262-5B1B-4CCE-8816-3", "offerItemId": "XF7210262-5B1B-4CCE-8816-3-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt1600bbe3b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1400bbe3b8d7a Isgm1500bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XF7210262-5B1B-4CCE-8816-7", "offerItemId": "XF7210262-5B1B-4CCE-8816-7-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt2800bbe3b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt1600bbe3b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1400bbe3b8d7a Isgm1500bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt2800bbe3b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "source": "NDC:Emirates" }, { "id": "XF7210262-5B1B-4CCE-8816-4+XF7210262-5B1B-4CCE-8816-7", "fullprice": { "currencyCode": "EUR", "totalPrice": 1875.65, "totalFees": 0, "totalTaxes": 501.65, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1374, "totalTaxes": 501.65, "totalFees": 0, "totalPrice": 1875.65 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XF7210262-5B1B-4CCE-8816-4", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900bbe3b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1140, "base": 1140, "totalTaxes": 222.39, "taxAmount": 222.39, "totalFees": 0, "feeUnit": "", "totalAmount": 1362.39, "totalPrice": 1362.39, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm1a00bbe3b8d7a Isgm1500bbe3b8d7a Isgm0400bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT48H33M", "totalFlightDuration": "PT18H23M", "flightSegments": [ { "sequence": 1, "id": "Isgm1a00bbe3b8d7a", "number": "3182", "class": "Y", "arrival": { "location": "XRJ", "locationName": "Rome Termini Rail Station", "date": "2026-06-30", "time": "17:40:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "15:37:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 189, "duration": "PT2H3M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT22H5M" }, { "sequence": 2, "id": "Isgm1500bbe3b8d7a", "number": "98", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "23:45:00" }, "departure": { "terminal": "3", "location": "FCO", "locationName": "Rome Fiumicino Apt", "date": "2026-07-01", "time": "15:45:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2697, "duration": "PT8H", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT8H5M" }, { "sequence": 3, "id": "Isgm0400bbe3b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XF7210262-5B1B-4CCE-8816-7", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00bbe3b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 234, "base": 234, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 513.26, "totalPrice": 513.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT19H45M", "totalFlightDuration": "PT18H30M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600bbe3b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT1H15M" }, { "sequence": 2, "id": "Isgm2700bbe3b8d7a", "number": "93", "class": "T", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi", "date": "2026-07-31", "time": "13:40:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "08:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2784, "duration": "PT4H45M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc1900bbe3b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk1800bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DQML~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DPNK~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.3~D\/.\/.1~D5426~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sTZpxTbWmASh*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc2b00bbe3b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk2a00bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9@KO~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DAJP~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DAJP~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~D~MAD9RKCDNHR0~MSB9TEL1~MEA9RKCDNHR0-UDM0*sTZpxTbWmASh*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XF7210262-5B1B-4CCE-8816-4", "offerItemId": "XF7210262-5B1B-4CCE-8816-4-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt1b00bbe3b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7592", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1a00bbe3b8d7a Isgm1500bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XF7210262-5B1B-4CCE-8816-7", "offerItemId": "XF7210262-5B1B-4CCE-8816-7-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt2800bbe3b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt1b00bbe3b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7592", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1a00bbe3b8d7a Isgm1500bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt2800bbe3b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "source": "NDC:Emirates" }, { "id": "XC266BE5D-89C7-4393-A589-3+XC266BE5D-89C7-4393-A589-7", "fullprice": { "currencyCode": "EUR", "totalPrice": 1875.65, "totalFees": 0, "totalTaxes": 501.65, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1374, "totalTaxes": 501.65, "totalFees": 0, "totalPrice": 1875.65 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XC266BE5D-89C7-4393-A589-3", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc09008d03b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1140, "base": 1140, "totalTaxes": 222.39, "taxAmount": 222.39, "totalFees": 0, "feeUnit": "", "totalAmount": 1362.39, "totalPrice": 1362.39, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm14008d03b8d7a Isgm15008d03b8d7a Isgm04008d03b8d7a" } ], "quantity": 0, "totalDuration": "PT48H33M", "totalFlightDuration": "PT18H23M", "flightSegments": [ { "sequence": 1, "id": "Isgm14008d03b8d7a", "number": "3182", "class": "Y", "arrival": { "location": "XRJ", "locationName": "Rome Termini Rail Station", "date": "2026-06-30", "time": "17:40:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "15:37:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 189, "duration": "PT2H3M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT22H5M" }, { "sequence": 2, "id": "Isgm15008d03b8d7a", "number": "98", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "23:45:00" }, "departure": { "terminal": "3", "location": "FCO", "locationName": "Rome Fiumicino Apt", "date": "2026-07-01", "time": "15:45:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2697, "duration": "PT8H", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT8H5M" }, { "sequence": 3, "id": "Isgm04008d03b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XC266BE5D-89C7-4393-A589-7", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c008d03b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 234, "base": 234, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 513.26, "totalPrice": 513.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm26008d03b8d7a Isgm27008d03b8d7a" } ], "quantity": 0, "totalDuration": "PT19H45M", "totalFlightDuration": "PT18H30M", "flightSegments": [ { "sequence": 1, "id": "Isgm26008d03b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT1H15M" }, { "sequence": 2, "id": "Isgm27008d03b8d7a", "number": "93", "class": "T", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi", "date": "2026-07-31", "time": "13:40:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "08:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2784, "duration": "PT4H45M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc19008d03b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk18008d03b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DQML~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DPNK~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.3~D\/.\/.1~D5426~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*stF6IE9qukAI*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc2b008d03b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk2a008d03b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9@KO~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DAJP~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DAJP~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~D~MAD9RKCDNHR0~MSB9TEL1~MEA9RKCDNHR0-UDM0*stF6IE9qukAI*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XC266BE5D-89C7-4393-A589-3", "offerItemId": "XC266BE5D-89C7-4393-A589-3-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt16008d03b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7592", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm14008d03b8d7a Isgm15008d03b8d7a Isgm04008d03b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XC266BE5D-89C7-4393-A589-7", "offerItemId": "XC266BE5D-89C7-4393-A589-7-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt28008d03b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm26008d03b8d7a Isgm27008d03b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt16008d03b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7592", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm14008d03b8d7a Isgm15008d03b8d7a Isgm04008d03b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt28008d03b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm26008d03b8d7a Isgm27008d03b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "source": "NDC:Emirates" }, { "id": "XC266BE5D-89C7-4393-A589-4+XC266BE5D-89C7-4393-A589-7", "fullprice": { "currencyCode": "EUR", "totalPrice": 1875.65, "totalFees": 0, "totalTaxes": 501.65, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1374, "totalTaxes": 501.65, "totalFees": 0, "totalPrice": 1875.65 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XC266BE5D-89C7-4393-A589-4", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc09008d03b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1140, "base": 1140, "totalTaxes": 222.39, "taxAmount": 222.39, "totalFees": 0, "feeUnit": "", "totalAmount": 1362.39, "totalPrice": 1362.39, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm1a008d03b8d7a Isgm15008d03b8d7a Isgm04008d03b8d7a" } ], "quantity": 0, "totalDuration": "PT48H33M", "totalFlightDuration": "PT19H20M", "flightSegments": [ { "sequence": 1, "id": "Isgm1a008d03b8d7a", "number": "3182", "class": "Y", "arrival": { "location": "FCO", "locationName": "Rome Fiumicino Apt", "date": "2026-06-30", "time": "18:37:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "15:37:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 192, "duration": "PT3H", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT21H8M" }, { "sequence": 2, "id": "Isgm15008d03b8d7a", "number": "98", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "23:45:00" }, "departure": { "terminal": "3", "location": "FCO", "locationName": "Rome Fiumicino Apt", "date": "2026-07-01", "time": "15:45:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2697, "duration": "PT8H", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT8H5M" }, { "sequence": 3, "id": "Isgm04008d03b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XC266BE5D-89C7-4393-A589-7", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c008d03b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 234, "base": 234, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 513.26, "totalPrice": 513.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm26008d03b8d7a Isgm27008d03b8d7a" } ], "quantity": 0, "totalDuration": "PT19H45M", "totalFlightDuration": "PT18H30M", "flightSegments": [ { "sequence": 1, "id": "Isgm26008d03b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT1H15M" }, { "sequence": 2, "id": "Isgm27008d03b8d7a", "number": "93", "class": "T", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi", "date": "2026-07-31", "time": "13:40:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "08:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2784, "duration": "PT4H45M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc19008d03b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk18008d03b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DQML~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DPNK~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.3~D\/.\/.1~D5426~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*stF6IE9qukAI*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc2b008d03b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk2a008d03b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9@KO~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DAJP~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DAJP~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~D~MAD9RKCDNHR0~MSB9TEL1~MEA9RKCDNHR0-UDM0*stF6IE9qukAI*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XC266BE5D-89C7-4393-A589-4", "offerItemId": "XC266BE5D-89C7-4393-A589-4-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt1b008d03b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1a008d03b8d7a Isgm15008d03b8d7a Isgm04008d03b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XC266BE5D-89C7-4393-A589-7", "offerItemId": "XC266BE5D-89C7-4393-A589-7-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt28008d03b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm26008d03b8d7a Isgm27008d03b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt1b008d03b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1a008d03b8d7a Isgm15008d03b8d7a Isgm04008d03b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt28008d03b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm26008d03b8d7a Isgm27008d03b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "source": "NDC:Emirates" }, { "id": "XA35B7591-73CA-4200-9E4D-3+XA35B7591-73CA-4200-9E4D-7", "fullprice": { "currencyCode": "EUR", "totalPrice": 1875.65, "totalFees": 0, "totalTaxes": 501.65, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1374, "totalTaxes": 501.65, "totalFees": 0, "totalPrice": 1875.65 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XA35B7591-73CA-4200-9E4D-3", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900fd23b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1140, "base": 1140, "totalTaxes": 222.39, "taxAmount": 222.39, "totalFees": 0, "feeUnit": "", "totalAmount": 1362.39, "totalPrice": 1362.39, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm1400fd23b8d7a Isgm1500fd23b8d7a Isgm0400fd23b8d7a" } ], "quantity": 0, "totalDuration": "PT48H33M", "totalFlightDuration": "PT18H23M", "flightSegments": [ { "sequence": 1, "id": "Isgm1400fd23b8d7a", "number": "3182", "class": "Y", "arrival": { "location": "XRJ", "locationName": "Rome Termini Rail Station", "date": "2026-06-30", "time": "17:40:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "15:37:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 189, "duration": "PT2H3M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT22H5M" }, { "sequence": 2, "id": "Isgm1500fd23b8d7a", "number": "98", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "23:45:00" }, "departure": { "terminal": "3", "location": "FCO", "locationName": "Rome Fiumicino Apt", "date": "2026-07-01", "time": "15:45:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2697, "duration": "PT8H", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT8H5M" }, { "sequence": 3, "id": "Isgm0400fd23b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XA35B7591-73CA-4200-9E4D-7", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00fd23b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 234, "base": 234, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 513.26, "totalPrice": 513.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600fd23b8d7a Isgm2700fd23b8d7a" } ], "quantity": 0, "totalDuration": "PT19H45M", "totalFlightDuration": "PT18H30M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600fd23b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT1H15M" }, { "sequence": 2, "id": "Isgm2700fd23b8d7a", "number": "93", "class": "T", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi", "date": "2026-07-31", "time": "13:40:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "08:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2784, "duration": "PT4H45M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc1900fd23b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk1800fd23b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DQML~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DPNK~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.3~D\/.\/.1~D5426~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sjDUqINUx6wd*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc2b00fd23b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk2a00fd23b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9@KO~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DAJP~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DAJP~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~D~MAD9RKCDNHR0~MSB9TEL1~MEA9RKCDNHR0-UDM0*sjDUqINUx6wd*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XA35B7591-73CA-4200-9E4D-3", "offerItemId": "XA35B7591-73CA-4200-9E4D-3-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt1600fd23b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7592", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1400fd23b8d7a Isgm1500fd23b8d7a Isgm0400fd23b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XA35B7591-73CA-4200-9E4D-7", "offerItemId": "XA35B7591-73CA-4200-9E4D-7-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt2800fd23b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600fd23b8d7a Isgm2700fd23b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt1600fd23b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7592", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1400fd23b8d7a Isgm1500fd23b8d7a Isgm0400fd23b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt2800fd23b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600fd23b8d7a Isgm2700fd23b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "source": "NDC:Emirates" }, { "id": "XA35B7591-73CA-4200-9E4D-4+XA35B7591-73CA-4200-9E4D-7", "fullprice": { "currencyCode": "EUR", "totalPrice": 1875.65, "totalFees": 0, "totalTaxes": 501.65, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1374, "totalTaxes": 501.65, "totalFees": 0, "totalPrice": 1875.65 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XA35B7591-73CA-4200-9E4D-4", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900fd23b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1140, "base": 1140, "totalTaxes": 222.39, "taxAmount": 222.39, "totalFees": 0, "feeUnit": "", "totalAmount": 1362.39, "totalPrice": 1362.39, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "EX", "description": "Security Bag Charge", "amount": 2.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 8, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 25.15, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.25, "currency": "EUR" }, { "code": "VT", "description": "Security Charge", "amount": 3.22, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm1a00fd23b8d7a Isgm1500fd23b8d7a Isgm0400fd23b8d7a" } ], "quantity": 0, "totalDuration": "PT48H33M", "totalFlightDuration": "PT19H20M", "flightSegments": [ { "sequence": 1, "id": "Isgm1a00fd23b8d7a", "number": "3182", "class": "Y", "arrival": { "location": "FCO", "locationName": "Rome Fiumicino Apt", "date": "2026-06-30", "time": "18:37:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "15:37:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 192, "duration": "PT3H", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT21H8M" }, { "sequence": 2, "id": "Isgm1500fd23b8d7a", "number": "98", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "23:45:00" }, "departure": { "terminal": "3", "location": "FCO", "locationName": "Rome Fiumicino Apt", "date": "2026-07-01", "time": "15:45:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2697, "duration": "PT8H", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT8H5M" }, { "sequence": 3, "id": "Isgm0400fd23b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XA35B7591-73CA-4200-9E4D-7", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00fd23b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 234, "base": 234, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 513.26, "totalPrice": 513.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600fd23b8d7a Isgm2700fd23b8d7a" } ], "quantity": 0, "totalDuration": "PT19H45M", "totalFlightDuration": "PT18H30M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600fd23b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT1H15M" }, { "sequence": 2, "id": "Isgm2700fd23b8d7a", "number": "93", "class": "T", "arrival": { "location": "BLQ", "locationName": "Bologna Guglielmo Marconi", "date": "2026-07-31", "time": "13:40:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "08:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2784, "duration": "PT4H45M", "equipment": "359", "airplaneName": "Airbus A350-900", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc1900fd23b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk1800fd23b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DQML~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DPNK~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.3~D\/.\/.1~D5426~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sjDUqINUx6wd*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc2b00fd23b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk2a00fd23b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9@KO~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DAJP~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DAJP~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~D~MAD9RKCDNHR0~MSB9TEL1~MEA9RKCDNHR0-UDM0*sjDUqINUx6wd*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XA35B7591-73CA-4200-9E4D-4", "offerItemId": "XA35B7591-73CA-4200-9E4D-4-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt1b00fd23b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1a00fd23b8d7a Isgm1500fd23b8d7a Isgm0400fd23b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XA35B7591-73CA-4200-9E4D-7", "offerItemId": "XA35B7591-73CA-4200-9E4D-7-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt2800fd23b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600fd23b8d7a Isgm2700fd23b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt1b00fd23b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1a00fd23b8d7a Isgm1500fd23b8d7a Isgm0400fd23b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt2800fd23b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600fd23b8d7a Isgm2700fd23b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "source": "NDC:Emirates" }, { "id": "XF7210262-5B1B-4CCE-8816-1+XF7210262-5B1B-4CCE-8816-8", "fullprice": { "currencyCode": "EUR", "totalPrice": 1928.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1444, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1928.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XF7210262-5B1B-4CCE-8816-1", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900bbe3b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT47H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm0200bbe3b8d7a", "number": "3011", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "19:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "16:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT18H57M" }, { "sequence": 2, "id": "Isgm0300bbe3b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm0400bbe3b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XF7210262-5B1B-4CCE-8816-8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00bbe3b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 314, "base": 314, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 593.26, "totalPrice": 593.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3100bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT47H29M", "totalFlightDuration": "PT21H8M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600bbe3b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT7H55M" }, { "sequence": 2, "id": "Isgm3000bbe3b8d7a", "number": "91", "class": "T", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-31", "time": "20:15:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "15:35:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT4H40M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT18H26M" }, { "sequence": 3, "id": "Isgm3100bbe3b8d7a", "number": "3270", "class": "T", "arrival": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-08-01", "time": "17:24:00" }, "departure": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-08-01", "time": "14:41:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H43M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc0800bbe3b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk0700bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sTZpxTbWmASh*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc3500bbe3b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk3400bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DB~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8SJDCOGS\/~MRC8UDM0~MDB8SJDCOGS\/.TEL1*sTZpxTbWmASh*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XF7210262-5B1B-4CCE-8816-1", "offerItemId": "XF7210262-5B1B-4CCE-8816-1-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt0500bbe3b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XF7210262-5B1B-4CCE-8816-8", "offerItemId": "XF7210262-5B1B-4CCE-8816-8-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt3200bbe3b8d7a" }, "Journey": { "Time": "PT45H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3100bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt0500bbe3b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt3200bbe3b8d7a" }, "Journey": { "Time": "PT45H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3100bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] }, "source": "NDC:Emirates" }, { "id": "XF7210262-5B1B-4CCE-8816-1+XF7210262-5B1B-4CCE-8816-9", "fullprice": { "currencyCode": "EUR", "totalPrice": 1928.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1444, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1928.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XF7210262-5B1B-4CCE-8816-1", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900bbe3b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT47H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm0200bbe3b8d7a", "number": "3011", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "19:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "16:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT18H57M" }, { "sequence": 2, "id": "Isgm0300bbe3b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm0400bbe3b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XF7210262-5B1B-4CCE-8816-9", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00bbe3b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 314, "base": 314, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 593.26, "totalPrice": 593.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3600bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT50H29M", "totalFlightDuration": "PT21H8M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600bbe3b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT7H55M" }, { "sequence": 2, "id": "Isgm3000bbe3b8d7a", "number": "91", "class": "T", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-31", "time": "20:15:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "15:35:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT4H40M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT21H26M" }, { "sequence": 3, "id": "Isgm3600bbe3b8d7a", "number": "3010", "class": "T", "arrival": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-08-01", "time": "20:24:00" }, "departure": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-08-01", "time": "17:41:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H43M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc0800bbe3b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk0700bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sTZpxTbWmASh*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc3500bbe3b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk3400bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DB~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8SJDCOGS\/~MRC8UDM0~MDB8SJDCOGS\/.TEL1*sTZpxTbWmASh*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XF7210262-5B1B-4CCE-8816-1", "offerItemId": "XF7210262-5B1B-4CCE-8816-1-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt0500bbe3b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XF7210262-5B1B-4CCE-8816-9", "offerItemId": "XF7210262-5B1B-4CCE-8816-9-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt3700bbe3b8d7a" }, "Journey": { "Time": "PT48H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3600bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt0500bbe3b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt3700bbe3b8d7a" }, "Journey": { "Time": "PT48H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3600bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] }, "source": "NDC:Emirates" }, { "id": "XF7210262-5B1B-4CCE-8816-1+XF7210262-5B1B-4CCE-8816-10", "fullprice": { "currencyCode": "EUR", "totalPrice": 1928.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1444, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1928.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XF7210262-5B1B-4CCE-8816-1", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900bbe3b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT47H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm0200bbe3b8d7a", "number": "3011", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "19:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "16:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT18H57M" }, { "sequence": 2, "id": "Isgm0300bbe3b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm0400bbe3b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XF7210262-5B1B-4CCE-8816-10", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00bbe3b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 314, "base": 314, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 593.26, "totalPrice": 593.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3900bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT45H39M", "totalFlightDuration": "PT20H48M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600bbe3b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT7H55M" }, { "sequence": 2, "id": "Isgm3000bbe3b8d7a", "number": "91", "class": "T", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-31", "time": "20:15:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "15:35:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT4H40M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT16H56M" }, { "sequence": 3, "id": "Isgm3900bbe3b8d7a", "number": "3182", "class": "T", "arrival": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-08-01", "time": "15:34:00" }, "departure": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-08-01", "time": "13:11:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H23M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc0800bbe3b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk0700bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sTZpxTbWmASh*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc3500bbe3b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk3400bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DB~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8SJDCOGS\/~MRC8UDM0~MDB8SJDCOGS\/.TEL1*sTZpxTbWmASh*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XF7210262-5B1B-4CCE-8816-1", "offerItemId": "XF7210262-5B1B-4CCE-8816-1-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt0500bbe3b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XF7210262-5B1B-4CCE-8816-10", "offerItemId": "XF7210262-5B1B-4CCE-8816-10-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt3a00bbe3b8d7a" }, "Journey": { "Time": "PT43H39M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3900bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt0500bbe3b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt3a00bbe3b8d7a" }, "Journey": { "Time": "PT43H39M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3900bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] }, "source": "NDC:Emirates" }, { "id": "XF7210262-5B1B-4CCE-8816-2+XF7210262-5B1B-4CCE-8816-8", "fullprice": { "currencyCode": "EUR", "totalPrice": 1928.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1444, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1928.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XF7210262-5B1B-4CCE-8816-2", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900bbe3b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT52H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm1100bbe3b8d7a", "number": "3013", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "14:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "11:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT23H57M" }, { "sequence": 2, "id": "Isgm0300bbe3b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm0400bbe3b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XF7210262-5B1B-4CCE-8816-8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00bbe3b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 314, "base": 314, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 593.26, "totalPrice": 593.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3100bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT47H29M", "totalFlightDuration": "PT21H8M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600bbe3b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT7H55M" }, { "sequence": 2, "id": "Isgm3000bbe3b8d7a", "number": "91", "class": "T", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-31", "time": "20:15:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "15:35:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT4H40M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT18H26M" }, { "sequence": 3, "id": "Isgm3100bbe3b8d7a", "number": "3270", "class": "T", "arrival": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-08-01", "time": "17:24:00" }, "departure": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-08-01", "time": "14:41:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H43M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc0800bbe3b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk0700bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sTZpxTbWmASh*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc3500bbe3b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk3400bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DB~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8SJDCOGS\/~MRC8UDM0~MDB8SJDCOGS\/.TEL1*sTZpxTbWmASh*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XF7210262-5B1B-4CCE-8816-2", "offerItemId": "XF7210262-5B1B-4CCE-8816-2-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt1200bbe3b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XF7210262-5B1B-4CCE-8816-8", "offerItemId": "XF7210262-5B1B-4CCE-8816-8-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt3200bbe3b8d7a" }, "Journey": { "Time": "PT45H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3100bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt1200bbe3b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt3200bbe3b8d7a" }, "Journey": { "Time": "PT45H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3100bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] }, "source": "NDC:Emirates" }, { "id": "XF7210262-5B1B-4CCE-8816-2+XF7210262-5B1B-4CCE-8816-9", "fullprice": { "currencyCode": "EUR", "totalPrice": 1928.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1444, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1928.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XF7210262-5B1B-4CCE-8816-2", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900bbe3b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT52H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm1100bbe3b8d7a", "number": "3013", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "14:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "11:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT23H57M" }, { "sequence": 2, "id": "Isgm0300bbe3b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm0400bbe3b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XF7210262-5B1B-4CCE-8816-9", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00bbe3b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 314, "base": 314, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 593.26, "totalPrice": 593.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3600bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT50H29M", "totalFlightDuration": "PT21H8M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600bbe3b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT7H55M" }, { "sequence": 2, "id": "Isgm3000bbe3b8d7a", "number": "91", "class": "T", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-31", "time": "20:15:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "15:35:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT4H40M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT21H26M" }, { "sequence": 3, "id": "Isgm3600bbe3b8d7a", "number": "3010", "class": "T", "arrival": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-08-01", "time": "20:24:00" }, "departure": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-08-01", "time": "17:41:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H43M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc0800bbe3b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk0700bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sTZpxTbWmASh*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc3500bbe3b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk3400bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DB~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8SJDCOGS\/~MRC8UDM0~MDB8SJDCOGS\/.TEL1*sTZpxTbWmASh*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XF7210262-5B1B-4CCE-8816-2", "offerItemId": "XF7210262-5B1B-4CCE-8816-2-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt1200bbe3b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XF7210262-5B1B-4CCE-8816-9", "offerItemId": "XF7210262-5B1B-4CCE-8816-9-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt3700bbe3b8d7a" }, "Journey": { "Time": "PT48H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3600bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt1200bbe3b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt3700bbe3b8d7a" }, "Journey": { "Time": "PT48H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3600bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] }, "source": "NDC:Emirates" }, { "id": "XF7210262-5B1B-4CCE-8816-2+XF7210262-5B1B-4CCE-8816-10", "fullprice": { "currencyCode": "EUR", "totalPrice": 1928.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1444, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1928.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XF7210262-5B1B-4CCE-8816-2", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc0900bbe3b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT52H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm1100bbe3b8d7a", "number": "3013", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "14:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "11:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT23H57M" }, { "sequence": 2, "id": "Isgm0300bbe3b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm0400bbe3b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XF7210262-5B1B-4CCE-8816-10", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c00bbe3b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 314, "base": 314, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 593.26, "totalPrice": 593.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3900bbe3b8d7a" } ], "quantity": 0, "totalDuration": "PT45H39M", "totalFlightDuration": "PT20H48M", "flightSegments": [ { "sequence": 1, "id": "Isgm2600bbe3b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT7H55M" }, { "sequence": 2, "id": "Isgm3000bbe3b8d7a", "number": "91", "class": "T", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-31", "time": "20:15:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "15:35:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT4H40M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT16H56M" }, { "sequence": 3, "id": "Isgm3900bbe3b8d7a", "number": "3182", "class": "T", "arrival": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-08-01", "time": "15:34:00" }, "departure": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-08-01", "time": "13:11:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H23M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc0800bbe3b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk0700bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*sTZpxTbWmASh*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc3500bbe3b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk3400bbe3b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DB~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8SJDCOGS\/~MRC8UDM0~MDB8SJDCOGS\/.TEL1*sTZpxTbWmASh*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XF7210262-5B1B-4CCE-8816-2", "offerItemId": "XF7210262-5B1B-4CCE-8816-2-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt1200bbe3b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XF7210262-5B1B-4CCE-8816-10", "offerItemId": "XF7210262-5B1B-4CCE-8816-10-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt3a00bbe3b8d7a" }, "Journey": { "Time": "PT43H39M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3900bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt1200bbe3b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt3a00bbe3b8d7a" }, "Journey": { "Time": "PT43H39M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3900bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] }, "source": "NDC:Emirates" }, { "id": "XC266BE5D-89C7-4393-A589-1+XC266BE5D-89C7-4393-A589-8", "fullprice": { "currencyCode": "EUR", "totalPrice": 1928.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1444, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1928.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XC266BE5D-89C7-4393-A589-1", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc09008d03b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm02008d03b8d7a Isgm03008d03b8d7a Isgm04008d03b8d7a" } ], "quantity": 0, "totalDuration": "PT47H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm02008d03b8d7a", "number": "3011", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "19:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "16:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT18H57M" }, { "sequence": 2, "id": "Isgm03008d03b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm04008d03b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XC266BE5D-89C7-4393-A589-8", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c008d03b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 314, "base": 314, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 593.26, "totalPrice": 593.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm26008d03b8d7a Isgm30008d03b8d7a Isgm31008d03b8d7a" } ], "quantity": 0, "totalDuration": "PT47H29M", "totalFlightDuration": "PT21H8M", "flightSegments": [ { "sequence": 1, "id": "Isgm26008d03b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT7H55M" }, { "sequence": 2, "id": "Isgm30008d03b8d7a", "number": "91", "class": "T", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-31", "time": "20:15:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "15:35:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT4H40M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT18H26M" }, { "sequence": 3, "id": "Isgm31008d03b8d7a", "number": "3270", "class": "T", "arrival": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-08-01", "time": "17:24:00" }, "departure": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-08-01", "time": "14:41:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H43M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc08008d03b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk07008d03b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*stF6IE9qukAI*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc35008d03b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk34008d03b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DB~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8SJDCOGS\/~MRC8UDM0~MDB8SJDCOGS\/.TEL1*stF6IE9qukAI*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XC266BE5D-89C7-4393-A589-1", "offerItemId": "XC266BE5D-89C7-4393-A589-1-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt05008d03b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm02008d03b8d7a Isgm03008d03b8d7a Isgm04008d03b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XC266BE5D-89C7-4393-A589-8", "offerItemId": "XC266BE5D-89C7-4393-A589-8-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt32008d03b8d7a" }, "Journey": { "Time": "PT45H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm26008d03b8d7a Isgm30008d03b8d7a Isgm31008d03b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt05008d03b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm02008d03b8d7a Isgm03008d03b8d7a Isgm04008d03b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt32008d03b8d7a" }, "Journey": { "Time": "PT45H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm26008d03b8d7a Isgm30008d03b8d7a Isgm31008d03b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] }, "source": "NDC:Emirates" }, { "id": "XC266BE5D-89C7-4393-A589-1+XC266BE5D-89C7-4393-A589-9", "fullprice": { "currencyCode": "EUR", "totalPrice": 1928.99, "totalFees": 0, "totalTaxes": 484.99, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "base": 1444, "totalTaxes": 484.99, "totalFees": 0, "totalPrice": 1928.99 } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" }, { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "legs": [ { "offerId": "XC266BE5D-89C7-4393-A589-1", "departureCode": "IBT", "arrivalCode": "DSS", "brand": { "brandName": "Economy Flex Plus", "brandId": "Xpc09008d03b8d7a", "brandCode": "YF", "brandFacilities": { "Refund": "Included", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 1, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 1130, "base": 1130, "totalTaxes": 205.73, "taxAmount": 205.73, "totalFees": 0, "feeUnit": "", "totalAmount": 1335.73, "totalPrice": 1335.73, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "HB", "description": "Council City Tax", "amount": 7, "currency": "EUR" }, { "code": "IT", "description": "Embarkation Tax", "amount": 14.42, "currency": "EUR" }, { "code": "MJ", "description": "Passenger Service Charge", "amount": 1.73, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "Y", "fareBasisCode": "YLRZFIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm02008d03b8d7a Isgm03008d03b8d7a Isgm04008d03b8d7a" } ], "quantity": 0, "totalDuration": "PT47H34M", "totalFlightDuration": "PT19H32M", "flightSegments": [ { "sequence": 1, "id": "Isgm02008d03b8d7a", "number": "3011", "class": "Y", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-06-30", "time": "19:18:00" }, "departure": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-06-30", "time": "16:36:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H42M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": true, "connectionDuration": "PT18H57M" }, { "sequence": 2, "id": "Isgm03008d03b8d7a", "number": "206", "class": "Y", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-01", "time": "22:45:00" }, "departure": { "terminal": "1", "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-01", "time": "14:15:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT8H30M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT9H5M" }, { "sequence": 3, "id": "Isgm04008d03b8d7a", "number": "797", "class": "Y", "arrival": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-02", "time": "16:10:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-02", "time": "07:50:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT8H20M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": false, "connectionDuration": null } ] } }, { "offerId": "XC266BE5D-89C7-4393-A589-9", "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Economy Saver", "brandId": "Xpc2c008d03b8d7a", "brandCode": "YP", "brandFacilities": { "Refund": "Chargeable", "CheckedBag": "Included", "CarryOn": "Included", "Meals": "Included" } }, "sequence": 2, "price": { "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "ADT", "passengerType": "Adult", "baseAmount": 314, "base": 314, "totalTaxes": 279.26, "taxAmount": 279.26, "totalFees": 0, "feeUnit": "", "totalAmount": 593.26, "totalPrice": 593.26, "currency": "EUR", "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] } ], "taxes": [ { "code": "F6", "description": "Passenger Facilities Charge", "amount": 11.9, "currency": "EUR" }, { "code": "ZR", "description": "Intl Advanced Psgr Information Fee", "amount": 1.19, "currency": "EUR" }, { "code": "DF", "description": "Security Charge", "amount": 15.24, "currency": "EUR" }, { "code": "HP", "amount": 54, "currency": "EUR" }, { "code": "KQ", "amount": 4.58, "currency": "EUR" }, { "code": "VH", "description": "Development Tax", "amount": 10.49, "currency": "EUR" }, { "code": "ZE", "description": "Passenger Service Charge", "amount": 22.86, "currency": "EUR" }, { "code": "YQ", "description": "Fuel Surcharge", "amount": 159, "currency": "EUR" } ] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "description": "UPTO50LB 23KG MAX59IN 150CM", "weight": 2, "weightUnit": "PC" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "description": "CARRY7KG 15LB UPTO45LI 115LCM", "weight": 1, "weightUnit": "PC" } } } } }, "product": { "id": "", "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "ADT", "passengerType": "Adult", "cabin": "Economy", "classOfService": "T", "fareBasisCode": "TLEEPIT1", "fareType": "AirlinePrivateFare", "fareTypeCode": "749", "segmentRefs": "Isgm26008d03b8d7a Isgm30008d03b8d7a Isgm36008d03b8d7a" } ], "quantity": 0, "totalDuration": "PT50H29M", "totalFlightDuration": "PT21H8M", "flightSegments": [ { "sequence": 1, "id": "Isgm26008d03b8d7a", "number": "797", "class": "T", "arrival": { "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "07:40:00" }, "departure": { "location": "DSS", "locationName": "Dakar Blaise Diagne International", "date": "2026-07-30", "time": "17:55:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 4706, "duration": "PT13H45M", "equipment": "77W", "airplaneName": "Boeing 777-300ER", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT7H55M" }, { "sequence": 2, "id": "Isgm30008d03b8d7a", "number": "91", "class": "T", "arrival": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-07-31", "time": "20:15:00" }, "departure": { "terminal": "3", "location": "DXB", "locationName": "Dubai International", "date": "2026-07-31", "time": "15:35:00" }, "carrier": "EK", "airlineName": "Emirates", "distance": 2923, "duration": "PT4H40M", "equipment": "388", "airplaneName": "Airbus A380-800", "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg", "boundFlightsInd": true, "connectionDuration": "PT21H26M" }, { "sequence": 3, "id": "Isgm36008d03b8d7a", "number": "3010", "class": "T", "arrival": { "location": "IBT", "locationName": "Bologna Central Rail Stn", "date": "2026-08-01", "time": "20:24:00" }, "departure": { "location": "MXP", "locationName": "Milan Malpensa Apt", "date": "2026-08-01", "time": "17:41:00" }, "carrier": "7T", "airlineName": "Trenitalia", "distance": 149, "duration": "PT2H43M", "equipment": "TRN", "airplaneName": "Train", "airlineLogoUrl": null, "boundFlightsInd": false, "connectionDuration": null } ] } } ], "passengerFareRefs": [ { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc08008d03b8d7a", "fareDetails": { "fareBasisCode": "YLRZFIT1", "fareCode": "749", "metadataKey": "Xfrk07008d03b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DXJQXEGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16227~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DXJQXEGS\/~D.11~D.\/0~D.\/.03~D51.\/~D1~D~A~A~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DT~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8XJQXEGS\/~MRC8UDM0~MDB8XJQXEGS\/.TEL1*stF6IE9qukAI*flxKey" } }, { "passengerTypeCode": "ADT", "passengerType": "Adult", "refs": "T1", "fareRef": "Xfbc35008d03b8d7a", "fareDetails": { "fareBasisCode": "TLEEPIT1", "fareCode": "749", "metadataKey": "Xfrk34008d03b8d7a", "FareKey": "NO8OPNQ~MVB8WLN~MqA9CJ~MqM9GAR~MpC8CQR~MSN9NT@K~MNP9.~MNW8@BS~M@K9.~MDQ8\/~MNR9@~MDJ82~DH@S~A~A~DCQR~A~A~DDI~A~DSJDCOGS\/~DGSLU~D\/.\/.\/.\/\/~D?CR~D44\/16231~D\/~DLGK~A~A~DCIQ~A~A~DDI~A~DSJDCOGS\/~D.11~D.\/0~D.\/.\/7~D51.\/~D1~D8L~DD~DJ~D0~DKHJ~A~A~D@KO~A~A~DCJ~A~DB~K~K~K~K~K~A~A~D811~D\/.1~D\/.\/.1~D5425~D0~D~A~A~D~M@E8SJDCOGS\/~MRC8UDM0~MDB8SJDCOGS\/.TEL1*stF6IE9qukAI*flxKey" } } ], "processedOffer": { "processedOffers": [ { "offerId": "XC266BE5D-89C7-4393-A589-1", "offerItemId": "XC266BE5D-89C7-4393-A589-1-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt05008d03b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm02008d03b8d7a Isgm03008d03b8d7a Isgm04008d03b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } } ] }, { "offerId": "XC266BE5D-89C7-4393-A589-9", "offerItemId": "XC266BE5D-89C7-4393-A589-9-1", "passengerRef": "T1", "passengerType": "ADT", "accountCode": "VFN2", "flights": [ { "$": { "FlightKey": "Iflt37008d03b8d7a" }, "Journey": { "Time": "PT48H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm26008d03b8d7a Isgm30008d03b8d7a Isgm36008d03b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] } ], "flightList": [ { "$": { "FlightKey": "Iflt05008d03b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm02008d03b8d7a Isgm03008d03b8d7a Isgm04008d03b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt37008d03b8d7a" }, "Journey": { "Time": "PT48H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm26008d03b8d7a Isgm30008d03b8d7a Isgm36008d03b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] }, "source": "NDC:Emirates" } ], "dataList": { "PassengerList": { "Passenger": { "$": { "PassengerID": "T1" }, "PTC": "ADT" } }, "BaggageAllowanceList": { "BaggageAllowance": [ { "$": { "BaggageAllowanceID": "Xbga0f00bbe3b8d7a" }, "BaggageCategory": "Checked", "AllowanceDescription": { "ApplicableParty": "Traveler", "Descriptions": { "Description": { "Text": "UPTO50LB 23KG MAX59IN 150CM" } } }, "PieceAllowance": { "ApplicableParty": "Traveler", "TotalQuantity": "2", "PieceMeasurements": { "$": { "Quantity": "2" } } }, "BaggageDeterminingCarrier": { "AirlineID": "EK" } }, { "$": { "BaggageAllowanceID": "Xcyo1000bbe3b8d7a" }, "BaggageCategory": "CarryOn", "AllowanceDescription": { "ApplicableParty": "Traveler", "Descriptions": { "Description": { "Text": "CARRY7KG 15LB UPTO45LI 115LCM" } } }, "PieceAllowance": { "ApplicableParty": "Traveler", "TotalQuantity": "1", "PieceMeasurements": { "$": { "Quantity": "1" } } }, "BaggageDeterminingCarrier": { "AirlineID": "EK" } }, { "$": { "BaggageAllowanceID": "Xcyo2400bbe3b8d7a" }, "BaggageCategory": "CarryOn", "AllowanceDescription": { "ApplicableParty": "Traveler", "Descriptions": { "Description": { "Text": "CARRY10KG 22LBUPTO 45LI 115LCM" } } }, "PieceAllowance": { "ApplicableParty": "Traveler", "TotalQuantity": "1", "PieceMeasurements": { "$": { "Quantity": "1" } } }, "BaggageDeterminingCarrier": { "AirlineID": "EK" } } ] }, "FareList": { "FareGroup": [ { "$": { "refs": "Xfrk0700bbe3b8d7a", "ListKey": "Xfbc0800bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "YLRZFIT1" } }, { "$": { "refs": "Xfrk1800bbe3b8d7a", "ListKey": "Xfbc1900bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "YLRZFIT1" } }, { "$": { "refs": "Xfrk1e00bbe3b8d7a", "ListKey": "Xfbc1f00bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "WLPZFIT1" } }, { "$": { "refs": "Xfrk2a00bbe3b8d7a", "ListKey": "Xfbc2b00bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "TLEEPIT1" } }, { "$": { "refs": "Xfrk3400bbe3b8d7a", "ListKey": "Xfbc3500bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "TLEEPIT1" } }, { "$": { "refs": "Xfrk4000bbe3b8d7a", "ListKey": "Xfbc4100bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "TLEEPIT1" } }, { "$": { "refs": "Xfrk5300bbe3b8d7a", "ListKey": "Xfbc5400bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "LLEEPIT1" } }, { "$": { "refs": "Xfrk5a00bbe3b8d7a", "ListKey": "Xfbc5b00bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "KLEESIT1" } }, { "$": { "refs": "Xfrk6100bbe3b8d7a", "ListKey": "Xfbc6200bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "KLEESIT1" } }, { "$": { "refs": "Xfrk6900bbe3b8d7a", "ListKey": "Xfbc6a00bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "KLEESIT1" } }, { "$": { "refs": "Xfrk7400bbe3b8d7a", "ListKey": "Xfbc7500bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "ULEESIT1" } }, { "$": { "refs": "Xfrk7e00bbe3b8d7a", "ListKey": "Xfbc7f00bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "BLEESIT1" } }, { "$": { "refs": "Xfrk8200bbe3b8d7a", "ListKey": "Xfbc8300bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "MLEESIT1" } }, { "$": { "refs": "Xfrk8500bbe3b8d7a", "ListKey": "Xfbc8600bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "XLRZFIT1" } }, { "$": { "refs": "Xfrk8800bbe3b8d7a", "ListKey": "Xfbc8900bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "XLRZFIT1" } }, { "$": { "refs": "Xfrk9200bbe3b8d7a", "ListKey": "Xfbc9300bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "XLRZFIT1" } }, { "$": { "refs": "Xfrk9d00bbe3b8d7a", "ListKey": "Xfbc9e00bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "ELPZFIT1" } }, { "$": { "refs": "Xfrka000bbe3b8d7a", "ListKey": "Xfbca100bbe3b8d7a" }, "Fare": { "FareCode": "749" }, "FareBasisCode": { "Code": "ELPZFIT1" } } ] }, "FlightSegmentList": { "FlightSegment": [ { "$": { "SegmentKey": "Isgm0200bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "IBT", "Date": "2026-06-30", "Time": "16:36", "AirportName": "Bologna Central Rail Stn, IT" }, "Arrival": { "AirportCode": "MXP", "Date": "2026-06-30", "Time": "19:18", "ChangeOfDay": "0", "AirportName": "Milan Malpensa Apt, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3011" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "149", "UOM": "Miles" }, "FlightDuration": { "Value": "PT02H42M" }, "Stops": { "StopQuantity": "1", "StopLocations": { "StopLocation": { "AirportCode": "XRL", "Name": "Reggio nellEmilia Mediopadana Rail Stn, IT", "ArrivalDate": "2026-06-30", "ArrivalTime": "16:58", "DepartureDate": "2026-06-30", "DepartureTime": "17:00" } } } } }, { "$": { "SegmentKey": "Isgm0300bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "MXP", "Date": "2026-07-01", "Time": "14:15", "AirportName": "Milan Malpensa Apt, IT", "Terminal": { "Name": "1" } }, "Arrival": { "AirportCode": "DXB", "Date": "2026-07-01", "Time": "22:45", "ChangeOfDay": "0", "AirportName": "Dubai International, AE", "Terminal": { "Name": "3" } }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "206" }, "OperatingCarrier": { "AirlineID": "EK", "Name": "Emirates" }, "Equipment": { "AircraftCode": "388", "Name": "Airbus A380-800 Passenger" }, "FlightDetail": { "FlightDistance": { "Value": "2923", "UOM": "Miles" }, "FlightDuration": { "Value": "PT06H30M" } } }, { "$": { "SegmentKey": "Isgm0400bbe3b8d7a", "ConnectInd": "false", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "DXB", "Date": "2026-07-02", "Time": "07:50", "AirportName": "Dubai International, AE", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "DSS", "Date": "2026-07-02", "Time": "16:10", "ChangeOfDay": "0", "AirportName": "Dakar Blaise Diagne International, SN" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "797" }, "OperatingCarrier": { "AirlineID": "EK", "Name": "Emirates" }, "Equipment": { "AircraftCode": "77W", "Name": "Boeing 777-300ER Passenger" }, "FlightDetail": { "FlightDistance": { "Value": "4706", "UOM": "Miles" }, "FlightDuration": { "Value": "PT12H20M" }, "Stops": { "StopQuantity": "1", "StopLocations": { "StopLocation": { "AirportCode": "CKY", "Name": "Conakry, GN", "ArrivalDate": "2026-07-02", "ArrivalTime": "13:05", "DepartureDate": "2026-07-02", "DepartureTime": "14:45" } } } } }, { "$": { "SegmentKey": "Isgm1100bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "IBT", "Date": "2026-06-30", "Time": "11:36", "AirportName": "Bologna Central Rail Stn, IT" }, "Arrival": { "AirportCode": "MXP", "Date": "2026-06-30", "Time": "14:18", "ChangeOfDay": "0", "AirportName": "Milan Malpensa Apt, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3013" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "149", "UOM": "Miles" }, "FlightDuration": { "Value": "PT02H42M" }, "Stops": { "StopQuantity": "1", "StopLocations": { "StopLocation": { "AirportCode": "XRL", "Name": "Reggio nellEmilia Mediopadana Rail Stn, IT", "ArrivalDate": "2026-06-30", "ArrivalTime": "11:58", "DepartureDate": "2026-06-30", "DepartureTime": "12:00" } } } } }, { "$": { "SegmentKey": "Isgm1400bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "IBT", "Date": "2026-06-30", "Time": "15:37", "AirportName": "Bologna Central Rail Stn, IT" }, "Arrival": { "AirportCode": "FCO", "Date": "2026-06-30", "Time": "18:37", "ChangeOfDay": "0", "AirportName": "Rome Fiumicino Apt, IT", "Terminal": { "Name": "3" } }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3182" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "192", "UOM": "Miles" }, "FlightDuration": { "Value": "PT03H00M" }, "Stops": { "StopQuantity": "1", "StopLocations": { "StopLocation": { "AirportCode": "XRJ", "Name": "Rome Termini Rail Station, IT", "ArrivalDate": "2026-06-30", "ArrivalTime": "17:40", "DepartureDate": "2026-06-30", "DepartureTime": "18:05" } } } } }, { "$": { "SegmentKey": "Isgm1500bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "FCO", "Date": "2026-07-01", "Time": "15:45", "AirportName": "Rome Fiumicino Apt, IT", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "DXB", "Date": "2026-07-01", "Time": "23:45", "ChangeOfDay": "0", "AirportName": "Dubai International, AE", "Terminal": { "Name": "3" } }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "98" }, "OperatingCarrier": { "AirlineID": "EK", "Name": "Emirates" }, "Equipment": { "AircraftCode": "388", "Name": "Airbus A380-800 Passenger" }, "FlightDetail": { "FlightDistance": { "Value": "2697", "UOM": "Miles" }, "FlightDuration": { "Value": "PT06H00M" } } }, { "$": { "SegmentKey": "Isgm1a00bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "IBT", "Date": "2026-06-30", "Time": "15:37", "AirportName": "Bologna Central Rail Stn, IT" }, "Arrival": { "AirportCode": "XRJ", "Date": "2026-06-30", "Time": "17:40", "ChangeOfDay": "0", "AirportName": "Rome Termini Rail Station, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3182" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "189", "UOM": "Miles" }, "FlightDuration": { "Value": "PT02H03M" } } }, { "$": { "SegmentKey": "Isgm2600bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "DSS", "Date": "2026-07-30", "Time": "17:55", "AirportName": "Dakar Blaise Diagne International, SN" }, "Arrival": { "AirportCode": "DXB", "Date": "2026-07-31", "Time": "07:40", "ChangeOfDay": "1", "AirportName": "Dubai International, AE", "Terminal": { "Name": "3" } }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "797" }, "OperatingCarrier": { "AirlineID": "EK", "Name": "Emirates" }, "Equipment": { "AircraftCode": "77W", "Name": "Boeing 777-300ER Passenger" }, "FlightDetail": { "FlightDistance": { "Value": "4706", "UOM": "Miles" }, "FlightDuration": { "Value": "PT09H45M" } } }, { "$": { "SegmentKey": "Isgm2700bbe3b8d7a", "ConnectInd": "false", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "DXB", "Date": "2026-07-31", "Time": "08:55", "AirportName": "Dubai International, AE", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "BLQ", "Date": "2026-07-31", "Time": "13:40", "ChangeOfDay": "0", "AirportName": "Bologna Guglielmo Marconi, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "93" }, "OperatingCarrier": { "AirlineID": "EK", "Name": "Emirates" }, "Equipment": { "AircraftCode": "359", "Name": "Airbus A350-900" }, "FlightDetail": { "FlightDistance": { "Value": "2784", "UOM": "Miles" }, "FlightDuration": { "Value": "PT06H45M" } } }, { "$": { "SegmentKey": "Isgm3000bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "DXB", "Date": "2026-07-31", "Time": "15:35", "AirportName": "Dubai International, AE", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "MXP", "Date": "2026-07-31", "Time": "20:15", "ChangeOfDay": "0", "AirportName": "Milan Malpensa Apt, IT", "Terminal": { "Name": "1" } }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "91" }, "OperatingCarrier": { "AirlineID": "EK", "Name": "Emirates" }, "Equipment": { "AircraftCode": "388", "Name": "Airbus A380-800 Passenger" }, "FlightDetail": { "FlightDistance": { "Value": "2923", "UOM": "Miles" }, "FlightDuration": { "Value": "PT06H40M" } } }, { "$": { "SegmentKey": "Isgm3100bbe3b8d7a", "ConnectInd": "false", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "MXP", "Date": "2026-08-01", "Time": "14:41", "AirportName": "Milan Malpensa Apt, IT" }, "Arrival": { "AirportCode": "IBT", "Date": "2026-08-01", "Time": "17:24", "ChangeOfDay": "0", "AirportName": "Bologna Central Rail Stn, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3270" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "149", "UOM": "Miles" }, "FlightDuration": { "Value": "PT02H43M" }, "Stops": { "StopQuantity": "1", "StopLocations": { "StopLocation": { "AirportCode": "XRL", "Name": "Reggio nellEmilia Mediopadana Rail Stn, IT", "ArrivalDate": "2026-08-01", "ArrivalTime": "16:54", "DepartureDate": "2026-08-01", "DepartureTime": "16:56" } } } } }, { "$": { "SegmentKey": "Isgm3600bbe3b8d7a", "ConnectInd": "false", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "MXP", "Date": "2026-08-01", "Time": "17:41", "AirportName": "Milan Malpensa Apt, IT" }, "Arrival": { "AirportCode": "IBT", "Date": "2026-08-01", "Time": "20:24", "ChangeOfDay": "0", "AirportName": "Bologna Central Rail Stn, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3010" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "149", "UOM": "Miles" }, "FlightDuration": { "Value": "PT02H43M" }, "Stops": { "StopQuantity": "1", "StopLocations": { "StopLocation": { "AirportCode": "XRL", "Name": "Reggio nellEmilia Mediopadana Rail Stn, IT", "ArrivalDate": "2026-08-01", "ArrivalTime": "19:54", "DepartureDate": "2026-08-01", "DepartureTime": "19:56" } } } } }, { "$": { "SegmentKey": "Isgm3900bbe3b8d7a", "ConnectInd": "false", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "MXP", "Date": "2026-08-01", "Time": "13:11", "AirportName": "Milan Malpensa Apt, IT" }, "Arrival": { "AirportCode": "IBT", "Date": "2026-08-01", "Time": "15:34", "ChangeOfDay": "0", "AirportName": "Bologna Central Rail Stn, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3182" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "149", "UOM": "Miles" }, "FlightDuration": { "Value": "PT02H23M" }, "Stops": { "StopQuantity": "1", "StopLocations": { "StopLocation": { "AirportCode": "XIK", "Name": "Milan Centrale Rail Station, IT", "ArrivalDate": "2026-08-01", "ArrivalTime": "14:07", "DepartureDate": "2026-08-01", "DepartureTime": "14:30" } } } } }, { "$": { "SegmentKey": "Isgm3c00bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "DXB", "Date": "2026-07-31", "Time": "15:30", "AirportName": "Dubai International, AE", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "FCO", "Date": "2026-07-31", "Time": "20:05", "ChangeOfDay": "0", "AirportName": "Rome Fiumicino Apt, IT", "Terminal": { "Name": "3" } }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "95" }, "OperatingCarrier": { "AirlineID": "EK", "Name": "Emirates" }, "Equipment": { "AircraftCode": "388", "Name": "Airbus A380-800 Passenger" }, "FlightDetail": { "FlightDistance": { "Value": "2697", "UOM": "Miles" }, "FlightDuration": { "Value": "PT06H35M" } } }, { "$": { "SegmentKey": "Isgm3d00bbe3b8d7a", "ConnectInd": "false", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "FCO", "Date": "2026-08-01", "Time": "16:38", "AirportName": "Rome Fiumicino Apt, IT", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "IBT", "Date": "2026-08-01", "Time": "19:58", "ChangeOfDay": "0", "AirportName": "Bologna Central Rail Stn, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3176" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "192", "UOM": "Miles" }, "FlightDuration": { "Value": "PT03H20M" }, "Stops": { "StopQuantity": "1", "StopLocations": { "StopLocation": { "AirportCode": "ZMS", "Name": "Florence S.M. Novella Rail Station, IT", "ArrivalDate": "2026-08-01", "ArrivalTime": "19:11", "DepartureDate": "2026-08-01", "DepartureTime": "19:20" } } } } }, { "$": { "SegmentKey": "Isgm4200bbe3b8d7a", "ConnectInd": "false", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "FCO", "Date": "2026-08-01", "Time": "13:23", "AirportName": "Rome Fiumicino Apt, IT", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "IBT", "Date": "2026-08-01", "Time": "16:33", "ChangeOfDay": "0", "AirportName": "Bologna Central Rail Stn, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3011" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "192", "UOM": "Miles" }, "FlightDuration": { "Value": "PT03H10M" }, "Stops": { "StopQuantity": "1", "StopLocations": { "StopLocation": { "AirportCode": "ZMS", "Name": "Florence S.M. Novella Rail Station, IT", "ArrivalDate": "2026-08-01", "ArrivalTime": "15:46", "DepartureDate": "2026-08-01", "DepartureTime": "15:55" } } } } }, { "$": { "SegmentKey": "Isgm4500bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "DXB", "Date": "2026-07-31", "Time": "08:50", "AirportName": "Dubai International, AE", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "FCO", "Date": "2026-07-31", "Time": "13:25", "ChangeOfDay": "0", "AirportName": "Rome Fiumicino Apt, IT", "Terminal": { "Name": "3" } }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "97" }, "OperatingCarrier": { "AirlineID": "EK", "Name": "Emirates" }, "Equipment": { "AircraftCode": "388", "Name": "Airbus A380-800 Passenger" }, "FlightDetail": { "FlightDistance": { "Value": "2697", "UOM": "Miles" }, "FlightDuration": { "Value": "PT06H35M" } } }, { "$": { "SegmentKey": "Isgm4600bbe3b8d7a", "ConnectInd": "false", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "FCO", "Date": "2026-07-31", "Time": "16:38", "AirportName": "Rome Fiumicino Apt, IT", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "IBT", "Date": "2026-07-31", "Time": "19:58", "ChangeOfDay": "0", "AirportName": "Bologna Central Rail Stn, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3176" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "192", "UOM": "Miles" }, "FlightDuration": { "Value": "PT03H20M" }, "Stops": { "StopQuantity": "1", "StopLocations": { "StopLocation": { "AirportCode": "ZMS", "Name": "Florence S.M. Novella Rail Station, IT", "ArrivalDate": "2026-07-31", "ArrivalTime": "19:11", "DepartureDate": "2026-07-31", "DepartureTime": "19:20" } } } } }, { "$": { "SegmentKey": "Isgm4900bbe3b8d7a", "ConnectInd": "false", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "FCO", "Date": "2026-08-01", "Time": "08:23", "AirportName": "Rome Fiumicino Apt, IT", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "IBT", "Date": "2026-08-01", "Time": "11:33", "ChangeOfDay": "0", "AirportName": "Bologna Central Rail Stn, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3013" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "192", "UOM": "Miles" }, "FlightDuration": { "Value": "PT03H10M" }, "Stops": { "StopQuantity": "1", "StopLocations": { "StopLocation": { "AirportCode": "ZMS", "Name": "Florence S.M. Novella Rail Station, IT", "ArrivalDate": "2026-08-01", "ArrivalTime": "10:46", "DepartureDate": "2026-08-01", "DepartureTime": "10:55" } } } } }, { "$": { "SegmentKey": "Isgm5000bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "DXB", "Date": "2026-08-01", "Time": "04:20", "AirportName": "Dubai International, AE", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "MXP", "Date": "2026-08-01", "Time": "09:00", "ChangeOfDay": "0", "AirportName": "Milan Malpensa Apt, IT", "Terminal": { "Name": "1" } }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "101" }, "OperatingCarrier": { "AirlineID": "EK", "Name": "Emirates" }, "Equipment": { "AircraftCode": "359", "Name": "Airbus A350-900" }, "FlightDetail": { "FlightDistance": { "Value": "2923", "UOM": "Miles" }, "FlightDuration": { "Value": "PT06H40M" } } }, { "$": { "SegmentKey": "Isgm7000bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "DXB", "Date": "2026-07-31", "Time": "16:50", "AirportName": "Dubai International, AE", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "BGY", "Date": "2026-07-31", "Time": "22:35", "ChangeOfDay": "0", "AirportName": "Milan Bergamo-Orio al Serio Apt, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "2414" }, "OperatingCarrier": { "AirlineID": "FZ", "Name": "Flydubai" }, "Equipment": { "AircraftCode": "7M8", "Name": "Boeing 737MAX 8 Passenger" }, "FlightDetail": { "FlightDistance": { "Value": "2878", "UOM": "Miles" }, "FlightDuration": { "Value": "PT07H45M" } } }, { "$": { "SegmentKey": "Isgm7100bbe3b8d7a", "ConnectInd": "false", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "XIK", "Date": "2026-08-01", "Time": "14:30", "AirportName": "Milan Centrale Rail Station, IT" }, "Arrival": { "AirportCode": "IBT", "Date": "2026-08-01", "Time": "15:34", "ChangeOfDay": "0", "AirportName": "Bologna Central Rail Stn, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3182" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "124", "UOM": "Miles" }, "FlightDuration": { "Value": "PT01H04M" } } }, { "$": { "SegmentKey": "Isgm7a00bbe3b8d7a", "ConnectInd": "true", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "DXB", "Date": "2026-07-31", "Time": "09:10", "AirportName": "Dubai International, AE", "Terminal": { "Name": "3" } }, "Arrival": { "AirportCode": "MXP", "Date": "2026-07-31", "Time": "14:10", "ChangeOfDay": "0", "AirportName": "Milan Malpensa Apt, IT", "Terminal": { "Name": "1" } }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "205" }, "OperatingCarrier": { "AirlineID": "EK", "Name": "Emirates" }, "Equipment": { "AircraftCode": "388", "Name": "Airbus A380-800 Passenger" }, "FlightDetail": { "FlightDistance": { "Value": "2923", "UOM": "Miles" }, "FlightDuration": { "Value": "PT07H00M" } } }, { "$": { "SegmentKey": "Isgm7b00bbe3b8d7a", "ConnectInd": "false", "ElectronicTicketInd": "true" }, "Departure": { "AirportCode": "MXP", "Date": "2026-07-31", "Time": "17:41", "AirportName": "Milan Malpensa Apt, IT" }, "Arrival": { "AirportCode": "IBT", "Date": "2026-07-31", "Time": "20:24", "ChangeOfDay": "0", "AirportName": "Bologna Central Rail Stn, IT" }, "MarketingCarrier": { "AirlineID": "EK", "Name": "Emirates", "FlightNumber": "3010" }, "OperatingCarrier": { "AirlineID": "7T", "Name": "Trenitalia" }, "Equipment": { "AircraftCode": "TRN", "Name": "Train" }, "FlightDetail": { "FlightDistance": { "Value": "149", "UOM": "Miles" }, "FlightDuration": { "Value": "PT02H43M" }, "Stops": { "StopQuantity": "1", "StopLocations": { "StopLocation": { "AirportCode": "XRL", "Name": "Reggio nellEmilia Mediopadana Rail Stn, IT", "ArrivalDate": "2026-07-31", "ArrivalTime": "19:54", "DepartureDate": "2026-07-31", "DepartureTime": "19:56" } } } } } ] }, "FlightList": { "Flight": [ { "$": { "FlightKey": "Iflt0500bbe3b8d7a" }, "Journey": { "Time": "PT49H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm0200bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt1200bbe3b8d7a" }, "Journey": { "Time": "PT54H34M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1100bbe3b8d7a Isgm0300bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt1600bbe3b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1400bbe3b8d7a Isgm1500bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt1b00bbe3b8d7a" }, "Journey": { "Time": "PT50H33M", "Distance": { "Value": "7592", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm1a00bbe3b8d7a Isgm1500bbe3b8d7a Isgm0400bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "FlightKey": "Iflt2800bbe3b8d7a" }, "Journey": { "Time": "PT17H45M", "Distance": { "Value": "7490", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm2700bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } }, { "$": { "FlightKey": "Iflt3200bbe3b8d7a" }, "Journey": { "Time": "PT45H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3100bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt3700bbe3b8d7a" }, "Journey": { "Time": "PT48H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3600bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt3a00bbe3b8d7a" }, "Journey": { "Time": "PT43H39M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3000bbe3b8d7a Isgm3900bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt3e00bbe3b8d7a" }, "Journey": { "Time": "PT48H03M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3c00bbe3b8d7a Isgm3d00bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt4300bbe3b8d7a" }, "Journey": { "Time": "PT44H38M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3c00bbe3b8d7a Isgm4200bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt4700bbe3b8d7a" }, "Journey": { "Time": "PT24H03M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm4500bbe3b8d7a Isgm4600bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt4a00bbe3b8d7a" }, "Journey": { "Time": "PT39H38M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm4500bbe3b8d7a Isgm4900bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt4c00bbe3b8d7a" }, "Journey": { "Time": "PT44H38M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm4500bbe3b8d7a Isgm4200bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt4e00bbe3b8d7a" }, "Journey": { "Time": "PT39H38M", "Distance": { "Value": "7595", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm3c00bbe3b8d7a Isgm4900bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt5100bbe3b8d7a" }, "Journey": { "Time": "PT43H39M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm5000bbe3b8d7a Isgm3900bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt5500bbe3b8d7a" }, "Journey": { "Time": "PT45H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm5000bbe3b8d7a Isgm3100bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt5700bbe3b8d7a" }, "Journey": { "Time": "PT48H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm5000bbe3b8d7a Isgm3600bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt7200bbe3b8d7a" }, "Journey": { "Time": "PT43H39M", "Distance": { "Value": "7708", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm7000bbe3b8d7a Isgm7100bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt7600bbe3b8d7a" }, "Journey": { "Time": "PT45H29M", "Distance": { "Value": "7733", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm7000bbe3b8d7a Isgm3100bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt7800bbe3b8d7a" }, "Journey": { "Time": "PT48H29M", "Distance": { "Value": "7733", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm7000bbe3b8d7a Isgm3600bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt7c00bbe3b8d7a" }, "Journey": { "Time": "PT24H29M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm7a00bbe3b8d7a Isgm7b00bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } }, { "$": { "FlightKey": "Iflt8000bbe3b8d7a" }, "Journey": { "Time": "PT43H39M", "Distance": { "Value": "7778", "UOM": "Miles" } }, "SegmentReferences": { "_": "Isgm2600bbe3b8d7a Isgm7a00bbe3b8d7a Isgm3900bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "IBT" } } } ] }, "OriginDestinationList": { "OriginDestination": [ { "$": { "refs": "Xown0100bbe3b8d7a", "OriginDestinationKey": "OD1" }, "DepartureCode": "IBT", "ArrivalCode": "DSS", "FlightReferences": { "_": "Iflt0500bbe3b8d7a Iflt1200bbe3b8d7a Iflt1600bbe3b8d7a Iflt1b00bbe3b8d7a", "$": { "OnPoint": "IBT", "OffPoint": "DSS" } } }, { "$": { "refs": "Xown0100bbe3b8d7a", "OriginDestinationKey": "OD2" }, "DepartureCode": "DSS", "ArrivalCode": "BLQ", "FlightReferences": { "_": "Iflt2800bbe3b8d7a Iflt3200bbe3b8d7a Iflt3700bbe3b8d7a Iflt3a00bbe3b8d7a Iflt3e00bbe3b8d7a Iflt4300bbe3b8d7a Iflt4700bbe3b8d7a Iflt4a00bbe3b8d7a Iflt4c00bbe3b8d7a Iflt4e00bbe3b8d7a Iflt5100bbe3b8d7a Iflt5500bbe3b8d7a Iflt5700bbe3b8d7a Iflt7200bbe3b8d7a Iflt7600bbe3b8d7a Iflt7800bbe3b8d7a Iflt7c00bbe3b8d7a Iflt8000bbe3b8d7a", "$": { "OnPoint": "DSS", "OffPoint": "BLQ" } } } ] }, "MediaList": { "Media": [ { "$": { "ListKey": "Xmlk0a00bbe3b8d7a" }, "MediaLink": "https:\/\/mob.farelogix.com\/sprk-qa\/Public\/Images\/Branding\/Economy.png", "Descriptions": { "Description": { "Text": "URL" } } }, { "$": { "ListKey": "Xmlk2100bbe3b8d7a" }, "MediaLink": "https:\/\/mob.farelogix.com\/sprk-qa\/Public\/Images\/Branding\/Business.png", "Descriptions": { "Description": { "Text": "URL" } } } ] }, "PriceClassList": { "PriceClass": [ { "$": { "PriceClassID": "Xpc2c00bbe3b8d7a" }, "Name": "Economy Saver", "Code": "YP", "Descriptions": { "Description": [ { "OriginDestinationReference": "OD2" }, { "Text": "\u2022 Refund EUR 200 before departure" }, { "Text": "\u2022 Refund Not permitted after departure" }, { "Text": "\u2022 Checked Baggage ADT: 2 Piece(s)" }, { "Text": "\u2022 CarryOn ADT: CARRY7KG 15LB UPTO45LI 115LCM: 1 Piece(s)" }, { "Text": "\u2022 Skywards Miles: 1875" }, { "Text": "\u2022 Hot and cold refreshments" }, { "Text": "\u2022 ICE entertainment" }, { "Text": "\u2022 Mileage upgrade eligibility at time of check-in" }, { "Text": "\u2022 Advance Seat Selection at a fee" }, { "Text": "\u2022 Regionally inspired multi-course meals" }, { "Text": "\u2022 Complimentary Wi-Fi for Skywards members" }, { "Text": "Economy Cabin", "Media": { "MediaLink": { "$": { "refs": "Xmlk0a00bbe3b8d7a" } } }, "OriginDestinationReference": "OD1" }, { "Text": "Icons", "Media": { "ObjectID": "DRINKS" } }, { "Text": "Icons", "Link": "https:\/\/mob.farelogix.com\/sprk-qa\/Public\/Images\/Branding\/wifi.png", "Media": { "ObjectID": "WIFI" } } ] }, "DisplayOrder": "2" }, { "$": { "PriceClassID": "Xpc5c00bbe3b8d7a" }, "Name": "Economy Flex", "Code": "YS", "Descriptions": { "Description": [ { "OriginDestinationReference": "OD2" }, { "Text": "\u2022 Refund EUR 225" }, { "Text": "\u2022 Checked Baggage ADT: 2 Piece(s)" }, { "Text": "\u2022 CarryOn ADT: CARRY7KG 15LB UPTO45LI 115LCM: 1 Piece(s)" }, { "Text": "\u2022 Skywards Miles: 4688" }, { "Text": "\u2022 Hot and cold refreshments" }, { "Text": "\u2022 ICE entertainment" }, { "Text": "\u2022 Mileage upgrade eligibility" }, { "Text": "\u2022 Complimentary Advance Seat Selection" }, { "Text": "\u2022 Regionally inspired multi-course meals" }, { "Text": "\u2022 Complimentary Wi-Fi for Skywards members" }, { "Text": "Economy Cabin", "Media": { "MediaLink": { "$": { "refs": "Xmlk0a00bbe3b8d7a" } } }, "OriginDestinationReference": [ "OD1", "OD2" ] }, { "Text": "Icons", "Media": { "ObjectID": "DRINKS" } }, { "Text": "Icons", "Link": "https:\/\/mob.farelogix.com\/sprk-qa\/Public\/Images\/Branding\/wifi.png", "Media": { "ObjectID": "WIFI" } } ] }, "DisplayOrder": "3" }, { "$": { "PriceClassID": "Xpc0900bbe3b8d7a" }, "Name": "Economy Flex Plus", "Code": "YF", "Descriptions": { "Description": [ { "OriginDestinationReference": [ "OD1", "OD2" ] }, { "Text": "\u2022 Refund No Charges" }, { "Text": "\u2022 Checked Baggage ADT: 2 Piece(s)" }, { "Text": "\u2022 CarryOn ADT: CARRY7KG 15LB UPTO45LI 115LCM: 1 Piece(s)" }, { "Text": "\u2022 Skywards Miles: 6250" }, { "Text": "\u2022 Hot and cold refreshments" }, { "Text": "\u2022 ICE entertainment" }, { "Text": "\u2022 Mileage upgrade eligibility" }, { "Text": "\u2022 Complimentary Advance Seat Selection" }, { "Text": "\u2022 Regionally inspired multi-course meals" }, { "Text": "\u2022 Complimentary Wi-Fi for Skywards members" }, { "Text": "Economy Cabin", "Media": { "MediaLink": { "$": { "refs": "Xmlk0a00bbe3b8d7a" } } }, "OriginDestinationReference": "OD1" }, { "Text": "Icons", "Media": { "ObjectID": "DRINKS" } }, { "Text": "Icons", "Link": "https:\/\/mob.farelogix.com\/sprk-qa\/Public\/Images\/Branding\/wifi.png", "Media": { "ObjectID": "WIFI" } } ] }, "DisplayOrder": "4" }, { "$": { "PriceClassID": "Xpc2000bbe3b8d7a" }, "Name": "Premium Economy FlexPlus", "Code": "WF", "Descriptions": { "Description": [ { "OriginDestinationReference": [ "OD1", "OD2" ] }, { "Text": "\u2022 Refund No Charges" }, { "Text": "\u2022 Checked Baggage ADT: 2 Piece(s)" }, { "Text": "\u2022 CarryOn ADT: CARRY10KG 22LBUPTO 45LI 115LCM: 1 Piece(s)" }, { "Text": "\u2022 Skywards Miles: 6875" }, { "Text": "\u2022 Hot and cold refreshments" }, { "Text": "\u2022 ICE entertainment" }, { "Text": "\u2022 Mileage upgrade eligibility" }, { "Text": "\u2022 Complimentary Advance Seat Selection" }, { "Text": "\u2022 Exclusive Premium Economy Class dining" }, { "Text": "\u2022 Complimentary Wi-Fi for Skywards members" }, { "Text": "Premium Economy Cabin", "Media": { "MediaLink": { "$": { "refs": "Xmlk2100bbe3b8d7a" } } }, "OriginDestinationReference": [ "OD1", "OD2" ] }, { "Text": "Icons", "Media": { "ObjectID": "DRINKS" } }, { "Text": "Icons", "Link": "https:\/\/mob.farelogix.com\/sprk-qa\/Public\/Images\/Branding\/wifi.png", "Media": { "ObjectID": "WIFI" } } ] }, "DisplayOrder": "5" } ] } }, "filters": { "connectingAirports": [ { "code": "MXP", "name": "Milan Malpensa Apt" }, { "code": "DXB", "name": "Dubai International" }, { "code": "FCO", "name": "Rome Fiumicino Apt" }, { "code": "XRJ", "name": "Rome Termini Rail Station" }, { "code": "BGY", "name": "Milan Bergamo-Orio al Serio Apt" } ], "baggage": [ { "value": 2, "unit": "PC" } ], "stops": [ { "name": "1 Stop", "value": "2" }, { "name": "2 Stops", "value": "3" } ], "airlines": [ { "name": "Trenitalia", "value": "7T", "logoUrl": null }, { "name": "Emirates", "value": "EK", "logoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/EK.svg" }, { "name": "Flydubai", "value": "FZ", "logoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/FZ.svg" } ] }, "itinerary": { "trips": [ { "origin": "BLQ", "destination": "DSS", "departureDate": "2026-06-30", "departureTime": "", "originName": "Bologna Guglielmo Marconi Airport", "destinationName": "Blaise Diagne International Airport" }, { "origin": "DSS", "destination": "BLQ", "departureDate": "2026-07-30", "departureTime": "", "originName": "Blaise Diagne International Airport", "destinationName": "Bologna Guglielmo Marconi Airport" } ], "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 } }, "turkish": { "responseId": "6c4eee13-9535-4100-a4ce-68425fca8a37", "transactionId": "3bc75cc6-b174-41f1-bb0c-cc8d6f7896f0", "numberOflegs": 2, "offers": [ { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F0", "itemId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F0-1", "source": "NDC:Turkish", "fullprice": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "legs": [ { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F0_LEG1", "sequence": 1, "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F0_LEG1", "totalDuration": "PT12H15M", "totalFlightDuration": "PT10H10M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_4", "number": "1326", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-06-30", "time": "19:20:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-06-30", "time": "23:00:00", "terminal": null }, "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "duration": "PT2H40M", "connectionDuration": "PT2H5M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_5", "number": "501", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-01", "time": "01:05:00", "terminal": null }, "arrival": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-01", "time": "05:35:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT7H30M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } }, { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F0_LEG2", "sequence": 2, "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F0_LEG2", "totalDuration": "PT24H10M", "totalFlightDuration": "PT9H35M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_6", "number": "502", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-30", "time": "07:20:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-30", "time": "17:15:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT6H55M", "connectionDuration": "PT14H35M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_7", "number": "1321", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-31", "time": "07:50:00", "terminal": null }, "arrival": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-07-31", "time": "09:30:00", "terminal": null }, "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "duration": "PT2H40M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } } ] }, { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F1", "itemId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F1-1", "source": "NDC:Turkish", "fullprice": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "legs": [ { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F1_LEG1", "sequence": 1, "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F1_LEG1", "totalDuration": "PT12H15M", "totalFlightDuration": "PT10H10M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_4", "number": "1326", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-06-30", "time": "19:20:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-06-30", "time": "23:00:00", "terminal": null }, "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "duration": "PT2H40M", "connectionDuration": "PT2H5M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_5", "number": "501", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-01", "time": "01:05:00", "terminal": null }, "arrival": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-01", "time": "05:35:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT7H30M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } }, { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F1_LEG2", "sequence": 2, "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F1_LEG2", "totalDuration": "PT28H35M", "totalFlightDuration": "PT9H30M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_6", "number": "502", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-30", "time": "07:20:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-30", "time": "17:15:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT6H55M", "connectionDuration": "PT19H5M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_9", "number": "1323", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-31", "time": "12:20:00", "terminal": null }, "arrival": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-07-31", "time": "13:55:00", "terminal": null }, "equipment": "32B", "airplaneName": "Airbus A321", "duration": "PT2H35M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } } ] }, { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F0", "itemId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F0-1", "source": "NDC:Turkish", "fullprice": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "legs": [ { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F0_LEG1", "sequence": 1, "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F0_LEG1", "totalDuration": "PT16H40M", "totalFlightDuration": "PT10H10M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_2", "number": "1324", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-06-30", "time": "14:55:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-06-30", "time": "18:35:00", "terminal": null }, "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "duration": "PT2H40M", "connectionDuration": "PT6H30M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_5", "number": "501", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-01", "time": "01:05:00", "terminal": null }, "arrival": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-01", "time": "05:35:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT7H30M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } }, { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F0_LEG2", "sequence": 2, "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F0_LEG2", "totalDuration": "PT24H10M", "totalFlightDuration": "PT9H35M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_6", "number": "502", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-30", "time": "07:20:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-30", "time": "17:15:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT6H55M", "connectionDuration": "PT14H35M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_7", "number": "1321", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-31", "time": "07:50:00", "terminal": null }, "arrival": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-07-31", "time": "09:30:00", "terminal": null }, "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "duration": "PT2H40M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } } ] }, { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F2", "itemId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F2-1", "source": "NDC:Turkish", "fullprice": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "legs": [ { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F2_LEG1", "sequence": 1, "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F2_LEG1", "totalDuration": "PT12H15M", "totalFlightDuration": "PT10H10M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_4", "number": "1326", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-06-30", "time": "19:20:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-06-30", "time": "23:00:00", "terminal": null }, "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "duration": "PT2H40M", "connectionDuration": "PT2H5M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_5", "number": "501", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-01", "time": "01:05:00", "terminal": null }, "arrival": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-01", "time": "05:35:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT7H30M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } }, { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F2_LEG2", "sequence": 2, "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F2B1F2_LEG2", "totalDuration": "PT33H0M", "totalFlightDuration": "PT9H35M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_6", "number": "502", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-30", "time": "07:20:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-30", "time": "17:15:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT6H55M", "connectionDuration": "PT23H25M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_11", "number": "1325", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-31", "time": "16:40:00", "terminal": null }, "arrival": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-07-31", "time": "18:20:00", "terminal": null }, "equipment": "32B", "airplaneName": "Airbus A321", "duration": "PT2H40M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } } ] }, { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F1", "itemId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F1-1", "source": "NDC:Turkish", "fullprice": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "legs": [ { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F1_LEG1", "sequence": 1, "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F1_LEG1", "totalDuration": "PT16H40M", "totalFlightDuration": "PT10H10M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_2", "number": "1324", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-06-30", "time": "14:55:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-06-30", "time": "18:35:00", "terminal": null }, "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "duration": "PT2H40M", "connectionDuration": "PT6H30M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_5", "number": "501", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-01", "time": "01:05:00", "terminal": null }, "arrival": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-01", "time": "05:35:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT7H30M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } }, { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F1_LEG2", "sequence": 2, "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F1_LEG2", "totalDuration": "PT28H35M", "totalFlightDuration": "PT9H30M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_6", "number": "502", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-30", "time": "07:20:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-30", "time": "17:15:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT6H55M", "connectionDuration": "PT19H5M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_9", "number": "1323", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-31", "time": "12:20:00", "terminal": null }, "arrival": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-07-31", "time": "13:55:00", "terminal": null }, "equipment": "32B", "airplaneName": "Airbus A321", "duration": "PT2H35M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } } ] }, { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F0", "itemId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F0-1", "source": "NDC:Turkish", "fullprice": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "legs": [ { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F0_LEG1", "sequence": 1, "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F0_LEG1", "totalDuration": "PT21H5M", "totalFlightDuration": "PT10H10M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_0", "number": "1322", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-06-30", "time": "10:30:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-06-30", "time": "14:10:00", "terminal": null }, "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "duration": "PT2H40M", "connectionDuration": "PT10H55M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_5", "number": "501", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-01", "time": "01:05:00", "terminal": null }, "arrival": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-01", "time": "05:35:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT7H30M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } }, { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F0_LEG2", "sequence": 2, "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F0_LEG2", "totalDuration": "PT24H10M", "totalFlightDuration": "PT9H35M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_6", "number": "502", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-30", "time": "07:20:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-30", "time": "17:15:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT6H55M", "connectionDuration": "PT14H35M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_7", "number": "1321", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-31", "time": "07:50:00", "terminal": null }, "arrival": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-07-31", "time": "09:30:00", "terminal": null }, "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "duration": "PT2H40M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } } ] }, { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F2", "itemId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F2-1", "source": "NDC:Turkish", "fullprice": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "legs": [ { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F2_LEG1", "sequence": 1, "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F2_LEG1", "totalDuration": "PT16H40M", "totalFlightDuration": "PT10H10M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_2", "number": "1324", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-06-30", "time": "14:55:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-06-30", "time": "18:35:00", "terminal": null }, "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "duration": "PT2H40M", "connectionDuration": "PT6H30M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_5", "number": "501", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-01", "time": "01:05:00", "terminal": null }, "arrival": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-01", "time": "05:35:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT7H30M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } }, { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F2_LEG2", "sequence": 2, "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F1B1F2_LEG2", "totalDuration": "PT33H0M", "totalFlightDuration": "PT9H35M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_6", "number": "502", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-30", "time": "07:20:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-30", "time": "17:15:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT6H55M", "connectionDuration": "PT23H25M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_11", "number": "1325", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-31", "time": "16:40:00", "terminal": null }, "arrival": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-07-31", "time": "18:20:00", "terminal": null }, "equipment": "32B", "airplaneName": "Airbus A321", "duration": "PT2H40M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } } ] }, { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F1", "itemId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F1-1", "source": "NDC:Turkish", "fullprice": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "legs": [ { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F1_LEG1", "sequence": 1, "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F1_LEG1", "totalDuration": "PT21H5M", "totalFlightDuration": "PT10H10M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_0", "number": "1322", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-06-30", "time": "10:30:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-06-30", "time": "14:10:00", "terminal": null }, "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "duration": "PT2H40M", "connectionDuration": "PT10H55M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_5", "number": "501", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-01", "time": "01:05:00", "terminal": null }, "arrival": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-01", "time": "05:35:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT7H30M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } }, { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F1_LEG2", "sequence": 2, "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F1_LEG2", "totalDuration": "PT28H35M", "totalFlightDuration": "PT9H30M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_6", "number": "502", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-30", "time": "07:20:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-30", "time": "17:15:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT6H55M", "connectionDuration": "PT19H5M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_9", "number": "1323", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-31", "time": "12:20:00", "terminal": null }, "arrival": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-07-31", "time": "13:55:00", "terminal": null }, "equipment": "32B", "airplaneName": "Airbus A321", "duration": "PT2H35M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } } ] }, { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F2", "itemId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F2-1", "source": "NDC:Turkish", "fullprice": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "legs": [ { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F2_LEG1", "sequence": 1, "departureCode": "BLQ", "arrivalCode": "DSS", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F2_LEG1", "totalDuration": "PT21H5M", "totalFlightDuration": "PT10H10M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_0", "number": "1322", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-06-30", "time": "10:30:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-06-30", "time": "14:10:00", "terminal": null }, "equipment": "32Q", "airplaneName": "Airbus A321 NEO", "duration": "PT2H40M", "connectionDuration": "PT10H55M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_5", "number": "501", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-01", "time": "01:05:00", "terminal": null }, "arrival": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-01", "time": "05:35:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT7H30M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } }, { "offerId": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F2_LEG2", "sequence": 2, "departureCode": "DSS", "arrivalCode": "BLQ", "brand": { "brandName": "Turkish Airlines", "brandId": "", "brandCode": "TK", "brandFacilities": [] }, "product": { "id": "F94C32FDC39C64697AD38EFEA02837E2B-R0B0F0B1F2_LEG2", "totalDuration": "PT33H0M", "totalFlightDuration": "PT9H35M", "quantity": 1, "flightSegments": [ { "sequence": 1, "id": "SEG_6", "number": "502", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "DSS", "locationName": "Blaise Diagne Intl", "date": "2026-07-30", "time": "07:20:00", "terminal": null }, "arrival": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-30", "time": "17:15:00", "terminal": null }, "equipment": "333", "airplaneName": "Airbus A330-300", "duration": "PT6H55M", "connectionDuration": "PT23H25M", "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" }, { "sequence": 2, "id": "SEG_11", "number": "1325", "carrier": "TK", "airlineName": "Turkish Airlines", "departure": { "location": "IST", "locationName": "Istanbul Airport", "date": "2026-07-31", "time": "16:40:00", "terminal": null }, "arrival": { "location": "BLQ", "locationName": "Guglielmo Marconi", "date": "2026-07-31", "time": "18:20:00", "terminal": null }, "equipment": "32B", "airplaneName": "Airbus A321", "duration": "PT2H40M", "connectionDuration": null, "boundFlightsInd": null, "distance": null, "availabilitySourceCode": null, "airlineLogoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ], "passengerSeatInfo": [ { "passengerQuantity": 1, "passengerTypeCode": "LBR", "passengerType": "Adult", "cabin": "ECONOMY", "classOfService": "M", "fareBasisCode": "M1DL12M", "fareType": "AirlinePrivateFare", "fareTypeCode": "RS", "paxRefId": "PAX_1" } ] }, "price": { "currencyCode": "EUR", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1, "priceBreakdown": [ { "quantity": 1, "requestedPassengerType": "LBR", "passengerType": "Adult", "base": 652, "totalTaxes": 500.1, "totalFees": 0, "totalPrice": 1152.1 } ], "taxes": [] }, "terms_and_conditions": { "baggageAllowance": { "ADT": { "FirstCheckedBag": { "type": "FirstCheckedBag", "passengerType": "Adult", "baggage": { "quantity": 2, "description": "CHGS MAY APPLY IF BAGS EXCEED TTL WT ALLOWANCE" } }, "CarryOn": { "type": "CarryOn", "passengerType": "Adult", "baggage": { "weight": 8, "weightUnit": "Kilograms", "quantity": 1, "description": "1 PIECE X 8 KG CABIN BAGGAGE" } } } }, "accountCodePrivateFare": null } } ] } ], "filters": { "stops": [ { "name": "1 Stop", "value": "2" } ], "fareType": [ { "name": "Non Refundable", "value": "Not Offered" } ], "baggage": [ { "value": 2, "unit": "Piece" } ], "connectingAirports": [ { "name": "Istanbul Airport", "code": "IST" } ], "airlines": [ { "name": "Turkish Airlines", "value": "TK", "logoUrl": "https:\/\/myethoolassests.s3.eu-north-1.amazonaws.com\/uploads\/airlinelogos\/TK.svg" } ] }, "dataList": [], "itinerary": { "trips": [ { "origin": "BLQ", "destination": "DSS", "departureDate": "2026-06-30", "departureTime": "" }, { "origin": "DSS", "destination": "BLQ", "departureDate": "2026-07-30", "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 } } }