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

נוסעים

חדרים

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

נוסעים

חדרים

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

למה כדאי לטוס לבאלי? חופשת החלומות מחכה לכם

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

היתרונות שלנו בחיפוש טיסה לבאלי

  • השוואת מחירים: סריקה של מאות טיסות לאינדונזיה עם יעד ספציפי לבאלי (קוד נמל תעופה: DPS).
  • מסלולים נוחים: איתור הטיסות הקצרות ביותר עם מספר העצירות המינימלי.
  • גמישות: אפשרויות לטיסה ישירה או טיסות קונקשן נוחות דרך יעדים פופולריים (דובאי, בנגקוק, איסטנבול ועוד).

באלי על המפה: איפה זה באלי ואיך מגיעים?

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

פרטי טיסה מרכזיים

  • יעד: נמל התעופה הבינלאומי נגורה ראי (Denpasar - DPS).
  • משך הטיסה הממוצע (כולל קונקשן): 16–24 שעות, תלוי במסלול וזמן ההמתנה.
  • הזמן הטוב ביותר להזמין: כ-3–5 חודשים מראש, עם גמישות בתאריכים בחודשים יוני וספטמבר (הנחשבים לרוב לזולים יותר).

מתי יוציאו טיסות ישירות מישראל לבאלי?

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

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

לא רק טיסות: מלונות בבאלי ובחירת אזור לינה

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

  • קוטה (Kuta) וסמיניאק (Seminyak): מלונות יוקרה, חיי לילה, קניות וקרבה לחופי הגלישה המרכזיים.
  • אובוד (Ubud): מלונות וילות מפוארים בלב הג'ונגל, אידיאלי למחפשי שקט, יוגה ותרבות.
  • צ'אנגו (Canggu): האזור הטרנדי והמודרני, וילות מעוצבות, בתי קפה מגניבים וגלישה.

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

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); }); //}); }