{ "status": "success", "tracking_id": "11177807309803210YPZRJ", "data": [ { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-0", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-0", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT15H55M", "transit_time": "7H55M", "routes": [ { "air_segment_key": "0-0", "origin": "SHJ", "departure_time": "2026-07-08T00:30:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T00:40:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-0", "origin": "DOH", "departure_time": "2026-07-08T08:35:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-08T14:25:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT07H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 39 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 39 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 479.46, "gross_total": 479.46, "base_fare": 359, "tax": 120.46, "sell": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDc5LjQ2LCJiYXNlX2ZhcmUiOjM1OSwidGF4IjoxMjAuNDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "63.22" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0NzkuNDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2My4yMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#0", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 479.46, "calendar_total_sell": 479.46, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 479.46, "filter": { "id": "F1SE00001-0", "price": 479.46, "journey_duration": "PT15H55M", "journey_duration_seconds": 57300, "layover_duration": "PT7H55M", "layover_duration_seconds": 28500, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "midnight", "departure_departure_time": "2026-07-08T00:30:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-08T14:25:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080030doh202607080040105925doh202607080835cdg2026070814253925", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-1", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-1", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT9H00M", "transit_time": "8H55M", "routes": [ { "air_segment_key": "0-1", "origin": "SHJ", "departure_time": "2026-07-08T00:30:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T00:40:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-1", "origin": "DOH", "departure_time": "2026-07-08T01:40:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-08T07:30:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT01H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 41 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 41 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 479.46, "gross_total": 479.46, "base_fare": 359, "tax": 120.46, "sell": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDc5LjQ2LCJiYXNlX2ZhcmUiOjM1OSwidGF4IjoxMjAuNDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "63.22" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0NzkuNDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2My4yMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#1", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 479.46, "calendar_total_sell": 479.46, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 479.46, "filter": { "id": "F1SE00001-1", "price": 479.46, "journey_duration": "PT1D0H55M", "journey_duration_seconds": 89700, "layover_duration": "PT8H55M", "layover_duration_seconds": 32100, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "midnight", "departure_departure_time": "2026-07-08T00:30:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-08T07:30:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080030doh202607080040105925doh202607080140cdg2026070807304125", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-2", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-2", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT17H30M", "transit_time": "18H25M", "routes": [ { "air_segment_key": "0-2", "origin": "SHJ", "departure_time": "2026-07-08T05:40:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T05:50:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-2", "origin": "DOH", "departure_time": "2026-07-08T15:20:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-08T21:10:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT09H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "359", "picture": "359.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 37 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 37 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 479.46, "gross_total": 479.46, "base_fare": 359, "tax": 120.46, "sell": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDc5LjQ2LCJiYXNlX2ZhcmUiOjM1OSwidGF4IjoxMjAuNDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "63.22" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0NzkuNDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2My4yMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#2", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 479.46, "calendar_total_sell": 479.46, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 479.46, "filter": { "id": "F1SE00001-2", "price": 479.46, "journey_duration": "PT1D18H25M", "journey_duration_seconds": 152700, "layover_duration": "PT18H25M", "layover_duration_seconds": 66300, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T05:40:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-08T21:10:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080540doh202607080550106125doh202607081520cdg2026070821103725", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-3", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-3", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT10H45M", "transit_time": "21H10M", "routes": [ { "air_segment_key": "0-3", "origin": "SHJ", "departure_time": "2026-07-08T05:40:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T05:50:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-3", "origin": "DOH", "departure_time": "2026-07-08T08:35:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-08T14:25:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT02H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 39 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 39 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 479.46, "gross_total": 479.46, "base_fare": 359, "tax": 120.46, "sell": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDc5LjQ2LCJiYXNlX2ZhcmUiOjM1OSwidGF4IjoxMjAuNDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "63.22" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0NzkuNDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2My4yMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#3", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 479.46, "calendar_total_sell": 479.46, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 479.46, "filter": { "id": "F1SE00001-3", "price": 479.46, "journey_duration": "PT2D5H10M", "journey_duration_seconds": 191400, "layover_duration": "PT21H10M", "layover_duration_seconds": 76200, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T05:40:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-08T14:25:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080540doh202607080550106125doh202607080835cdg2026070814253925", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-4", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-4", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT11H50M", "transit_time": "1D1H0M", "routes": [ { "air_segment_key": "0-4", "origin": "SHJ", "departure_time": "2026-07-08T11:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T11:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-4", "origin": "DOH", "departure_time": "2026-07-08T15:20:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-08T21:10:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT03H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "359", "picture": "359.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 37 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 37 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 479.46, "gross_total": 479.46, "base_fare": 359, "tax": 120.46, "sell": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDc5LjQ2LCJiYXNlX2ZhcmUiOjM1OSwidGF4IjoxMjAuNDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "63.22" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0NzkuNDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2My4yMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#4", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 479.46, "calendar_total_sell": 479.46, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 479.46, "filter": { "id": "F1SE00001-4", "price": 479.46, "journey_duration": "PT2D17H0M", "journey_duration_seconds": 234000, "layover_duration": "PT1D1H0M", "layover_duration_seconds": 90000, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-08T11:20:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-08T21:10:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081120doh202607081130103925doh202607081520cdg2026070821103725", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-5", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-5", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT8H50M", "transit_time": "1D1H50M", "routes": [ { "air_segment_key": "0-5", "origin": "SHJ", "departure_time": "2026-07-08T14:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T14:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-5", "origin": "DOH", "departure_time": "2026-07-08T15:20:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-08T21:10:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT00H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "359", "picture": "359.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 37 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 37 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 479.46, "gross_total": 479.46, "base_fare": 359, "tax": 120.46, "sell": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDc5LjQ2LCJiYXNlX2ZhcmUiOjM1OSwidGF4IjoxMjAuNDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "63.22" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0NzkuNDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2My4yMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#5", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 479.46, "calendar_total_sell": 479.46, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 479.46, "filter": { "id": "F1SE00001-5", "price": 479.46, "journey_duration": "PT3D1H50M", "journey_duration_seconds": 265800, "layover_duration": "PT1D1H50M", "layover_duration_seconds": 93000, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-08T14:20:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-08T21:10:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081420doh202607081430106325doh202607081520cdg2026070821103725", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-6", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-6", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT19H10M", "transit_time": "1D13H0M", "routes": [ { "air_segment_key": "0-6", "origin": "SHJ", "departure_time": "2026-07-08T14:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T14:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-6", "origin": "DOH", "departure_time": "2026-07-09T01:40:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-09T07:30:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT11H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 41 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 41 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 479.46, "gross_total": 479.46, "base_fare": 359, "tax": 120.46, "sell": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDc5LjQ2LCJiYXNlX2ZhcmUiOjM1OSwidGF4IjoxMjAuNDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "63.22" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0NzkuNDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2My4yMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#6", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 479.46, "calendar_total_sell": 479.46, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 479.46, "filter": { "id": "F1SE00001-6", "price": 479.46, "journey_duration": "PT3D21H0M", "journey_duration_seconds": 334800, "layover_duration": "PT1D13H0M", "layover_duration_seconds": 133200, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-08T14:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T07:30:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081420doh202607081430106325doh202607090140cdg2026070907304125", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-7", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-7", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT11H55M", "transit_time": "1D16H55M", "routes": [ { "air_segment_key": "0-7", "origin": "SHJ", "departure_time": "2026-07-08T21:35:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-7", "origin": "DOH", "departure_time": "2026-07-09T01:40:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-09T07:30:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT03H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 41 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 41 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 479.46, "gross_total": 479.46, "base_fare": 359, "tax": 120.46, "sell": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDc5LjQ2LCJiYXNlX2ZhcmUiOjM1OSwidGF4IjoxMjAuNDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0NzkuNDYsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMC40Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 479.46, "base_fare": 359, "tax": 120.46, "gross": { "base_fare": "359.00", "tax": "120.46", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "63.22" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ3OS40NiIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0NzkuNDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2My4yMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#7", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 479.46, "calendar_total_sell": 479.46, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 479.46, "filter": { "id": "F1SE00001-7", "price": 479.46, "journey_duration": "PT4D8H55M", "journey_duration_seconds": 377700, "layover_duration": "PT1D16H55M", "layover_duration_seconds": 147300, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "night", "departure_departure_time": "2026-07-08T21:35:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T07:30:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607082135doh202607082145103525doh202607090140cdg2026070907304125", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-8", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-8", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT22H40M", "transit_time": "2D7H35M", "routes": [ { "air_segment_key": "0-8", "origin": "SHJ", "departure_time": "2026-07-08T00:30:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T00:40:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-8", "origin": "DOH", "departure_time": "2026-07-08T15:20:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-08T21:10:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT14H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "359", "picture": "359.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 37 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 37 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 481.67, "gross_total": 481.67, "base_fare": 359, "tax": 122.67, "sell": { "currency": "EUR", "total": 481.67, "base_fare": 359, "tax": 122.67 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDgxLjY3LCJiYXNlX2ZhcmUiOjM1OSwidGF4IjoxMjIuNjd9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0ODEuNjcsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMi42NywiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0ODEuNjcsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMi42N319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 481.67, "base_fare": 359, "tax": 122.67, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "359.00", "tax": "122.67", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 481.67, "base_fare": 359, "tax": 122.67, "gross": { "base_fare": "359.00", "tax": "122.67", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "65.43" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4MS42NyIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4MS42NyIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4MS42NyIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0ODEuNjcsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2NS40MyJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlFBIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE0LjA4LCJ0YXhJbmZvIjoiQUlSUE9SVCBGRUUgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IlI5IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzUsInRheEluZm8iOiJQQVNTRU5HRVIgU0FGRVRZIEFORCBTRUNVUklUWSBGRUUgUFNTRiJ9LHsiY29kZSI6IlBaIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgREVQQVJUVVJFUyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjc1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#8", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 481.67, "calendar_total_sell": 481.67, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 481.67, "filter": { "id": "F1SE00001-8", "price": 481.67, "journey_duration": "PT5D7H35M", "journey_duration_seconds": 459300, "layover_duration": "PT2D7H35M", "layover_duration_seconds": 200100, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "midnight", "departure_departure_time": "2026-07-08T00:30:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-08T21:10:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080030doh202607080040105925doh202607081520cdg2026070821103725", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-9", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-9", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT27H50M", "transit_time": "3D3H25M", "routes": [ { "air_segment_key": "0-9", "origin": "SHJ", "departure_time": "2026-07-08T05:40:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T05:50:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-9", "origin": "DOH", "departure_time": "2026-07-09T01:40:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-09T07:30:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT19H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 41 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 41 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 481.67, "gross_total": 481.67, "base_fare": 359, "tax": 122.67, "sell": { "currency": "EUR", "total": 481.67, "base_fare": 359, "tax": 122.67 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDgxLjY3LCJiYXNlX2ZhcmUiOjM1OSwidGF4IjoxMjIuNjd9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0ODEuNjcsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMi42NywiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0ODEuNjcsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMi42N319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 481.67, "base_fare": 359, "tax": 122.67, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "359.00", "tax": "122.67", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 481.67, "base_fare": 359, "tax": 122.67, "gross": { "base_fare": "359.00", "tax": "122.67", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "65.43" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4MS42NyIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4MS42NyIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4MS42NyIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0ODEuNjcsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2NS40MyJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlFBIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE0LjA4LCJ0YXhJbmZvIjoiQUlSUE9SVCBGRUUgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IlI5IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzUsInRheEluZm8iOiJQQVNTRU5HRVIgU0FGRVRZIEFORCBTRUNVUklUWSBGRUUgUFNTRiJ9LHsiY29kZSI6IlBaIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgREVQQVJUVVJFUyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjc1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#9", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 481.67, "calendar_total_sell": 481.67, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 481.67, "filter": { "id": "F1SE00001-9", "price": 481.67, "journey_duration": "PT6D11H25M", "journey_duration_seconds": 559500, "layover_duration": "PT3D3H25M", "layover_duration_seconds": 271500, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T05:40:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T07:30:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080540doh202607080550106125doh202607090140cdg2026070907304125", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-10", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-10", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT22H10M", "transit_time": "3D17H35M", "routes": [ { "air_segment_key": "0-10", "origin": "SHJ", "departure_time": "2026-07-08T11:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T11:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-10", "origin": "DOH", "departure_time": "2026-07-09T01:40:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-09T07:30:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT14H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 41 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 41 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 481.67, "gross_total": 481.67, "base_fare": 359, "tax": 122.67, "sell": { "currency": "EUR", "total": 481.67, "base_fare": 359, "tax": 122.67 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDgxLjY3LCJiYXNlX2ZhcmUiOjM1OSwidGF4IjoxMjIuNjd9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0ODEuNjcsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMi42NywiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0ODEuNjcsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMi42N319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 481.67, "base_fare": 359, "tax": 122.67, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "359.00", "tax": "122.67", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 481.67, "base_fare": 359, "tax": 122.67, "gross": { "base_fare": "359.00", "tax": "122.67", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "65.43" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4MS42NyIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4MS42NyIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4MS42NyIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0ODEuNjcsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2NS40MyJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlFBIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE0LjA4LCJ0YXhJbmZvIjoiQUlSUE9SVCBGRUUgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IlI5IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzUsInRheEluZm8iOiJQQVNTRU5HRVIgU0FGRVRZIEFORCBTRUNVUklUWSBGRUUgUFNTRiJ9LHsiY29kZSI6IlBaIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgREVQQVJUVVJFUyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjc1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#10", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 481.67, "calendar_total_sell": 481.67, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 481.67, "filter": { "id": "F1SE00001-10", "price": 481.67, "journey_duration": "PT7D9H35M", "journey_duration_seconds": 639300, "layover_duration": "PT3D17H35M", "layover_duration_seconds": 322500, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-08T11:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T07:30:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081120doh202607081130103925doh202607090140cdg2026070907304125", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-11", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-11", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT25H35M", "transit_time": "4D11H10M", "routes": [ { "air_segment_key": "0-11", "origin": "SHJ", "departure_time": "2026-07-08T21:35:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-11", "origin": "DOH", "departure_time": "2026-07-09T15:20:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-09T21:10:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT17H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "359", "picture": "359.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 37 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 37 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 481.67, "gross_total": 481.67, "base_fare": 359, "tax": 122.67, "sell": { "currency": "EUR", "total": 481.67, "base_fare": 359, "tax": 122.67 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NDgxLjY3LCJiYXNlX2ZhcmUiOjM1OSwidGF4IjoxMjIuNjd9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0ODEuNjcsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMi42NywiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo0ODEuNjcsImJhc2VfZmFyZSI6MzU5LCJ0YXgiOjEyMi42N319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 481.67, "base_fare": 359, "tax": 122.67, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "359.00", "tax": "122.67", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 481.67, "base_fare": 359, "tax": 122.67, "gross": { "base_fare": "359.00", "tax": "122.67", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "65.43" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4MS42NyIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4MS42NyIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjQ4MS42NyIsImJhc2VfZmFyZSI6IjM1OS4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo0ODEuNjcsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2NS40MyJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlFBIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE0LjA4LCJ0YXhJbmZvIjoiQUlSUE9SVCBGRUUgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IlI5IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzUsInRheEluZm8iOiJQQVNTRU5HRVIgU0FGRVRZIEFORCBTRUNVUklUWSBGRUUgUFNTRiJ9LHsiY29kZSI6IlBaIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgREVQQVJUVVJFUyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjc1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#11", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 481.67, "calendar_total_sell": 481.67, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 481.67, "filter": { "id": "F1SE00001-11", "price": 481.67, "journey_duration": "PT8D11H10M", "journey_duration_seconds": 731400, "layover_duration": "PT4D11H10M", "layover_duration_seconds": 385800, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "night", "departure_departure_time": "2026-07-08T21:35:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-09T21:10:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607082135doh202607082145103525doh202607091520cdg2026070921103725", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-12", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-12", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT20H25M", "transit_time": "4D23H30M", "routes": [ { "air_segment_key": "0-12", "origin": "SHJ", "departure_time": "2026-07-08T20:25:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "AMM", "arrival_time": "2026-07-08T22:25:00", "destination_terminal": null, "destination_airport": { "name": "Queen Alia International Airport", "city": "Amman", "country": "Jordan", "timezone": "Asia\/Amman" }, "flight_date": "2026-07-08", "flight_time": "PT3H00M", "distance": 1257, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "290", "name": "290", "picture": "290.png" }, "operating": { "carrier": "RJ", "carrier_name": "Royal Jordanian", "carrier_logo": "RJ.png", "flight_number": 619 }, "marketing": { "carrier": "RJ", "carrier_name": "Royal Jordanian", "carrier_logo": "RJ.png", "flight_number": 619 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "S", "seat_available": 9, "fareBasisCode": "NHSSAE1", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHSSAE1" ] } } }, { "air_segment_key": "1-12", "origin": "AMM", "departure_time": "2026-07-09T10:45:00", "origin_terminal": null, "origin_airport": { "name": "Queen Alia International Airport", "city": "Amman", "country": "Jordan", "timezone": "Asia\/Amman" }, "destination": "CDG", "arrival_time": "2026-07-09T14:50:00", "destination_terminal": "2C", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT5H05M", "distance": 2104, "lay_over": "PT12H20M", "lay_over_date": "not-applicable", "aircraft": { "code": "32Q", "name": "32Q", "picture": "32Q.png" }, "operating": { "carrier": "RJ", "carrier_name": "Royal Jordanian", "carrier_logo": "RJ.png", "flight_number": 117 }, "marketing": { "carrier": "RJ", "carrier_name": "Royal Jordanian", "carrier_logo": "RJ.png", "flight_number": 117 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "S", "seat_available": 9, "fareBasisCode": "NHSSAE1", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHSSAE1" ] } } } ] } ], "price": { "currency": "EUR", "total": 508.3, "gross_total": 508.3, "base_fare": 279, "tax": 229.3, "sell": { "currency": "EUR", "total": 508.3, "base_fare": 279, "tax": 229.3 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTA4LjMsImJhc2VfZmFyZSI6Mjc5LCJ0YXgiOjIyOS4zfSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTA4LjMsImJhc2VfZmFyZSI6Mjc5LCJ0YXgiOjIyOS4zLCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjUwOC4zLCJiYXNlX2ZhcmUiOjI3OSwidGF4IjoyMjkuM319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 508.3, "base_fare": 279, "tax": 229.3, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "279.00", "tax": "229.30", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 508.3, "base_fare": 279, "tax": 229.3, "gross": { "base_fare": "279.00", "tax": "229.30", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "43.31" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "144.34" }, "Other": { "title": "Others taxes", "amount": "41.65" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUwOC4zMCIsImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjIyOS4zMCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjIyOS4zMCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUwOC4zMCIsImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjIyOS4zMCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjIyOS4zMCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjUwOC4zMCIsImJhc2VfZmFyZSI6IjI3OS4wMCIsInRheCI6IjIyOS4zMCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1MDguMywidGF4QnJlYWtkb3duIjp7IkJEIjp7ImFtb3VudCI6IjAuMDAifSwiVVQiOnsiYW1vdW50IjoiMC4wMCJ9LCJFNSI6eyJhbW91bnQiOiIwLjAwIn0sIllRIjp7ImFtb3VudCI6IjQzLjMxIn0sIllSIjp7ImFtb3VudCI6IjE0NC4zNCJ9LCJPdGhlciI6eyJhbW91bnQiOiI0MS42NSJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiS0oiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny4yMSwidGF4SW5mbyI6IkNJVklMIEFWSUFUSU9OIEZFRSJ9LHsiY29kZSI6Ik83IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNTEsInRheEluZm8iOiJBSVJQT1JUIFNFQ1VSSVRZIENIQVJHRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiTzcyIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNTEsInRheEluZm8iOiJBSVJQT1JUIFNFQ1VSSVRZIENIQVJHRSBBUlJJVkFMUyJ9LHsiY29kZSI6IllRRiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxOC43OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTguNzksInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVFJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjUuNzMsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE0NC4zNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#12", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 93, "currency": "EUR", "fmg": { "amount": 93, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 93 }, "supplier": { "amount": 93, "currency": "EUR" } }, { "type": "cancel", "canCancel": false, "forSegment": null, "applied": "after_departure", "amount": 508.3, "currency": "EUR", "fmg": { "amount": 508.3, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 508.3 }, "supplier": { "amount": 508.3, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 47, "currency": "EUR", "fmg": { "amount": 47, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 47 }, "supplier": { "amount": 47, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 47, "currency": "EUR", "fmg": { "amount": 47, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 47 }, "supplier": { "amount": 47, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "RJ", "calendar_total_currency": "EUR", "calendar_total_price": 508.3, "calendar_total_sell": 508.3, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 508.3, "filter": { "id": "F1SE00001-12", "price": 508.3, "journey_duration": "PT9D7H35M", "journey_duration_seconds": 804900, "layover_duration": "PT4D23H30M", "layover_duration_seconds": 430200, "carrier_operating": "RJ", "carrier_marketing": "RJ", "aircraft": "290", "aircraft_name": "290", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "evening", "departure_departure_time": "2026-07-08T20:25:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-09T14:50:00", "refund": "partially-refundable", "baggage_value": "piece", "baggage_unit": "1", "baggage_title": "1 piece" }, "filter_unique_filter_code": "shj202607082025amm202607082225619amm202607091045cdg202607091450117", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-13", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-13", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT14H20M", "transit_time": "5D4H0M", "routes": [ { "air_segment_key": "0-13", "origin": "SHJ", "departure_time": "2026-07-08T00:30:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T00:40:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-13", "origin": "DOH", "departure_time": "2026-07-08T01:50:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T07:30:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT01H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 137 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 137 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-13", "origin": "BCN", "departure_time": "2026-07-08T10:50:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "CDG", "arrival_time": "2026-07-08T12:50:00", "destination_terminal": "3", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT2H00M", "distance": 533, "lay_over": "PT03H20M", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "321", "picture": "321.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8250 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3559 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#13", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-13", "price": 586.62, "journey_duration": "PT9D21H55M", "journey_duration_seconds": 856500, "layover_duration": "PT5D4H0M", "layover_duration_seconds": 446400, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "midnight", "departure_departure_time": "2026-07-08T00:30:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-08T12:50:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080030doh202607080040105925doh202607080150bcn20260708073013725bcn202607081050cdg202607081250825025", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-14", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-14", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT18H05M", "transit_time": "5D12H15M", "routes": [ { "air_segment_key": "0-14", "origin": "SHJ", "departure_time": "2026-07-08T05:40:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T05:50:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-14", "origin": "DOH", "departure_time": "2026-07-08T09:00:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T14:40:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT03H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 145 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 145 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-14", "origin": "BCN", "departure_time": "2026-07-08T19:45:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "CDG", "arrival_time": "2026-07-08T21:45:00", "destination_terminal": "3", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT2H00M", "distance": 533, "lay_over": "PT05H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "32A", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8246 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 8127 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#14", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-14", "price": 586.62, "journey_duration": "PT10D16H0M", "journey_duration_seconds": 921600, "layover_duration": "PT5D12H15M", "layover_duration_seconds": 476100, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T05:40:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-08T21:45:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080540doh202607080550106125doh202607080900bcn20260708144014525bcn202607081945cdg202607082145824625", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-15", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-15", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT24H05M", "transit_time": "6D2H30M", "routes": [ { "air_segment_key": "0-15", "origin": "SHJ", "departure_time": "2026-07-08T11:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T11:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-15", "origin": "DOH", "departure_time": "2026-07-08T15:35:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T21:15:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT04H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-15", "origin": "BCN", "departure_time": "2026-07-09T07:25:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "CDG", "arrival_time": "2026-07-09T09:25:00", "destination_terminal": "3", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT2H00M", "distance": 533, "lay_over": "PT10H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "32A", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8242 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3715 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "Q", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#15", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-15", "price": 586.62, "journey_duration": "PT11D16H5M", "journey_duration_seconds": 1008300, "layover_duration": "PT6D2H30M", "layover_duration_seconds": 527400, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-08T11:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T09:25:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081120doh202607081130103925doh202607081535bcn20260708211514125bcn202607090725cdg202607090925824225", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-16", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-16", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT21H05M", "transit_time": "6D13H45M", "routes": [ { "air_segment_key": "0-16", "origin": "SHJ", "departure_time": "2026-07-08T14:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T14:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-16", "origin": "DOH", "departure_time": "2026-07-08T15:35:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T21:15:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT01H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-16", "origin": "BCN", "departure_time": "2026-07-09T07:25:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "CDG", "arrival_time": "2026-07-09T09:25:00", "destination_terminal": "3", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT2H00M", "distance": 533, "lay_over": "PT10H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "32A", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8242 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3715 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "Q", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#16", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-16", "price": 586.62, "journey_duration": "PT12D13H10M", "journey_duration_seconds": 1084200, "layover_duration": "PT6D13H45M", "layover_duration_seconds": 567900, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-08T14:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T09:25:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081420doh202607081430106325doh202607081535bcn20260708211514125bcn202607090725cdg202607090925824225", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-17", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-17", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT25H20M", "transit_time": "7D5H25M", "routes": [ { "air_segment_key": "0-17", "origin": "SHJ", "departure_time": "2026-07-08T11:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T11:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-17", "origin": "DOH", "departure_time": "2026-07-08T15:10:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "LHR", "arrival_time": "2026-07-08T20:25:00", "destination_terminal": "4", "destination_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "flight_date": "2026-07-08", "flight_time": "PT7H15M", "distance": 3259, "lay_over": "PT03H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "359", "picture": "359.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 15 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 15 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-17", "origin": "LHR", "departure_time": "2026-07-09T08:25:00", "origin_terminal": "5", "origin_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "destination": "CDG", "arrival_time": "2026-07-09T10:40:00", "destination_terminal": "2C", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H15M", "distance": 216, "lay_over": "PT12H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "BA", "carrier_name": "British Airways", "carrier_logo": "BA.png", "flight_number": 302 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 5886 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 591.66, "gross_total": 591.66, "base_fare": 445, "tax": 146.66, "sell": { "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTkxLjY2LCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDYuNjZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTEuNjYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0Ni42NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTEuNjYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0Ni42Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "146.66", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66, "gross": { "base_fare": "445.00", "tax": "146.66", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "80.02" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1OTEuNjYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI4MC4wMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiVUIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTYuOCwidGF4SW5mbyI6IlBBU1NFTkdFUiBTRVJWSUNFIENIQVJHRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#17", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 591.66, "calendar_total_sell": 591.66, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 591.66, "filter": { "id": "F1SE00001-17", "price": 591.66, "journey_duration": "PT13D14H30M", "journey_duration_seconds": 1175400, "layover_duration": "PT7D5H25M", "layover_duration_seconds": 624300, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-08T11:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T10:40:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081120doh202607081130103925doh202607081510lhr2026070820251525lhr202607090825cdg20260709104030225", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-18", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-18", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT13H40M", "transit_time": "7D9H30M", "routes": [ { "air_segment_key": "0-18", "origin": "SHJ", "departure_time": "2026-07-08T11:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T11:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-18", "origin": "DOH", "departure_time": "2026-07-08T12:40:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "LHR", "arrival_time": "2026-07-08T17:55:00", "destination_terminal": "4", "destination_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "flight_date": "2026-07-08", "flight_time": "PT7H15M", "distance": 3259, "lay_over": "PT01H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-18", "origin": "LHR", "departure_time": "2026-07-08T20:50:00", "origin_terminal": "5", "origin_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "destination": "CDG", "arrival_time": "2026-07-08T23:00:00", "destination_terminal": "2C", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 216, "lay_over": "PT02H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "BA", "carrier_name": "British Airways", "carrier_logo": "BA.png", "flight_number": 314 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 8324 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 591.66, "gross_total": 591.66, "base_fare": 445, "tax": 146.66, "sell": { "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTkxLjY2LCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDYuNjZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTEuNjYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0Ni42NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTEuNjYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0Ni42Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "146.66", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66, "gross": { "base_fare": "445.00", "tax": "146.66", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "80.02" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1OTEuNjYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI4MC4wMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiVUIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTYuOCwidGF4SW5mbyI6IlBBU1NFTkdFUiBTRVJWSUNFIENIQVJHRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#18", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 591.66, "calendar_total_sell": 591.66, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 591.66, "filter": { "id": "F1SE00001-18", "price": 591.66, "journey_duration": "PT14D4H10M", "journey_duration_seconds": 1224600, "layover_duration": "PT7D9H30M", "layover_duration_seconds": 639000, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-08T11:20:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-08T23:00:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081120doh202607081130103925doh202607081240lhr202607081755125lhr202607082050cdg20260708230031425", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-19", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-19", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT22H20M", "transit_time": "7D22H10M", "routes": [ { "air_segment_key": "0-19", "origin": "SHJ", "departure_time": "2026-07-08T14:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T14:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-19", "origin": "DOH", "departure_time": "2026-07-09T01:10:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "LHR", "arrival_time": "2026-07-09T06:25:00", "destination_terminal": "4", "destination_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "flight_date": "2026-07-09", "flight_time": "PT7H15M", "distance": 3259, "lay_over": "PT10H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 105 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 105 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-19", "origin": "LHR", "departure_time": "2026-07-09T08:25:00", "origin_terminal": "5", "origin_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "destination": "CDG", "arrival_time": "2026-07-09T10:40:00", "destination_terminal": "2C", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H15M", "distance": 216, "lay_over": "PT02H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "BA", "carrier_name": "British Airways", "carrier_logo": "BA.png", "flight_number": 302 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 5886 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 591.66, "gross_total": 591.66, "base_fare": 445, "tax": 146.66, "sell": { "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTkxLjY2LCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDYuNjZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTEuNjYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0Ni42NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTEuNjYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0Ni42Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "146.66", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66, "gross": { "base_fare": "445.00", "tax": "146.66", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "80.02" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1OTEuNjYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI4MC4wMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiVUIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTYuOCwidGF4SW5mbyI6IlBBU1NFTkdFUiBTRVJWSUNFIENIQVJHRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#19", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 591.66, "calendar_total_sell": 591.66, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 591.66, "filter": { "id": "F1SE00001-19", "price": 591.66, "journey_duration": "PT15D2H30M", "journey_duration_seconds": 1305000, "layover_duration": "PT7D22H10M", "layover_duration_seconds": 684600, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-08T14:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T10:40:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081420doh202607081430106325doh202607090110lhr20260709062510525lhr202607090825cdg20260709104030225", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-20", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-20", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT22H20M", "transit_time": "8D10H50M", "routes": [ { "air_segment_key": "0-20", "origin": "SHJ", "departure_time": "2026-07-08T14:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T14:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-20", "origin": "DOH", "departure_time": "2026-07-09T01:15:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "LHR", "arrival_time": "2026-07-09T06:30:00", "destination_terminal": "4", "destination_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "flight_date": "2026-07-09", "flight_time": "PT7H15M", "distance": 3259, "lay_over": "PT10H45M", "lay_over_date": "not-applicable", "aircraft": { "code": "388", "name": "388", "picture": "388.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 103 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 103 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-20", "origin": "LHR", "departure_time": "2026-07-09T08:25:00", "origin_terminal": "5", "origin_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "destination": "CDG", "arrival_time": "2026-07-09T10:40:00", "destination_terminal": "2C", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H15M", "distance": 216, "lay_over": "PT01H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "BA", "carrier_name": "British Airways", "carrier_logo": "BA.png", "flight_number": 302 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 5886 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 591.66, "gross_total": 591.66, "base_fare": 445, "tax": 146.66, "sell": { "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTkxLjY2LCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDYuNjZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTEuNjYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0Ni42NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTEuNjYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0Ni42Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "146.66", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66, "gross": { "base_fare": "445.00", "tax": "146.66", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "80.02" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1OTEuNjYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI4MC4wMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiVUIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTYuOCwidGF4SW5mbyI6IlBBU1NFTkdFUiBTRVJWSUNFIENIQVJHRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#20", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 591.66, "calendar_total_sell": 591.66, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 591.66, "filter": { "id": "F1SE00001-20", "price": 591.66, "journey_duration": "PT16D0H50M", "journey_duration_seconds": 1385400, "layover_duration": "PT8D10H50M", "layover_duration_seconds": 730200, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-08T14:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T10:40:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081420doh202607081430106325doh202607090115lhr20260709063010325lhr202607090825cdg20260709104030225", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-21", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-21", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT15H05M", "transit_time": "8D16H15M", "routes": [ { "air_segment_key": "0-21", "origin": "SHJ", "departure_time": "2026-07-08T21:35:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-21", "origin": "DOH", "departure_time": "2026-07-09T01:10:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "LHR", "arrival_time": "2026-07-09T06:25:00", "destination_terminal": "4", "destination_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "flight_date": "2026-07-09", "flight_time": "PT7H15M", "distance": 3259, "lay_over": "PT03H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 105 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 105 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-21", "origin": "LHR", "departure_time": "2026-07-09T08:25:00", "origin_terminal": "5", "origin_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "destination": "CDG", "arrival_time": "2026-07-09T10:40:00", "destination_terminal": "2C", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H15M", "distance": 216, "lay_over": "PT02H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "BA", "carrier_name": "British Airways", "carrier_logo": "BA.png", "flight_number": 302 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 5886 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 591.66, "gross_total": 591.66, "base_fare": 445, "tax": 146.66, "sell": { "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTkxLjY2LCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDYuNjZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTEuNjYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0Ni42NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTEuNjYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0Ni42Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "146.66", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66, "gross": { "base_fare": "445.00", "tax": "146.66", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "80.02" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1OTEuNjYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI4MC4wMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiVUIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTYuOCwidGF4SW5mbyI6IlBBU1NFTkdFUiBTRVJWSUNFIENIQVJHRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#21", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 591.66, "calendar_total_sell": 591.66, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 591.66, "filter": { "id": "F1SE00001-21", "price": 591.66, "journey_duration": "PT16D15H55M", "journey_duration_seconds": 1439700, "layover_duration": "PT8D16H15M", "layover_duration_seconds": 749700, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "night", "departure_departure_time": "2026-07-08T21:35:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T10:40:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607082135doh202607082145103525doh202607090110lhr20260709062510525lhr202607090825cdg20260709104030225", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-22", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-22", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT15H05M", "transit_time": "8D21H40M", "routes": [ { "air_segment_key": "0-22", "origin": "SHJ", "departure_time": "2026-07-08T21:35:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-22", "origin": "DOH", "departure_time": "2026-07-09T01:15:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "LHR", "arrival_time": "2026-07-09T06:30:00", "destination_terminal": "4", "destination_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "flight_date": "2026-07-09", "flight_time": "PT7H15M", "distance": 3259, "lay_over": "PT03H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "388", "name": "388", "picture": "388.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 103 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 103 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-22", "origin": "LHR", "departure_time": "2026-07-09T08:25:00", "origin_terminal": "5", "origin_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "destination": "CDG", "arrival_time": "2026-07-09T10:40:00", "destination_terminal": "2C", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H15M", "distance": 216, "lay_over": "PT01H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "BA", "carrier_name": "British Airways", "carrier_logo": "BA.png", "flight_number": 302 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 5886 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 591.66, "gross_total": 591.66, "base_fare": 445, "tax": 146.66, "sell": { "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTkxLjY2LCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDYuNjZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTEuNjYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0Ni42NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTEuNjYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0Ni42Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "146.66", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 591.66, "base_fare": 445, "tax": 146.66, "gross": { "base_fare": "445.00", "tax": "146.66", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "80.02" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5MS42NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1OTEuNjYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI4MC4wMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiVUIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTYuOCwidGF4SW5mbyI6IlBBU1NFTkdFUiBTRVJWSUNFIENIQVJHRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#22", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 591.66, "calendar_total_sell": 591.66, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 591.66, "filter": { "id": "F1SE00001-22", "price": 591.66, "journey_duration": "PT17D7H0M", "journey_duration_seconds": 1494000, "layover_duration": "PT8D21H40M", "layover_duration_seconds": 769200, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "night", "departure_departure_time": "2026-07-08T21:35:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T10:40:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607082135doh202607082145103525doh202607090115lhr20260709063010325lhr202607090825cdg20260709104030225", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-23", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-23", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT18H50M", "transit_time": "9D8H30M", "routes": [ { "air_segment_key": "0-23", "origin": "SHJ", "departure_time": "2026-07-08T21:35:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": "M", "seat_available": 9, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } }, { "air_segment_key": "1-23", "origin": "DOH", "departure_time": "2026-07-09T08:35:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-09T14:25:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT10H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 39 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 39 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": "M", "seat_available": 9, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } } ] } ], "price": { "currency": "EUR", "total": 593.46, "gross_total": 593.46, "base_fare": 473, "tax": 120.46, "sell": { "currency": "EUR", "total": 593.46, "base_fare": 473, "tax": 120.46 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTkzLjQ2LCJiYXNlX2ZhcmUiOjQ3MywidGF4IjoxMjAuNDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTMuNDYsImJhc2VfZmFyZSI6NDczLCJ0YXgiOjEyMC40NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTMuNDYsImJhc2VfZmFyZSI6NDczLCJ0YXgiOjEyMC40Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 593.46, "base_fare": 473, "tax": 120.46, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "473.00", "tax": "120.46", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 593.46, "base_fare": 473, "tax": 120.46, "gross": { "base_fare": "473.00", "tax": "120.46", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "63.22" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5My40NiIsImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5My40NiIsImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5My40NiIsImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1OTMuNDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2My4yMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#23", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 60, "currency": "EUR", "fmg": { "amount": 60, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 60 }, "supplier": { "amount": 60, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 60, "currency": "EUR", "fmg": { "amount": 60, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 60 }, "supplier": { "amount": 60, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 593.46, "calendar_total_sell": 593.46, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 593.46, "filter": { "id": "F1SE00001-23", "price": 593.46, "journey_duration": "PT18D1H50M", "journey_duration_seconds": 1561800, "layover_duration": "PT9D8H30M", "layover_duration_seconds": 808200, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "night", "departure_departure_time": "2026-07-08T21:35:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-09T14:25:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "30", "baggage_title": "30 kg" }, "filter_unique_filter_code": "shj202607082135doh202607082145103530doh202607090835cdg2026070914253930", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-24", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-24", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT29H05M", "transit_time": "10D5H35M", "routes": [ { "air_segment_key": "0-24", "origin": "SHJ", "departure_time": "2026-07-08T11:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T11:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": "M", "seat_available": 9, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } }, { "air_segment_key": "1-24", "origin": "DOH", "departure_time": "2026-07-09T08:35:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-09T14:25:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT21H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 39 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 39 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": "M", "seat_available": 9, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } } ] } ], "price": { "currency": "EUR", "total": 595.67, "gross_total": 595.67, "base_fare": 473, "tax": 122.67, "sell": { "currency": "EUR", "total": 595.67, "base_fare": 473, "tax": 122.67 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTk1LjY3LCJiYXNlX2ZhcmUiOjQ3MywidGF4IjoxMjIuNjd9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTUuNjcsImJhc2VfZmFyZSI6NDczLCJ0YXgiOjEyMi42NywiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTUuNjcsImJhc2VfZmFyZSI6NDczLCJ0YXgiOjEyMi42N319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 595.67, "base_fare": 473, "tax": 122.67, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "473.00", "tax": "122.67", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 595.67, "base_fare": 473, "tax": 122.67, "gross": { "base_fare": "473.00", "tax": "122.67", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "65.43" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5NS42NyIsImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMi42NyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5NS42NyIsImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMi42NyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5NS42NyIsImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1OTUuNjcsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2NS40MyJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlFBIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE0LjA4LCJ0YXhJbmZvIjoiQUlSUE9SVCBGRUUgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IlI5IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzUsInRheEluZm8iOiJQQVNTRU5HRVIgU0FGRVRZIEFORCBTRUNVUklUWSBGRUUgUFNTRiJ9LHsiY29kZSI6IlBaIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgREVQQVJUVVJFUyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjc1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#24", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 60, "currency": "EUR", "fmg": { "amount": 60, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 60 }, "supplier": { "amount": 60, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 60, "currency": "EUR", "fmg": { "amount": 60, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 60 }, "supplier": { "amount": 60, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 595.67, "calendar_total_sell": 595.67, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 595.67, "filter": { "id": "F1SE00001-24", "price": 595.67, "journey_duration": "PT19D6H55M", "journey_duration_seconds": 1666500, "layover_duration": "PT10D5H35M", "layover_duration_seconds": 884100, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-08T11:20:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-09T14:25:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "30", "baggage_title": "30 kg" }, "filter_unique_filter_code": "shj202607081120doh202607081130103930doh202607090835cdg2026070914253930", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-25", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-25", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT26H05M", "transit_time": "10D23H40M", "routes": [ { "air_segment_key": "0-25", "origin": "SHJ", "departure_time": "2026-07-08T14:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T14:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": "M", "seat_available": 9, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } }, { "air_segment_key": "1-25", "origin": "DOH", "departure_time": "2026-07-09T08:35:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "CDG", "arrival_time": "2026-07-09T14:25:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT6H50M", "distance": 3090, "lay_over": "PT18H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 39 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 39 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": "M", "seat_available": 9, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } } ] } ], "price": { "currency": "EUR", "total": 595.67, "gross_total": 595.67, "base_fare": 473, "tax": 122.67, "sell": { "currency": "EUR", "total": 595.67, "base_fare": 473, "tax": 122.67 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTk1LjY3LCJiYXNlX2ZhcmUiOjQ3MywidGF4IjoxMjIuNjd9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTUuNjcsImJhc2VfZmFyZSI6NDczLCJ0YXgiOjEyMi42NywiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTUuNjcsImJhc2VfZmFyZSI6NDczLCJ0YXgiOjEyMi42N319", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 595.67, "base_fare": 473, "tax": 122.67, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "473.00", "tax": "122.67", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 595.67, "base_fare": 473, "tax": 122.67, "gross": { "base_fare": "473.00", "tax": "122.67", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "18.80" }, "Other": { "title": "Others taxes", "amount": "65.43" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5NS42NyIsImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMi42NyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5NS42NyIsImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMi42NyIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5NS42NyIsImJhc2VfZmFyZSI6IjQ3My4wMCIsInRheCI6IjEyMi42NyIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1OTUuNjcsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIxOC44MCJ9LCJPdGhlciI6eyJhbW91bnQiOiI2NS40MyJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlFBIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE0LjA4LCJ0YXhJbmZvIjoiQUlSUE9SVCBGRUUgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IlI5IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzUsInRheEluZm8iOiJQQVNTRU5HRVIgU0FGRVRZIEFORCBTRUNVUklUWSBGRUUgUFNTRiJ9LHsiY29kZSI6IlBaIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgREVQQVJUVVJFUyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjc1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#25", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 60, "currency": "EUR", "fmg": { "amount": 60, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 60 }, "supplier": { "amount": 60, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 60, "currency": "EUR", "fmg": { "amount": 60, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 60 }, "supplier": { "amount": 60, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 595.67, "calendar_total_sell": 595.67, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 595.67, "filter": { "id": "F1SE00001-25", "price": 595.67, "journey_duration": "PT20D9H0M", "journey_duration_seconds": 1760400, "layover_duration": "PT10D23H40M", "layover_duration_seconds": 949200, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-08T14:20:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-09T14:25:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "30", "baggage_title": "30 kg" }, "filter_unique_filter_code": "shj202607081420doh202607081430106330doh202607090835cdg2026070914253930", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-26", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-26", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT14H45M", "transit_time": "11D0H45M", "routes": [ { "air_segment_key": "0-26", "origin": "SHJ", "departure_time": "2026-07-08T06:30:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DEL", "arrival_time": "2026-07-08T11:55:00", "destination_terminal": "3", "destination_airport": { "name": "Indira Gandhi International Airport", "city": "New Delhi", "country": "India", "timezone": "Asia\/Kolkata" }, "flight_date": "2026-07-08", "flight_time": "PT3H55M", "distance": 1356, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "IX", "carrier_name": "Air India Express", "carrier_logo": "IX.png", "flight_number": 136 }, "marketing": { "carrier": "AI", "carrier_name": "Air India", "carrier_logo": "AI.png", "flight_number": 9184 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": null, "pieceCount": null, "weight": null, "unit": null, "title": null } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "H", "meal_code": null, "seat_available": 4, "fareBasisCode": "VU3YXSSH", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VU3YXSSH" ] } } }, { "air_segment_key": "1-26", "origin": "DEL", "departure_time": "2026-07-08T13:00:00", "origin_terminal": "3", "origin_airport": { "name": "Indira Gandhi International Airport", "city": "New Delhi", "country": "India", "timezone": "Asia\/Kolkata" }, "destination": "CDG", "arrival_time": "2026-07-08T19:15:00", "destination_terminal": "2C", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT9H45M", "distance": 4088, "lay_over": "PT01H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "788", "name": "788", "picture": "788.png" }, "operating": { "carrier": "AI", "carrier_name": "Air India", "carrier_logo": "AI.png", "flight_number": 143 }, "marketing": { "carrier": "AI", "carrier_name": "Air India", "carrier_logo": "AI.png", "flight_number": 143 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": 7, "unit": "kg", "title": "7 kg" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": null, "seat_available": 9, "fareBasisCode": "VU3YXSSH", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VU3YXSSH" ] } } } ] } ], "price": { "currency": "EUR", "total": 654.12, "gross_total": 654.12, "base_fare": 449, "tax": 205.12, "sell": { "currency": "EUR", "total": 654.12, "base_fare": 449, "tax": 205.12 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NjU0LjEyLCJiYXNlX2ZhcmUiOjQ0OSwidGF4IjoyMDUuMTJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2NTQuMTIsImJhc2VfZmFyZSI6NDQ5LCJ0YXgiOjIwNS4xMiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2NTQuMTIsImJhc2VfZmFyZSI6NDQ5LCJ0YXgiOjIwNS4xMn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 654.12, "base_fare": 449, "tax": 205.12, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "449.00", "tax": "205.12", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 654.12, "base_fare": 449, "tax": 205.12, "gross": { "base_fare": "449.00", "tax": "205.12", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "170.82" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "2.88" }, "Other": { "title": "Others taxes", "amount": "31.42" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY1NC4xMiIsImJhc2VfZmFyZSI6IjQ0OS4wMCIsInRheCI6IjIwNS4xMiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0OS4wMCIsInRheCI6IjIwNS4xMiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY1NC4xMiIsImJhc2VfZmFyZSI6IjQ0OS4wMCIsInRheCI6IjIwNS4xMiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0OS4wMCIsInRheCI6IjIwNS4xMiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY1NC4xMiIsImJhc2VfZmFyZSI6IjQ0OS4wMCIsInRheCI6IjIwNS4xMiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo2NTQuMTIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIxNzAuODIifSwiWVIiOnsiYW1vdW50IjoiMi44OCJ9LCJPdGhlciI6eyJhbW91bnQiOiIzMS40MiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE3MC44MiwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUkYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS40NCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUkYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS40NCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#26", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 0, "currency": "EUR", "fmg": { "amount": 0, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 0 }, "supplier": { "amount": 0, "currency": "EUR" } }, { "type": "cancel", "canCancel": false, "forSegment": null, "applied": "after_departure", "amount": 654.12, "currency": "EUR", "fmg": { "amount": 654.12, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 654.12 }, "supplier": { "amount": 654.12, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 212, "currency": "EUR", "fmg": { "amount": 212, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 212 }, "supplier": { "amount": 212, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 212, "currency": "EUR", "fmg": { "amount": 212, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 212 }, "supplier": { "amount": 212, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "non-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "IX", "calendar_total_currency": "EUR", "calendar_total_price": 654.12, "calendar_total_sell": 654.12, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 654.12, "filter": { "id": "F1SE00001-26", "price": 654.12, "journey_duration": "PT20D23H45M", "journey_duration_seconds": 1813500, "layover_duration": "PT11D0H45M", "layover_duration_seconds": 953100, "carrier_operating": "IX", "carrier_marketing": "AI", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T06:30:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-07-08T19:15:00", "refund": "non-refundable", "baggage_value": "piece", "baggage_unit": "1", "baggage_title": "1 piece" }, "filter_unique_filter_code": "shj202607080630del202607081155136del202607081300cdg202607081915143", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-27", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-27", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT30H45M", "transit_time": "11D17H50M", "routes": [ { "air_segment_key": "0-27", "origin": "SHJ", "departure_time": "2026-07-08T06:30:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DEL", "arrival_time": "2026-07-08T11:55:00", "destination_terminal": "3", "destination_airport": { "name": "Indira Gandhi International Airport", "city": "New Delhi", "country": "India", "timezone": "Asia\/Kolkata" }, "flight_date": "2026-07-08", "flight_time": "PT3H55M", "distance": 1356, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "IX", "carrier_name": "Air India Express", "carrier_logo": "IX.png", "flight_number": 136 }, "marketing": { "carrier": "AI", "carrier_name": "Air India", "carrier_logo": "AI.png", "flight_number": 9184 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": null, "pieceCount": null, "weight": null, "unit": null, "title": null } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "H", "meal_code": null, "seat_available": 4, "fareBasisCode": "VU3YXSSH", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VU3YXSSH" ] } } }, { "air_segment_key": "1-27", "origin": "DEL", "departure_time": "2026-07-09T05:00:00", "origin_terminal": "3", "origin_airport": { "name": "Indira Gandhi International Airport", "city": "New Delhi", "country": "India", "timezone": "Asia\/Kolkata" }, "destination": "CDG", "arrival_time": "2026-07-09T11:15:00", "destination_terminal": "2C", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT9H45M", "distance": 4088, "lay_over": "PT17H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "788", "name": "788", "picture": "788.png" }, "operating": { "carrier": "AI", "carrier_name": "Air India", "carrier_logo": "AI.png", "flight_number": 147 }, "marketing": { "carrier": "AI", "carrier_name": "Air India", "carrier_logo": "AI.png", "flight_number": 147 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": 7, "unit": "kg", "title": "7 kg" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": null, "seat_available": 9, "fareBasisCode": "VU3YXSSH", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VU3YXSSH" ] } } } ] } ], "price": { "currency": "EUR", "total": 675.12, "gross_total": 675.12, "base_fare": 470, "tax": 205.12, "sell": { "currency": "EUR", "total": 675.12, "base_fare": 470, "tax": 205.12 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6Njc1LjEyLCJiYXNlX2ZhcmUiOjQ3MCwidGF4IjoyMDUuMTJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2NzUuMTIsImJhc2VfZmFyZSI6NDcwLCJ0YXgiOjIwNS4xMiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo2NzUuMTIsImJhc2VfZmFyZSI6NDcwLCJ0YXgiOjIwNS4xMn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 675.12, "base_fare": 470, "tax": 205.12, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "470.00", "tax": "205.12", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 675.12, "base_fare": 470, "tax": 205.12, "gross": { "base_fare": "470.00", "tax": "205.12", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "170.82" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "2.88" }, "Other": { "title": "Others taxes", "amount": "31.42" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY3NS4xMiIsImJhc2VfZmFyZSI6IjQ3MC4wMCIsInRheCI6IjIwNS4xMiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3MC4wMCIsInRheCI6IjIwNS4xMiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY3NS4xMiIsImJhc2VfZmFyZSI6IjQ3MC4wMCIsInRheCI6IjIwNS4xMiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3MC4wMCIsInRheCI6IjIwNS4xMiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjY3NS4xMiIsImJhc2VfZmFyZSI6IjQ3MC4wMCIsInRheCI6IjIwNS4xMiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo2NzUuMTIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIxNzAuODIifSwiWVIiOnsiYW1vdW50IjoiMi44OCJ9LCJPdGhlciI6eyJhbW91bnQiOiIzMS40MiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE3MC44MiwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUkYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS40NCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUkYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS40NCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#27", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 0, "currency": "EUR", "fmg": { "amount": 0, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 0 }, "supplier": { "amount": 0, "currency": "EUR" } }, { "type": "cancel", "canCancel": false, "forSegment": null, "applied": "after_departure", "amount": 675.12, "currency": "EUR", "fmg": { "amount": 675.12, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 675.12 }, "supplier": { "amount": 675.12, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 212, "currency": "EUR", "fmg": { "amount": 212, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 212 }, "supplier": { "amount": 212, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 212, "currency": "EUR", "fmg": { "amount": 212, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 212 }, "supplier": { "amount": 212, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "non-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "IX", "calendar_total_currency": "EUR", "calendar_total_price": 675.12, "calendar_total_sell": 675.12, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 675.12, "filter": { "id": "F1SE00001-27", "price": 675.12, "journey_duration": "PT22D6H30M", "journey_duration_seconds": 1924200, "layover_duration": "PT11D17H50M", "layover_duration_seconds": 1014600, "carrier_operating": "IX", "carrier_marketing": "AI", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T06:30:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T11:15:00", "refund": "non-refundable", "baggage_value": "piece", "baggage_unit": "1", "baggage_title": "1 piece" }, "filter_unique_filter_code": "shj202607080630del202607081155136del202607090500cdg202607091115147", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-28", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-28", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT19H20M", "transit_time": "12D3H35M", "routes": [ { "air_segment_key": "0-28", "origin": "SHJ", "departure_time": "2026-07-08T05:40:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T05:50:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": "M", "seat_available": 9, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } }, { "air_segment_key": "1-28", "origin": "DOH", "departure_time": "2026-07-08T12:40:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "LHR", "arrival_time": "2026-07-08T17:55:00", "destination_terminal": "4", "destination_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "flight_date": "2026-07-08", "flight_time": "PT7H15M", "distance": 3259, "lay_over": "PT06H50M", "lay_over_date": "not-applicable", "aircraft": { "code": "77W", "name": "77W", "picture": "77W.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": "M", "seat_available": 9, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } }, { "air_segment_key": "2-28", "origin": "LHR", "departure_time": "2026-07-08T20:50:00", "origin_terminal": "5", "origin_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "destination": "CDG", "arrival_time": "2026-07-08T23:00:00", "destination_terminal": "2C", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 216, "lay_over": "PT02H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "BA", "carrier_name": "British Airways", "carrier_logo": "BA.png", "flight_number": 314 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 8324 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": null, "seat_available": 9, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } } ] } ], "price": { "currency": "EUR", "total": 719.66, "gross_total": 719.66, "base_fare": 573, "tax": 146.66, "sell": { "currency": "EUR", "total": 719.66, "base_fare": 573, "tax": 146.66 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NzE5LjY2LCJiYXNlX2ZhcmUiOjU3MywidGF4IjoxNDYuNjZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3MTkuNjYsImJhc2VfZmFyZSI6NTczLCJ0YXgiOjE0Ni42NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3MTkuNjYsImJhc2VfZmFyZSI6NTczLCJ0YXgiOjE0Ni42Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 719.66, "base_fare": 573, "tax": 146.66, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "573.00", "tax": "146.66", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 719.66, "base_fare": 573, "tax": 146.66, "gross": { "base_fare": "573.00", "tax": "146.66", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "80.02" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcxOS42NiIsImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcxOS42NiIsImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcxOS42NiIsImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo3MTkuNjYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI4MC4wMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiVUIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTYuOCwidGF4SW5mbyI6IlBBU1NFTkdFUiBTRVJWSUNFIENIQVJHRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#28", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 60, "currency": "EUR", "fmg": { "amount": 60, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 60 }, "supplier": { "amount": 60, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 60, "currency": "EUR", "fmg": { "amount": 60, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 60 }, "supplier": { "amount": 60, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 719.66, "calendar_total_sell": 719.66, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 719.66, "filter": { "id": "F1SE00001-28", "price": 719.66, "journey_duration": "PT23D1H50M", "journey_duration_seconds": 1993800, "layover_duration": "PT12D3H35M", "layover_duration_seconds": 1049700, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T05:40:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-08T23:00:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "30", "baggage_title": "30 kg" }, "filter_unique_filter_code": "shj202607080540doh202607080550106130doh202607081240lhr202607081755130lhr202607082050cdg20260708230031430", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-29", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-29", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT19H20M", "transit_time": "12D13H20M", "routes": [ { "air_segment_key": "0-29", "origin": "SHJ", "departure_time": "2026-07-08T05:40:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T05:50:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": "M", "seat_available": 9, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } }, { "air_segment_key": "1-29", "origin": "DOH", "departure_time": "2026-07-08T08:00:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "LHR", "arrival_time": "2026-07-08T13:15:00", "destination_terminal": "4", "destination_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "flight_date": "2026-07-08", "flight_time": "PT7H15M", "distance": 3259, "lay_over": "PT02H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "388", "name": "388", "picture": "388.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": "M", "seat_available": 9, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } }, { "air_segment_key": "2-29", "origin": "LHR", "departure_time": "2026-07-08T20:50:00", "origin_terminal": "5", "origin_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "destination": "CDG", "arrival_time": "2026-07-08T23:00:00", "destination_terminal": "2C", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 216, "lay_over": "PT07H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "BA", "carrier_name": "British Airways", "carrier_logo": "BA.png", "flight_number": 314 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 8324 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": null, "seat_available": 9, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } } ] } ], "price": { "currency": "EUR", "total": 719.66, "gross_total": 719.66, "base_fare": 573, "tax": 146.66, "sell": { "currency": "EUR", "total": 719.66, "base_fare": 573, "tax": 146.66 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NzE5LjY2LCJiYXNlX2ZhcmUiOjU3MywidGF4IjoxNDYuNjZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3MTkuNjYsImJhc2VfZmFyZSI6NTczLCJ0YXgiOjE0Ni42NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3MTkuNjYsImJhc2VfZmFyZSI6NTczLCJ0YXgiOjE0Ni42Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 719.66, "base_fare": 573, "tax": 146.66, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "573.00", "tax": "146.66", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 719.66, "base_fare": 573, "tax": 146.66, "gross": { "base_fare": "573.00", "tax": "146.66", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "80.02" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcxOS42NiIsImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcxOS42NiIsImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcxOS42NiIsImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo3MTkuNjYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI4MC4wMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiVUIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTYuOCwidGF4SW5mbyI6IlBBU1NFTkdFUiBTRVJWSUNFIENIQVJHRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#29", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 60, "currency": "EUR", "fmg": { "amount": 60, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 60 }, "supplier": { "amount": 60, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 60, "currency": "EUR", "fmg": { "amount": 60, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 60 }, "supplier": { "amount": 60, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 719.66, "calendar_total_sell": 719.66, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 719.66, "filter": { "id": "F1SE00001-29", "price": 719.66, "journey_duration": "PT23D21H10M", "journey_duration_seconds": 2063400, "layover_duration": "PT12D13H20M", "layover_duration_seconds": 1084800, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T05:40:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-08T23:00:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "30", "baggage_title": "30 kg" }, "filter_unique_filter_code": "shj202607080540doh202607080550106130doh202607080800lhr202607081315330lhr202607082050cdg20260708230031430", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-30", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-30", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT24H15M", "transit_time": "13D3H55M", "routes": [ { "air_segment_key": "0-30", "origin": "SHJ", "departure_time": "2026-07-08T11:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T11:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": "M", "seat_available": 4, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } }, { "air_segment_key": "1-30", "origin": "DOH", "departure_time": "2026-07-08T15:10:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "LHR", "arrival_time": "2026-07-08T20:25:00", "destination_terminal": "4", "destination_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "flight_date": "2026-07-08", "flight_time": "PT7H15M", "distance": 3259, "lay_over": "PT03H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "359", "name": "359", "picture": "359.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 15 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 15 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": "M", "seat_available": 4, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } }, { "air_segment_key": "2-30", "origin": "LHR", "departure_time": "2026-07-09T07:20:00", "origin_terminal": "5", "origin_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "destination": "CDG", "arrival_time": "2026-07-09T09:35:00", "destination_terminal": "2C", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H15M", "distance": 216, "lay_over": "PT10H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "319", "name": "319", "picture": "319.png" }, "operating": { "carrier": "BA", "carrier_name": "British Airways", "carrier_logo": "BA.png", "flight_number": 300 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 5890 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 30, "unit": "kg", "title": "30 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "V", "meal_code": null, "seat_available": 4, "fareBasisCode": "VHR3R1SI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "VHR3R1SI" ] } } } ] } ], "price": { "currency": "EUR", "total": 719.66, "gross_total": 719.66, "base_fare": 573, "tax": 146.66, "sell": { "currency": "EUR", "total": 719.66, "base_fare": 573, "tax": 146.66 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NzE5LjY2LCJiYXNlX2ZhcmUiOjU3MywidGF4IjoxNDYuNjZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3MTkuNjYsImJhc2VfZmFyZSI6NTczLCJ0YXgiOjE0Ni42NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3MTkuNjYsImJhc2VfZmFyZSI6NTczLCJ0YXgiOjE0Ni42Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 719.66, "base_fare": 573, "tax": 146.66, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "573.00", "tax": "146.66", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 719.66, "base_fare": 573, "tax": 146.66, "gross": { "base_fare": "573.00", "tax": "146.66", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "80.02" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcxOS42NiIsImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcxOS42NiIsImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcxOS42NiIsImJhc2VfZmFyZSI6IjU3My4wMCIsInRheCI6IjE0Ni42NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo3MTkuNjYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI4MC4wMiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiVUIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTYuOCwidGF4SW5mbyI6IlBBU1NFTkdFUiBTRVJWSUNFIENIQVJHRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": null, "promo_rules": null, "brandCode": "OPTION#30", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 60, "currency": "EUR", "fmg": { "amount": 60, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 60 }, "supplier": { "amount": 60, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 60, "currency": "EUR", "fmg": { "amount": 60, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 60 }, "supplier": { "amount": 60, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 719.66, "calendar_total_sell": 719.66, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 719.66, "filter": { "id": "F1SE00001-30", "price": 719.66, "journey_duration": "PT24D21H25M", "journey_duration_seconds": 2150700, "layover_duration": "PT13D3H55M", "layover_duration_seconds": 1137300, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-08T11:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T09:35:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "30", "baggage_title": "30 kg" }, "filter_unique_filter_code": "shj202607081120doh202607081130103930doh202607081510lhr2026070820251530lhr202607090720cdg20260709093530030", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-31", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-31", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT13H25M", "transit_time": "13D9H0M", "routes": [ { "air_segment_key": "0-31", "origin": "SHJ", "departure_time": "2026-07-08T03:00:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "CAI", "arrival_time": "2026-07-08T05:40:00", "destination_terminal": "3", "destination_airport": { "name": "Cairo International Airport", "city": "Cairo", "country": "Egypt", "timezone": "Africa\/Cairo" }, "flight_date": "2026-07-08", "flight_time": "PT3H40M", "distance": 1503, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "321", "picture": "321.png" }, "operating": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 967 }, "marketing": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 967 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "M", "meal_code": "M", "seat_available": 9, "fareBasisCode": "MREAEO\/COM", "matchedAccountCode": null, "negotiatedFare": true, "privateFare": true, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "MREAEO\/COM" ] } } }, { "air_segment_key": "1-31", "origin": "CAI", "departure_time": "2026-07-08T10:45:00", "origin_terminal": "3", "origin_airport": { "name": "Cairo International Airport", "city": "Cairo", "country": "Egypt", "timezone": "Africa\/Cairo" }, "destination": "CDG", "arrival_time": "2026-07-08T14:25:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT4H40M", "distance": 1996, "lay_over": "PT05H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 799 }, "marketing": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 799 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "M", "meal_code": "M", "seat_available": 9, "fareBasisCode": "MREAEO\/COM", "matchedAccountCode": null, "negotiatedFare": true, "privateFare": true, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "MREAEO\/COM" ] } } } ] } ], "price": { "currency": "EUR", "total": 729.58, "gross_total": 729.58, "base_fare": 475, "tax": 254.58, "sell": { "currency": "EUR", "total": 729.58, "base_fare": 475, "tax": 254.58 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NzI5LjU4LCJiYXNlX2ZhcmUiOjQ3NSwidGF4IjoyNTQuNTh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3MjkuNTgsImJhc2VfZmFyZSI6NDc1LCJ0YXgiOjI1NC41OCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3MjkuNTgsImJhc2VfZmFyZSI6NDc1LCJ0YXgiOjI1NC41OH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 729.58, "base_fare": 475, "tax": 254.58, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "475.00", "tax": "254.58", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 729.58, "base_fare": 475, "tax": 254.58, "gross": { "base_fare": "475.00", "tax": "254.58", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "47.84" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "169.11" }, "Other": { "title": "Others taxes", "amount": "37.63" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcyOS41OCIsImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcyOS41OCIsImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcyOS41OCIsImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo3MjkuNTgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiI0Ny44NCJ9LCJZUiI6eyJhbW91bnQiOiIxNjkuMTEifSwiT3RoZXIiOnsiYW1vdW50IjoiMzcuNjMifSwic3VwcGxpZXJUYXhEYXRhIjpbeyJjb2RlIjoiQUU0IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE3LjQ1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIElOVEVSTkFUSU9OQUwifSx7ImNvZGUiOiJGNjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTEuNjMsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVElFUyBDSEFSR0UifSx7ImNvZGUiOiJUUCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjE3LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFQ1VSSVRZIEFORCBTQUZFVFkgRkVFIn0seyJjb2RlIjoiWlIyIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IkVRIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzEsInRheEluZm8iOiJTRVJWSUNFIENIQVJHRSJ9LHsiY29kZSI6Ik8yIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjAuMjQsInRheEluZm8iOiJERVBBUlRVUkUgU0VSVklDRSBGRUUifSx7ImNvZGUiOiJPOSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjowLjg2LCJ0YXhJbmZvIjoiQ1VURSBDVVBQUyBGRUUifSx7ImNvZGUiOiJTNCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IlM0MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgQVJSSVZBTFMifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny42OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny42OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTUuOCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUUkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTYuNjYsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE2OS4xMSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": "Nego-Private Fare", "promo_rules": "Private Fare", "brandCode": "OPTION#31", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 70, "currency": "EUR", "fmg": { "amount": 70, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 70 }, "supplier": { "amount": 70, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 70, "currency": "EUR", "fmg": { "amount": 70, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 70 }, "supplier": { "amount": 70, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 70, "currency": "EUR", "fmg": { "amount": 70, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 70 }, "supplier": { "amount": 70, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 70, "currency": "EUR", "fmg": { "amount": 70, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 70 }, "supplier": { "amount": 70, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "MS", "calendar_total_currency": "EUR", "calendar_total_price": 729.58, "calendar_total_sell": 729.58, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 729.58, "filter": { "id": "F1SE00001-31", "price": 729.58, "journey_duration": "PT25D10H50M", "journey_duration_seconds": 2199000, "layover_duration": "PT13D9H0M", "layover_duration_seconds": 1155600, "carrier_operating": "MS", "carrier_marketing": "MS", "aircraft": "321", "aircraft_name": "321", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T03:00:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-08T14:25:00", "refund": "partially-refundable", "baggage_value": "piece", "baggage_unit": "2", "baggage_title": "2 piece" }, "filter_unique_filter_code": "shj202607080300cai202607080540967cai202607081045cdg202607081425799", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-32", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-32", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT13H25M", "transit_time": "13D14H5M", "routes": [ { "air_segment_key": "0-32", "origin": "SHJ", "departure_time": "2026-07-08T03:00:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "CAI", "arrival_time": "2026-07-08T05:40:00", "destination_terminal": "3", "destination_airport": { "name": "Cairo International Airport", "city": "Cairo", "country": "Egypt", "timezone": "Africa\/Cairo" }, "flight_date": "2026-07-08", "flight_time": "PT3H40M", "distance": 1503, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "321", "picture": "321.png" }, "operating": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 967 }, "marketing": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 967 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "M", "meal_code": "M", "seat_available": 9, "fareBasisCode": "MREAEO\/COM", "matchedAccountCode": null, "negotiatedFare": true, "privateFare": true, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "MREAEO\/COM" ] } } }, { "air_segment_key": "1-32", "origin": "CAI", "departure_time": "2026-07-08T10:45:00", "origin_terminal": "3", "origin_airport": { "name": "Cairo International Airport", "city": "Cairo", "country": "Egypt", "timezone": "Africa\/Cairo" }, "destination": "CDG", "arrival_time": "2026-07-08T14:25:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT4H40M", "distance": 1996, "lay_over": "PT05H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 799 }, "marketing": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 799 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "M", "meal_code": "M", "seat_available": 9, "fareBasisCode": "MREAEO\/COM", "matchedAccountCode": null, "negotiatedFare": true, "privateFare": true, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "MREAEO\/COM" ] } } } ] } ], "price": { "currency": "EUR", "total": 729.58, "gross_total": 729.58, "base_fare": 475, "tax": 254.58, "sell": { "currency": "EUR", "total": 729.58, "base_fare": 475, "tax": 254.58 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NzI5LjU4LCJiYXNlX2ZhcmUiOjQ3NSwidGF4IjoyNTQuNTh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3MjkuNTgsImJhc2VfZmFyZSI6NDc1LCJ0YXgiOjI1NC41OCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3MjkuNTgsImJhc2VfZmFyZSI6NDc1LCJ0YXgiOjI1NC41OH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 729.58, "base_fare": 475, "tax": 254.58, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "475.00", "tax": "254.58", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 729.58, "base_fare": 475, "tax": 254.58, "gross": { "base_fare": "475.00", "tax": "254.58", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "47.84" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "169.11" }, "Other": { "title": "Others taxes", "amount": "37.63" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcyOS41OCIsImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcyOS41OCIsImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcyOS41OCIsImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo3MjkuNTgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiI0Ny44NCJ9LCJZUiI6eyJhbW91bnQiOiIxNjkuMTEifSwiT3RoZXIiOnsiYW1vdW50IjoiMzcuNjMifSwic3VwcGxpZXJUYXhEYXRhIjpbeyJjb2RlIjoiQUU0IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE3LjQ1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIElOVEVSTkFUSU9OQUwifSx7ImNvZGUiOiJGNjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTEuNjMsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVElFUyBDSEFSR0UifSx7ImNvZGUiOiJUUCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjE3LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFQ1VSSVRZIEFORCBTQUZFVFkgRkVFIn0seyJjb2RlIjoiWlIyIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IkVRIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzEsInRheEluZm8iOiJTRVJWSUNFIENIQVJHRSJ9LHsiY29kZSI6Ik8yIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjAuMjQsInRheEluZm8iOiJERVBBUlRVUkUgU0VSVklDRSBGRUUifSx7ImNvZGUiOiJPOSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjowLjg2LCJ0YXhJbmZvIjoiQ1VURSBDVVBQUyBGRUUifSx7ImNvZGUiOiJTNCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IlM0MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgQVJSSVZBTFMifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny42OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny42OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTUuOCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUUkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTYuNjYsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE2OS4xMSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": "Nego-Private Fare", "promo_rules": "Private Fare", "brandCode": "OPTION#32", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": null }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "MS", "calendar_total_currency": "EUR", "calendar_total_price": 729.58, "calendar_total_sell": 729.58, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 729.58, "filter": { "id": "F1SE00001-32", "price": 729.58, "journey_duration": "PT26D0H15M", "journey_duration_seconds": 2247300, "layover_duration": "PT13D14H5M", "layover_duration_seconds": 1173900, "carrier_operating": "MS", "carrier_marketing": "MS", "aircraft": "321", "aircraft_name": "321", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T03:00:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-08T14:25:00", "refund": "partially-refundable", "baggage_value": "piece", "baggage_unit": "2", "baggage_title": "2 piece" }, "filter_unique_filter_code": "shj202607080300cai202607080540967cai202607081045cdg202607081425799", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-33", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-33", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT13H25M", "transit_time": "13D19H10M", "routes": [ { "air_segment_key": "0-33", "origin": "SHJ", "departure_time": "2026-07-08T03:00:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "CAI", "arrival_time": "2026-07-08T05:40:00", "destination_terminal": "3", "destination_airport": { "name": "Cairo International Airport", "city": "Cairo", "country": "Egypt", "timezone": "Africa\/Cairo" }, "flight_date": "2026-07-08", "flight_time": "PT3H40M", "distance": 1503, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "321", "picture": "321.png" }, "operating": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 967 }, "marketing": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 967 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "M", "meal_code": "M", "seat_available": 9, "fareBasisCode": "MREAEO\/COM", "matchedAccountCode": null, "negotiatedFare": true, "privateFare": true, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "MREAEO\/COM" ] } } }, { "air_segment_key": "1-33", "origin": "CAI", "departure_time": "2026-07-08T10:45:00", "origin_terminal": "3", "origin_airport": { "name": "Cairo International Airport", "city": "Cairo", "country": "Egypt", "timezone": "Africa\/Cairo" }, "destination": "CDG", "arrival_time": "2026-07-08T14:25:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT4H40M", "distance": 1996, "lay_over": "PT05H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 799 }, "marketing": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 799 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "M", "meal_code": "M", "seat_available": 9, "fareBasisCode": "MREAEO\/COM", "matchedAccountCode": null, "negotiatedFare": true, "privateFare": true, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "MREAEO\/COM" ] } } } ] } ], "price": { "currency": "EUR", "total": 729.58, "gross_total": 729.58, "base_fare": 475, "tax": 254.58, "sell": { "currency": "EUR", "total": 729.58, "base_fare": 475, "tax": 254.58 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NzI5LjU4LCJiYXNlX2ZhcmUiOjQ3NSwidGF4IjoyNTQuNTh9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3MjkuNTgsImJhc2VfZmFyZSI6NDc1LCJ0YXgiOjI1NC41OCwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo3MjkuNTgsImJhc2VfZmFyZSI6NDc1LCJ0YXgiOjI1NC41OH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 729.58, "base_fare": 475, "tax": 254.58, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "475.00", "tax": "254.58", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 729.58, "base_fare": 475, "tax": 254.58, "gross": { "base_fare": "475.00", "tax": "254.58", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "47.84" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "169.11" }, "Other": { "title": "Others taxes", "amount": "37.63" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcyOS41OCIsImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcyOS41OCIsImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjcyOS41OCIsImJhc2VfZmFyZSI6IjQ3NS4wMCIsInRheCI6IjI1NC41OCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo3MjkuNTgsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiI0Ny44NCJ9LCJZUiI6eyJhbW91bnQiOiIxNjkuMTEifSwiT3RoZXIiOnsiYW1vdW50IjoiMzcuNjMifSwic3VwcGxpZXJUYXhEYXRhIjpbeyJjb2RlIjoiQUU0IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE3LjQ1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIElOVEVSTkFUSU9OQUwifSx7ImNvZGUiOiJGNjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTEuNjMsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVElFUyBDSEFSR0UifSx7ImNvZGUiOiJUUCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjE3LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFQ1VSSVRZIEFORCBTQUZFVFkgRkVFIn0seyJjb2RlIjoiWlIyIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IkVRIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzEsInRheEluZm8iOiJTRVJWSUNFIENIQVJHRSJ9LHsiY29kZSI6Ik8yIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjAuMjQsInRheEluZm8iOiJERVBBUlRVUkUgU0VSVklDRSBGRUUifSx7ImNvZGUiOiJPOSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjowLjg2LCJ0YXhJbmZvIjoiQ1VURSBDVVBQUyBGRUUifSx7ImNvZGUiOiJTNCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IlM0MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgQVJSSVZBTFMifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny42OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny42OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTUuOCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUUkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTYuNjYsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE2OS4xMSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": "Nego-Private Fare", "promo_rules": "Private Fare", "brandCode": "OPTION#33", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": null }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "MS", "calendar_total_currency": "EUR", "calendar_total_price": 729.58, "calendar_total_sell": 729.58, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 729.58, "filter": { "id": "F1SE00001-33", "price": 729.58, "journey_duration": "PT26D13H40M", "journey_duration_seconds": 2295600, "layover_duration": "PT13D19H10M", "layover_duration_seconds": 1192200, "carrier_operating": "MS", "carrier_marketing": "MS", "aircraft": "321", "aircraft_name": "321", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T03:00:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-08T14:25:00", "refund": "partially-refundable", "baggage_value": "piece", "baggage_unit": "2", "baggage_title": "2 piece" }, "filter_unique_filter_code": "shj202607080300cai202607080540967cai202607081045cdg202607081425799", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-34", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-34", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT28H20M", "transit_time": "14D11H30M", "routes": [ { "air_segment_key": "0-34", "origin": "SHJ", "departure_time": "2026-07-08T04:25:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "ADD", "arrival_time": "2026-07-08T07:45:00", "destination_terminal": "1", "destination_airport": { "name": "Addis Ababa Bole International Airport", "city": "Addis Ababa", "country": "Ethiopia", "timezone": "Africa\/Addis_Ababa" }, "flight_date": "2026-07-08", "flight_time": "PT4H20M", "distance": 1568, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "7M8", "picture": "7M8.png" }, "operating": { "carrier": "ET", "carrier_name": "Ethiopian Airlines", "carrier_logo": "ET.png", "flight_number": 623 }, "marketing": { "carrier": "ET", "carrier_name": "Ethiopian Airlines", "carrier_logo": "ET.png", "flight_number": 623 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "K", "meal_code": "M", "seat_available": 9, "fareBasisCode": "KXOWAE", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "KXOWAE" ] } } }, { "air_segment_key": "1-34", "origin": "ADD", "departure_time": "2026-07-09T00:05:00", "origin_terminal": "2", "origin_airport": { "name": "Addis Ababa Bole International Airport", "city": "Addis Ababa", "country": "Ethiopia", "timezone": "Africa\/Addis_Ababa" }, "destination": "CDG", "arrival_time": "2026-07-09T06:45:00", "destination_terminal": "2A", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT7H40M", "distance": 3463, "lay_over": "PT16H20M", "lay_over_date": "not-applicable", "aircraft": { "code": "350", "name": "350", "picture": "350.png" }, "operating": { "carrier": "ET", "carrier_name": "Ethiopian Airlines", "carrier_logo": "ET.png", "flight_number": 734 }, "marketing": { "carrier": "ET", "carrier_name": "Ethiopian Airlines", "carrier_logo": "ET.png", "flight_number": 734 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "K", "meal_code": "MS", "seat_available": 9, "fareBasisCode": "KXOWAE", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "KXOWAE" ] } } } ] } ], "price": { "currency": "EUR", "total": 1111.28, "gross_total": 1111.28, "base_fare": 859, "tax": 252.28, "sell": { "currency": "EUR", "total": 1111.28, "base_fare": 859, "tax": 252.28 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTExMS4yOCwiYmFzZV9mYXJlIjo4NTksInRheCI6MjUyLjI4fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTExMS4yOCwiYmFzZV9mYXJlIjo4NTksInRheCI6MjUyLjI4LCJjb21pc3Npb25fdHlwZSI6ImdlbmVyYWwiLCJjb21pc3Npb25fdmFsdWUiOjB9LCJncm9zc19mYXJlIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjExMTEuMjgsImJhc2VfZmFyZSI6ODU5LCJ0YXgiOjI1Mi4yOH19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1111.28, "base_fare": 859, "tax": 252.28, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "859.00", "tax": "252.28", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1111.28, "base_fare": 859, "tax": 252.28, "gross": { "base_fare": "859.00", "tax": "252.28", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "8.54" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "209.75" }, "Other": { "title": "Others taxes", "amount": "33.99" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjExMTEuMjgiLCJiYXNlX2ZhcmUiOiI4NTkuMDAiLCJ0YXgiOiIyNTIuMjgiLCJncm9zcyI6eyJiYXNlX2ZhcmUiOiI4NTkuMDAiLCJ0YXgiOiIyNTIuMjgiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOiIxMTExLjI4IiwiYmFzZV9mYXJlIjoiODU5LjAwIiwidGF4IjoiMjUyLjI4IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiODU5LjAwIiwidGF4IjoiMjUyLjI4IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjoiMTExMS4yOCIsImJhc2VfZmFyZSI6Ijg1OS4wMCIsInRheCI6IjI1Mi4yOCIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjoxMTExLjI4LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiOC41NCJ9LCJZUiI6eyJhbW91bnQiOiIyMDkuNzUifSwiT3RoZXIiOnsiYW1vdW50IjoiMzMuOTkifSwic3VwcGxpZXJUYXhEYXRhIjpbeyJjb2RlIjoiQUU0IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE3LjQ1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIElOVEVSTkFUSU9OQUwifSx7ImNvZGUiOiJGNjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTEuNjMsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVElFUyBDSEFSR0UifSx7ImNvZGUiOiJUUCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjE3LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFQ1VSSVRZIEFORCBTQUZFVFkgRkVFIn0seyJjb2RlIjoiWlIyIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IkwzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjAuODYsInRheEluZm8iOiJBSVJQT1JUIFNFQ1VSSVRZIENIQVJHRSJ9LHsiY29kZSI6IlMyIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzEsInRheEluZm8iOiJBSVJQT1JUIERFVkVMT1BNRU5UIENIQVJHRSJ9LHsiY29kZSI6IllRRiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo0LjI3LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllRRiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo0LjI3LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSRiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo4NS40MSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUkYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTE3LjUsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjYuODQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#34", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 129, "currency": "EUR", "fmg": { "amount": 129, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 129 }, "supplier": { "amount": 129, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 129, "currency": "EUR", "fmg": { "amount": 129, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 129 }, "supplier": { "amount": 129, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 129, "currency": "EUR", "fmg": { "amount": 129, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 129 }, "supplier": { "amount": 129, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 129, "currency": "EUR", "fmg": { "amount": 129, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 129 }, "supplier": { "amount": 129, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "ET", "calendar_total_currency": "EUR", "calendar_total_price": 1111.28, "calendar_total_sell": 1111.28, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 1111.28, "filter": { "id": "F1SE00001-34", "price": 1111.28, "journey_duration": "PT27D18H0M", "journey_duration_seconds": 2397600, "layover_duration": "PT14D11H30M", "layover_duration_seconds": 1251000, "carrier_operating": "ET", "carrier_marketing": "ET", "aircraft": "7M8", "aircraft_name": "7M8", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T04:25:00", "arrival_timing_slot": "early-morning", "arrival_departure_time": "2026-07-09T06:45:00", "refund": "partially-refundable", "baggage_value": "piece", "baggage_unit": "2", "baggage_title": "2 piece" }, "filter_unique_filter_code": "shj202607080425add202607080745623add202607090005cdg202607090645734", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-35", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-35", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT20H05M", "transit_time": "14D23H5M", "routes": [ { "air_segment_key": "0-35", "origin": "SHJ", "departure_time": "2026-07-08T03:00:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "CAI", "arrival_time": "2026-07-08T05:40:00", "destination_terminal": "3", "destination_airport": { "name": "Cairo International Airport", "city": "Cairo", "country": "Egypt", "timezone": "Africa\/Cairo" }, "flight_date": "2026-07-08", "flight_time": "PT3H40M", "distance": 1503, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "321", "picture": "321.png" }, "operating": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 967 }, "marketing": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 967 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "Y", "meal_code": "M", "seat_available": 9, "fareBasisCode": "YHRSMSO\/COM", "matchedAccountCode": null, "negotiatedFare": true, "privateFare": true, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "YHRSMSO\/COM" ] } } }, { "air_segment_key": "1-35", "origin": "CAI", "departure_time": "2026-07-08T17:15:00", "origin_terminal": "3", "origin_airport": { "name": "Cairo International Airport", "city": "Cairo", "country": "Egypt", "timezone": "Africa\/Cairo" }, "destination": "CDG", "arrival_time": "2026-07-08T21:05:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT4H50M", "distance": 1996, "lay_over": "PT11H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "738", "name": "738", "picture": "738.png" }, "operating": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 801 }, "marketing": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 801 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "M", "meal_code": "M", "seat_available": 9, "fareBasisCode": "MREEGO\/COM", "matchedAccountCode": null, "negotiatedFare": true, "privateFare": true, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "MREEGO\/COM" ] } } } ] } ], "price": { "currency": "EUR", "total": 1297.02, "gross_total": 1297.02, "base_fare": 1045, "tax": 252.02, "sell": { "currency": "EUR", "total": 1297.02, "base_fare": 1045, "tax": 252.02 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTI5Ny4wMiwiYmFzZV9mYXJlIjoxMDQ1LCJ0YXgiOjI1Mi4wMn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjEyOTcuMDIsImJhc2VfZmFyZSI6MTA0NSwidGF4IjoyNTIuMDIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTI5Ny4wMiwiYmFzZV9mYXJlIjoxMDQ1LCJ0YXgiOjI1Mi4wMn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1297.02, "base_fare": 1045, "tax": 252.02, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1045.00", "tax": "252.02", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1297.02, "base_fare": 1045, "tax": 252.02, "gross": { "base_fare": "1045.00", "tax": "252.02", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "45.28" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "169.11" }, "Other": { "title": "Others taxes", "amount": "37.63" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEyOTcuMDIiLCJiYXNlX2ZhcmUiOiIxMDQ1LjAwIiwidGF4IjoiMjUyLjAyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0NS4wMCIsInRheCI6IjI1Mi4wMiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEyOTcuMDIiLCJiYXNlX2ZhcmUiOiIxMDQ1LjAwIiwidGF4IjoiMjUyLjAyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0NS4wMCIsInRheCI6IjI1Mi4wMiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEyOTcuMDIiLCJiYXNlX2ZhcmUiOiIxMDQ1LjAwIiwidGF4IjoiMjUyLjAyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjEyOTcuMDIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiI0NS4yOCJ9LCJZUiI6eyJhbW91bnQiOiIxNjkuMTEifSwiT3RoZXIiOnsiYW1vdW50IjoiMzcuNjMifSwic3VwcGxpZXJUYXhEYXRhIjpbeyJjb2RlIjoiQUU0IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE3LjQ1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIElOVEVSTkFUSU9OQUwifSx7ImNvZGUiOiJGNjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTEuNjMsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVElFUyBDSEFSR0UifSx7ImNvZGUiOiJUUCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjE3LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFQ1VSSVRZIEFORCBTQUZFVFkgRkVFIn0seyJjb2RlIjoiWlIyIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IkVRIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzEsInRheEluZm8iOiJTRVJWSUNFIENIQVJHRSJ9LHsiY29kZSI6Ik8yIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjAuMjQsInRheEluZm8iOiJERVBBUlRVUkUgU0VSVklDRSBGRUUifSx7ImNvZGUiOiJPOSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjowLjg2LCJ0YXhJbmZvIjoiQ1VURSBDVVBQUyBGRUUifSx7ImNvZGUiOiJTNCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IlM0MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgQVJSSVZBTFMifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny42OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny42OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTUuOCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTY5LjExLCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllRSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxNC4xLCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": "Nego-Private Fare", "promo_rules": "Private Fare", "brandCode": "OPTION#35", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 102, "currency": "EUR", "fmg": { "amount": 102, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 102 }, "supplier": { "amount": 102, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 102, "currency": "EUR", "fmg": { "amount": 102, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 102 }, "supplier": { "amount": 102, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 70, "currency": "EUR", "fmg": { "amount": 70, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 70 }, "supplier": { "amount": 70, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 70, "currency": "EUR", "fmg": { "amount": 70, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 70 }, "supplier": { "amount": 70, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "MS", "calendar_total_currency": "EUR", "calendar_total_price": 1297.02, "calendar_total_sell": 1297.02, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 1297.02, "filter": { "id": "F1SE00001-35", "price": 1297.02, "journey_duration": "PT28D14H5M", "journey_duration_seconds": 2469900, "layover_duration": "PT14D23H5M", "layover_duration_seconds": 1292700, "carrier_operating": "MS", "carrier_marketing": "MS", "aircraft": "321", "aircraft_name": "321", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T03:00:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-08T21:05:00", "refund": "partially-refundable", "baggage_value": "piece", "baggage_unit": "2", "baggage_title": "2 piece" }, "filter_unique_filter_code": "shj202607080300cai202607080540967cai202607081715cdg202607082105801", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-36", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-36", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT20H05M", "transit_time": "15D10H40M", "routes": [ { "air_segment_key": "0-36", "origin": "SHJ", "departure_time": "2026-07-08T03:00:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "CAI", "arrival_time": "2026-07-08T05:40:00", "destination_terminal": "3", "destination_airport": { "name": "Cairo International Airport", "city": "Cairo", "country": "Egypt", "timezone": "Africa\/Cairo" }, "flight_date": "2026-07-08", "flight_time": "PT3H40M", "distance": 1503, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "321", "picture": "321.png" }, "operating": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 967 }, "marketing": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 967 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "Y", "meal_code": "M", "seat_available": 9, "fareBasisCode": "YHRSMSO\/COM", "matchedAccountCode": null, "negotiatedFare": true, "privateFare": true, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "YHRSMSO\/COM" ] } } }, { "air_segment_key": "1-36", "origin": "CAI", "departure_time": "2026-07-08T17:15:00", "origin_terminal": "3", "origin_airport": { "name": "Cairo International Airport", "city": "Cairo", "country": "Egypt", "timezone": "Africa\/Cairo" }, "destination": "CDG", "arrival_time": "2026-07-08T21:05:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT4H50M", "distance": 1996, "lay_over": "PT11H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "738", "name": "738", "picture": "738.png" }, "operating": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 801 }, "marketing": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 801 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "M", "meal_code": "M", "seat_available": 9, "fareBasisCode": "MREEGO\/COM", "matchedAccountCode": null, "negotiatedFare": true, "privateFare": true, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "MREEGO\/COM" ] } } } ] } ], "price": { "currency": "EUR", "total": 1297.02, "gross_total": 1297.02, "base_fare": 1045, "tax": 252.02, "sell": { "currency": "EUR", "total": 1297.02, "base_fare": 1045, "tax": 252.02 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTI5Ny4wMiwiYmFzZV9mYXJlIjoxMDQ1LCJ0YXgiOjI1Mi4wMn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjEyOTcuMDIsImJhc2VfZmFyZSI6MTA0NSwidGF4IjoyNTIuMDIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTI5Ny4wMiwiYmFzZV9mYXJlIjoxMDQ1LCJ0YXgiOjI1Mi4wMn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1297.02, "base_fare": 1045, "tax": 252.02, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1045.00", "tax": "252.02", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1297.02, "base_fare": 1045, "tax": 252.02, "gross": { "base_fare": "1045.00", "tax": "252.02", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "45.28" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "169.11" }, "Other": { "title": "Others taxes", "amount": "37.63" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEyOTcuMDIiLCJiYXNlX2ZhcmUiOiIxMDQ1LjAwIiwidGF4IjoiMjUyLjAyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0NS4wMCIsInRheCI6IjI1Mi4wMiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEyOTcuMDIiLCJiYXNlX2ZhcmUiOiIxMDQ1LjAwIiwidGF4IjoiMjUyLjAyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0NS4wMCIsInRheCI6IjI1Mi4wMiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEyOTcuMDIiLCJiYXNlX2ZhcmUiOiIxMDQ1LjAwIiwidGF4IjoiMjUyLjAyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjEyOTcuMDIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiI0NS4yOCJ9LCJZUiI6eyJhbW91bnQiOiIxNjkuMTEifSwiT3RoZXIiOnsiYW1vdW50IjoiMzcuNjMifSwic3VwcGxpZXJUYXhEYXRhIjpbeyJjb2RlIjoiQUU0IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE3LjQ1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIElOVEVSTkFUSU9OQUwifSx7ImNvZGUiOiJGNjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTEuNjMsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVElFUyBDSEFSR0UifSx7ImNvZGUiOiJUUCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjE3LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFQ1VSSVRZIEFORCBTQUZFVFkgRkVFIn0seyJjb2RlIjoiWlIyIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IkVRIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzEsInRheEluZm8iOiJTRVJWSUNFIENIQVJHRSJ9LHsiY29kZSI6Ik8yIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjAuMjQsInRheEluZm8iOiJERVBBUlRVUkUgU0VSVklDRSBGRUUifSx7ImNvZGUiOiJPOSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjowLjg2LCJ0YXhJbmZvIjoiQ1VURSBDVVBQUyBGRUUifSx7ImNvZGUiOiJTNCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IlM0MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgQVJSSVZBTFMifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny42OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny42OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTUuOCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTY5LjExLCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllRSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxNC4xLCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": "Nego-Private Fare", "promo_rules": "Private Fare", "brandCode": "OPTION#36", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": null }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "MS", "calendar_total_currency": "EUR", "calendar_total_price": 1297.02, "calendar_total_sell": 1297.02, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 1297.02, "filter": { "id": "F1SE00001-36", "price": 1297.02, "journey_duration": "PT29D10H10M", "journey_duration_seconds": 2542200, "layover_duration": "PT15D10H40M", "layover_duration_seconds": 1334400, "carrier_operating": "MS", "carrier_marketing": "MS", "aircraft": "321", "aircraft_name": "321", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T03:00:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-08T21:05:00", "refund": "partially-refundable", "baggage_value": "piece", "baggage_unit": "2", "baggage_title": "2 piece" }, "filter_unique_filter_code": "shj202607080300cai202607080540967cai202607081715cdg202607082105801", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-37", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-37", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT20H05M", "transit_time": "15D22H15M", "routes": [ { "air_segment_key": "0-37", "origin": "SHJ", "departure_time": "2026-07-08T03:00:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "CAI", "arrival_time": "2026-07-08T05:40:00", "destination_terminal": "3", "destination_airport": { "name": "Cairo International Airport", "city": "Cairo", "country": "Egypt", "timezone": "Africa\/Cairo" }, "flight_date": "2026-07-08", "flight_time": "PT3H40M", "distance": 1503, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "321", "picture": "321.png" }, "operating": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 967 }, "marketing": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 967 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "Y", "meal_code": "M", "seat_available": 9, "fareBasisCode": "YHRSMSO\/COM", "matchedAccountCode": null, "negotiatedFare": true, "privateFare": true, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "YHRSMSO\/COM" ] } } }, { "air_segment_key": "1-37", "origin": "CAI", "departure_time": "2026-07-08T17:15:00", "origin_terminal": "3", "origin_airport": { "name": "Cairo International Airport", "city": "Cairo", "country": "Egypt", "timezone": "Africa\/Cairo" }, "destination": "CDG", "arrival_time": "2026-07-08T21:05:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Charles de Gaulle Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT4H50M", "distance": 1996, "lay_over": "PT11H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "738", "name": "738", "picture": "738.png" }, "operating": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 801 }, "marketing": { "carrier": "MS", "carrier_name": "Egyptair", "carrier_logo": "MS.png", "flight_number": 801 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": 2, "weight": null, "unit": "pieces", "title": "2 pieces", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "M", "meal_code": "M", "seat_available": 9, "fareBasisCode": "MREEGO\/COM", "matchedAccountCode": null, "negotiatedFare": true, "privateFare": true, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "MREEGO\/COM" ] } } } ] } ], "price": { "currency": "EUR", "total": 1297.02, "gross_total": 1297.02, "base_fare": 1045, "tax": 252.02, "sell": { "currency": "EUR", "total": 1297.02, "base_fare": 1045, "tax": 252.02 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTI5Ny4wMiwiYmFzZV9mYXJlIjoxMDQ1LCJ0YXgiOjI1Mi4wMn0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiRVVSIiwidG90YWwiOjEyOTcuMDIsImJhc2VfZmFyZSI6MTA0NSwidGF4IjoyNTIuMDIsImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MTI5Ny4wMiwiYmFzZV9mYXJlIjoxMDQ1LCJ0YXgiOjI1Mi4wMn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 1297.02, "base_fare": 1045, "tax": 252.02, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "1045.00", "tax": "252.02", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 1297.02, "base_fare": 1045, "tax": 252.02, "gross": { "base_fare": "1045.00", "tax": "252.02", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "45.28" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "169.11" }, "Other": { "title": "Others taxes", "amount": "37.63" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEyOTcuMDIiLCJiYXNlX2ZhcmUiOiIxMDQ1LjAwIiwidGF4IjoiMjUyLjAyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0NS4wMCIsInRheCI6IjI1Mi4wMiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEyOTcuMDIiLCJiYXNlX2ZhcmUiOiIxMDQ1LjAwIiwidGF4IjoiMjUyLjAyIiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiMTA0NS4wMCIsInRheCI6IjI1Mi4wMiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjEyOTcuMDIiLCJiYXNlX2ZhcmUiOiIxMDQ1LjAwIiwidGF4IjoiMjUyLjAyIiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjoiMC4wMCIsInBheWFibGUiOjEyOTcuMDIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiI0NS4yOCJ9LCJZUiI6eyJhbW91bnQiOiIxNjkuMTEifSwiT3RoZXIiOnsiYW1vdW50IjoiMzcuNjMifSwic3VwcGxpZXJUYXhEYXRhIjpbeyJjb2RlIjoiQUU0IiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjE3LjQ1LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIElOVEVSTkFUSU9OQUwifSx7ImNvZGUiOiJGNjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTEuNjMsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVElFUyBDSEFSR0UifSx7ImNvZGUiOiJUUCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjE3LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFQ1VSSVRZIEFORCBTQUZFVFkgRkVFIn0seyJjb2RlIjoiWlIyIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IkVRIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuNzEsInRheEluZm8iOiJTRVJWSUNFIENIQVJHRSJ9LHsiY29kZSI6Ik8yIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjAuMjQsInRheEluZm8iOiJERVBBUlRVUkUgU0VSVklDRSBGRUUifSx7ImNvZGUiOiJPOSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjowLjg2LCJ0YXhJbmZvIjoiQ1VURSBDVVBQUyBGRUUifSx7ImNvZGUiOiJTNCIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgREVQQVJUVVJFUyJ9LHsiY29kZSI6IlM0MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjcsInRheEluZm8iOiJJTlRFUk5BVElPTkFMIEFEVkFOQ0VEIFBBU1NFTkdFUiBJTkZPUk1BVElPTiBGRUUgQVJSSVZBTFMifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny42OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny42OSwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUUkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTUuOCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTY5LjExLCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllRSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxNC4xLCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": "Nego-Private Fare", "promo_rules": "Private Fare", "brandCode": "OPTION#37", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": null }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "MS", "calendar_total_currency": "EUR", "calendar_total_price": 1297.02, "calendar_total_sell": 1297.02, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 1297.02, "filter": { "id": "F1SE00001-37", "price": 1297.02, "journey_duration": "PT30D6H15M", "journey_duration_seconds": 2614500, "layover_duration": "PT15D22H15M", "layover_duration_seconds": 1376100, "carrier_operating": "MS", "carrier_marketing": "MS", "aircraft": "321", "aircraft_name": "321", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T03:00:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-08T21:05:00", "refund": "partially-refundable", "baggage_value": "piece", "baggage_unit": "2", "baggage_title": "2 piece" }, "filter_unique_filter_code": "shj202607080300cai202607080540967cai202607081715cdg202607082105801", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-38", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-38", "get_branded_fare": "no", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT13H20M", "transit_time": "16D3H10M", "routes": [ { "air_segment_key": "0-38", "origin": "SHJ", "departure_time": "2026-07-08T04:50:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "SAW", "arrival_time": "2026-07-08T08:30:00", "destination_terminal": null, "destination_airport": { "name": "Sabiha Goekcen International Airport", "city": "Pendik, Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "flight_date": "2026-07-08", "flight_time": "PT4H40M", "distance": 1842, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "321", "picture": "321.png" }, "operating": { "carrier": "PC", "carrier_name": "Pegasus", "carrier_logo": "PC.png", "flight_number": 747 }, "marketing": { "carrier": "PC", "carrier_name": "Pegasus", "carrier_logo": "PC.png", "flight_number": 747 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 20, "unit": "kg", "title": "20 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": 8, "unit": "kg", "title": "8 kg" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 9, "fareBasisCode": "WOWBYD1S", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "WOWBYD1S" ] } } }, { "air_segment_key": "1-38", "origin": "SAW", "departure_time": "2026-07-08T13:25:00", "origin_terminal": null, "origin_airport": { "name": "Sabiha Goekcen International Airport", "city": "Pendik, Istanbul", "country": "Turkey", "timezone": "Europe\/Istanbul" }, "destination": "ORY", "arrival_time": "2026-07-08T16:10:00", "destination_terminal": null, "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT3H45M", "distance": 1421, "lay_over": "PT04H55M", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "321", "picture": "321.png" }, "operating": { "carrier": "PC", "carrier_name": "Pegasus", "carrier_logo": "PC.png", "flight_number": 1135 }, "marketing": { "carrier": "PC", "carrier_name": "Pegasus", "carrier_logo": "PC.png", "flight_number": 1135 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 20, "unit": "kg", "title": "20 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": 8, "unit": "kg", "title": "8 kg" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 9, "fareBasisCode": "WOWBYD1S", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "WOWBYD1S" ] } } } ] } ], "price": { "currency": "EUR", "total": 302.06, "gross_total": 302.06, "base_fare": 161, "tax": 141.06, "sell": { "currency": "EUR", "total": 302.06, "base_fare": 161, "tax": 141.06 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6MzAyLjA2LCJiYXNlX2ZhcmUiOjE2MSwidGF4IjoxNDEuMDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMDIuMDYsImJhc2VfZmFyZSI6MTYxLCJ0YXgiOjE0MS4wNiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjozMDIuMDYsImJhc2VfZmFyZSI6MTYxLCJ0YXgiOjE0MS4wNn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 302.06, "base_fare": 161, "tax": 141.06, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "161.00", "tax": "141.06", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 302.06, "base_fare": 161, "tax": 141.06, "gross": { "base_fare": "161.00", "tax": "141.06", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "87.12" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "14.52" }, "Other": { "title": "Others taxes", "amount": "39.42" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwMi4wNiIsImJhc2VfZmFyZSI6IjE2MS4wMCIsInRheCI6IjE0MS4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE2MS4wMCIsInRheCI6IjE0MS4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwMi4wNiIsImJhc2VfZmFyZSI6IjE2MS4wMCIsInRheCI6IjE0MS4wNiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE2MS4wMCIsInRheCI6IjE0MS4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjMwMi4wNiIsImJhc2VfZmFyZSI6IjE2MS4wMCIsInRheCI6IjE0MS4wNiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjozMDIuMDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiI4Ny4xMiJ9LCJZUiI6eyJhbW91bnQiOiIxNC41MiJ9LCJPdGhlciI6eyJhbW91bnQiOiIzOS40MiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiTTYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MywidGF4SW5mbyI6IkZMSUdIVFMgU0VDVVJJVFkgQ0hBUkdFIElOVEVSTkFUSU9OQUwifSx7ImNvZGUiOiJUUiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo1LCJ0YXhJbmZvIjoiQUlSUE9SVCBTRVJWSUNFIENIQVJHRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjQzLjU2LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllRRiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo0My41NiwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUkYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny4yNiwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifSx7ImNvZGUiOiJZUkYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Ny4yNiwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIEZVRUwifV19fSwiZGlzY291bnRfY29taXNzaW9uX3RpdGxlIjpudWxsLCJkaXNjb3VudF9jb21pc3Npb25fcmF0aW8iOjAsImR5bmFtaWNfbWFya3VwX3R5cGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3RpdGxlIjpudWxsLCJkeW5hbWljX21hcmt1cF9yYXRpbyI6bnVsbCwiYXBwbGljYWJsZV9jb21pc3Npb24iOm51bGwsImFwcGxpY2FibGVfZHluYW1pY19tYXJrdXAiOm51bGx9" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#38", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": false, "forSegment": null, "applied": "prior_to_departure", "amount": 302.06, "currency": "EUR", "fmg": { "amount": 302.06, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 302.06 }, "supplier": { "amount": 302.06, "currency": "EUR" } }, { "type": "cancel", "canCancel": false, "forSegment": null, "applied": "after_departure", "amount": 302.06, "currency": "EUR", "fmg": { "amount": 302.06, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 302.06 }, "supplier": { "amount": 302.06, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 55, "currency": "EUR", "fmg": { "amount": 55, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 55 }, "supplier": { "amount": 55, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 55, "currency": "EUR", "fmg": { "amount": 55, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 55 }, "supplier": { "amount": 55, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "non-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "PC", "calendar_total_currency": "EUR", "calendar_total_price": 302.06, "calendar_total_sell": 302.06, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 302.06, "filter": { "id": "F1SE00001-38", "price": 302.06, "journey_duration": "PT30D19H35M", "journey_duration_seconds": 2662500, "layover_duration": "PT16D3H10M", "layover_duration_seconds": 1393800, "carrier_operating": "PC", "carrier_marketing": "PC", "aircraft": "321", "aircraft_name": "321", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 2, "no_of_stops": 1, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T04:50:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-07-08T16:10:00", "refund": "non-refundable", "baggage_value": "kg", "baggage_unit": "20", "baggage_title": "20 kg" }, "filter_unique_filter_code": "shj202607080450saw20260708083074720saw202607081325ory202607081610113520", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-39", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-39", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT13H00M", "transit_time": "16D6H30M", "routes": [ { "air_segment_key": "0-39", "origin": "SHJ", "departure_time": "2026-07-08T00:30:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T00:40:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-39", "origin": "DOH", "departure_time": "2026-07-08T01:50:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T07:30:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT01H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 137 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 137 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-39", "origin": "BCN", "departure_time": "2026-07-08T09:40:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "ORY", "arrival_time": "2026-07-08T11:30:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT1H50M", "distance": 513, "lay_over": "PT02H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8012 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3732 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#39", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-39", "price": 586.62, "journey_duration": "PT31D8H35M", "journey_duration_seconds": 2709300, "layover_duration": "PT16D6H30M", "layover_duration_seconds": 1405800, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "midnight", "departure_departure_time": "2026-07-08T00:30:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-08T11:30:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080030doh202607080040105925doh202607080150bcn20260708073013725bcn202607080940ory202607081130801225", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-40", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-40", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT12H25M", "transit_time": "16D9H15M", "routes": [ { "air_segment_key": "0-40", "origin": "SHJ", "departure_time": "2026-07-08T00:30:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T00:40:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-40", "origin": "DOH", "departure_time": "2026-07-08T01:50:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T07:30:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT01H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 137 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 137 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-40", "origin": "BCN", "departure_time": "2026-07-08T09:05:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "ORY", "arrival_time": "2026-07-08T10:55:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT1H50M", "distance": 513, "lay_over": "PT01H35M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8002 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3656 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#40", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-40", "price": 586.62, "journey_duration": "PT31D21H0M", "journey_duration_seconds": 2754000, "layover_duration": "PT16D9H15M", "layover_duration_seconds": 1415700, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "midnight", "departure_departure_time": "2026-07-08T00:30:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-08T10:55:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080030doh202607080040105925doh202607080150bcn20260708073013725bcn202607080905ory202607081055800225", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-41", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-41", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT16H15M", "transit_time": "16D15H50M", "routes": [ { "air_segment_key": "0-41", "origin": "SHJ", "departure_time": "2026-07-08T00:30:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T00:40:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1059 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-41", "origin": "DOH", "departure_time": "2026-07-08T01:50:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T07:30:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT01H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 137 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 137 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-41", "origin": "BCN", "departure_time": "2026-07-08T12:55:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "ORY", "arrival_time": "2026-07-08T14:45:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT1H50M", "distance": 513, "lay_over": "PT05H25M", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "321", "picture": "321.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8008 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3613 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#41", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-41", "price": 586.62, "journey_duration": "PT32D13H15M", "journey_duration_seconds": 2812500, "layover_duration": "PT16D15H50M", "layover_duration_seconds": 1439400, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "midnight", "departure_departure_time": "2026-07-08T00:30:00", "arrival_timing_slot": "afternoon", "arrival_departure_time": "2026-07-08T14:45:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080030doh202607080040105925doh202607080150bcn20260708073013725bcn202607081255ory202607081445800825", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-42", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-42", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT15H50M", "transit_time": "16D22H0M", "routes": [ { "air_segment_key": "0-42", "origin": "SHJ", "departure_time": "2026-07-08T05:40:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T05:50:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-42", "origin": "DOH", "departure_time": "2026-07-08T09:00:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T14:40:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT03H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 145 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 145 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-42", "origin": "BCN", "departure_time": "2026-07-08T17:40:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "ORY", "arrival_time": "2026-07-08T19:30:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT1H50M", "distance": 513, "lay_over": "PT03H00M", "lay_over_date": "not-applicable", "aircraft": { "code": "321", "name": "321", "picture": "321.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8016 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3600 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#42", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-42", "price": 586.62, "journey_duration": "PT33D5H5M", "journey_duration_seconds": 2869500, "layover_duration": "PT16D22H0M", "layover_duration_seconds": 1461600, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T05:40:00", "arrival_timing_slot": "evening", "arrival_departure_time": "2026-07-08T19:30:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080540doh202607080550106125doh202607080900bcn20260708144014525bcn202607081740ory202607081930801625", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-43", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-43", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT18H55M", "transit_time": "17D7H15M", "routes": [ { "air_segment_key": "0-43", "origin": "SHJ", "departure_time": "2026-07-08T05:40:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T05:50:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1061 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-43", "origin": "DOH", "departure_time": "2026-07-08T09:00:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T14:40:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT03H10M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 145 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 145 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-43", "origin": "BCN", "departure_time": "2026-07-08T20:45:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "ORY", "arrival_time": "2026-07-08T22:35:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-08", "flight_time": "PT1H50M", "distance": 513, "lay_over": "PT06H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8020 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3604 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "W", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#43", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-08", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-08", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-43", "price": 586.62, "journey_duration": "PT34D0H0M", "journey_duration_seconds": 2937600, "layover_duration": "PT17D7H15M", "layover_duration_seconds": 1494900, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "early-morning", "departure_departure_time": "2026-07-08T05:40:00", "arrival_timing_slot": "night", "arrival_departure_time": "2026-07-08T22:35:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607080540doh202607080550106125doh202607080900bcn20260708144014525bcn202607082045ory202607082235802025", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-44", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-44", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT25H25M", "transit_time": "17D23H0M", "routes": [ { "air_segment_key": "0-44", "origin": "SHJ", "departure_time": "2026-07-08T11:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T11:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-44", "origin": "DOH", "departure_time": "2026-07-08T15:35:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T21:15:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT04H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-44", "origin": "BCN", "departure_time": "2026-07-09T08:55:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "ORY", "arrival_time": "2026-07-09T10:45:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H50M", "distance": 513, "lay_over": "PT11H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8002 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3656 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "Q", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#44", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-44", "price": 586.62, "journey_duration": "PT35D1H25M", "journey_duration_seconds": 3029100, "layover_duration": "PT17D23H0M", "layover_duration_seconds": 1551600, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-08T11:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T10:45:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081120doh202607081130103925doh202607081535bcn20260708211514125bcn202607090855ory202607091045800225", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-45", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-45", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT22H55M", "transit_time": "18D12H10M", "routes": [ { "air_segment_key": "0-45", "origin": "SHJ", "departure_time": "2026-07-08T11:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T11:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-45", "origin": "DOH", "departure_time": "2026-07-08T15:35:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T21:15:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT04H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-45", "origin": "BCN", "departure_time": "2026-07-09T06:20:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "ORY", "arrival_time": "2026-07-09T08:15:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H55M", "distance": 513, "lay_over": "PT09H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "32A", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8000 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3793 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "O", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#45", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-45", "price": 586.62, "journey_duration": "PT36D0H20M", "journey_duration_seconds": 3111600, "layover_duration": "PT18D12H10M", "layover_duration_seconds": 1599000, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-08T11:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T08:15:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081120doh202607081130103925doh202607081535bcn20260708211514125bcn202607090620ory202607090815800025", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-46", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-46", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT22H25M", "transit_time": "19D0H55M", "routes": [ { "air_segment_key": "0-46", "origin": "SHJ", "departure_time": "2026-07-08T14:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T14:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-46", "origin": "DOH", "departure_time": "2026-07-08T15:35:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T21:15:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT01H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-46", "origin": "BCN", "departure_time": "2026-07-09T08:55:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "ORY", "arrival_time": "2026-07-09T10:45:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H50M", "distance": 513, "lay_over": "PT11H40M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8002 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3656 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "Q", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#46", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-46", "price": 586.62, "journey_duration": "PT36D22H45M", "journey_duration_seconds": 3192300, "layover_duration": "PT19D0H55M", "layover_duration_seconds": 1644900, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-08T14:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T10:45:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081420doh202607081430106325doh202607081535bcn20260708211514125bcn202607090855ory202607091045800225", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-47", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-47", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT19H55M", "transit_time": "19D11H5M", "routes": [ { "air_segment_key": "0-47", "origin": "SHJ", "departure_time": "2026-07-08T14:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T14:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1063 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-47", "origin": "DOH", "departure_time": "2026-07-08T15:35:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T21:15:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT01H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 9, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-47", "origin": "BCN", "departure_time": "2026-07-09T06:20:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "ORY", "arrival_time": "2026-07-09T08:15:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H55M", "distance": 513, "lay_over": "PT09H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "32A", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8000 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3793 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "O", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#47", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-47", "price": 586.62, "journey_duration": "PT37D18H40M", "journey_duration_seconds": 3264000, "layover_duration": "PT19D11H5M", "layover_duration_seconds": 1681500, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "afternoon", "departure_departure_time": "2026-07-08T14:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T08:15:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081420doh202607081430106325doh202607081535bcn20260708211514125bcn202607090620ory202607090815800025", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-48", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-48", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT15H50M", "transit_time": "19D17H15M", "routes": [ { "air_segment_key": "0-48", "origin": "SHJ", "departure_time": "2026-07-08T21:35:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-48", "origin": "DOH", "departure_time": "2026-07-09T01:50:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-09T07:30:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-09", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT04H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 137 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 137 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-48", "origin": "BCN", "departure_time": "2026-07-09T09:35:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "ORY", "arrival_time": "2026-07-09T11:25:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H50M", "distance": 513, "lay_over": "PT02H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8006 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3737 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "O", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#48", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-48", "price": 586.62, "journey_duration": "PT38D10H30M", "journey_duration_seconds": 3321000, "layover_duration": "PT19D17H15M", "layover_duration_seconds": 1703700, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "night", "departure_departure_time": "2026-07-08T21:35:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T11:25:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607082135doh202607082145103525doh202607090150bcn20260709073013725bcn202607090935ory202607091125800625", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-49", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-49", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT16H15M", "transit_time": "19D23H50M", "routes": [ { "air_segment_key": "0-49", "origin": "SHJ", "departure_time": "2026-07-08T21:35:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T21:45:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1035 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-49", "origin": "DOH", "departure_time": "2026-07-09T01:50:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-09T07:30:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-09", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT04H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 137 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 137 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-49", "origin": "BCN", "departure_time": "2026-07-09T10:00:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "ORY", "arrival_time": "2026-07-09T11:50:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H50M", "distance": 513, "lay_over": "PT02H30M", "lay_over_date": "not-applicable", "aircraft": { "code": "32A", "name": "32A", "picture": "32A.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8004 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3568 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "O", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 586.62, "gross_total": 586.62, "base_fare": 445, "tax": 141.62, "sell": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTg2LjYyLCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDEuNjJ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42MiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1ODYuNjIsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0MS42Mn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 586.62, "base_fare": 445, "tax": 141.62, "gross": { "base_fare": "445.00", "tax": "141.62", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "74.98" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU4Ni42MiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0MS42MiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1ODYuNjIsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI3NC45OCJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjguNzQsInRheEluZm8iOiJERVBBUlRVUkUgQ0hBUkdFIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiUVYzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjIuMzksInRheEluZm8iOiJTRUNVUklUWSBUQVgifSx7ImNvZGUiOiJZUUYiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MzguNDQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBGVUVMIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#49", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 586.62, "calendar_total_sell": 586.62, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 586.62, "filter": { "id": "F1SE00001-49", "price": 586.62, "journey_duration": "PT39D2H45M", "journey_duration_seconds": 3379500, "layover_duration": "PT19D23H50M", "layover_duration_seconds": 1727400, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "night", "departure_departure_time": "2026-07-08T21:35:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T11:50:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607082135doh202607082145103525doh202607090150bcn20260709073013725bcn202607091000ory202607091150800425", "destination_reach_time": "PT", "destination_reach_timestamp": null }, { "tracking_id": "11177807309803210YPZRJ", "flight_key": "F1SE00001-50", "journey_type": "OneWay", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Sabre DY1K", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "flight_group": [ { "group": 1, "flight_key": "F1SE00001-50", "get_branded_fare": "no", "no_of_stops_title": "2 Stop Flight", "no_of_stops": 2, "flight_time": "PT26H05M", "transit_time": "20D16H15M", "routes": [ { "air_segment_key": "0-50", "origin": "SHJ", "departure_time": "2026-07-08T11:20:00", "origin_terminal": null, "origin_airport": { "name": "Sharjah International Airport", "city": "Sharjah", "country": "United Arab Emirates", "timezone": "Asia\/Dubai" }, "destination": "DOH", "arrival_time": "2026-07-08T11:30:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-07-08", "flight_time": "PT1H10M", "distance": 240, "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 1039 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "1-50", "origin": "DOH", "departure_time": "2026-07-08T15:35:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "BCN", "arrival_time": "2026-07-08T21:15:00", "destination_terminal": "1", "destination_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "flight_date": "2026-07-08", "flight_time": "PT6H40M", "distance": 3024, "lay_over": "PT04H05M", "lay_over_date": "not-applicable", "aircraft": { "code": "789", "name": "789", "picture": "789.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 141 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "N", "meal_code": "M", "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } }, { "air_segment_key": "2-50", "origin": "BCN", "departure_time": "2026-07-09T09:35:00", "origin_terminal": "1", "origin_airport": { "name": "Barcelona-El Prat Airport", "city": "Barcelona", "country": "Spain", "timezone": "Europe\/Madrid" }, "destination": "ORY", "arrival_time": "2026-07-09T11:25:00", "destination_terminal": "1", "destination_airport": { "name": "Paris Orly Airport", "city": "Paris", "country": "France", "timezone": "Europe\/Paris" }, "flight_date": "2026-07-09", "flight_time": "PT1H50M", "distance": 513, "lay_over": "PT12H20M", "lay_over_date": "not-applicable", "aircraft": { "code": "320", "name": "320", "picture": "320.png" }, "operating": { "carrier": "VY", "carrier_name": "Vueling Airlines", "carrier_logo": "VY.png", "flight_number": 8006 }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": 3737 }, "ghostSegment": [], "baggages": { "checked": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": null, "weight": 25, "unit": "kg", "title": "25 kg", "short_info": null, "details_info": null } }, "carry_on": { "ADT": { "ptc_title": "Adult", "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } }, "booking_class": { "cabin_class": "Economy", "cabin_code": "Y", "booking_code": "O", "meal_code": null, "seat_available": 4, "fareBasisCode": "NHR3R1RI", "matchedAccountCode": null, "negotiatedFare": null, "privateFare": null, "brandName": null, "brand_code": null, "ptc_type": null, "Pax_FareBasis": { "FareBasis": [ "NHR3R1RI" ] } } } ] } ], "price": { "currency": "EUR", "total": 593.46, "gross_total": 593.46, "base_fare": 445, "tax": 148.46, "sell": { "currency": "EUR", "total": 593.46, "base_fare": 445, "tax": 148.46 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6NTkzLjQ2LCJiYXNlX2ZhcmUiOjQ0NSwidGF4IjoxNDguNDZ9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTMuNDYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0OC40NiwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkVVUiIsInRvdGFsIjo1OTMuNDYsImJhc2VfZmFyZSI6NDQ1LCJ0YXgiOjE0OC40Nn19", "price_breakdown": [ { "passenger_id": "1", "supplier_pax_id": "1", "passenger_type": "ADT", "primary_ptc": "ADT", "ptc_title": "Adult", "passenger_total": 1, "pax_calculate_type": "yes", "comission_type": "", "comission_value": "", "currency": "EUR", "total": 593.46, "base_fare": 445, "tax": 148.46, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "445.00", "tax": "148.46", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "EUR", "total": 593.46, "base_fare": 445, "tax": 148.46, "gross": { "base_fare": "445.00", "tax": "148.46", "discount": "0.00", "ait": "0.00", "service_charge": 0 }, "taxBreakdown": { "BD": { "title": "BD -Embarkation Fee (Domestic\/International)", "amount": "0.00" }, "UT": { "title": "UT - Foreign Air Travel Tax (FATT)", "amount": "0.00" }, "E5": { "title": "E5 - Value Added Tax on Embarkation Fees", "amount": "0.00" }, "YQ": { "title": "YQ \u2013 Carrier-Imposed Surcharge\/Fuel Surcharge", "amount": "38.44" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "28.20" }, "Other": { "title": "Others taxes", "amount": "81.82" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5My40NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0OC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0OC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5My40NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0OC40NiIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0OC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJFVVIiLCJ0b3RhbCI6IjU5My40NiIsImJhc2VfZmFyZSI6IjQ0NS4wMCIsInRheCI6IjE0OC40NiIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo1OTMuNDYsInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIzOC40NCJ9LCJZUiI6eyJhbW91bnQiOiIyOC4yMCJ9LCJPdGhlciI6eyJhbW91bnQiOiI4MS44MiJ9LCJzdXBwbGllclRheERhdGEiOlt7ImNvZGUiOiJBRTQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTcuNDUsInRheEluZm8iOiJQQVNTRU5HRVIgU0VSVklDRSBDSEFSR0UgSU5URVJOQVRJT05BTCJ9LHsiY29kZSI6IkY2MiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxMS42MywidGF4SW5mbyI6IlBBU1NFTkdFUiBGQUNJTElUSUVTIENIQVJHRSJ9LHsiY29kZSI6IlRQIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEuMTcsInRheEluZm8iOiJQQVNTRU5HRVIgU0VDVVJJVFkgQU5EIFNBRkVUWSBGRUUifSx7ImNvZGUiOiJaUjIiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MS4xNywidGF4SW5mbyI6IklOVEVSTkFUSU9OQUwgQURWQU5DRUQgUEFTU0VOR0VSIElORk9STUFUSU9OIEZFRSBERVBBUlRVUkVTIn0seyJjb2RlIjoiRzQiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJQQVNTRU5HRVIgRkFDSUxJVFkgQ0hBUkdFIFBGQyJ9LHsiY29kZSI6IlBaMiIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoxLjI5LCJ0YXhJbmZvIjoiUEFTU0VOR0VSIFNFUlZJQ0UgQ0hBUkdFIEFSUklWQUxTIn0seyJjb2RlIjoiUUEiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MTQuMDgsInRheEluZm8iOiJBSVJQT1JUIEZFRSBJTlRFUk5BVElPTkFMIn0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6Mi4zNSwidGF4SW5mbyI6IlBBU1NFTkdFUiBTQUZFVFkgQU5EIFNFQ1VSSVRZIEZFRSBQU1NGIn0seyJjb2RlIjoiT0ciLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6MC42MywidGF4SW5mbyI6IkFWSUFUSU9OIFNBRkVUWSBBTkQgU0VDVVJJVFkgRkVFIn0seyJjb2RlIjoiSkQzIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjEzLjk4LCJ0YXhJbmZvIjoiREVQQVJUVVJFIENIQVJHRSJ9LHsiY29kZSI6IlFWMyIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjozLjk5LCJ0YXhJbmZvIjoiU0VDVVJJVFkgVEFYIn0seyJjb2RlIjoiWVFGIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjM4LjQ0LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgRlVFTCJ9LHsiY29kZSI6IllSSSIsImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50Ijo5LjQsInRheEluZm8iOiJTRVJWSUNFIEZFRSAtIENBUlJJRVItSU1QT1NFRCBNSVNDIn0seyJjb2RlIjoiWVJJIiwiY3VycmVuY3kiOiJFVVIiLCJhbW91bnQiOjkuNCwidGF4SW5mbyI6IlNFUlZJQ0UgRkVFIC0gQ0FSUklFUi1JTVBPU0VEIE1JU0MifSx7ImNvZGUiOiJZUkkiLCJjdXJyZW5jeSI6IkVVUiIsImFtb3VudCI6OS40LCJ0YXhJbmZvIjoiU0VSVklDRSBGRUUgLSBDQVJSSUVSLUlNUE9TRUQgTUlTQyJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "promo_title": null, "promo_rules": "Private Fare", "brandCode": "OPTION#50", "brandName": "Option", "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 0, "data": [ { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "prior_to_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "cancel", "canCancel": true, "forSegment": null, "applied": "after_departure", "amount": 201, "currency": "EUR", "fmg": { "amount": 201, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 201 }, "supplier": { "amount": 201, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "prior_to_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } }, { "type": "change", "canChanges": true, "forSegment": null, "applied": "after_departure", "amount": 107, "currency": "EUR", "fmg": { "amount": 107, "currency": "EUR", "penalty_markup": 0, "penalty_exchange_rate": 107 }, "supplier": { "amount": 107, "currency": "EUR" } } ] } ] }, "get_pax_ptc_data": { "ADT": "ADT" }, "fare_rules": { "refundable": "partially-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-07-08-2026-07-09", "calendar_flight_date": "2026-07-08", "calendar_arrival_date": "2026-07-09", "calendar_carrier": "QR", "calendar_total_currency": "EUR", "calendar_total_price": 593.46, "calendar_total_sell": 593.46, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 593.46, "filter": { "id": "F1SE00001-50", "price": 593.46, "journey_duration": "PT40D4H50M", "journey_duration_seconds": 3473400, "layover_duration": "PT20D16H15M", "layover_duration_seconds": 1786500, "carrier_operating": "QR", "carrier_marketing": "QR", "aircraft": "320", "aircraft_name": "320", "cabin_class": "Economy", "connecting_airport": { "": "DOH", "12": "AMM", "14": "BCN", "22": "LHR", "36": "DEL", "44": "CAI", "47": "ADD", "51": "SAW" }, "total_segment_count": 3, "no_of_stops": 2, "departure_timing_slot": "morning", "departure_departure_time": "2026-07-08T11:20:00", "arrival_timing_slot": "morning", "arrival_departure_time": "2026-07-09T11:25:00", "refund": "partially-refundable", "baggage_value": "kg", "baggage_unit": "25", "baggage_title": "25 kg" }, "filter_unique_filter_code": "shj202607081120doh202607081130103925doh202607081535bcn20260708211514125bcn202607090935ory202607091125800625", "destination_reach_time": "PT", "destination_reach_timestamp": null } ], "cache": { "status": null, "reason": null }, "search_parameter": { "journey_type": "OneWay", "segment": [ { "departure_airport_type": "AIRPORT", "departure_airport": "SHJ", "arrival_airport_type": "CITY", "arrival_airport": "PAR", "departure_date": "2026-07-08", "departure_time": "anytime", "departure_time_within": "anytime", "booking_class": "Economy", "stop": "any", "alliance": { "include": [], "exclude": [] }, "country": { "include": [], "exclude": [] }, "airlines": { "include": [], "exclude": [] } } ], "travelers_adult": 1, "travelers_child": 0, "travelers_child_age": [], "travelers_infants": 0, "travelers_infants_age": [], "fare_type": [], "fare_option": { "code": "ethnic_fare" }, "content_type": "all_content", "ptc_option": [], "agency_ethnic_list": [], "preferred_carrier": [], "non_stop_flight": "any", "baggage_option": "any", "booking_class": "Economy", "supplier_uid": "F1SE00001", "partner_id": "1", "language": "en", "short_ref": "661b0d8db1c86bec289f3dad2d151304bb94e71a498b3b53c282e590f1a9688b", "version": 1, "team_profile": [ null ], "RefundableOnly": false, "BestFareOnly": false }, "advanced_search": { "SR_fare_option": { "code": "ethnic_fare" }, "SR_ptc_option": [], "Count_PTC_RQ": 2, "FareFamily_PTC_Data": { "1": { "Id": "1", "timestamp_created": "1778049274", "timestamp_updated": "1778070769", "ftm_partner_id": "1", "supplier_type": "FLIGHT", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "supplier_title": "Sabre DY1K", "category": "PTC", "fare_type": "XXX", "title": "WPPLBR\/LNN\/LIF\u00a5PV", "airlines_name": "", "airlines_code": "TK", "account_code": "", "ptc_adt": "LBR", "ptc_cnn": "LNN", "ptc_inf": "LIF", "ptc_display": "", "status": "active", "expire_timestamp": "1809554400", "isPrivateFare": "yes", "coporate_code": "", "isNegotiatedFare": "no", "display_admin": "yes", "notes": "", "remark": "", "nego_ethnic": "yes", "show_agency_ethnic_fare": "yes", "forceSendAccountCode": "0" }, "4": { "Id": "4", "timestamp_created": "1778072855", "timestamp_updated": "1778072855", "ftm_partner_id": "1", "supplier_type": "FLIGHT", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "supplier_title": "Sabre DY1K", "category": "PTC", "fare_type": "XXX", "title": "PTC - EY", "airlines_name": null, "airlines_code": "EY", "account_code": "", "ptc_adt": "VFR", "ptc_cnn": "VFN", "ptc_inf": "VFF", "ptc_display": null, "status": "active", "expire_timestamp": "1811368800", "isPrivateFare": "yes", "coporate_code": "", "isNegotiatedFare": "no", "display_admin": "yes", "notes": "", "remark": "", "nego_ethnic": "yes", "show_agency_ethnic_fare": "yes", "forceSendAccountCode": "0" } }, "DefinePTC_ADT": "ADT", "DefinePTC_CNN": "CNN", "DefinePTC_INF": "INF", "IS_brand": "no", "IS_public": "no", "IS_private": "no", "FareFamily_Account_Data": { "2": { "Id": "2", "timestamp_created": "1778071726", "timestamp_updated": "1778071764", "ftm_partner_id": "1", "supplier_type": "FLIGHT", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "supplier_title": "Sabre DY1K", "category": "ACCOUNT-CODE", "fare_type": "XXX", "title": "VFN2", "airlines_name": "", "airlines_code": "EK", "account_code": "VFN2", "ptc_adt": "VFR", "ptc_cnn": "VFN", "ptc_inf": "VFF", "ptc_display": "", "status": "active", "expire_timestamp": "1810072800", "isPrivateFare": "yes", "coporate_code": "", "isNegotiatedFare": "no", "display_admin": "yes", "notes": "", "remark": "", "nego_ethnic": "yes", "show_agency_ethnic_fare": "yes", "forceSendAccountCode": "0" }, "3": { "Id": "3", "timestamp_created": "1778071858", "timestamp_updated": "1778072723", "ftm_partner_id": "1", "supplier_type": "FLIGHT", "supplier_code": "sabre", "supplier_uid": "F1SE00001", "supplier_partner_code": "sabre-1-00001", "supplier_title": "Sabre DY1K", "category": "ACCOUNT-CODE", "fare_type": "XXX", "title": "VFR23", "airlines_name": "", "airlines_code": "EY", "account_code": "VFR23", "ptc_adt": "VFR", "ptc_cnn": "VFN", "ptc_inf": "VFF", "ptc_display": "", "status": "active", "expire_timestamp": "1810764000", "isPrivateFare": "yes", "coporate_code": "", "isNegotiatedFare": "no", "display_admin": "yes", "notes": "", "remark": "", "nego_ethnic": "yes", "show_agency_ethnic_fare": "yes", "forceSendAccountCode": "0" } } }, "SearchDataHash": null }