CINXE.COM
Bon cadeau
<!DOCTYPE html> <html lang="fr" class="no-js"> <head> <meta charset="utf-8"> <title>Bon cadeau</title> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="robots" content="noindex"> <meta name="language" content="fr" /> <meta property="og:site_name" content="Bon cadeau" /> <meta property="og:title" content="Bon cadeau" /> <meta property="og:type" content="article" /> <meta property="og:url" content="https://www.geneve-tourisme.ch/Geneve/voucher" /> <link rel="canonical" href="https://www.geneve-tourisme.ch/Geneve/voucher" /> <link rel="stylesheet" href="/default/ng/css/tp-taurus.min.css"> <link rel="stylesheet" href="/Geneve/ng/css/theme.css"> <link rel="icon" type="image/png" href="/Geneve/img/favicon.png" /> <link href="/Geneve/img/favicon.png" rel="apple-touch-icon-precomposed" /> <script type="text/javascript"> var configName = 'Geneve'; var ttlanguage = 'fr'; var ttModuleName = 'voucher'; var loadDynamicWhiteList = false; var showCalendarLegend = false; var showFullDarkGreenDaysOnly = false; var TP_MAP_NEW_INFOWINDOW = true; var TP_MAP_INTEGRATION = 'google'; var TP_MAP_GOOGLE_KEY = ''; var TP_COOKIECONSENT = '0'; var TP_TRUSTYOUKEY = '14f7ff72-72e8-44c6-a750-4b232b5bd27f'; var showIFrameVersion=false; function addslashes(str) { str = str.replace(/\\/g, '\\\\'); str = str.replace(/\'/g, '\\\''); str = str.replace(/\"/g, '\\"'); str = str.replace(/\0/g, '\\0'); return str; } </script> <script type="text/javascript"> var allowedCookieConsent = false; </script> <script src="/default/ng/js/tp-taurus-head.min.js"></script> <script> var idCustomDimensionRate = '3'; // initialize dataLayer var dataLayer = dataLayer || []; // pages to trigger product impressions function measureProductImpression() { return !!document.querySelector('body.tp-ukv-, body.tp-ukv-result, body.tp-ukv-search, body.tp-offer-, body.tp-offer-search, body.tp-artikel-, body.tp-package-, body.tp-guide-, body.tp-ticket-, body.tp-experience-'); } // pages to trigger product details function measureProductDetail() { return !!document.querySelector('body.tp-ukv-house, body.tp-offer-detail, body.tp-artikel-detail, body.tp-package-detail1, body.tp-guide-detail, body.tp-ticket-detail2, body.tp-experience-detail'); } // measure product clicks function measureProductClick() { return !!document.querySelector('body.tp-ukv-, body.tp-ukv-result, body.tp-ukv-search, body.tp-offer-, body.tp-offer-search, body.tp-artikel-, body.tp-package-, body.tp-guide-, body.tp-ticket-, body.tp-experience-'); } // Measuring Checkout function measureCheckout() { return !!document.querySelector('body.tp-shoppingcart-'); } function measurePurchase() { return !!document.querySelector('body.tp-shoppingcart-bookingsuccess'); } function measureAddToCart() { return !!document.getElementById('EET_AddToCart'); } function measureRemoveFromCart() { return !!document.getElementById('EET_RemoveFromCart'); } /* * create google product impression object */ function createProductImpression(beginIndex, endIndex) { // '.tb-results__list > li' => results for experience module var serviceProviders = document.querySelectorAll('.js-tp-results-container .js-tp-results-item, .tb-results__list > li'); var paging_currentpage = document.querySelector('[data-gtm_paging_currentpage]') ? document.querySelector('[data-gtm_paging_currentpage]').dataset.gtm_paging_currentpage : 1; var googleImpressions = []; var currencyCode = "EUR"; var totalPrice = 0; beginIndex = beginIndex || 0; endIndex = endIndex || serviceProviders.length - 1; for (var index = beginIndex; index <= endIndex; index++) { var id = serviceProviders[index].dataset.gtm_id || (serviceProviders[index].querySelector('[data-gtm_id]') ? serviceProviders[index].querySelector('[data-gtm_id]').dataset.gtm_id : ''); var name = serviceProviders[index].dataset.gtm_name || (serviceProviders[index].querySelector('[data-gtm_name]') ? serviceProviders[index].querySelector('[data-gtm_name]').dataset.gtm_name : ''); var brand = serviceProviders[index].dataset.gtm_brand || (serviceProviders[index].querySelector('[data-gtm_brand]') ? serviceProviders[index].querySelector('[data-gtm_brand]').dataset.gtm_brand : ''); var price = serviceProviders[index].dataset.gtm_price || (serviceProviders[index].querySelector('[data-gtm_price]') ? serviceProviders[index].querySelector('[data-gtm_price]').dataset.gtm_price : 0); var variant = serviceProviders[index].dataset.gtm_variant || (serviceProviders[index].querySelector('[data-gtm_variant]') ? serviceProviders[index].querySelector('[data-gtm_variant]').dataset.gtm_variant : ''); var category = serviceProviders[index].dataset.gtm_category || (serviceProviders[index].querySelector('[data-gtm_category]') ? serviceProviders[index].querySelector('[data-gtm_category]').dataset.gtm_category : ''); if (id ||聽name) { googleImpressions.push({ 'item_name': name, // Name Leistungstr盲ger 'item_id': id, // TOMAS-ID 'price': parseFloat(price), // Liste: Ab-Preis; Vakanz: echter Preis 'item_brand': name, // Name Leistungstr盲ger 'item_category': category, // touristicType 'item_variant': variant, // Name der Leistung 'item_list_name': 'Search Results', // 'index': ((paging_currentpage - 1) * 10) + index, // Position in der Trefferliste }); totalPrice += parseFloat(price); } }; // all service providers should have the same currency so we take only the first value we get. var currency = document.querySelector('[data-gtm_currency]') ? document.querySelector('[data-gtm_currency]').dataset.gtm_currency : ''; var productImpression = { 'event': 'view_item_list', 'ecommerce': { 'currency': currency, 'value': parseFloat(totalPrice), 'items': googleImpressions } } return productImpression; } /* * create google product detail object */ function createProductDetail() { var googleProducts = []; var id = document.querySelector('[data-gtm_id]') ? document.querySelector('[data-gtm_id]').dataset.gtm_id : ''; var name = document.querySelector('[data-gtm_name]') ? document.querySelector('[data-gtm_name]').dataset.gtm_name : ''; var brand = document.querySelector('[data-gtm_brand]') ? document.querySelector('[data-gtm_brand]').dataset.gtm_brand : name; var price = document.querySelector('[data-gtm_price]') ? document.querySelector('[data-gtm_price]').dataset.gtm_price : 0; var category = document.querySelector('[data-gtm_category]') ? document.querySelector('[data-gtm_category]').dataset.gtm_category : ''; var variant = document.querySelector('[data-gtm_variant]') ? document.querySelector('[data-gtm_variant]').dataset.gtm_variant : ''; var currencyCode = document.querySelector('[data-gtm_currency]') ? document.querySelector('[data-gtm_currency]').dataset.gtm_currency : 'EUR'; if (id ||聽name) { googleProducts.push({ 'item_name': name, // Name Leistungstr盲ger 'item_id': id, // TOMAS-ID 'price': parseFloat(price), // Liste: Ab-Preis; Vakanz: echter Preis 'item_brand': brand, // Name Leistungstr盲ger 'item_category': category, // touristicType 'item_variant': variant // Name der Leistung }); } var productDetail = { 'event': 'view_item', 'ecommerce': { 'currency': currencyCode, 'value': parseFloat(price), 'items': googleProducts } } return productDetail; } /* * create google checkout object */ function createCheckout(step) { var cartItems = document.querySelectorAll('.cart-content .cart-item'); var googleProducts = []; var currencyCode = "EUR"; var totalPrice = 0; cartItems.forEach(function(cartItem, index) { var id = cartItem.dataset.gtm_id; var name = cartItem.dataset.gtm_name; var variant = cartItem.dataset.gtm_variant; var price = cartItem.dataset.gtm_price; var currency = cartItem.dataset.gtm_currency; var category = cartItem.dataset.gtm_category; var quantity = cartItem.dataset.gtm_quantity; var rate = cartItem.dataset.gtm_rate; if (id ||聽name) { googleProduct = { 'item_name': name, // Name Leistungstr盲ger 'item_id': id, // TOMAS-ID 'price': parseFloat(price), // Liste: Ab-Preis; Vakanz: echter Preis 'item_brand': name, // Name Leistungstr盲ger 'item_category': category, // touristicType 'item_variant': variant, // Leistung 'quantity': parseInt(quantity, 10), // Anzahl 'index': index }; currencyCode = currency; // Rate der gebuchten Leistung if (idCustomDimensionRate && rate) { googleProduct['dimension' + idCustomDimensionRate] = rate; } totalPrice += (parseFloat(price) * parseFloat(quantity)); googleProducts.push(googleProduct); } }); var eventName = 'begin_checkout'; // if (step == 1) { // eventName = 'view_cart'; // } var productCheckout = { 'event': eventName, 'ecommerce': { 'currency': currencyCode, 'value': parseFloat(totalPrice), 'items': googleProducts, 'step': step } } return productCheckout; } /* * create google product purchase object */ function createPurchase() { var cartItems = document.querySelectorAll('.cart-content .cart-item'); var googleProducts = []; var revenue = document.querySelector('[data-gtm_revenue]') ? document.querySelector('[data-gtm_revenue]').dataset.gtm_revenue : ''; var purchaseID = document.querySelector('[data-gtm_purchase_id]') ? document.querySelector('[data-gtm_purchase_id]').dataset.gtm_purchase_id : ''; var affiliation = document.querySelector('[data-gtm_affiliation]') ? document.querySelector('[data-gtm_affiliation]').dataset.gtm_affiliation : ''; var currency = document.querySelector('[data-gtm_currency]') ? document.querySelector('[data-gtm_currency]').dataset.gtm_currency : 'EUR'; cartItems.forEach(function(cartItem, index) { var id = cartItem.dataset.gtm_id || (cartItem.querySelector('[data-gtm_id]') ? cartItem.querySelector('[data-gtm_id]').dataset.gtm_id : ''); var name = cartItem.dataset.gtm_name || (cartItem.querySelector('[data-gtm_name]') ? cartItem.querySelector('[data-gtm_name]').dataset.gtm_name : ''); var variant = cartItem.dataset.gtm_variant || (cartItem.querySelector('[data-gtm_variant]') ? cartItem.querySelector('[data-gtm_variant]').dataset.gtm_variant : ''); var price = cartItem.dataset.gtm_price || (cartItem.querySelector('[data-gtm_price]') ? cartItem.querySelector('[data-gtm_price]').dataset.gtm_price : ''); var item_currency = cartItem.dataset.gtm_currency || (cartItem.querySelector('[data-gtm_currency]') ? cartItem.querySelector('[data-gtm_currency]').dataset.gtm_currency : 'EUR'); var category = cartItem.dataset.gtm_category || (cartItem.querySelector('[data-gtm_category]') ? cartItem.querySelector('[data-gtm_category]').dataset.gtm_category : ''); var quantity = cartItem.dataset.gtm_quantity || (cartItem.querySelector('[data-gtm_quantity]') ? cartItem.querySelector('[data-gtm_quantity]').dataset.gtm_quantity : ''); quantity = parseInt(quantity, 10); var dimensionFromID = cartItem.dataset.gtm_custom_dimension_from_id ||聽(cartItem.querySelector('[data-gtm_custom_dimension_from_id]') ? cartItem.querySelector('[data-gtm_custom_dimension_from_id]').dataset.gtm_custom_dimension_from_id : ''); var dimensionNightsID = cartItem.dataset.gtm_custom_dimension_nights_id ||聽(cartItem.querySelector('[data-gtm_custom_dimension_nights_id]') ? cartItem.querySelector('[data-gtm_custom_dimension_nights_id]').dataset.gtm_custom_dimension_nights_id : ''); var dim1 = 'dimension' + parseInt(dimensionFromID, 10); var dim2 = 'dimension' + parseInt(dimensionNightsID, 10); var arrivalDate = cartItem.dataset.gtm_custom_dimension_from || (cartItem.querySelector('[data-gtm_custom_dimension_from]') ? cartItem.querySelector('[data-gtm_custom_dimension_from]').dataset.gtm_custom_dimension_from : ''); var duration = cartItem.dataset.gtm_custom_dimension_nights || (cartItem.querySelector('[data-gtm_custom_dimension_nights]') ? cartItem.querySelector('[data-gtm_custom_dimension_nights]').dataset.gtm_custom_dimension_nights : ''); var rate = cartItem.dataset.gtm_rate || (cartItem.querySelector('[data-gtm_rate]') ? cartItem.querySelector('[data-gtm_rate]').dataset.gtm_rate : ''); if (id ||聽name) { var prod = { 'item_name': name, // Name Leistungstr盲ger 'item_id': id, // TOMAS-ID 'price': parseFloat(price), // Liste: Ab-Preis; Vakanz: echter Preis 'item_brand': name, // Name Leistungstr盲ger 'item_category': category, // touristicType 'item_variant': variant, // Leistung 'quantity': quantity, // Anzahl 'index': index }; // von-Datum der gebuchten Leistung, YYYY-MM if (dim1 && arrivalDate) { prod[dim1] = arrivalDate; } // Anzahl N盲chte der gebuchten Leistung if (dim2 && duration) { prod[dim2] = duration; } // Rate der gebuchten Leistung if (idCustomDimensionRate && rate) { prod['dimension' + idCustomDimensionRate] = rate; } googleProducts.push(prod); } }); var purchase = { 'event': 'purchase', 'ecommerce': { 'transaction_id': purchaseID, 'affiliation': affiliation, 'value': parseFloat(revenue), 'currency': currency, 'items': googleProducts } } return purchase; } /* * create google product click object */ function createProductClick(product) { var googleProducts = []; var id = product.dataset.gtm_id || (product.querySelector('[data-gtm_id]') ? product.querySelector('[data-gtm_id]').dataset.gtm_id : ''); var name = product.dataset.gtm_name || (product.querySelector('[data-gtm_name]') ? product.querySelector('[data-gtm_name]').dataset.gtm_name : ''); var brand = product.dataset.gtm_brand || (product.querySelector('[data-gtm_brand]') ? product.querySelector('[data-gtm_brand]').dataset.gtm_brand : ''); var price = product.dataset.gtm_price || (product.querySelector('[data-gtm_price]') ? product.querySelector('[data-gtm_price]').dataset.gtm_price : 0); var variant = product.dataset.gtm_variant || (product.querySelector('[data-gtm_variant]') ? product.querySelector('[data-gtm_variant]').dataset.gtm_variant : ''); var category = product.dataset.gtm_category || (product.querySelector('[data-gtm_category]') ? product.querySelector('[data-gtm_category]').dataset.gtm_category : ''); var currency = product.dataset.gtm_currency || (product.querySelector('[data-gtm_currency]') ? product.querySelector('[data-gtm_currency]').dataset.gtm_currency : 'EUR'); if (id ||聽name) { googleProducts.push({ 'item_name': name, // Name Leistungstr盲ger 'item_id': id, // TOMAS-ID 'price': parseFloat(price), // leer 'item_brand': name, // Name Leistungstr盲ger 'item_category': category, // touristicType 'item_variant': variant }); } var productClick = { 'event': 'select_item', 'ecommerce': { 'currency': currency, 'value': parseFloat(price), 'items': googleProducts, } } return productClick; } /* * create google add to cart object */ function createAddToCart() { var actionEl = document.getElementById('EET_AddToCart'); var productDetail; var googleProducts = []; var currency = actionEl.dataset.gtm_currency; var productIds = actionEl.dataset.gtm_product_ids; var totalPrice = 0; if (productIds) { productIds = productIds.split(','); for (var i = 0; i < productIds.length; i++) { var cartItem = document.querySelector('.cart-content .cart-item[data-gtm_product_id="' + productIds[i] + '"]'); var id = cartItem.dataset.gtm_id; var name = cartItem.dataset.gtm_name; var brand = cartItem.dataset.gtm_brand; var price = cartItem.dataset.gtm_price; var category = cartItem.dataset.gtm_category; var variant = cartItem.dataset.gtm_variant; var quantity = cartItem.dataset.gtm_quantity; var rate = cartItem.dataset.gtm_rate; if (id ||聽name) { googleProduct = { 'item_name': name, // Name Leistungstr盲ger 'item_id': id, // TOMAS-ID Leistungstr盲ger 'price': parseFloat(price), // echter Preis 'item_brand': name, // Name Leistungstr盲ger 'item_category': category, // touristicType 'item_variant': variant, // Name der Leistung 'quantity': parseInt(quantity, 10), // Anzahl 'index': i }; // Rate der gebuchten Leistung if (idCustomDimensionRate && rate) { googleProduct['dimension' + idCustomDimensionRate] = rate; } totalPrice += parseFloat(price); googleProducts.push(googleProduct); } } productDetail = { 'event': 'add_to_cart', 'ecommerce': { 'currency': currency, 'value': parseFloat(totalPrice), 'items': googleProducts } } } return productDetail; } /* * creates google add to cart object from data created in ttModule->getAddToCardObject() and returned by ajax call */ function createAddToCartFromObject(data) { var productDetail; var googleProducts = []; var currency = data.total.currency; if (data.added) { for (var i = 0; i < data.added.length; i++) { var id = data.added[i].serviceProviderID; var name = data.added[i].serviceProviderDescribingName; var brand = data.added[i].serviceProviderDescribingName; var price = String(data.added[i].price.value); var category = data.added[i].touristicType; var variant = data.added[i].serviceDescribingName; var quantity = String(data.added[i].numberOfUnits); var rate = data.added[i].bookingRateName; if (id ||聽name) { googleProduct = { 'item_name': name, // Name Leistungstr盲ger 'item_id': id, // TOMAS-ID Leistungstr盲ger 'price': parseFloat(price), // echter Preis 'item_brand': name, // Name Leistungstr盲ger 'item_category': category, // touristicType 'item_variant': variant, // Name der Leistung 'quantity': parseInt(quantity, 10), // Anzahl 'index': i } // Rate der gebuchten Leistung if (idCustomDimensionRate && rate) { googleProduct['dimension' + idCustomDimensionRate] = rate; } googleProducts.push(googleProduct); } } } productDetail = { 'event': 'add_to_cart', 'ecommerce': { 'currency': currency, 'value': parseFloat(data.total.value), 'items': googleProducts } } return productDetail; } /* * create google remove from cart object */ function createRemoveFromCart() { var actionEl = document.getElementById('EET_RemoveFromCart'); var googleProducts = []; var id = actionEl.dataset.gtm_id; var name = actionEl.dataset.gtm_name; var brand = actionEl.dataset.gtm_brand; var price = actionEl.dataset.gtm_price; var currency = actionEl.dataset.gtm_currency; var category = actionEl.dataset.gtm_category; var variant = actionEl.dataset.gtm_variant; var quantity = actionEl.dataset.gtm_quantity; var rate = actionEl.dataset.gtm_rate; if (id || name) { googleProduct = { 'item_name': name, // Name Leistungstr盲ger 'item_id': id, // TOMAS-ID Leistungstr盲ger 'price': parseFloat(price), // echter Preis 'item_brand': name, // Name Leistungstr盲ger 'item_category': category, // touristicType 'item_variant': variant, // Name der Leistung 'quantity': parseInt(quantity, 10), // Anzahl 'index': 0 }; // Rate der gebuchten Leistung if (idCustomDimensionRate && rate) { googleProduct['dimension' + idCustomDimensionRate] = rate; } googleProducts.push(googleProduct); } productDetail = { 'event': 'remove_from_cart', 'ecommerce': { 'currency': currency, 'value': parseFloat(price), 'items': googleProducts } } return productDetail; } /* * helper function to attach on click handler to service provider */ function addServiceProvidersEventListener(serviceProvider) { var serviceProvidersLinks = serviceProvider.querySelectorAll( '.tp-media-image > a,' + '.tp-box-headline > a,' + 'a.pure-button.tp-btn-details,' + 'a.pure-button.tp-btn-add,' + 'a.tp-ticket-button-tertiary, ' + 'a.tb-teaser' ); serviceProvidersLinks.forEach(function(spl, index) { spl.addEventListener("click", function(event) { console.log('gtm measure product click'); var resultItem = this.closest('[data-gtm_id]'); if (resultItem) { dataLayer.push(createProductClick(resultItem)); } }); }); } /* * helper function to attach on click handler to tooltips (e.g. date buttons for offers) */ function addTooltipEventListener() { $( document ).on( "click", ".tooltipster-box > .tooltipster-content > a", function(event) { // get corresponding result item var resultID = $(this).attr('data-result_id'); var resultItem = document.getElementById(resultID); if (resultItem) { console.log('gtm measure product click'); dataLayer.push(createProductClick(resultItem)); } }); } /*! * Determine if an element is in the viewport * @param {Node} elem The element * @return {Boolean} Returns true if element is leaving the viewport */ var leavesViewport = function (elem) { var isLeaving = false; if (elem) { var distance = elem.getBoundingClientRect(); isLeaving = distance.top <= 0; } return isLeaving; }; document.addEventListener("DOMContentLoaded", function() { if (measureProductImpression()) { console.log('gtm measure product impressions'); var productImpressions = createProductImpression(); dataLayer.push(productImpressions); var infiniteLastItem = productImpressions.ecommerce.items.length - 1; // Listen for infinite scroll event document.addEventListener('infinitescroll.append', function (e) { console.log('gtm measure product impressions'); var productImpressions = createProductImpression(infiniteLastItem + 1); dataLayer.push(productImpressions); infiniteLastItem += productImpressions.ecommerce.items.length; }, false); } if (measureProductDetail()) { console.log('gtm measure product detail'); dataLayer.push(createProductDetail()); } // Measuring Product Clicks if (measureProductClick()) { var serviceProviders = document.querySelectorAll('.js-tp-results-container .js-tp-results-item, .tb-results__list > li'); var beginIndex = 0; var endIndex = serviceProviders.length - 1; for (var index = beginIndex; index <= endIndex; index++) { addServiceProvidersEventListener(serviceProviders[index]); } // Listen for infinite scroll event document.addEventListener('infinitescroll.append', function (e) { var serviceProviders = document.querySelectorAll('.js-tp-results-container .js-tp-results-item'); beginIndex = endIndex + 1; endIndex = serviceProviders.length - 1; for (var index = beginIndex; index <= endIndex; index++) { addServiceProvidersEventListener(serviceProviders[index]); } }, false); addTooltipEventListener(); } // handle "add to cart" events from event queue or ajax call if (measureAddToCart()) { console.log('gtm measure add to cart'); dataLayer.push(createAddToCart()); } // listen for addToCart event (from ajax call) document.addEventListener( 'EET_AddToCart', function (e) { console.log('gtm measure add to cart (ajax)'); dataLayer.push(createAddToCartFromObject(e.detail)); }, false ); if (measureRemoveFromCart()) { console.log('gtm measure remove from cart'); dataLayer.push(createRemoveFromCart()); } if (measureCheckout()) { var step = 1; var cartBuyer = document.querySelector('#cart-buyer'); // step 1: console.log('gtm measure checkout (step 1)'); dataLayer.push(createCheckout(step)); // step 2: // window.addEventListener('scroll', function (event) { // if (step < 2 && leavesViewport(cartBuyer)) { // step = 2; // console.log('gtm measure checkout (step 2)'); // dataLayer.push(createCheckout(step)); // } // }, false); // step 3: var checkBookingBtn = document.querySelector('.js-shoppingcart-saveaddress-submit'); if (checkBookingBtn) { checkBookingBtn.addEventListener('click', function (event) { step = 3; console.log('gtm measure checkout (step 3)'); dataLayer.push(createCheckout(step)); }, false); } } if (measurePurchase()) { var purchaseID = document.querySelector('[data-gtm_purchase_id]') ? document.querySelector('[data-gtm_purchase_id]').dataset.gtm_purchase_id : ''; if (!successIsPushed(purchaseID)) { console.log('gtm measure purchase'); dataLayer.push(createPurchase()); saveSuccessPush(purchaseID); } else { console.log('purchase already pushed (GTM)'); } } }); function successIsPushed(id) { let stored = localStorage.getItem("tp-gtm-success") if (stored && stored === id) { return true } return false } function saveSuccessPush(id) { localStorage.setItem("tp-gtm-success", id) } </script> <script src="https://consent.cookiefirst.com/banner.js" data-cookiefirst-key="7bd1c2de-8f44-4b2d-9202-fb6faf182d3a"></script> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-20866613-1"></script> <script> function gtag(){dataLayer.push(arguments);} function tp_init_tp_analytics() { window.dataLayer = window.dataLayer || []; gtag('js', new Date()); gtag('config', 'UA-20866613-1', { page_title : ' voucher ' + addslashes(document.title), page_location: document.location.href }); tp_init_tp_gaqtracker(); if (measureProductImpression()) { var productImpressions = createProductImpression(); gtag('event', 'view_item_list', productImpressions.ecommerce); var infiniteLastItem = productImpressions.ecommerce.items.length - 1; // Listen for infinite scroll event document.addEventListener('infinitescroll.append', function (e) { var productImpressions = createProductImpression(infiniteLastItem + 1); gtag('event', 'view_item_list', productImpressions.ecommerce); infiniteLastItem += productImpressions.ecommerce.items.length; }, false); } if (measureProductDetail()) { var productDetail = createProductDetail(); gtag("event", "view_item", productDetail.ecommerce ); } // handle "add to cart" events from event queue or ajax call if (measureAddToCart()) { var addToCart = createAddToCart(); gtag("event", "add_to_cart", addToCart.ecommerce); } // listen for addToCart event (from ajax call) document.addEventListener( 'EET_AddToCart', function (e) { var addToCart = createAddToCartFromObject(e.detail); gtag("event", "add_to_cart", addToCart.ecommerce); }, false ); if (measureRemoveFromCart()) { var removeFromCart = createRemoveFromCart(); gtag("event", "remove_from_cart", removeFromCart.ecommerce); } if (measureCheckout()) { var checkout = createCheckout(1); gtag("event", "begin_checkout", checkout.ecommerce ); } if (measurePurchase()) { var purchaseID = document.querySelector('[data-gtm_purchase_id]') ? document.querySelector('[data-gtm_purchase_id]').dataset.gtm_purchase_id : ''; if (!successIsPushedGA(purchaseID)) { var purchase = createPurchase(); gtag("event", "purchase", purchase.ecommerce); saveSuccessPushGA(purchaseID); } else { console.log('purchase already pushed(GA)'); } } } function successIsPushedGA(id) { let stored = localStorage.getItem("tp-ga-success") if (stored && stored === id) { return true } return false } function saveSuccessPushGA(id) { localStorage.setItem("tp-ga-success", id) } //event tracker function tp_init_tp_gaqtracker(){ $('.gaqtracker').click(function () { console.log("adding event" + addslashes($(this).attr('data-gaqetaction'))); gtag('event', { category: '/Geneve/voucher/', action: addslashes($(this).attr('data-gaqetaction')), label: addslashes($(this).attr('data-gaqetname')) + ' /Geneve/voucher' }); }); //quickfix: click simulieren f眉r "click page" event, TPORTAL-3370 if ( document.getElementById('gaqtracker-clickpage')) { $('#gaqtracker-clickpage').trigger('click'); } } if (TP_COOKIECONSENT == "0") { document.addEventListener("DOMContentLoaded", tp_init_tp_analytics); } </script> <!-- Google Tag Manager --> <script >(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-WQ6LJS');</script> <!-- End Google Tag Manager --> </head> <body class="tp-body tp-voucher-"> <!-- Google Tag Manager - noscript --> <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-WQ6LJS" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager - noscript --> <div id="outdated-browser" class="hidden cart-hidden-element"> <div class="tp-box tp-wysiwyg tp-message tp-message-warning"> <div class="tp-box-frame"> Vous utilisez une ancienne version du navigateur. Pour combler les lacunes de s茅curit茅 de votre navigateur et pour am茅liorer son utilisation <strong><a href="http://browsehappy.com/" target="_blank" rel="noopener noreferrer nofollow">Veuillez mettez 脿 jour votre navigateur.</a></strong> </div> </div> </div> <style lang="css" > @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) { /* IE10+ specific styles go here */ #outdated-browser { display: block !important; } } </style> <div id="js-tp-ping" class="tp-wrapper tp-voucher" > <header class="tp-header-standalone tp-header-standalone--background"> <nav class="tp-contact-standalone cart-link"> <a href="mailto:info@geneve.com" class="tp-contact-standalone__mail"> <i class="tp-icon-mail" aria-hidden="true"></i> info@geneve.com </a> <a href="tel:+41 22 909 70 00" class="tp-contact-standalone__phone"> <i class="tp-icon-phone" aria-hidden="true"></i> +41 22 909 70 00 </a> </nav> </header> <div class="tp-standalone tp-standalone-header"> <img src="/Geneve/img/header.jpg" alt="Header Image"> </div> <nav class="tp-standalone tp-standalone-navbar"> <div class="tp-container"> <!-- nav desktop left --> <ul class="tp-list-unstyled tp-list-inline tp-standalone-navbar-main"> <li class="tp-standalone-navbar-item"> <a class="tp-standalone-navbar-link" href="https://www.geneve.com" > <span class="tp-standalone-navbar-text">Page d'accueil</span> </a> </li> <li class="tp-standalone-navbar-item"> <a class="tp-standalone-navbar-link" href="/Geneve/package?globalReset=1" > <span class="tp-standalone-navbar-text">Forfaits</span> </a> </li> </ul> <!-- end nav desktop left --> <!-- nav mobile left --> <ul class="tp-list-unstyled tp-list-inline tp-standalone-navbar-main-mobile"> <li class="tp-standalone-navbar-item tp-tooltip js-tp-tooltip" data-tp-tooltip-maxwidth="320" data-tp-tooltip-trigger="click" data-tp-tooltip-theme="tp-tooltip-navbar"> <div class="tp-standalone-navbar-link" title="Menu"> <span class="tp-icon-menu"></span><span class="tp-standalone-navbar-text"> MENU</span> <div class="tp-tooltip-content"> <div class="pure-button-stacked"> <a class="pure-button" href="https://www.geneve.com" >Page d'accueil</a> <a class="pure-button" href="/Geneve/package?globalReset=1" >Forfaits</a> </div> </div> </div> </li> </ul> <!-- end nav mobile left --> </div> </nav> <article class="tp-container tp-main tp-voucher"> <div class="pure-g"> <div class="pure-u-1 tp-content"> <form autocomplete="off" id="tp-voucher-form" class="pure-form js-tp-voucher" method="POST" action="/Geneve/voucher/"> <section class="tp-box tp-voucher-text"> <div class="tp-box-frame"> <h1 class="tp-header-headline tp-headline-primary">Prochaine destination : Gen猫ve !</h1> <p><p>Offrez un s茅jour inoubliable 脿 vos proches pour leurs anniversaires, No毛l ou simplement pour c茅l茅brer une occasion sp茅ciale. Ce cadeau hors du commun peut 锚tre utilis茅 pour r茅server un des nombreux h茅bergements (h么tels, bed & breakfast, r茅sidences et auberges), nos offres sp茅ciales et des visites guid茅es, excursions et activit茅s. Commandez votre bon cadeau.</p> </p> </div> </section> <section class="tp-box tp-voucher" id="tp-anchor-motiv"> <div class="tp-box-frame"> <h2 class="tp-box-headline tp-headline-secondary">1. Veuillez choisir un motif</h2> <select id="tp-form--voucher-group" class="js-tp-voucher-filter" name="tp-voucher--group" style="display:none"> <option value="__">Tous</option> <option value="|Standard|">Standard</option> </select> <div class="tp-voucher-templates js-tp-slider js-tp-slider-filter" data-slidestoshow="5" data-slidestoshow-md="3" data-slidestoshow-sm="1"> <div class="tp-voucher-template" data-tp-voucher-name="geneve_premium-6" data-tp-voucher="0" data-filter="|Standard|"> <label for="tp-form--voucher-template-0" rel="#tp-form--voucher-template" class="js-tp-voucher-filter-item" data-tp-voucher-name="geneve_premium-6"> <input id="tp-form--voucher-template-0" type="radio" name="voucher_tpl_dummy" value="geneve_premium-6" checked="checked" > <img src="https://fop.tomas.travel/template/img/geneve/premium-6/preview-fr.jpg" alt="geneve_premium-6: Standard" class="tp-voucher-tpl-image"> <span class="tp-voucher-template-hover"> <span class="tp-voucher-status"> <span class="tp-icon-plus-circled"></span> Choisir le motif </span> </span> <span class="tp-voucher-template-selected"> <span class="tp-voucher-status"> <span class="tp-icon-ok"></span> </span> </span> </label> <div class="tp-voucher-meta"> <span class="tp-voucher-template-preview js-tp-gallery"><a href="https://fop.tomas.travel/template/img/geneve/premium-6/preview-fr.jpg" class="js-tp-gallery-item js-tp-voucher-preview-language"><span class="tp-icon-search"></span>Aper莽u</a></span> </div> </div> <div class="tp-voucher-template" data-tp-voucher-name="geneve_premium-3" data-tp-voucher="1" data-filter="|Standard|"> <label for="tp-form--voucher-template-1" rel="#tp-form--voucher-template" class="js-tp-voucher-filter-item" data-tp-voucher-name="geneve_premium-3"> <input id="tp-form--voucher-template-1" type="radio" name="voucher_tpl_dummy" value="geneve_premium-3" > <img src="https://fop.tomas.travel/template/img/geneve/premium-3/preview-fr.jpg" alt="geneve_premium-3: Standard" class="tp-voucher-tpl-image"> <span class="tp-voucher-template-hover"> <span class="tp-voucher-status"> <span class="tp-icon-plus-circled"></span> Choisir le motif </span> </span> <span class="tp-voucher-template-selected"> <span class="tp-voucher-status"> <span class="tp-icon-ok"></span> </span> </span> </label> <div class="tp-voucher-meta"> <span class="tp-voucher-template-preview js-tp-gallery"><a href="https://fop.tomas.travel/template/img/geneve/premium-3/preview-fr.jpg" class="js-tp-gallery-item js-tp-voucher-preview-language"><span class="tp-icon-search"></span>Aper莽u</a></span> </div> </div> <div class="tp-voucher-template" data-tp-voucher-name="geneve_premium-1" data-tp-voucher="2" data-filter="|Standard|"> <label for="tp-form--voucher-template-2" rel="#tp-form--voucher-template" class="js-tp-voucher-filter-item" data-tp-voucher-name="geneve_premium-1"> <input id="tp-form--voucher-template-2" type="radio" name="voucher_tpl_dummy" value="geneve_premium-1" > <img src="https://fop.tomas.travel/template/img/geneve/premium-1/preview-fr.jpg" alt="geneve_premium-1: Standard" class="tp-voucher-tpl-image"> <span class="tp-voucher-template-hover"> <span class="tp-voucher-status"> <span class="tp-icon-plus-circled"></span> Choisir le motif </span> </span> <span class="tp-voucher-template-selected"> <span class="tp-voucher-status"> <span class="tp-icon-ok"></span> </span> </span> </label> <div class="tp-voucher-meta"> <span class="tp-voucher-template-preview js-tp-gallery"><a href="https://fop.tomas.travel/template/img/geneve/premium-1/preview-fr.jpg" class="js-tp-gallery-item js-tp-voucher-preview-language"><span class="tp-icon-search"></span>Aper莽u</a></span> </div> </div> <div class="tp-voucher-template" data-tp-voucher-name="geneve_premium-5" data-tp-voucher="3" data-filter="|Standard|"> <label for="tp-form--voucher-template-3" rel="#tp-form--voucher-template" class="js-tp-voucher-filter-item" data-tp-voucher-name="geneve_premium-5"> <input id="tp-form--voucher-template-3" type="radio" name="voucher_tpl_dummy" value="geneve_premium-5" > <img src="https://fop.tomas.travel/template/img/geneve/premium-5/preview-fr.jpg" alt="geneve_premium-5: Standard" class="tp-voucher-tpl-image"> <span class="tp-voucher-template-hover"> <span class="tp-voucher-status"> <span class="tp-icon-plus-circled"></span> Choisir le motif </span> </span> <span class="tp-voucher-template-selected"> <span class="tp-voucher-status"> <span class="tp-icon-ok"></span> </span> </span> </label> <div class="tp-voucher-meta"> <span class="tp-voucher-template-preview js-tp-gallery"><a href="https://fop.tomas.travel/template/img/geneve/premium-5/preview-fr.jpg" class="js-tp-gallery-item js-tp-voucher-preview-language"><span class="tp-icon-search"></span>Aper莽u</a></span> </div> </div> <div class="tp-voucher-template" data-tp-voucher-name="geneve_premium-2" data-tp-voucher="4" data-filter="|Standard|"> <label for="tp-form--voucher-template-4" rel="#tp-form--voucher-template" class="js-tp-voucher-filter-item" data-tp-voucher-name="geneve_premium-2"> <input id="tp-form--voucher-template-4" type="radio" name="voucher_tpl_dummy" value="geneve_premium-2" > <img src="https://fop.tomas.travel/template/img/geneve/premium-2/preview-fr.jpg" alt="geneve_premium-2: Standard" class="tp-voucher-tpl-image"> <span class="tp-voucher-template-hover"> <span class="tp-voucher-status"> <span class="tp-icon-plus-circled"></span> Choisir le motif </span> </span> <span class="tp-voucher-template-selected"> <span class="tp-voucher-status"> <span class="tp-icon-ok"></span> </span> </span> </label> <div class="tp-voucher-meta"> <span class="tp-voucher-template-preview js-tp-gallery"><a href="https://fop.tomas.travel/template/img/geneve/premium-2/preview-fr.jpg" class="js-tp-gallery-item js-tp-voucher-preview-language"><span class="tp-icon-search"></span>Aper莽u</a></span> </div> </div> <div class="tp-voucher-template" data-tp-voucher-name="geneve_premium-4" data-tp-voucher="5" data-filter="|Standard|"> <label for="tp-form--voucher-template-5" rel="#tp-form--voucher-template" class="js-tp-voucher-filter-item" data-tp-voucher-name="geneve_premium-4"> <input id="tp-form--voucher-template-5" type="radio" name="voucher_tpl_dummy" value="geneve_premium-4" > <img src="https://fop.tomas.travel/template/img/geneve/premium-4/preview-fr.jpg" alt="geneve_premium-4: Standard" class="tp-voucher-tpl-image"> <span class="tp-voucher-template-hover"> <span class="tp-voucher-status"> <span class="tp-icon-plus-circled"></span> Choisir le motif </span> </span> <span class="tp-voucher-template-selected"> <span class="tp-voucher-status"> <span class="tp-icon-ok"></span> </span> </span> </label> <div class="tp-voucher-meta"> <span class="tp-voucher-template-preview js-tp-gallery"><a href="https://fop.tomas.travel/template/img/geneve/premium-4/preview-fr.jpg" class="js-tp-gallery-item js-tp-voucher-preview-language"><span class="tp-icon-search"></span>Aper莽u</a></span> </div> </div> </div> <input id="tp-form--voucher-template" type="hidden" name="voucher_tpl" value="geneve_premium-6"> </div> </section> <section class="tp-box tp-voucher-value" id="tp-anchor-value"> <div class="tp-box-frame"> <h2 class="tp-box-headline tp-headline-secondary">2. Veuillez s茅lectionner le montant choisi</h2> <label for="tp-form--voucher-value" class="tp-voucher-label-select">Veuillez s茅lectionner le montant choisi</label> <select id="tp-form-voucher-value" name="voucher_choosen" class="js-tp-form-voucher-value" rel="Geneve" data-url-pre="/"> <option value="1415691#TDS00020011441808786" rel="TDS00020011441808786" data-name="Bon cadeau de Gen猫ve Tourisme : 50 CHF" data-price="50" data-currency="CHF" > 50 CHF</option> <option value="1415690#TDS00020011359217432" rel="TDS00020011359217432" data-name="Bon cadeau de Gen猫ve Tourisme : 100 CHF" data-price="100" data-currency="CHF" > 100 CHF</option> <option value="1415688#TDS00020011441818902" rel="TDS00020011441818902" data-name="Bon cadeau de Gen猫ve Tourisme : 200 CHF" data-price="200" data-currency="CHF" > 200 CHF</option> <option value="1415687#TDS00020011441836719" rel="TDS00020011441836719" data-name="Bon cadeau de Gen猫ve Tourisme : 300 CHF" data-price="300" data-currency="CHF" > 300 CHF</option> <option value="1415686#TDS00020011441844452" rel="TDS00020011441844452" data-name="Bon cadeau de Gen猫ve Tourisme : 420 CHF" data-price="420" data-currency="CHF" > 420 CHF</option> <option value="1415689#TDS00020011446928002" rel="TDS00020011446928002" data-name="Bon cadeau de Gen猫ve Tourisme : 1000 CHF" data-price="1000" data-currency="CHF" > 1000 CHF</option> </select> </div> </section> <section class="tp-box tp-voucher-personal" id="tp-anchor-personal"> <div class="tp-box-frame"> <h2 class="tp-box-headline tp-headline-secondary">3. Veuillez personnaliser votre bon</h2> <p>Veuillez inscrire vos nom et pr茅nom, ceux du receveur ainsi qu'un texte de salutation</p> <div class="pure-g pure-g-10"> <div class="pure-u-1 pure-u-sm-1-4 pure-form-group"> <label for="tp-form--voucher-from">De</label> <input maxlength="45" id="tp-form--voucher-from" name="voucher_from" type="text" class="pure-input-1" required="required" placeholder="De" value="" /> </div> <div class="pure-u-1 pure-u-sm-1-4 pure-form-group"> <label for="tp-form--voucher-to">Pour</label> <input maxlength="45" id="tp-form--voucher-to" name="voucher_to" type="text" class="pure-input-1" required="required" placeholder="Pour" value="" /> </div> <div class="pure-u-1 pure-u-sm-1-4 pure-form-group"> <label for="tp-form--voucher-language">Langue</label> <select class="pure-input-1 js-tp-voucher-language" name="voucher_language"> <option value="fr" >Fran莽ais</option> <option value="de" >Allemand</option> <option value="en" >Anglais</option> </select> </div> <div class="pure-u-1 pure-u-sm-3-4 pure-form-group"> <label for="tp-form--voucher-msg">Votre message</label> <textarea id="tp-form--voucher-msg" name="voucher_text" cols="5" rows="10" class="pure-input-1" required="required" data-maxlength="300"></textarea> <div class="tp-voucher-msg-chars">(<span class="js-countable-value"></span> caract猫res restants)</div> <span class="tp-voucher-preview-complete"><a style="float:right;" href="#" class="tp-voucher-preview-complete js-tp-voucher-preview" data-url-pre="/" data-configname="Geneve"><span id="js-tp-voucher-loader" class="tp-icon-search"></span>Aper莽u</a></span> <span class="js-tp-gallery"><a id="tp-voucher-preview-complete-gallery-dummy" href="#" class="js-tp-gallery-item"></a></span> </div> <div style="clear:both;"></div> </div> <input type="hidden" name="doAdd" value="A la caisse"> <a href="#" class="pure-button tp-btn-details js-tp-add_to_cart" data-tp-form-id="#tp-voucher-form" data-tp-modal-selector=".js-tp-add-to-cart-modal-42643677" value="A la caisse" >A la caisse </a> </div> </section> </form> <div id="tp-add-to-cart-modal" class="tp-modal js-tp-add-to-cart-modal-42643677"> <div class="tp-modal-inline-content tp-wrapper"> <span class="tp-modal-close tp-add-to-cart-modal-close js-tp-add_to_cart_reload tp-icon-cancel"></span> <div class="tp-modal-loader tp-text-center"> <span class="tp-icon-spinner animate-spin"></span> </div> <div class="tp-modal-loader-ready"> <div class="tp-modal-header"> <h2 class="tp-add-to-cart-headline tp-headline-secondary"></h2> </div> <div class="tp-add-to-cart-content"> <div class="tp-add-to-cart-item-line"> </div> </div> <div class="pure-form-group tp-add-to-cart-button-group"> <div class="pure-g"> <div class="pure-u-1"> <a href="#" class="pure-button tp-btn-add tp-left js-tp-add_to_cart_reload"> Retour au produit</a> <a href="/Geneve/shoppingcart/" class="pure-button tp-btn-details tp-btn-details-alternative tp-right"> Vers le panier<span class="tp-add-to-cart-count"></span> </a> </div> </div> </div> </div> </div> </div> </div> </div> </article> <footer class="tp-standalone tp-standalone-footer"> <div class="tp-container"> <div class="tp-standalone-footer-meta"> <a href="https://www.geneve.com" >Page d'accueil</a> | <a href="https://www.geneve.com/en/business/about-us/contact-us/" target="_blank">Contact</a> | <a href="https://www.geneve.com/-/media/geneva/pdf/general-terms.pdf" target="_blank">Mentions l茅gales</a> | <a href="https://www.geneve.com/-/media/geneva/pdf/legal_mentions_2022.pdf" target="_blank">Protection des donn茅es</a> | <a href="javascript:window.print()">Imprimer</a> </div> <div class="tp-standalone-footer-text"> powered by TOMAS </div> </div> </footer> </div><!-- /tp-wrapper --> <script src="/default/js/jquery-3.7.1.min.js"></script> <script src="/default/js/jquery-migrate-3.4.0.min.js"></script> <script src="/default/ng/js/tp-taurus.min.js"></script> </body> </html>