• טיסות זולות למדריד

טיסות למדריד

0
כמה נוסעים? נקה בחירה
 
 
1 כל הטיסות נא לבחור מחלקה
  • כל הטיסות
  • טיסות ישירות בלבד

נוסעים

חדרים

בחירת מספר החדרים נקה בחירה

נוסעים

חדרים

בחירת מספר החדרים נקה בחירה
הלוך ושוב
כיוון אחד
חזרה מיעד אחר
Display more
תאריכים
מידע לטסים למדריד

מידע לטסים למדריד

טיסות זולות ללמדריד תיקח אתכם אל בירת ספרד, אחת הערים האטרקטיביות והמתרקות באירופה, עיר המציעה מגוון רחב של אטרקציות, אתרים שאסור לפספס במדריד , חיי לילה תוססים, ארכיטקטורה מעניינת ושילוב מרתק בין ישן לחדש. יש הרבה מה לראות במדריד, ממוזיאונים ותאטראות ועד אתרים מפורסמים כמו אצטדיון הסנטיאגו ברנבאו המפורסם, פלאזה מיור והארמון המלכותי של מדריד. אם החשש שלכם הוא מה לאכול במדריד, דעו שמסעדות במדריד נחשבות לאיכותיות ומגוונות, ויש היצע רחב של שווקי אוכל במדריד שנחשבים לחוויה עבור כל תייר. מדריד תשאב אתכם למסע מרתק בהיסטוריה בין הכנסיות, הגשרים והאתרים ההיסטוריים במדריד, ומצד שני אי אפשר שלא להתפעם מהחדשנות של העיר ומליבה הפועם והתוסס של אחת הערים היפות באירופה.
אטרקציות למדריד

אטרקציות במדריד

חופשה במדריד תפגיש אתכם עם אתרים תיירותיים מרתקים כמו הארמון המלכותי של מדריד, אצטדיון הסנטיאגו ברנבאו והמוזיאון של קבוצת ריאל מדריד והעיר העתיקה של מדריד. מומלץ לסייר בכיכרות המרכזיים של העיר, פלאזה מאיור והפוארטה דל סול. מומלץ גם לבקר באזור הפראדו היפהפה ובכיכר סיבלס המפורסמת. טיסות זולות ללמדריד הופכות את היעד לאטרקטיבי לא רק עבור מבוגרים, אלא גם לצעירים מכל העולם בזכות חיי לילה תוססים, פסטיבלים צבעוניים, מועדונים רועשים, כדורגל ספרדי, מסיבות וכמובן פאבים במדריד, שהפכו לשם דבר באירופה.
קניות ברומא

קניות במדריד

נופש במדריד יאפשר לכם ליהנות משווקים תוססים וצבעוניים לצד אזורי קניות מרשימים. ברובע סלמנקה ופלאזה אספנייה ניתן למצוא מלבד גלריות לאמנות, גם מגוון רחב של חנויות מותגים וחנויות מעצבים המאפשרות שופינג במדריד.. כמו כן יש מגוון מרכזי קניות במדריד וקניונים מטופחים באזורים הראשיים של העיר כמו ארגואל ופואנקראל, ומחוץ לעיר ניתן למצוא את Las Rosas Village, אאוטלט במדריד שהוא מתחם ענק של חנויות מותגים המציעות סיילים במדריד ופריטים זולים במיוחד.
תחבורה ברומא

תחבורה במדריד

טיול במדריד קל ונוח בזכות התחבורה במדריד, שנחשבת למפותחת וזולה יחסית. מומלץ לרכוש כרטיסייה משולבת המאפשר להשתמש בכל כלי התחבורה הציבורית במדריד- הרכבת התחתית, אוטובוסים וחשמליות. מטרו במדריד יעיל ואיכותי, הפועל ביום ובלילה ומחלק את מפת מדריד לאזורים וצבעים, כך שכל אחד יכול להתמצא בעיר בקלות. כדי לצאת מהעיר כדאי לקחת רכבת ממדריד לערים אחרות או לשכור רכב באחת מחברות השכרת רכב במדריד.
לינה ברומא

לינה במדריד

טיסות זולות ללמדריד כבר מצאתם, אבל מה עם מקום לישון? אפשרויות לינה במדריד יש בשפע. אלפי בתי מלון במדריד עומדים לרשות התיירים, בכל דרגות האירוח. מאכסניות בסיסיות ועד למלונות יוקרה בדירוג חמישה כוכבים. מומלץ לקחת מלון במדריד במיקום מרכזי או בקרבת תחנת רכבת תחתית או חשמלית כדי ליהנות מגישה נוחה לכל האתרים המרכזיים במדריד.
טיסות למדריד

טיסות למדריד

ניתן למצוא בכל השנה טיסות זולות ללמדריד . קיימות מספר חברות תעופה הטסות למדריד כמו אל-על, איבריה ו-Vueling, המפעילה טיסות לואו קוסט למדריד. טיסות ישירות למדריד זולות יחסית, כך שאין צורך לחפש יעד ביניים לקו ת"א-מדריד ולכן לא מומלץ לטוס בקונקשן למדריד, כיוון שמשך הטיסה הקצר יתארך משמעותית. יחד עם זאת ניתן להגיע למדריד דרך פראג, מדריד דרך אמסטרדם ומדריד דרך מינכן, וכך להגביר את הסיכוי למציאות טיסה זולה למדריד.
if (location.href.indexOf('/reservation/summary_v2_flights') !== -1 || location.href.indexOf('/reservation/summary-package') !== -1) { //$(document).ready(function() { // Keep track of the last email address successfully sent to Flashy let lastSyncedEmail = ""; // Helper Function: Keeps Flashy updated based on the current state of the form function syncContactWithFlashy() { var $firstNameInput = $('#order_customer_first_name'); var $lastNameInput = $('#order_customer_last_name'); var $phoneInput = $('#order_customer_phone'); var $emailInput = $('#order_customer_email'); var $newsletterBox = $('.js__newsletterProxy'); let main_customer_info_errors = false; // Perform validation checks if (!$firstNameInput.length || $firstNameInput.closest('.custom-input-1__container').hasClass('error')) { main_customer_info_errors = true; } if (!$lastNameInput.length || $lastNameInput.closest('.custom-input-1__container').hasClass('error')) { main_customer_info_errors = true; } if (!$phoneInput.length || $phoneInput.closest('.iti').hasClass('error')) { main_customer_info_errors = true; } if (!$emailInput.length || $emailInput.closest('.custom-input-1__container').hasClass('error')) { main_customer_info_errors = true; } // Only communicate with Flashy if all inputs are free of validation errors if (!main_customer_info_errors) { let currentEmail = $emailInput.val().trim(); let isSubscribed = $newsletterBox.is(':checked'); let _flashy_main_customer_object = { "email": currentEmail, "first_name": $firstNameInput.val().trim(), "last_name": $lastNameInput.val().trim(), "phone": $phoneInput.val().trim() }; // Conditionally add or modify the lists object based on checkbox state if (isSubscribed) { _flashy_main_customer_object.lists = { 36735: true }; } else { } console.log('_flashy_main_customer_object syncing:', _flashy_main_customer_object); // Send profile data to Flashy flashy.contacts.createOrUpdate(_flashy_main_customer_object); flashy('setCustomer', { "email": currentEmail }); console.log("Flashy tracking cookie successfully associated with email: " + currentEmail); // Update our tracker variable to the current email lastSyncedEmail = currentEmail; console.log("Flashy contact updated successfully."); return true; } else { console.log("Flashy tracking halted: Validation errors detected on the client form."); return false; } } // TRIGGER 1: User clicks the main submit contact information button $(document).on('click', '#rs_submit_contact_information', function() { syncContactWithFlashy(); }); // TRIGGER 2: User changes the checkbox value at any time $(document).on('change ifChanged', '.js__newsletterProxy', function() { console.log("Checkbox change detected. Syncing state to Flashy..."); syncContactWithFlashy(); }); // TRIGGER 3: Run sync whenever ANY text input loses focus (First Name, Last Name, Phone, or Email) $(document).on('blur', '#order_customer_first_name, #order_customer_last_name, #order_customer_phone, #order_customer_email', function() { console.log("Contact input field change (blur) detected. Syncing to Flashy..."); syncContactWithFlashy(); }); // Keep the variable globally or at a high scope so your tracking scripts can access its latest state var flashyUpdateCartPayload = {}; // Helper to convert flight date strings (e.g., "2026-06-16") to a Unix timestamp string var getUnixTimestamp = function(dateStr) { // Math.floor returns a number; removing String() keeps it as an integer return dateStr ? Math.floor(new Date(dateStr).getTime() / 1000) : null; }; // 1. Reusable payload extraction engine function buildFlashyPayload() { if (typeof order_id !== 'undefined') { var outboundFlight = (typeof fullFlightsInfo !== 'undefined' && fullFlightsInfo[0]) ? fullFlightsInfo[0] : {}; var inboundFlight = (typeof fullFlightsInfo !== 'undefined' && fullFlightsInfo[1]) ? fullFlightsInfo[1] : null; var flashyPassengers = []; $('input[class*="js-pax-first-name-"]').each(function(index) { var $firstNameInput = $(this); var $lastNameInput = $('.js-pax-last-name-' + index); var birthdateVal = $('#order_groups_1_passengers_' + index + '_birthdate').val(); if (!birthdateVal) { var day = $('#day-' + index).val() || ''; var month = $('#month-' + index).val() || ''; var year = $('#year-' + index).val() || ''; if (day && month && year) { birthdateVal = day.padStart(2, '0') + '/' + month.padStart(2, '0') + '/' + year; } } var passengerLuggage = []; var $outboundSelect = $('#order_groups_1_passengers_' + index + '_luggage_option_0_quantity'); if ($outboundSelect.length && $outboundSelect.val()) { var selectedOutboundOpt = $outboundSelect.find('option:selected'); passengerLuggage.push({ 'direction': 'outbound', 'option_value': $outboundSelect.val(), 'price': selectedOutboundOpt.data('price') || 0, 'description': selectedOutboundOpt.text().trim() }); } if (inboundFlight) { var $inboundSelect = $('#order_groups_1_passengers_' + index + '_luggage_option_1_quantity'); if ($inboundSelect.length && $inboundSelect.val()) { var selectedInboundOpt = $inboundSelect.find('option:selected'); passengerLuggage.push({ 'direction': 'inbound', 'option_value': $inboundSelect.val(), 'price': selectedInboundOpt.data('price') || 0, 'description': selectedInboundOpt.text().trim() }); } } if ($firstNameInput.val() && $lastNameInput.val()) { flashyPassengers.push({ 'first_name': $firstNameInput.val().trim(), 'last_name': $lastNameInput.val().trim(), 'birthday': birthdateVal ? birthdateVal.trim() : '', 'selected_luggage': passengerLuggage }); } }); if (flashyPassengers.length === 0) { flashyPassengers.push({ 'first_name': '', 'last_name': '', 'birthday': '', 'selected_luggage': [] }); } var appliedCoupon = ''; var $couponSuccessContainer = $('.coupon-success-apply'); if ($couponSuccessContainer.length && !$couponSuccessContainer.hasClass('hide')) { appliedCoupon = $couponSuccessContainer.find('.success-coupon-code').text().trim() || $('#order_coupon').val().trim(); } var extractFlightProperties = function(flightObj) { if (!flightObj) return null; return { 'acombiey': flightObj.acombiey !== undefined ? flightObj.acombiey : '', 'adult_quantity': flightObj.adult_quantity !== undefined ? flightObj.adult_quantity : 0, 'air_company_id': flightObj.air_company_id !== undefined ? flightObj.air_company_id : '', 'air_company_luggage_label': flightObj.air_company_luggage_label !== undefined ? flightObj.air_company_luggage_label : '', 'air_company_luggage_policy_url': flightObj.air_company_luggage_policy_url !== undefined ? flightObj.air_company_luggage_policy_url : '', 'air_company_name': flightObj.air_company_name !== undefined ? flightObj.air_company_name : '', 'all_fare_conditions': flightObj.all_fare_conditions !== undefined ? flightObj.all_fare_conditions : {}, 'amount': flightObj.amount !== undefined ? flightObj.amount : 0, 'amount_leg_adult': flightObj.amount_leg_adult !== undefined ? flightObj.amount_leg_adult : 0, 'amount_leg_total': flightObj.amount_leg_total !== undefined ? flightObj.amount_leg_total : 0, 'amount_per_pax': flightObj.amount_per_pax !== undefined ? flightObj.amount_per_pax : 0, 'amount_total': flightObj.amount_total !== undefined ? flightObj.amount_total : 0, 'baby_quantity': flightObj.baby_quantity !== undefined ? flightObj.baby_quantity : 0, 'bagRecheckRequired': flightObj.bagRecheckRequired !== undefined ? flightObj.bagRecheckRequired : false, 'branded': flightObj.branded !== undefined ? flightObj.branded : false, 'brandedCode': flightObj.brandedCode !== undefined ? flightObj.brandedCode : '', 'brandedFares': flightObj.brandedFares !== undefined ? flightObj.brandedFares : [], 'can_be_considered_as_oneway': flightObj.can_be_considered_as_oneway !== undefined ? flightObj.can_be_considered_as_oneway : false, 'change': flightObj.change !== undefined ? flightObj.change : false, 'change_price': flightObj.change_price !== undefined ? flightObj.change_price : 0, 'child_quantity': flightObj.child_quantity !== undefined ? flightObj.child_quantity : 0, 'city_from_airport': flightObj.city_from_airport !== undefined ? flightObj.city_from_airport : '', 'city_from_airport_code': flightObj.city_from_airport_code !== undefined ? flightObj.city_from_airport_code : '', 'city_from_code': flightObj.city_from_code !== undefined ? flightObj.city_from_code : '', 'city_from_name': flightObj.city_from_name !== undefined ? flightObj.city_from_name : '', 'city_to_airport': flightObj.city_to_airport !== undefined ? flightObj.city_to_airport : '', 'city_to_airport_code': flightObj.city_to_airport_code !== undefined ? flightObj.city_to_airport_code : '', 'city_to_code': flightObj.city_to_code !== undefined ? flightObj.city_to_code : '', 'city_to_final_name': flightObj.city_to_final_name !== undefined ? flightObj.city_to_final_name : '', 'city_to_name': flightObj.city_to_name !== undefined ? flightObj.city_to_name : '', 'combikey': flightObj.combikey !== undefined ? flightObj.combikey : '', 'combined': flightObj.combined !== undefined ? flightObj.combined : [], 'commercial_class': flightObj.commercial_class !== undefined ? flightObj.commercial_class : '', 'commercial_class_info': flightObj.commercial_class_info !== undefined ? flightObj.commercial_class_info : '', 'comp_logo': flightObj.comp_logo !== undefined ? flightObj.comp_logo : '', 'comp_path': flightObj.comp_path !== undefined ? flightObj.comp_path : '', 'company_code': flightObj.company_code !== undefined ? flightObj.company_code : '', 'company_name': flightObj.company_name !== undefined ? flightObj.company_name : '', 'compareKey': flightObj.compareKey !== undefined ? flightObj.compareKey : '', 'currency': flightObj.currency !== undefined ? flightObj.currency : '', 'currency_code': flightObj.currency_code !== undefined ? flightObj.currency_code : '', 'decimal': flightObj.decimal !== undefined ? flightObj.decimal : '0', 'deepLink': flightObj.deepLink !== undefined ? flightObj.deepLink : '', 'default_inbound': flightObj.default_inbound !== undefined ? flightObj.default_inbound : {}, 'default_inbound_natural_roundtrip': flightObj.default_inbound_natural_roundtrip !== undefined ? flightObj.default_inbound_natural_roundtrip : false, 'disableForOutbound': flightObj.disableForOutbound !== undefined ? flightObj.disableForOutbound : '', 'displayExtraInfoB2b': flightObj.displayExtraInfoB2b !== undefined ? flightObj.displayExtraInfoB2b : false, 'display_cancel': flightObj.display_cancel !== undefined ? flightObj.display_cancel : '', 'display_date_landing': flightObj.display_date_landing !== undefined ? flightObj.display_date_landing : '', 'display_date_landing_short': flightObj.display_date_landing_short !== undefined ? flightObj.display_date_landing_short : '', 'display_date_takeoff': flightObj.display_date_takeoff !== undefined ? flightObj.display_date_takeoff : '', 'display_date_takeoff_short': flightObj.display_date_takeoff_short !== undefined ? flightObj.display_date_takeoff_short : '', 'display_detail': flightObj.display_detail !== undefined ? flightObj.display_detail : '', 'display_hour_landing': flightObj.display_hour_landing !== undefined ? flightObj.display_hour_landing : '', 'display_multi': flightObj.display_multi !== undefined ? flightObj.display_multi : '', 'duration_day_difference': flightObj.duration_day_difference !== undefined ? flightObj.duration_day_difference : '', 'duration_day_difference_display': flightObj.duration_day_difference_display !== undefined ? flightObj.duration_day_difference_display : '', 'duration_int': flightObj.duration_int !== undefined ? flightObj.duration_int : 0, 'escales': flightObj.escales !== undefined ? flightObj.escales : [], 'fare_options': flightObj.fare_options !== undefined ? flightObj.fare_options : [], 'favorite': flightObj.favorite !== undefined ? flightObj.favorite : '0', 'ff_compare_key': flightObj.ff_compare_key !== undefined ? flightObj.ff_compare_key : '', 'first_comp_logo': flightObj.first_comp_logo !== undefined ? flightObj.first_comp_logo : '', 'first_comp_path': flightObj.first_comp_path !== undefined ? flightObj.first_comp_path : '', 'flightType': flightObj.flightType !== undefined ? flightObj.flightType : '', 'flight_date': flightObj.flight_date !== undefined ? flightObj.flight_date : '', 'flight_date_container': flightObj.flight_date_container !== undefined ? flightObj.flight_date_container : '', 'flight_date_system': flightObj.flight_date_system !== undefined ? flightObj.flight_date_system : '', 'flight_duration': flightObj.flight_duration !== undefined ? flightObj.flight_duration : '', 'flight_duration_format': flightObj.flight_duration_format !== undefined ? flightObj.flight_duration_format : '', 'flight_duration_int': flightObj.flight_duration_int !== undefined ? flightObj.flight_duration_int : 0, 'flight_extra_terms': flightObj.flight_extra_terms !== undefined ? flightObj.flight_extra_terms : [], 'flight_number': flightObj.flight_number !== undefined ? flightObj.flight_number : '', 'flight_type': flightObj.flight_type !== undefined ? flightObj.flight_type : '', 'flight_type_string': flightObj.flight_type_string !== undefined ? flightObj.flight_type_string : '', 'full_combined': flightObj.full_combined !== undefined ? flightObj.full_combined : [], 'full_combined_type': flightObj.full_combined_type !== undefined ? flightObj.full_combined_type : '', 'full_date_takeoff': flightObj.full_date_takeoff !== undefined ? flightObj.full_date_takeoff : '', 'guarantee': flightObj.guarantee !== undefined ? flightObj.guarantee : false, 'has_air_company_description': flightObj.has_air_company_description !== undefined ? flightObj.has_air_company_description : false, 'has_provider_canned_message': flightObj.has_provider_canned_message !== undefined ? flightObj.has_provider_canned_message : false, 'has_provider_source_canned_message': flightObj.has_provider_source_canned_message !== undefined ? flightObj.has_provider_source_canned_message : false, 'hideButtonBookOutbound': flightObj.hideButtonBookOutbound !== undefined ? flightObj.hideButtonBookOutbound : '', 'hideInfo': flightObj.hideInfo !== undefined ? flightObj.hideInfo : '', 'icons': flightObj.icons !== undefined ? flightObj.icons : {}, 'inbounds_string_allowed': flightObj.inbounds_string_allowed !== undefined ? flightObj.inbounds_string_allowed : '', 'included_luggage_for_free': flightObj.included_luggage_for_free !== undefined ? flightObj.included_luggage_for_free : false, 'included_trolley_for_free': flightObj.included_trolley_for_free !== undefined ? flightObj.included_trolley_for_free : false, 'isFeatured': flightObj.isFeatured !== undefined ? flightObj.isFeatured : false, 'is_fare_applied': flightObj.is_fare_applied !== undefined ? flightObj.is_fare_applied : false, 'landing_date': flightObj.landing_date !== undefined ? flightObj.landing_date : '', 'landing_date_format': flightObj.landing_date_format !== undefined ? flightObj.landing_date_format : '', 'landing_date_format_locale': flightObj.landing_date_format_locale !== undefined ? flightObj.landing_date_format_locale : '', 'landing_hour': flightObj.landing_hour !== undefined ? flightObj.landing_hour : '', 'landing_int': flightObj.landing_int !== undefined ? flightObj.landing_int : 0, 'leg_type': flightObj.leg_type !== undefined ? flightObj.leg_type : '', 'markup_rule_data': flightObj.markup_rule_data !== undefined ? flightObj.markup_rule_data : '', 'nb_combined': flightObj.nb_combined !== undefined ? flightObj.nb_combined : 0, 'nb_escales': flightObj.nb_escales !== undefined ? flightObj.nb_escales : 0, 'nb_roundtrip': flightObj.nb_roundtrip !== undefined ? flightObj.nb_roundtrip : '0', 'nb_roundtrip_total': flightObj.nb_roundtrip_total !== undefined ? flightObj.nb_roundtrip_total : '0', 'needRefreshBeforeCreateItem': flightObj.needRefreshBeforeCreateItem !== undefined ? flightObj.needRefreshBeforeCreateItem : false, 'newItem': flightObj.newItem !== undefined ? flightObj.newItem : '', 'no_flight_transport': flightObj.no_flight_transport !== undefined ? flightObj.no_flight_transport : false, 'operatedByOtherAirline': flightObj.operatedByOtherAirline !== undefined ? flightObj.operatedByOtherAirline : null, 'operated_by_code': flightObj.operated_by_code !== undefined ? flightObj.operated_by_code : null, 'pax_quantity': flightObj.pax_quantity !== undefined ? flightObj.pax_quantity : 0, 'place': flightObj.place !== undefined ? flightObj.place : null, 'pnrCount': flightObj.pnrCount !== undefined ? flightObj.pnrCount : 1, 'price_adult': flightObj.price_adult !== undefined ? flightObj.price_adult : '', 'price_baby': flightObj.price_baby !== undefined ? flightObj.price_baby : '', 'price_child': flightObj.price_child !== undefined ? flightObj.price_child : '', 'provider_code': flightObj.provider_code !== undefined ? flightObj.provider_code : '', 'provider_source_code': flightObj.provider_source_code !== undefined ? flightObj.provider_source_code : '', 'provider_source_id': flightObj.provider_source_id !== undefined ? flightObj.provider_source_id : '', 'public_id': flightObj.public_id !== undefined ? flightObj.public_id : '', 'refund_price': flightObj.refund_price !== undefined ? flightObj.refund_price : 0, 'refund_until': flightObj.refund_until !== undefined ? flightObj.refund_until : '', 'refundable': flightObj.refundable !== undefined ? flightObj.refundable : false, 'seat_class': flightObj.seat_class !== undefined ? flightObj.seat_class : '', 'selected': flightObj.selected !== undefined ? flightObj.selected : 0, 'selectedBrandedFares': flightObj.selectedBrandedFares !== undefined ? flightObj.selectedBrandedFares : null, 'selected_combined': flightObj.selected_combined !== undefined ? flightObj.selected_combined : false, 'senior_quantity': flightObj.senior_quantity !== undefined ? flightObj.senior_quantity : 0, 'takeoff_date': flightObj.takeoff_date !== undefined ? flightObj.takeoff_date : '', 'takeoff_date_format': flightObj.takeoff_date_format !== undefined ? flightObj.takeoff_date_format : '', 'takeoff_date_format_locale': flightObj.takeoff_date_format_locale !== undefined ? flightObj.takeoff_date_format_locale : '', 'takeoff_hour': flightObj.takeoff_hour !== undefined ? flightObj.takeoff_hour : '', 'takeoff_int': flightObj.takeoff_int !== undefined ? flightObj.takeoff_int : 0, 'time_landing_in_minutes': flightObj.time_landing_in_minutes !== undefined ? flightObj.time_landing_in_minutes : 0, 'time_takeoff_in_minutes': flightObj.time_takeoff_in_minutes !== undefined ? flightObj.time_takeoff_in_minutes : 0, 'total_adult': flightObj.total_adult !== undefined ? flightObj.total_adult : 0, 'total_baby': flightObj.total_baby !== undefined ? flightObj.total_baby : 0, 'total_child': flightObj.total_child !== undefined ? flightObj.total_child : 0, 'total_markup': flightObj.total_markup !== undefined ? flightObj.total_markup : 0, 'total_senior': flightObj.total_senior !== undefined ? flightObj.total_senior : 0, 'travel_duration': flightObj.travel_duration !== undefined ? flightObj.travel_duration : '', 'travel_duration_format': flightObj.flight_duration_format !== undefined ? flightObj.flight_duration_format : '', 'travel_duration_int': flightObj.travel_duration_int !== undefined ? flightObj.travel_duration_int : 0, 'travel_duration_label': flightObj.travel_duration_label !== undefined ? flightObj.travel_duration_label : '', 'unique_key': flightObj.unique_key !== undefined ? flightObj.unique_key : '', 'upToRoundtrip': flightObj.upToRoundtrip !== undefined ? flightObj.upToRoundtrip : null, 'visible': flightObj.visible !== undefined ? flightObj.visible : false, 'visible_with_stop': flightObj.visible_with_stop !== undefined ? flightObj.visible_with_stop : false }; }; // Construct Dynamic Content IDs Array using explicit 'flight_number' property var contentIds = []; var flightType = outboundFlight.flight_type || "flight"; var outboundFlightNum = outboundFlight.flight_number || ''; contentIds.push(flightType + "_outbound" + (outboundFlightNum ? "_" + outboundFlightNum : "")); if (inboundFlight) { var inboundFlightNum = inboundFlight.flight_number || ''; contentIds.push(flightType + "_inbound" + (inboundFlightNum ? "_" + inboundFlightNum : "")); } // Update payload data state structure with comprehensive details flashyUpdateCartPayload = { 'content_ids': contentIds, 'value': outboundFlight.amount_total || 0, 'currency': outboundFlight.currency || 'USD', 'context': { // Precise Path Validation Check 'page_name': window.location.pathname.includes('summary-package') ? 'summary-package' : 'summary_v2_flights', 'order_id': order_id || '', 'url': window.location.href, 'coupon': appliedCoupon, // Backwards compatibility core shortcuts 'departure_airline': outboundFlight.company_code || '', 'return_airline': inboundFlight ? (inboundFlight.company_code || '') : '', 'origin_iata': outboundFlight.city_from_airport_code || '', 'destination_iata': outboundFlight.city_to_airport_code || '', 'departure_date': getUnixTimestamp(outboundFlight.flight_date), 'return_date': inboundFlight ? getUnixTimestamp(inboundFlight.flight_date) : null, // Complete Isolated Inventory Breakdowns 'outbound_flight_details': extractFlightProperties(outboundFlight), 'inbound_flight_details': extractFlightProperties(inboundFlight), // Dynamic form inputs arrays 'passenger_details': flashyPassengers } }; console.log('Flashy Object Updated:', flashyUpdateCartPayload); flashy('UpdateCart', flashyUpdateCartPayload); } } // Initialize elements and target optimized event listeners buildFlashyPayload(); // Text inputs catch data only when focus leaves the target field element $(document).on('blur', 'input[class*="js-pax-first-name-"], input[class*="js-pax-last-name-"], #order_coupon', function() { buildFlashyPayload(); }); // Dropdowns, luggage selects, and Date selects trigger updates instantly $(document).on('change', 'select.select-luggage-extra, select[id*="_luggage_option_"], [id^="day-"], [id^="month-"], [id^="year-"]', function() { buildFlashyPayload(); }); // Handle AJAX-dependent Coupon action confirmation links safely $(document).on('click', '.submit-coupon, #rs_submit_passenger_information, #rs_submit_select_options', function() { setTimeout(function() { buildFlashyPayload(); }, 250); }); //}); }