• טיסות זולות ליער השחור

טיסות ליער השחור

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

נוסעים

חדרים

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

נוסעים

חדרים

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

מידע לטסים ליער השחור

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

אטרקציות ביער השחור

חופשה ביער השחור תפגיש אתכם עם אתרים תיירותיים מרתקים ותרבות עשירה. יש לא מעט מה לעשות ביער השחור, מביקור באגמים המרהיבים טיטיזה וקונסטנץ, ימי כיף במתחמי השעשועים הרבים באזור וקפיצה לערים הגדולות כמו באדן-באדן ופרייבורג. אם אתם מחפשים מה לעשות עם ילדים ביער השחור, אסור לכם לפספס את פארק אירופה, המחולק לפי מדינות ומציע שפע עצום של מתקנים לכל המשפחה, כולל רכבות הרים מהנות במיוחד. עוד מתחמים שכדאי לבקר בהם הם פארק המים בטיטיזה, מגלשות ההרים בטונדאו,פארקי החבלים Action Forest ו-Mehliskopf והפארק Adventur Park במפלי טריברג המפורסמים. אל תפספסו ביקור במוזיאון השעונים, שם תמצאו מעל 8,000 פריטים, כולל לא מעט שעוני קוקיה, הנחשבים לאחד מהסמלים המסחריים של היער השחור.
קניות ביער השחור

קניות ביער השחור

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

לינה ביער השחור

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

טיסות ליער השחור

ניתן למצוא בכל השנה טיסות זולות ליער השחור. יש לא מעט דרכים להגיע ליער השחור. באזל ושטרסבורג מרוחקות פחות משעה נסיעה מהיער השחור ונחשבות ליעדים פופולריים מהם מתחילים חופשה ביער השחור, אך גם שטוטגרט, פרנקפורט ומינכן קרובות לאזור וניתן לטוס אליהן.
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); }); //}); }