• טיסות זולות לריו דה ז׳נרו

טיסות לריו דה ז'נרו

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

נוסעים

חדרים

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

נוסעים

חדרים

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

מידע לטסים לריו דה ז'נרו

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

אטרקציות בריו דה ז'נרו

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

קניות בריו דה ז'נרו

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

חוויה קולינרית בריו

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

תחבורה בריו דה ז'נרו

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

לינה בריו דה ז'נרו

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

טיסות לריו דה ז'נרו

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