{ "status": "success", "price_change": "no-change", "tracking_id": "701177411428420398KKT4L", "booking_tracking_id": "701177411434420398MX29A", "flight_key": null, "search_price": { "currency": "GBP", "amount": 476.29 }, "validation_price": { "currency": "GBP", "amount": 476.29 }, "data": { "tracking_id": "701177411434420398MX29A", "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": "701177411428420398KKT4L", "Session_Key": "5f14ab0f-c7ce-43f4-95c9-76a2a0cf2f43", "FlightTrackingID": 0, "search_parameter": { "journey_type": "RoundTrip", "segment": [ { "departure_airport_type": "AIRPORT", "departure_airport": "ABV", "arrival_airport_type": "AIRPORT", "arrival_airport": "LHR", "departure_date": "2026-04-01", "arrival_date": "" }, { "departure_airport_type": "AIRPORT", "departure_airport": "LHR", "arrival_airport_type": "AIRPORT", "arrival_airport": "ABV", "departure_date": "2026-04-19", "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": "d9a76d06bab8c3f11628d8cd745871366f505ef49cd9e0fd62f651cdd232b100", "version": null, "team_profile": null, "RefundableOnly": false, "BestFareOnly": false }, "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": "disable", "wheelchair_selection": "disable", "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": "1 Stop Flight", "no_of_stops": 1, "flight_time": "PT10H50M", "transit_time": "2H55M", "routes": [ { "air_segment_key": "lJMefzEHuDKA996vslAAAA==", "origin": "ABV", "departure_time": "2026-04-01T06:55:00.000+01:00", "origin_terminal": "E", "origin_airport": { "name": "Nnamdi Azikiwe International Airport", "city": "Abuja", "country": "Nigeria", "timezone": "Africa\/Lagos" }, "destination": "CMN", "arrival_time": "2026-04-01T11:40:00.000+01:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-04-01", "flight_time": "PT4H45M", "distance": "1916", "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "7M8", "picture": "7M8.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "586" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "586" }, "booking_class": { "cabin_class": "Economy", "cabin_code": "R", "booking_code": "R", "meal_code": null, "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": "lJMefzEHuDKA\/96vslAAAA==", "origin": "CMN", "departure_time": "2026-04-01T14:35:00.000+01:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "LHR", "arrival_time": "2026-04-01T17:45:00.000+01:00", "destination_terminal": "4", "destination_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "flight_date": "2026-04-01", "flight_time": "PT3H10M", "distance": "1313", "lay_over": "PT02H55M", "lay_over_date": "2026-04-01", "aircraft": { "code": "7M8", "name": "7M8", "picture": "7M8.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "806" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "806" }, "booking_class": { "cabin_class": "Economy", "cabin_code": "R", "booking_code": "R", "meal_code": null, "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": "PT11H45M", "transit_time": "3H31M", "routes": [ { "air_segment_key": "lJMefzEHuDKAB+6vslAAAA==", "origin": "LHR", "departure_time": "2026-04-19T18:10:00.000+01:00", "origin_terminal": "4", "origin_airport": { "name": "London Heathrow Airport", "city": "London", "country": "United Kingdom", "timezone": "Europe\/London" }, "destination": "CMN", "arrival_time": "2026-04-19T21:30:00.000+01:00", "destination_terminal": "2", "destination_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "flight_date": "2026-04-19", "flight_time": "PT3H20M", "distance": "1313", "lay_over": "not-applicable", "lay_over_date": "not-applicable", "aircraft": { "code": "7M8", "name": "7M8", "picture": "7M8.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "801" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "801" }, "booking_class": { "cabin_class": "Economy", "cabin_code": "O", "booking_code": "O", "meal_code": null, "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": "lJMefzEHuDKAD+6vslAAAA==", "origin": "CMN", "departure_time": "2026-04-20T01:01:00.000+01:00", "origin_terminal": "1", "origin_airport": { "name": "Mohammed V International Airport", "city": "Casablanca", "country": "Morocco", "timezone": "Africa\/Casablanca" }, "destination": "ABV", "arrival_time": "2026-04-20T05:55:00.000+01:00", "destination_terminal": "E", "destination_airport": { "name": "Nnamdi Azikiwe International Airport", "city": "Abuja", "country": "Nigeria", "timezone": "Africa\/Lagos" }, "flight_date": "2026-04-20", "flight_time": "PT4H54M", "distance": "1916", "lay_over": "PT03H31M", "lay_over_date": "2026-04-19", "aircraft": { "code": "7M8", "name": "7M8", "picture": "7M8.png" }, "operating": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "587" }, "marketing": { "carrier": "AT", "carrier_name": "Royal Air Maroc", "carrier_logo": "AT.png", "flight_number": "587" }, "booking_class": { "cabin_class": "Economy", "cabin_code": "O", "booking_code": "O", "meal_code": null, "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": 476.29, "gross_total": 476.29, "base_fare": 50, "tax": 426.29, "sell": { "currency": "GBP", "total": 476.29, "base_fare": 50, "tax": 426.29 }, "price_hash": "eyJmbWciOnsiY3VycmVuY3kiOiJHQlAiLCJ0b3RhbCI6NDc2LjI5LCJiYXNlX2ZhcmUiOjUwLCJ0YXgiOjQyNi4yOX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiR0JQIiwidG90YWwiOjQ3Ni4yOSwiYmFzZV9mYXJlIjo1MCwidGF4Ijo0MjYuMjksImNvbWlzc2lvbl90eXBlIjoiZ2VuZXJhbCIsImNvbWlzc2lvbl92YWx1ZSI6MH0sImdyb3NzX2ZhcmUiOnsiY3VycmVuY3kiOiJHQlAiLCJ0b3RhbCI6NDc2LjI5LCJiYXNlX2ZhcmUiOjUwLCJ0YXgiOjQyNi4yOX19", "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": 476.29, "base_fare": 50, "tax": 426.29, "ticket_issue_charge": 0, "total_ticket_issue_charge": 0, "gross": { "base_fare": "50.00", "tax": "426.29", "discount": 0, "ait": "0.00", "service_charge": 0 }, "partner": { "currency": "GBP", "total": 476.29, "base_fare": 50, "tax": 426.29, "gross": { "base_fare": "50.00", "tax": "426.29", "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": "90.00" }, "YR": { "title": "YR \u2013 Another Carrier-Imposed Surcharge", "amount": "38.00" }, "Other": { "title": "Others taxes", "amount": "298.29" } } }, "priceHash": "eyJmbWciOnsiY3VycmVuY3kiOiJHQlAiLCJ0b3RhbCI6IjQ3Ni4yOSIsImJhc2VfZmFyZSI6IjUwLjAwIiwidGF4IjoiNDI2LjI5IiwiZ3Jvc3MiOnsiYmFzZV9mYXJlIjoiNTAuMDAiLCJ0YXgiOiI0MjYuMjkiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIn0sImNvbmZpZyI6eyJtYXJrdXBfdHlwZSI6bnVsbCwibWFya3VwX3RpdGxlIjpudWxsLCJyZXZlbnVlIjoiMC4wMCIsInRpY2tldF9pc3N1ZV9jaGFyZ2UiOiIwLjAwIiwidG90YWxfdGlja2V0X2lzc3VlX2NoYXJnZSI6IjAuMDAiLCJjdXJyZW5jeUV4Y2hhbmdlUmF0ZSI6IjEuMDAiLCJGTUdfT3ZlcndyaXRlUnVsZXMiOltdfX0sInN1cHBsaWVyIjp7ImN1cnJlbmN5IjoiR0JQIiwidG90YWwiOiI0NzYuMjkiLCJiYXNlX2ZhcmUiOiI1MC4wMCIsInRheCI6IjQyNi4yOSIsImdyb3NzIjp7ImJhc2VfZmFyZSI6IjUwLjAwIiwidGF4IjoiNDI2LjI5IiwiZGlzY291bnQiOiIwLjAwIiwiYWl0IjoiMC4wMCIsInNlcnZpY2VfY2hhcmdlIjowLCJwZXJfc2VnbWVudF9kaXNjb3VudCI6MCwic2VnbWVudF9kaXNjb3VudCI6IjAuMDAiLCJzdXBwbGllcl9zZWdtZW50X2ZlZXNDYWxjdWxhdGUiOm51bGwsInNlZ21lbnRfZGlzY291bnRfYWNjb3VudFB1cnBvc2UiOm51bGx9fSwiZ3Jvc3NfZmFyZSI6eyJjdXJyZW5jeSI6IkdCUCIsInRvdGFsIjoiNDc2LjI5IiwiYmFzZV9mYXJlIjoiNTAuMDAiLCJ0YXgiOiI0MjYuMjkiLCJkaXNjb3VudCI6IjAuMDAiLCJhaXQiOiIwLjAwIiwic2VydmljZV9jaGFyZ2UiOiIwLjAwIiwicGF5YWJsZSI6NDc2LjI5LCJ0YXhCcmVha2Rvd24iOnsiQkQiOnsiYW1vdW50IjoiMC4wMCJ9LCJVVCI6eyJhbW91bnQiOiIwLjAwIn0sIkU1Ijp7ImFtb3VudCI6IjAuMDAifSwiWVEiOnsiYW1vdW50IjoiOTAuMDAifSwiWVIiOnsiYW1vdW50IjoiMzguMDAifSwiT3RoZXIiOnsiYW1vdW50IjoiMjk4LjI5In0sInN1cHBsaWVyVGF4RGF0YSI6W3siY29kZSI6IkdCIiwiY3VycmVuY3kiOiJHQlAiLCJhbW91bnQiOiIxMDIuMDAiLCJ0YXhJbmZvIjoibEpNZWZ6RUh1REtBSis2dnNsQUFBQT09In0seyJjb2RlIjoiVUIiLCJjdXJyZW5jeSI6IkdCUCIsImFtb3VudCI6IjUwLjc5IiwidGF4SW5mbyI6ImxKTWVmekVIdURLQUsrNnZzbEFBQUE9PSJ9LHsiY29kZSI6Ik5HIiwiY3VycmVuY3kiOiJHQlAiLCJhbW91bnQiOiI4LjkwIiwidGF4SW5mbyI6ImxKTWVmekVIdURLQUwrNnZzbEFBQUE9PSJ9LHsiY29kZSI6IlFUIiwiY3VycmVuY3kiOiJHQlAiLCJhbW91bnQiOiI3NS4wMCIsInRheEluZm8iOiJsSk1lZnpFSHVES0FNKzZ2c2xBQUFBPT0ifSx7ImNvZGUiOiJURSIsImN1cnJlbmN5IjoiR0JQIiwiYW1vdW50IjoiMTUuMDAiLCJ0YXhJbmZvIjoibEpNZWZ6RUh1REtBTis2dnNsQUFBQT09In0seyJjb2RlIjoiVzMiLCJjdXJyZW5jeSI6IkdCUCIsImFtb3VudCI6IjE3LjIwIiwidGF4SW5mbyI6ImxKTWVmekVIdURLQU8rNnZzbEFBQUE9PSJ9LHsiY29kZSI6Ik1BIiwiY3VycmVuY3kiOiJHQlAiLCJhbW91bnQiOiIyOS40MCIsInRheEluZm8iOiJsSk1lZnpFSHVES0FQKzZ2c2xBQUFBPT0ifSx7ImNvZGUiOiJZUSIsImN1cnJlbmN5IjoiR0JQIiwiYW1vdW50IjoiOTAuMDAiLCJ0YXhJbmZvIjoibEpNZWZ6RUh1REtBUSs2dnNsQUFBQT09In0seyJjb2RlIjoiWVIiLCJjdXJyZW5jeSI6IkdCUCIsImFtb3VudCI6IjM4LjAwIiwidGF4SW5mbyI6ImxKTWVmekVIdURLQVIrNnZzbEFBQUE9PSJ9XX19LCJkaXNjb3VudF9jb21pc3Npb25fdGl0bGUiOm51bGwsImRpc2NvdW50X2NvbWlzc2lvbl9yYXRpbyI6MCwiZHluYW1pY19tYXJrdXBfdHlwZSI6bnVsbCwiZHluYW1pY19tYXJrdXBfdGl0bGUiOm51bGwsImR5bmFtaWNfbWFya3VwX3JhdGlvIjpudWxsLCJhcHBsaWNhYmxlX2NvbWlzc2lvbiI6bnVsbCwiYXBwbGljYWJsZV9keW5hbWljX21hcmt1cCI6bnVsbH0=" } ] }, "penalty_info": { "partial_payment_available": "no", "reason": "partial payment offer expired", "data": [ { "pax_type": "ADT", "pax_count": 1, "min_cancel_charge": 357.07, "data": [ { "type": "change", "forSegment": null, "applied": "prior_to_departure", "amount": 224, "currency": "GBP", "fmg": { "amount": 224, "currency": "USD", "penalty_markup": 0, "penalty_exchange_rate": 224 }, "supplier": { "amount": "224.00", "currency": "GBP" } }, { "type": "cancel", "forSegment": null, "applied": "prior_to_departure", "amount": 357.07, "currency": "GBP", "fmg": { "amount": 357.07, "currency": "USD", "penalty_markup": 0, "penalty_exchange_rate": 357.07 }, "supplier": { "amount": 476.29, "currency": "USD" } } ] } ] }, "get_pax_ptc_data": null, "fare_rules": { "refundable_data": null, "refundable": "non-refundable", "change_before_departure": "not-available" }, "calendar_key": "2026-04-01-2026-04-20", "calendar_flight_date": "2026-04-01", "calendar_arrival_date": "2026-04-20", "calendar_carrier": "AT", "calendar_total_currency": "GBP", "calendar_total_price": 476.29, "calendar_total_sell": 476.29, "calendar_supplier_currency": null, "calendar_supplier_amount": null, "calendar_fmg_amount": null, "total_price": 476.29, "filter": { "id": "F69TT00035-0", "price": 476.29, "gross_total": 476.29, "journey_duration": "PT22H35M", "journey_duration_seconds": 81300, "layover_duration": "PT6H26M", "layover_duration_seconds": 23160, "carrier_operating": "AT", "carrier_marketing": "AT", "aircraft": "7M8", "aircraft_name": "7M8", "cabin_class": "Economy", "connecting_airport": [ "CMN" ], "total_segment_count": 4, "no_of_stops": [ { "group": 1, "no_of_stops": 1 }, { "group": 2, "no_of_stops": 1 } ], "departure_timing_slot": "early-morning", "departure_departure_time": "2026-04-01T06:55:00.000+01:00", "arrival_timing_slot": "early-morning", "arrival_departure_time": "2026-04-20T05:55:00.000+01:00", "refund": "non-refundable", "baggage_value": "pieces", "baggage_unit": "1", "baggage_title": "1 pieces" }, "filter_unique_filter_code": "abv202604010655cmn202604011140586cmn202604011435lhr202604011745806lhr202604191810cmn202604192130801cmn202604200101abv202604200555587", "destination_reach_time": "PT", "destination_reach_timestamp": null } }