{ "status": "success", "price_change": "up", "tracking_id": "701176883662920398FZNLT", "booking_tracking_id": "7011768836777203984DAZJ", "flight_key": null, "search_price": { "currency": "GBP", "amount": 592.89 }, "validation_price": { "currency": "GBP", "amount": 617.89 }, "data": { "tracking_id": "7011768836777203984DAZJ", "flight_key": "F69TT00035-0", "journey_type": "RoundTrip", "result_type": "general", "get_branded_fare": "no", "hold_possible": "yes", "supplier_title": "Travelport UK pol", "color_code": "#ffffff", "supplier_code": "travelport", "supplier_uid": "F69TT00035", "supplier_partner_code": "travelport-69-00035", "info_message": null, "tp_trace_id": "701176883662920398FZNLT", "Session_Key": "7ff12e53-5692-4422-a89d-5f9ba4ce822d", "FlightTrackingID": 0, "search_parameter": { "journey_type": "RoundTrip", "segment": [ { "departure_airport_type": "AIRPORT", "departure_airport": "LHR", "arrival_airport_type": "AIRPORT", "arrival_airport": "JNB", "departure_date": "2026-02-22", "arrival_date": "" }, { "departure_airport_type": "AIRPORT", "departure_airport": "JNB", "arrival_airport_type": "AIRPORT", "arrival_airport": "LHR", "departure_date": "2026-03-31", "arrival_date": "" } ], "travelers_adult": 1, "travelers_child": 0, "travelers_child_age": [], "travelers_infants": 0, "travelers_infants_age": [], "fare_type": null, "fare_option": null, "content_type": null, "ptc_option": null, "agency_ethnic_list": null, "preferred_carrier": [], "non_stop_flight": "any", "baggage_option": "any", "booking_class": "Economy", "supplier_uid": "all", "partner_id": "70", "language": "en", "short_ref": "8ee565700309298410cba14a43bba8c6a38a60d1315027ec2b7d967be4333a62", "version": null, "team_profile": null }, "pax_options": { "doc_required": "yes", "pax_dob_required": "yes", "seat_selection": "disable", "meal_selection": "disable", "baggage_selection": "disable", "passport_scan_selection": "active", "pax_search_selection": "active", "frequent_flyer_selection": "active", "wheelchair_selection": "active", "pax_email_contact_selection": "active", "pax_save_option": "active", "terms_selection": "check", "cancellation_selection": "check", "flight_type": "international" }, "flight_group": [ { "group": 1, "flight_key": "F69TT00035-0", "no_of_stops_title": "Direct Flight", "no_of_stops": 0, "flight_time": "PT11H10M", "transit_time": null, "routes": [ { "air_segment_key": "YnslDvMEuDKAS1GpdQAAAA==", "origin": "LHR", "departure_time": "2026-02-22T21:15:00.000+00:00", "origin_terminal": "5", "origin_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "destination": "JNB", "arrival_time": "2026-02-23T10:25:00.000+02:00", "destination_terminal": "A", "destination_airport": { "name": "O.R. Tambo International Airport", "city": "Johannesburg", "country": "South Africa", "timezone": "Africa\/Johannesburg" }, "flight_date": "2026-02-22", "flight_time": "PT11H10M", "distance": "5631", "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "388", "name": "388", "picture": "388.png" }, "operating": { "carrier": "BA", "carrier_name": "British Airways", "carrier_logo": "BA.png", "flight_number": "57" }, "marketing": { "carrier": "BA", "carrier_name": "British Airways", "carrier_logo": "BA.png", "flight_number": "57" }, "booking_class": { "cabin_class": "Economy", "cabin_code": "O", "booking_code": "O", "meal_code": "Meal", "seat_available": null, "FareInfoRef": null, "FareRuleKey": null }, "baggages": { "checked": { "ADT": { "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": "1", "weight": null, "unit": "pieces", "title": "1 pieces" } }, "carry_on": { "ADT": { "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } } } ] }, { "group": 1, "flight_key": "F69TT00035-0", "no_of_stops_title": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT16H40M", "transit_time": "0H55M", "routes": [ { "air_segment_key": "YnslDvMEuDKAY1GpdQAAAA==", "origin": "JNB", "departure_time": "2026-03-31T14:45:00.000+02:00", "origin_terminal": "A", "origin_airport": { "name": "O.R. Tambo International Airport", "city": "Johannesburg", "country": "South Africa", "timezone": "Africa\/Johannesburg" }, "destination": "DOH", "arrival_time": "2026-04-01T00:05:00.000+03:00", "destination_terminal": null, "destination_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "flight_date": "2026-03-31", "flight_time": "PT8H20M", "distance": "3878", "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "351", "name": "351", "picture": "351.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": "1364" }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": "6195" }, "booking_class": { "cabin_class": "Economy", "cabin_code": "O", "booking_code": "O", "meal_code": "Meal", "seat_available": null, "FareInfoRef": null, "FareRuleKey": null }, "baggages": { "checked": { "ADT": { "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": "1", "weight": null, "unit": "pieces", "title": "1 pieces" } }, "carry_on": { "ADT": { "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } } }, { "air_segment_key": "YnslDvMEuDKAa1GpdQAAAA==", "origin": "DOH", "departure_time": "2026-04-01T01:00:00.000+03:00", "origin_terminal": null, "origin_airport": { "name": "Hamad International Airport", "city": "Doha", "country": "Qatar", "timezone": "Asia\/Qatar" }, "destination": "LHR", "arrival_time": "2026-04-01T06:25:00.000+01:00", "destination_terminal": "4", "destination_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "flight_date": "2026-03-31", "flight_time": "PT7H25M", "distance": "3246", "lay_over": "PT00H55M", "lay_over_date": "2026-04-01", "aircraft": { "code": "388", "name": "388", "picture": "388.png" }, "operating": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": "11" }, "marketing": { "carrier": "QR", "carrier_name": "Qatar Airways", "carrier_logo": "QR.png", "flight_number": "2364" }, "booking_class": { "cabin_class": "Economy", "cabin_code": "O", "booking_code": "O", "meal_code": "Meal", "seat_available": null, "FareInfoRef": null, "FareRuleKey": null }, "baggages": { "checked": { "ADT": { "passenger_type": "ADT", "baggage_type": "checked", "pieceCount": "1", "weight": null, "unit": "pieces", "title": "1 pieces" } }, "carry_on": { "ADT": { "passenger_type": "ADT", "baggage_type": "carry_on", "pieceCount": 1, "weight": null, "unit": "pieces", "title": "1 pieces" } } } } ] } ], "price": { "currency": "GBP", "total": 617.89, "gross_total": 617.89, "base_fare": 151, "tax": 466.89, "sell": { "currency": "GBP", "total": 617.89, "base_fare": 151, "tax": 466.89 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJHQlAiLCJ0b3RhbCI6NjE3Ljg5LCJiYXNlX2ZhcmUiOjE1MSwidGF4Ijo0NjYuODl9LCJzdXBwbGllciI6eyJjdXJyZW5jeSI6IkdCUCIsInRvdGFsIjo2MTcuODksImJhc2VfZmFyZSI6MTUxLCJ0YXgiOjQ2Ni44OSwiY29taXNzaW9uX3R5cGUiOiJnZW5lcmFsIiwiY29taXNzaW9uX3ZhbHVlIjowfSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkdCUCIsInRvdGFsIjo2MTcuODksImJhc2VfZmFyZSI6MTUxLCJ0YXgiOjQ2Ni44OX19", "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": "GBP", "total": 617.89, "base_fare": 151, "tax": 466.89, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "151.00", "tax": "466.89", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "GBP", "total": 617.89, "base_fare": 151, "tax": 466.89, "gross": { "base_fare": "151.00", "tax": "466.89", "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": "254.80" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "14.00" }, "Other": { "title": "Others taxes", "amount": "198.09" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJHQlAiLCJ0b3RhbCI6IjYxNy44OSIsImJhc2VfZmFyZSI6IjE1MS4wMCIsInRheCI6IjQ2Ni44OSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE1MS4wMCIsInRheCI6IjQ2Ni44OSIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAifSwiY29uZmlnIjp7Im1hcmt1cF90eXBlIjpudWxsLCJtYXJrdXBfdGl0bGUiOm51bGwsInJldmVudWUiOiIwLjAwIiwidGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJ0b3RhbF90aWNrZXRfaXNzdWVfY2hhcmdlIjoiMC4wMCIsImN1cnJlbmN5RXhjaGFuZ2VSYXRlIjoiMS4wMCIsIkZNR19PdmVyd3JpdGVSdWxlcyI6W119fSwic3VwcGxpZXIiOnsiY3VycmVuY3kiOiJHQlAiLCJ0b3RhbCI6IjYxNy44OSIsImJhc2VfZmFyZSI6IjE1MS4wMCIsInRheCI6IjQ2Ni44OSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjE1MS4wMCIsInRheCI6IjQ2Ni44OSIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6MCwicGVyX3NlZ21lbnRfZGlzY291bnQiOjAsInNlZ21lbnRfZGlzY291bnQiOiIwLjAwIiwic3VwcGxpZXJfc2VnbWVudF9mZWVzQ2FsY3VsYXRlIjpudWxsLCJzZWdtZW50X2Rpc2NvdW50X2FjY291bnRQdXJwb3NlIjpudWxsfX0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJHQlAiLCJ0b3RhbCI6IjYxNy44OSIsImJhc2VfZmFyZSI6IjE1MS4wMCIsInRheCI6IjQ2Ni44OSIsImRpc2NvdW50IjoiMC4wMCIsImFpdCI6IjAuMDAiLCJzZXJ2aWNlX2NoYXJnZSI6IjAuMDAiLCJwYXlhYmxlIjo2MTcuODksInRheEJyZWFrZG93biI6eyJCRCI6eyJhbW91bnQiOiIwLjAwIn0sIlVUIjp7ImFtb3VudCI6IjAuMDAifSwiRTUiOnsiYW1vdW50IjoiMC4wMCJ9LCJZUSI6eyJhbW91bnQiOiIyNTQuODAifSwiWVIiOnsiYW1vdW50IjoiMTQuMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMTk4LjA5In0sInN1cHBsaWVyVGF4RGF0YSI6W3siY29kZSI6IkdCIiwiY3VycmVuY3kiOiJHQlAiLCJhbW91bnQiOiI5NC4wMCIsInRheEluZm8iOiJZbnNsRHZNRXVES0FvMUdwZFFBQUFBPT0ifSx7ImNvZGUiOiJVQiIsImN1cnJlbmN5IjoiR0JQIiwiYW1vdW50IjoiNTAuNzkiLCJ0YXhJbmZvIjoiWW5zbER2TUV1REtBcDFHcGRRQUFBQT09In0seyJjb2RlIjoiRVYiLCJjdXJyZW5jeSI6IkdCUCIsImFtb3VudCI6IjEuNTAiLCJ0YXhJbmZvIjoiWW5zbER2TUV1REtBcTFHcGRRQUFBQT09In0seyJjb2RlIjoiVU0iLCJjdXJyZW5jeSI6IkdCUCIsImFtb3VudCI6IjEuMjAiLCJ0YXhJbmZvIjoiWW5zbER2TUV1REtBcjFHcGRRQUFBQT09In0seyJjb2RlIjoiV0MiLCJjdXJyZW5jeSI6IkdCUCIsImFtb3VudCI6IjguNzAiLCJ0YXhJbmZvIjoiWW5zbER2TUV1REtBczFHcGRRQUFBQT09In0seyJjb2RlIjoiWkEiLCJjdXJyZW5jeSI6IkdCUCIsImFtb3VudCI6IjE0LjIwIiwidGF4SW5mbyI6Illuc2xEdk1FdURLQXQxR3BkUUFBQUE9PSJ9LHsiY29kZSI6Ikc0IiwiY3VycmVuY3kiOiJHQlAiLCJhbW91bnQiOiIxMi4zMCIsInRheEluZm8iOiJZbnNsRHZNRXVES0F1MUdwZFFBQUFBPT0ifSx7ImNvZGUiOiJQWiIsImN1cnJlbmN5IjoiR0JQIiwiYW1vdW50IjoiMS4xMCIsInRheEluZm8iOiJZbnNsRHZNRXVES0F2MUdwZFFBQUFBPT0ifSx7ImNvZGUiOiJRQSIsImN1cnJlbmN5IjoiR0JQIiwiYW1vdW50IjoiMTIuMzAiLCJ0YXhJbmZvIjoiWW5zbER2TUV1REtBdzFHcGRRQUFBQT09In0seyJjb2RlIjoiUjkiLCJjdXJyZW5jeSI6IkdCUCIsImFtb3VudCI6IjIuMDAiLCJ0YXhJbmZvIjoiWW5zbER2TUV1REtBeDFHcGRRQUFBQT09In0seyJjb2RlIjoiWVEiLCJjdXJyZW5jeSI6IkdCUCIsImFtb3VudCI6IjI1NC44MCIsInRheEluZm8iOiJZbnNsRHZNRXVES0F5MUdwZFFBQUFBPT0ifSx7ImNvZGUiOiJZUiIsImN1cnJlbmN5IjoiR0JQIiwiYW1vdW50IjoiMTQuMDAiLCJ0YXhJbmZvIjoiWW5zbER2TUV1REtBejFHcGRRQUFBQT09In1dfX0sImRpc2NvdW50X2NvbWlzc2lvbl90aXRsZSI6bnVsbCwiZGlzY291bnRfY29taXNzaW9uX3JhdGlvIjowLCJkeW5hbWljX21hcmt1cF90eXBlIjpudWxsLCJkeW5hbWljX21hcmt1cF90aXRsZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfcmF0aW8iOm51bGwsImFwcGxpY2FibGVfY29taXNzaW9uIjpudWxsLCJhcHBsaWNhYmxlX2R5bmFtaWNfbWFya3VwIjpudWxsfQ==" } ] }, "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 461.61, "data": [ { "type": "change", "forSegment": null, "applied": "prior_to_departure", "amount": 150, "currency": "GBP", "fmg": { "amount": 150, "currency": "USD", "penalty_markup": 0, "penalty_exchange_rate": 150 }, "supplier": { "amount": "150.00", "currency": "GBP" } }, { "type": "cancel", "forSegment": null, "applied": "prior_to_departure", "amount": 461.61, "currency": "GBP", "fmg": { "amount": 461.61, "currency": "USD", "penalty_markup": 0, "penalty_exchange_rate": 461.61 }, "supplier": { "amount": 617.89, "currency": "USD" } } ] } ] }, "get_pax_ptc_data": null, "fare_rules": { "refundable_data": null, "refundable": "non-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-02-22-2026-04-01", "calendar_flight_date": "2026-02-22", "calendar_arrival_date": "2026-04-01", "calendar_carrier": "BA", "calendar_total_currency": "GBP", "calendar_total_price": 617.89, "calendar_total_sell": 617.89, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 617.89, "filter": { "id": "F69TT00035-0", "price": 617.89, "gross_total": 617.89, "journey_duration": "PT1D3H50M", "journey_duration_seconds": 100200, "layover_duration": "PT0H55M", "layover_duration_seconds": 3300, "carrier_operating": "BA", "carrier_marketing": "BA", "aircraft": "388", "aircraft_name": "388", "cabin_class": "Economy", "connecting_airport": [ "DOH" ], "total_segment_count": 3, "no_of_stops": [ { "group": 1, "no_of_stops": 0 }, { "group": 2, "no_of_stops": 1 } ], "departure_timing_slot": "night", "departure_departure_time": "2026-02-22T21:15:00.000+00:00", "arrival_timing_slot": "early-morning", "arrival_departure_time": "2026-04-01T06:25:00.000+01:00", "refund": "non-refundable", "baggage_value": "pieces", "baggage_unit": "1", "baggage_title": "1 pieces" }, "filter_unique_filter_code": "lhr202602222115jnb20260223102557jnb202603311445doh2026040100051364doh202604010100lhr20260401062511", "destination_reach_time": "PT", "destination_reach_timestamp": null } }