CINXE.COM
H Rewards Gutscheine – Jetzt online kaufen
<!DOCTYPE html> <html dir="ltr" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="robots" content="index,follow" /> <meta name="language" content="en" /> <meta name="author" content="Steigenberger Hotels AG" /> <meta name="publisher" content="Steigenberger Hotels AG" /> <meta name="company" content="H Rewards" /> <meta name="page-topic" content="H Rewards Gutscheine – Jetzt online kaufen" /> <meta name="reply-to" content="" /> <meta name="distribution" content="global" /> <meta name="revisit-after" content="5" /> <link rel="apple-touch-icon" sizes="57x57" href="https://shop.hrewards.com/templates/sth/favicon/apple-icon-57x57.png"> <link rel="apple-touch-icon" sizes="60x60" href="https://shop.hrewards.com/templates/sth/favicon/apple-icon-60x60.png"> <link rel="apple-touch-icon" sizes="72x72" href="https://shop.hrewards.com/templates/sth/favicon/apple-icon-72x72.png"> <link rel="apple-touch-icon" sizes="76x76" href="https://shop.hrewards.com/templates/sth/favicon/apple-icon-76x76.png"> <link rel="apple-touch-icon" sizes="114x114" href="https://shop.hrewards.com/templates/sth/favicon/apple-icon-114x114.png"> <link rel="apple-touch-icon" sizes="120x120" href="https://shop.hrewards.com/templates/sth/favicon/apple-icon-120x120.png"> <link rel="apple-touch-icon" sizes="144x144" href="https://shop.hrewards.com/templates/sth/favicon/apple-icon-144x144.png"> <link rel="apple-touch-icon" sizes="152x152" href="https://shop.hrewards.com/templates/sth/favicon/apple-icon-152x152.png"> <link rel="apple-touch-icon" sizes="180x180" href="https://shop.hrewards.com/templates/sth/favicon/apple-icon-180x180.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://shop.hrewards.com/templates/sth/favicon/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="32x32" href="https://shop.hrewards.com/templates/sth/favicon/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="96x96" href="https://shop.hrewards.com/templates/sth/favicon/favicon-96x96.png"> <link rel="icon" type="image/png" sizes="192x192" href="https://shop.hrewards.com/templates/sth/favicon/android-icon-192x192.png"> <meta name="msapplication-TitleImage" content="https://shop.hrewards.com/templates/sth/favicon/ms-icon-144x144.png"> <link rel="alternate" hreflang="de" href="https://shop.hrewards.com/" /> <link rel="alternate" hreflang="en" href="https://shop.hrewards.com/en" /> <link rel="alternate" hreflang="x-default" href="https://shop.hrewards.com/en" /> <meta name="description" content="Profitieren Sie von einer neuen Dimension der Gastfreundschaft und besonderer Wertschätzung." /> <meta name="keywords" content="" /> <title>H Rewards Gutscheine – Jetzt online kaufen</title> <link rel="canonical" href="https://shop.hrewards.com/en"/> <meta name="google-site-verification" content="rm2dK4fowjLC3gznXCRbKfdRZ5nb8uNyV7vTlfn5N3Q" /> <!-- Copyright (c) 2000-2020 etracker GmbH. All rights reserved. --> <!-- This material may not be reproduced, displayed, modified or distributed --> <!-- without the express prior written permission of the copyright holder. --> <!-- etracker tracklet 5.0 --> <script> var et_seg1 = "sth"; var et_seg2 = "ecom"; </script> <script id="_etLoader" data-block-cookies="true" data-respect-dnt="true" data-secure-code="OXELj9" src="//code.etracker.com/code/e.js" async></script> <!-- etracker tracklet 5.0 end --> <base href="https://shop.hrewards.com/" /> <link rel="stylesheet" type="text/css" href="templates/sth/t1/stylesheet.css?v=164"/> <link rel="stylesheet" type="text/css" href="templates/sth/t1/overlay.css"/> <script> // init CookieHandler in global namespace var CookieHandler; !function (w, d) { "use strict"; /** {Object} */ var COOKIE_SUPPORT = {"device":null,"version":"","isSafari":false,"isMobile":false,"browser":null,"sameSiteSupport":true,"isFbAppBrowser":false}, /** * * @param v * @returns {boolean} * @private */ _bool = function (v) { if(typeof v === "string" && v.toUpperCase() === "FALSE") { return false; } return !!v; } /** * * @param v * @returns {boolean} * @private */ , _defined = function (v) { return typeof v !== "undefined"; } ; /** * * @type {{get: CookieHandler.get, set: CookieHandler.set, remove: CookieHandler.remove}} */ CookieHandler = { TEST_COOKIE_NAME : "__COOKIE_HANDLER_TEST_COOKIE__", TEST_COOKIE_VALUE : "TRUE", cookieSuccess : null, /** * get all cookies or cookie value by name * @param name {string} * @returns {*} */ get : function (name) { var cookies = document.cookie.split(/\s*;\s*/) // array with cookie strings (name=value) , i // iterator number , t // temporary array containing name and value ([name, value]) , r = {} // result object ; for(i = 0; i < cookies.length; i++) { t = cookies[i].split("="); t[0] = decodeURIComponent(t[0]); t[1] = decodeURIComponent(t[1]); r[t[0]] = t[1]; if(name && t[0] === name) { return t[1]; } } return r; }, /** * sets cookie and adds default flags if not given * @param name {string} * @param value {string} * @param s {object} * object containing the settings i.e. * { * path : "/", * domain : "example.com", * expires : 86400, // seconds till expiration date (will be converted to date string) * SameSite: "none", * secure : true * } * @returns {string|boolean} */ set : function (name, value, s) { var parts, i, cookieStr, remove = false; // prepare value and name // .get() will always return a string value = value.toString(); name = name.toString(); s = s || {}; parts = [encodeURIComponent(name) + "=" + encodeURIComponent(value)]; if(!_defined(s.SameSite) && document.location.protocol === 'https:') { // Safari turns any SameSite flag into strict => solution: do not add it if(COOKIE_SUPPORT.sameSiteSupport === true) { s.SameSite = "none"; } if(!_defined(s.secure)) { s.secure = true; } } for(i in s) { switch(i) { case "expires": if(s[i] < 0) { remove = true; } s[i] = (new Date(Date.now()+(s[i] * 1000))).toGMTString(); break; case "secure": if(_bool(s[i])) { s[i] = ""; } else { delete s[i]; } break; case "path": case "domain": case "SameSite": default: break; } if(_defined(s[i])) { parts.push(i + (s[i] ? "=" + s[i] : "")); } } cookieStr = parts.join("; "); document.cookie = cookieStr; if(remove === false && this.get(name) !== value) { console.error("Cookiehandler.set() failed to set cookie with string \"" + cookieStr + "\""); this.cookieSuccess = false; return false; } console.info("CookieHandler.set() set cookie with string %c\"" + cookieStr + "\"", "color: #50B000; text-decoration: underline;"); this.cookieSuccess = true; return cookieStr; }, /** * remove cookie by name (sets expiration date 1 minute in the past) * @param name * @returns {*} */ remove : function (name) { return this.set(name, "", {expires : -60}); }, /** * * @returns {null|boolean} */ test : function () { // check if cookie was already set successfully if(this.cookieSuccess !== null) { return this.cookieSuccess; } // set test cookie if(this.set(this.TEST_COOKIE_NAME, this.TEST_COOKIE_VALUE)) { // remove test cookie this.remove(this.TEST_COOKIE_NAME); return true; } return false; }, /** * prints help to console */ help : function () { var nl = "\n", tb = "\t", lines = [ "CookieHandler.get([name]) {...}" , tb + "Returns cookie value by name." , tb + "Returns object with key => values if no name given." , "" , "CookieHandler.set(name, value[, s]) {...}" , tb + "Sets the cookie with name and value." , tb + "The third parameter s(ettings) is optional." , tb + "Returns false on error." , tb + "Some settings may be applied by default (SameSite=none; secure)" , tb + "example:" , tb + "{" , tb + " path : \"/\"," , tb + " domain : \"example.com\"," , tb + " expires : 86400, // seconds till expiration date (will be converted to date string)" , tb + " SameSite: \"none\"," , tb + " secure : true" , tb + "}" , "" , "CookieHandler.remove(name) {...}" , tb + "Removes cookie by setting its expiration date 1 minute into the past." , "" , "CookieHandler.test() {...}" , tb + "Sets (and removes) a test cookie and returns true on success and false on error." , "" , "CookieHandler.help() {...}" , tb + "Prints help to console." ]; console.info("%c" + lines.join(nl), "color: #888888;"); } }; } (window, document); </script> <script> var selected; var submitter = null; function submitFunction() { submitter = 1; } function popupWindow(url) { window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150') } function selectRowEffect(object, buttonSelect) { if (!selected) { if (document.getElementById) { selected = document.getElementById('defaultSelected'); } else { selected = document.all['defaultSelected']; } } if (selected) selected.className = 'moduleRow'; object.className = 'moduleRowSelected'; selected = object; } function rowOverEffect(object) { if (object.className == 'moduleRow') object.className = 'moduleRowOver'; } function rowOutEffect(object) { if (object.className == 'moduleRowOver') object.className = 'moduleRow'; } // Für Checkout Prozess function selectRowEffectCheckoutP(object, buttonSelect) { if (selected) selected.className = 'moduleRowCheckout'; object.className = 'moduleRowSelectedCheckout'; selected = object; } function selectRowEffectCheckout(object, buttonSelect) { if (!selected) { if (document.getElementById) { selected = document.getElementById('defaultSelected'); } else { selected = document.all['defaultSelected']; } } if (selected) { selected.className = 'moduleRowCheckout'; var oldPayment = $(selected).find(":radio").attr("value"); if(selected !== object) { $("#subDiv_"+oldPayment).slideUp(function() { crossDomainIframeResize(false); }); } } object.className = 'moduleRowSelectedCheckout'; selected = object; $(object).find(":radio").attr("checked", "checked"); var payment = $(object).find(":radio").attr("value"); $("#subDiv_"+payment).slideDown(function() { crossDomainIframeResize(false); }); //remove subselection if (typeof subSelected !== "undefined" && subSelected) { subSelected.className = 'moduleSubRowCheckout'; } } function rowOverEffectCheckout(object) { if (object.className == 'moduleRowCheckout') object.className = 'moduleRowOverCheckout'; } function rowOutEffectCheckout(object) { if (object.className == 'moduleRowOverCheckout') object.className = 'moduleRowCheckout'; } // ENDE // Für Checkout Prozess im Administrationsbereich (ROX) function selectRowEffectCheckoutROX(object, buttonSelect) { if (!selected) { if (document.getElementById) { selected = document.getElementById('defaultSelected'); } else { selected = document.all['defaultSelected']; } } if (selected) selected.className = 'moduleRowCheckout_rox'; object.className = 'moduleRowSelectedCheckout_rox'; selected = object; } function rowOverEffectCheckoutROX(object) { if (object.className == 'moduleRowCheckout_rox') object.className = 'moduleRowOverCheckout_rox'; } function rowOutEffectCheckoutROX(object) { if (object.className == 'moduleRowOverCheckout_rox') object.className = 'moduleRowCheckout_rox'; } // ENDE function optimizeSizeSelectbox() { var inputSize = $(":text").eq(-1).outerWidth(); var webbrowser = jQuery.browser; var sizeEdit = 0; chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; if(inputSize > 20) { $("select").css("width", inputSize + sizeEdit); } } // ENDE function popupImageWindow(url) { window.open(url,'popupImageWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150') } </script> <script> if (top === self && "" != ''){ function iCheckWebsiteRedirect() { window.location = ""; } if(typeof jQuery == "undefined" || false === false) { iCheckWebsiteRedirect(); } else { jQuery.ajax({ url: "logoff.php?action=ajax", success: function() { iCheckWebsiteRedirect(); }, error: function() { iCheckWebsiteRedirect(); }, async: false }); } } </script> <script type="text/javascript" src="./templates/sth/t1/javascript/libs/jquery/jquery.js"></script> <script type="text/javascript" src="./templates/sth/t1/javascript/libs/jquery-ui/jquery-ui.js"></script> <script type="text/javascript" > function strpos (haystack, needle, offset) { // Finds position of first occurrence of a string within another var i = (haystack+'').indexOf(needle, (offset ? offset : 0)); return i === -1 ? false : i; } var prevHeight = 0, alreadyJumped = false; function crossDomainIframeResize(jumpToNavtrailAnchor, jumpOffset) { var iframe = document.getElementById( 'inneriframe' ); if (typeof jumpOffset == "undefined") jumpOffset = 0; // webkit browsers (safari,chrome) provide wrong scrollHeight so get only offsetHeight ### 10_215 ### var height = $("#navtrail_anchor").height(); //var height = document.body.offsetHeight; if (height != prevHeight || jumpToNavtrailAnchor) { prevHeight = height; if(height == 0) { height = 1800; } if (window.parent != window) { try { if(window.parent.updateIFrame) window.parent.updateIFrame(height,''); } catch (e) { //console.warn("not embedded in start.php"); } try { var navtrailJumpOffset = parseInt(window.getComputedStyle(document.getElementById("navtrail_anchor")).marginTop) + jumpOffset; //if (typeof console !== "undefined") { // console.warn("ResizeIframe url is not configured. Fallback to postMessge-API."); //} if (!alreadyJumped || jumpToNavtrailAnchor) { window.top.postMessage(["Inc.updateIFrame", height, true, navtrailJumpOffset], "*"); alreadyJumped = true; } else { window.top.postMessage(["Inc.updateIFrame", height], "*"); } } catch (e) { console.error(e); } } else { $("body").addClass("standalone"); } } } $().ready(function() { crossDomainIframeResize(true); }); $(window).on("load", function() { setTimeout(function() {crossDomainIframeResize(true) }, 300); crossDomainIframeResize(true); $(window).resize(function() { if (crossDomainResizeHandler) clearTimeout(crossDomainResizeHandler); crossDomainResizeHandler = setTimeout(function() {crossDomainIframeResize(false) }, 300); }); }); </script> <script> let currentLanguageCode = 'en'; let url = new URL(window.location.toString()); let hostname = url.host.replaceAll('.', '_'); let pathname = url.pathname.replace('/en/', '/').replaceAll('/', '.').slice(1); let contentId = hostname + '.' + pathname; if(url.pathname === '/') { contentId = hostname + '.home'; } else { switch(pathname) { case 'warenkorb': case 'shoppingcart': contentId = hostname + '.warenkorb'; break; case 'checkout-daten': case 'checkout-shop': contentId = hostname + '.booking.1-checkout'; break; case 'checkout-confirmation': case 'checkout-ueberpruefung': contentId = hostname + '.booking.2-ueberpruefen'; break; case 'checkout-success': case 'checkout-bestaetigung': contentId = hostname + '.booking.3-confirmation'; break; default: break; } } contentGroupArray = contentId.split('.'); window._ti = window._ti || {}; window._ti['contentId'] = contentId; window._ti['contentGroup'] = { 1: contentGroupArray[0], 2: contentGroupArray[1] ?? '', 3: contentGroupArray[2] ?? '', 4: '', 5: '', 6: '', 7: '', 8: '', 20: contentGroupArray[contentGroupArray.length - 1] }; window._ti['customParameter'] = { 2: currentLanguageCode, }; window._tiConfig = window._tiConfig || { tiDomain: 'responder.wt-safetag.com', tiId: '799063125692038', option: {} }; (function(a,d,c,f){a.wts=a.wts||[];var g=function(b){var a="";b.customDomain&&b.customPath?a=b.customDomain+"/"+b.customPath:b.tiDomain&&b.tiId&&(a=b.tiDomain+"/resp/api/get/"+b.tiId+"?url="+encodeURIComponent("https://"+d.location.host+"/")+"&v=5");if(b.option)for(var c in b.option)a+="&"+c+"="+encodeURIComponent(b.option[c]);return a};if(-1===d.cookie.indexOf("wt_r=1")){var e=d.getElementsByTagName(c)[0];c=d.createElement(c);c.async=!0;c.onload=function(){if("undefined"!==typeof a.wt_r&&!isNaN(a.wt_r)){var b= new Date,c=b.getTime()+1E3*parseInt(a.wt_r);b.setTime(c);d.cookie="wt_r=1;path=/;expires="+b.toUTCString()}};c.onerror=function(){"undefined"!==typeof a.wt_mcp_hide&&"function"===typeof a.wt_mcp_hide.show&&(a.wt_mcp_hide.show(),a.wt_mcp_hide.show=function(){})};c.src="//"+g(f);e.parentNode.insertBefore(c,e)}})(window,document,"script",_tiConfig); </script> <!-- xtc_get_shop_analytics_code --> <script> // Input Replacement function textReplacement(input){ var originalvalue = input.val(); input.focus( function(){ if( $.trim(input.val()) == originalvalue ){ input.val(''); } }); input.blur( function(){ if( $.trim(input.val()) == '' ){ input.val(originalvalue); } }); } // FIX SAFARI THIRD PARTY COOKIE PROBLEM if (window.top != window) { // wenn in iframe if (navigator.userAgent.indexOf("Safari") >= 0 && navigator.userAgent.indexOf("Chrome") == -1) { // und der Browser ist safari var safariCookieFirstPartySaved = false; var safariPopupFunc = function (event) { var target; if (document.cookie.indexOf("safari_third_cookie=1") == -1 && (!localStorage || (localStorage && localStorage.getItem("safari_third_cookie") !== "1"))) { // only ONCE // find target of click event target = event.target || event.srcElement; if(target.nodeType === 3) { target = target.parentNode; } CookieHandler.set("safari_third_cookie", "1"); try { localStorage.setItem("safari_third_cookie", "1"); } catch(e) { console.log("localStorage could not be written"); } if (!safariCookieFirstPartySaved) { var safariCookieUrl = "https://shop.hrewards.com/safari_third_party.php"; var safariPopup = window.open(safariCookieUrl); if (safariPopup) { safariPopup.blur(); window.focus(); } else { if (console) console.log("Safari Third Party Fix probably blocked by popup blocker."); } safariCookieFirstPartySaved = true; } // check for file input and // use preventDefault to stop file dialog in Safari if(target && target.nodeName === 'INPUT' && target.type === 'file') { event.preventDefault(); return false; } } window.removeEventListener('click', safariPopupFunc); }; window.addEventListener('click', safariPopupFunc); // $(window).one('click', safariPopupFunc); } } </script> <script type="text/javascript"> !function(w, d) { "use strict"; /** * @type Array */ var localStorageWhitelist = []; /** * * @param name * @param whitelist * @param getResult * @returns {boolean} */ var whitelistCheck = function (name, whitelist, getResult) { if(whitelist.indexOf(name) === -1) { if(getResult) { return false; } throw "\"" + name + "\" not whitelisted! whitelist: " + whitelist.join(", "); } return true; }; /** * * @type {} * object containing functions that can be called from outside */ var Inc = { setLocalStorage : function (name, value) { whitelistCheck(name, localStorageWhitelist); localStorage.setItem(name, value); } , removeLocalStorage : function (name) { whitelistCheck(name, localStorageWhitelist); localStorage.removeItem(name); } , consentManager : { /** * accept/reject single service and it's cookies * @param name * @param value */ set : function (name, value) { if(typeof klaroManager === "undefined") return console.error("klaroManager undefined!"); klaroManager.updateConsent(name, !!value); klaroManager.saveAndApplyConsents(); } /** * reset service to default * @param name */ , reset : function (name) { if(typeof klaroManager === "undefined") return console.error("klaroManager undefined!"); if(name) { this.set(klaroManager.getDefaultConsent(name)); return; } klaroManager.resetConsents(); klaroManager.saveAndApplyConsents(); } /** * accept/reject all services and their cookies that match given purpose * @param purpose * @param value */ , setByPurpose : function (purpose, value) { if(typeof klaroManager === "undefined") return console.error("klaroManager undefined!"); var services = klaroManager.config.services, i; for(i = 0; i < services.length; i++) { if(services[i].purposes.indexOf(purpose) !== -1) { this.set(services[i].name, value); } } klaroManager.saveAndApplyConsents(); } /** * accept/reject all services and their cookies that are optional * @param value */ , setByOptional : function ( value ) { if(typeof klaroManager === "undefined") return console.error("klaroManager undefined!"); var services = klaroManager.config.services, i; for(i = 0; i < services.length; i++) { if(services[i].required === false) { this.set(services[i].name, value); } } klaroManager.saveAndApplyConsents(); } /** * alias for this.setByOptional() * @param value * @returns {void | undefined} */ , setAll : function ( value ) { return this.setByOptional ( value ); } } }; w.incTest = Inc; // listen for postMessage event w.addEventListener("message", function (event) { var funcName, args, rawName, returnValue, funcArr, tempFunc, i; // check data-type switch(({}).toString.call(event.data).replace(/^\[\w+ |\]$/g,"").toUpperCase()) { // array case "ARRAY": args = event.data; rawName = args.shift(); funcName = rawName.replace(/^inc(ert)?\./i, ""); funcArr = funcName.split("."); // check if function name is prefixed with Inc. or Incert. if(funcName === rawName) { return; } tempFunc = Inc; // search in IncertClass instance for( i = 0; i < funcArr.length; i++) { if(!tempFunc[funcArr[i]]) { break; } if(i === (funcArr.length -1)) { // apply args to function with appropriate context returnValue = tempFunc[funcArr[i]].apply(tempFunc, args); console.info("\"" + rawName + "\" called successfully!; arguments:", args, "; returnValue:", returnValue); return; } tempFunc = tempFunc[funcArr[i]]; } throw "\"" + rawName + "\" is not defined"; break; default: break; } }); } (window, document); </script> </head> <body class="body" onload="crossDomainIframeResize();"> <script> var oneColumnWindowWidth = parseInt("600") || 400, twoColumnWindowWidth = parseInt("767") || 640, respDropSidebarWindowWidth = parseInt("800") || 800, voucherSliderItemMargin = ((parseInt("20") || 20) / 2), listingSpecialCountdownFormat = "" | "%DT %Hh %Mm %Ss"; //Thumbs Voucher Slider Settings (see slick-init.js) var voucherSliderShowArrows = ("1" == "1") || false, voucherSliderShowDots = ("" == "1") || false, voucherSliderCenterMode = ("" == "1") || false, voucherSliderItemsToShowMobile = parseInt("") || 1, voucherSliderItemsToShowTablet = parseInt("") || 3, voucherSliderItemsToShowDesktop = parseInt("") || 5; var currentCurrencySymbol = "\u20ac"; </script> <script type="text/javascript" src="./templates/sth/t1/javascript/live.min.js?v=164"></script> <div class="body-inc " id="navtrail_anchor"> <!--Header --> <header class="inc-header sticky" id="inc-header"> <div class="inc-header-inner"> <div class="box-header"> <a href="https://shop.hrewards.com/en" class="header-logo" > <img src="templates/sth/images/exp_logo.jpg" alt="home" /> </a> <a class="customer-website" href="" target="_blank"> <span class="icon-sphere" aria-hidden="true"></span> <span class="website-url hidden-xs" >to the website</span> </a> </div> <div class="inc-navigation-container show-page-navigation "> <ul class="inc-shop-navi"> <div class="language-switch"> <div class="dropdown"> <button class="active-dropdown-element" aria-label="Choosen Language" onclick="toggleClass()">English</button> <ul class="dropdown-options"> <li> <a href="https://shop.hrewards.com/" aria-label="Deutsch"> Deutsch </a> </li> </ul> </div> </div> <script> function toggleClass(){ $(".inc-shop-navi .language-switch .dropdown").toggleClass('opened'); $(".language-switch-mobile .dropdown").toggleClass('opened'); } </script> <li class="inc-nav-item"> <a class="inc-nav-link inc-nav-cart inc-modal-control" href="https://shop.hrewards.com/en/shoppingcart" data-toggle="modal-cart"> <div class="inc-nav-cart-inner"> <i class="im icon-shopping-cart" aria-hidden="true"></i> <span class="inc-nav-link-caption"> Voucher Basket</span> <span id="inc-cartItemCount" class="empty">0</span> </div> </a> <div class="inc-modal-menu inc-nav-cart" id="modal-cart"> <!-- cart has no content --> <div class="infobox infobox-cart"> <h3>Shopping Cart</h3> <div class="infobox-cart-content empty"> You do not have any products in your shopping cart yet. </div> </div> </div> </li> </ul> </div> </div> <div class="inc-header-inner-sub" id="inc-subnavi"> <a href="https://hrewards.com/en" target="_blank"class="header-sub-logo"> <img src="./templates/sth/t1/img/header/header-logo.svg"> </a> <div class="inc-navigation-container show-page-navigation "> <ul class="inc-page-navigation" role="navigation"> <li> <a href="https://hrewards.com/en/find-a-hotel" target="_blank" class="header-nav-item">Hotel search</a> </li> <li> <a href="https://hrewards.com/en/hotel-deals" target="_blank" class="header-nav-item">Offers</a> </li> <li> <a href="https://hrewards.com/en/meeting-event" target="_blank" class="header-nav-item">Meeting & Event</a> </li> <li> <a href="https://hrewards.com/en/loyalty" target="_blank" class="header-nav-item">About H Rewards</a> </li> <li class="only-mobile"> <a class="header-nav-item" href="https://shop.hrewards.com/en/value-vouchers">Value Voucher</a> </li> <li class="only-mobile"> <a class="header-nav-item" href="https://shop.hrewards.com/en/hotelspecific-vouchers">Hotel individual vouchers</a> </li> <li class="border-top"> <div class="language-switch-mobile"> <div class="language-switch"> <div class="dropdown"> <button class="active-dropdown-element" aria-label="Choosen Language" onclick="toggleClass()">English</button> <ul class="dropdown-options"> <li> <a href="https://shop.hrewards.com/" aria-label="Deutsch"> Deutsch </a> </li> </ul> </div> </div> <script> function toggleClass(){ $(".inc-shop-navi .language-switch .dropdown").toggleClass('opened'); $(".language-switch-mobile .dropdown").toggleClass('opened'); } </script> </div> </li> </ul> <button type="button" id="navigation-toggle-responsive"> <span></span> <span></span> <span></span> </button> <script src="./templates/sth/t1/javascript/header-mobile.js"></script> </div> </div> <div class="inc-header-inner-categories"> <div class="inc-navigation-container"> <ul class="inc-page-navigation"> <li class="only-mobile"> <a class="header-nav-item" href="https://shop.hrewards.com/en/value-vouchers">Value Voucher</a> </li> <li class="only-mobile"> <a class="header-nav-item" href="https://shop.hrewards.com/en/hotelspecific-vouchers">Hotel individual vouchers</a> </li> </ul> </div> </div> </header> <noscript> <div class="inc-error-box center" role="alert"> JavaScript must be enabled in order for you to use this shop in standard view. However, it seems JavaScript is either disabled or not supported by your browser. To use standard view, enable JavaScript by changing your browser options. </div> </noscript> <!--Sidebar --> <!--Content --> <div class="content-inc " role="main"> <!-- Breadcrumbs / Navtrail and Wizard --> <div class="navtrail"> <div class="inc-content-container cc-reset-padding-top-bottom"> <a href="https://shop.hrewards.com/en" class="headerNavigation">Startpage</a> </div> </div> <!-- DISPLAY_CATEGORIES_WITH_PRODUCTS --> <div class="inc-startpage"> <!-- Implement Slick Slider --> <script type="text/javascript" src="./templates/sth/t1/javascript/libs/slick/slick.js"></script> <link rel="stylesheet" href="./templates/sth/t1/javascript/libs/slick/slick.css" /> <script> //News Slider Settings Init (see slick-news.js) var newsSliderShowArrows = ("1" == "1") || false, newsSliderShowDots = ("" == "1") || false, newsSliderInfinite = ("1" == "1") || false; </script> <section class="inc-startpage-news "> <ul class="slides" id="scrollable-news-slider"> <li class="news-item" style="background-image:url('https://shop.hrewards.com/templates/sth/images/content/HRW_adobe_stock_xmas_voucher_24.jpg')"> <div class="news-item-inner-container"> <div class="news-item-image" aria-hidden="true"> <img src="https://shop.hrewards.com/templates/sth/images/content/HRW_adobe_stock_xmas_voucher_24.jpg"/> </div> <div class="news-text-wrapper"> <div class="news-text"> <h3> Our XMAS Present: 15% Discount on Value Vouchers </h3> <div class="news-description"> <p>Enter <span style="font-size:15.6px"><strong>XMAS15 </strong></span>in your shopping cart<strong><big> </big></strong>and get <strong>15<big>% off</big></strong> on your value voucher purchase until 08.12.2024.</p> </div> <div class="news-link"> <a class="default-button" href="https://shop.hrewards.com/en/xmas" > read more </a> </div> </div> </div> </div> </li> <li class="news-item" style="background-image:url('https://shop.hrewards.com/templates/sth/images/content/Header_Shop_24.png')"> <div class="news-item-inner-container"> <div class="news-item-image" aria-hidden="true"> <img src="https://shop.hrewards.com/templates/sth/images/content/Header_Shop_24.png"/> </div> <div class="news-text-wrapper"> <div class="news-text"> <div class="news-description"> <strong><big>WELCOME TO THE H REWARDS VOUCHER SHOP</big></strong> </div> </div> </div> </div> </li> </ul> </section> <script src="templates/sth/t1/javascript/slick-config/slick-news.js"></script> <section class="inc-startpage-section inc-startpage-text "> <div class="inc-content-container"> <div class="c5"> <h1>H Rewards Gift Vouchers</h1> <p>Special moments require special gifts. With our wide selection of voucher ideas, you'll always find the perfect gift.<br /> <br /> Select your favorite design, personalize your gift as you like, and create your individual H Rewards voucher conveniently and easily.<br /> <br /> We will make your gift an unforgettable experience!</p> <p></p> </div> <div class="c7 startpage-text-icons"> <div class="row"> <div class="c6"> <div class="c3"><span class="icon-limitless"> </span></div> <div class="c9"> <h3><em><strong>Unlimited</strong></em></h3> <p>Whether it is 25 or 2.000 EUR - you choose the amount you want for your personal H Rewards gift voucher.</p> </div> </div> <div class="c6"> <div class="c3"><span class="icon-shortterm"> </span></div> <div class="c9"> <h3><em><strong>On short notice</strong></em></h3> <p>Receive your voucher by e-mail and print it out last-minute or have it sent to you via mail.</p> </div> </div> </div> <div class="row"> <div class="c6"> <div class="c3"><span class="icon-quality"> </span></div> <div class="c9"> <h3><em><strong>Quality</strong></em></h3> <p>Personalize your present as you like with a greeting and favorite theme of your choice</p> </div> </div> <div class="c6"> <div class="c3"><span class="icon-experience"> </span></div> <div class="c9"> <h3><em><strong>Experiences</strong></em></h3> <p>Our H Rewards gift vouchers will create unique and special moments.</p> </div> </div> </div> </div> <p></p> <p></p> <p></p> <p></p> </div> </section> <section class="inc-startpage-section infobox-cat-teaser "> <div class="inc-content-container"> <!-- GMS-3092 || this code is used for eventSequence listing within category items --> <script> async function getCat(callback, id){ let d = new Date(); await $.ajax({ url: "/api/frontend/eventSequence?includeLinks&includeEventDates&eventDateLimit=10&q=eq(categoryId," + id + ")sort(%2BexternalId)&eventDateFrom=" + (d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()), async:true, success: (data) =>{ callback(true, id, data); }, error: () => { callback(false); } }); } function renderEventSequence(success, id, data){ if(success){ if(data.length > 0){ for (let i = 0; i < data.length; i++) { if(!data[i].hasOwnProperty("eventDates")) continue; for (let j = 0; j < data[i].eventDates.length; j++) { let object = data[i].eventDates[j]; for (let item of object.eventProducts) { if(!data[i].hasOwnProperty("eventProductLink")) { let salesStartArray = (''+object.salesStart).split(/[- :]/); let salesEndArray = (''+object.salesEnd).split(/[- :]/); object.salesStart = new Date(salesStartArray[0], salesStartArray[1]-1, salesStartArray[2], salesStartArray[3], salesStartArray[4], salesStartArray[5]); object.salesEnd = new Date(salesEndArray[0], salesEndArray[1]-1, salesEndArray[2], salesEndArray[3], salesEndArray[4], salesEndArray[5]); if(!(object.state == "SOLD_OUT" || object.state == "ELAPSED" || object.state == "CANCELED" || object.available == 0 || item.available == 0 || object.salesStart > new Date() || object.salesEnd < new Date())) { data[i].eventProductLink = item.productLink; } } else break; } } let object = data[i], image; object.sequenceImage == null ? image = object.image : image = object.sequenceImage; if(!object.hasOwnProperty("eventProductLink")) continue; $("#inc-event-sequences-"+id).append(` <div class="event-sequence-item"> <img src="${image}"/> <div class="event-sequence-desc"> <h4>${object.name}</h4> <p>${object.description.substr(0, 200) + "\u2026"}</p> </div> <a class="call-to-action sequence-link" href="${object.eventProductLink}"></a> </div>`); } if (typeof $.fn.slick !== "undefined") { $("#inc-event-sequences-"+id).slick({ arrows: true, dots: true, slidesToShow: 3, slidesToScroll: 3, infinite: true, responsive: [ { breakpoint: oneColumnWindowWidth, settings: { swipeToSlide: true, slidesToShow: 1 } } ] }); } } } else{ console.log("yikes!"); } } </script> <h2 class="contentsTopicsStartpage">Our categories</h2> <div class="inc-category-list-item-wrapper"> <!-- --> <!-- Different data, so different calls (if) --> <a class="inc-category-item" id="inc-category-item-1" href="https://shop.hrewards.com/en/value-vouchers"> <div class="inc-category-item-inner"> <div class="inc-category-item-image"> <img src="templates/sth/images/categories/1.jpg" alt="" title=""/> </div> <div class="inc-category-item-desc"> <div class="inc-category-item-desc-inner"> <h3> Value Voucher </h3> <p> No matter what the occasion is - surprise your beloved ones with an individual Print@Home voucher for unforgettable moments. </p> </div> <div id="inc-event-sequences-1"></div> </div> </div> </a> <!-- --> <!-- Different data, so different calls (if) --> <a class="inc-category-item" id="inc-category-item-146" href="https://shop.hrewards.com/en/hotelspecific-vouchers"> <div class="inc-category-item-inner"> <div class="inc-category-item-image"> <img src="templates/sth/images/categories/146.jpg" alt="" title=""/> </div> <div class="inc-category-item-desc"> <div class="inc-category-item-desc-inner"> <h3> Hotel individual vouchers </h3> <p> Discover our special offers from the individual hotels - directly available for you with Print@Home. </p> </div> <div id="inc-event-sequences-146"></div> </div> </div> </a> <!-- --> </div> </div> </section> <!-- Implement Slick Slider --> <script type="text/javascript" src="./templates/sth/t1/javascript/libs/slick/slick.js"></script> <link rel="stylesheet" href="./templates/sth/t1/javascript/libs/slick/slick.css" /> <script type="text/javascript" src="./templates/sth/t1/javascript/quantity-toggle.js"></script> <section class="inc-startpage-section infobox-products-recommended infobox-has-padding"> <div class="inc-content-container "> <div class="products-container "> <h2 class="contentsTopicsStartpage">Current recommendations </h2> <div class="inc-product-list-item-wrapper scrollable"> <!----> <a href="https://shop.hrewards.com/en/hotelspecific-vouchers/hotelspecific-vouchers-oscars-3-course-menu" id="inc-product-item-128" class="inc-product-item "> <div class="inc-product-item-inner inc-product-item-with-price"> <div class="inc-product-item-inner-top"> <div class="inc-product-item-image"> <img src="templates/sth/images/product_images/info_images/128_2.jpg" title=""> <input type="hidden" aria-hidden="true" class="inc-product-item-image-url-hidden" value="templates/sth/images/product_images/info_images/128_2.jpg"> </div> </div> <div class="inc-product-item-details"> <div class="inc-product-item-desc"> <div class="inc-product-item-headline home"> <h3> 3 course menu at the Oscar's</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="3 course menu at the Oscar's"/> </div> <div class="inc-product-item-headline"> <div class="inc-product-item-manufacturer"> Steigenberger Icon Frankfurter Hof </div> <h3> 3 course menu at the Oscar's</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="3 course menu at the Oscar's"/> <div class="inc-product-item-price"> from 79,00 EUR </div> </div> <div class="inc-product-item-manufacturer"> Steigenberger Icon Frankfurter Hof </div> </div> <div class="inc-product-item-extras"> <div class="inc-product-item-buy-wrap"> <div class="inc-product-item-buy-button "> view voucher </div> </div> </div> </div> <div class="clearfix"></div> <input type="hidden" aria-hidden="true" class="inc-tracking-product-item-hidden-id" value="128"/> <input type="hidden" aria-hidden="true" class="inc-tracking-product-item-hidden-price" value="79"/> </div> <div class="clearfix"></div> </a> <!-- --> <a href="https://shop.hrewards.com/en/hotelspecific-vouchers/hotelspecific-voucher-the-spa-classic-massage" id="inc-product-item-146" class="inc-product-item "> <div class="inc-product-item-inner inc-product-item-with-price"> <div class="inc-product-item-inner-top"> <div class="inc-product-item-image"> <img src="templates/sth/images/product_images/info_images/146_2.jpg" title=""> <input type="hidden" aria-hidden="true" class="inc-product-item-image-url-hidden" value="templates/sth/images/product_images/info_images/146_2.jpg"> </div> </div> <div class="inc-product-item-details"> <div class="inc-product-item-desc"> <div class="inc-product-item-headline home"> <h3> Classic massage</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Classic massage"/> </div> <div class="inc-product-item-headline"> <div class="inc-product-item-manufacturer"> Steigenberger Icon Frankfurter Hof </div> <h3> Classic massage</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Classic massage"/> <div class="inc-product-item-price"> 129,00 EUR </div> </div> <div class="inc-product-item-manufacturer"> Steigenberger Icon Frankfurter Hof </div> </div> <div class="inc-product-item-extras"> <div class="inc-product-item-buy-wrap"> <div class="inc-product-item-buy-button "> view voucher </div> </div> </div> </div> <div class="clearfix"></div> <input type="hidden" aria-hidden="true" class="inc-tracking-product-item-hidden-id" value="146"/> <input type="hidden" aria-hidden="true" class="inc-tracking-product-item-hidden-price" value="129"/> </div> <div class="clearfix"></div> </a> <!-- --> <a href="https://shop.hrewards.com/en/hotelspecific-vouchers/petersberg-piano-brunch" id="inc-product-item-168" class="inc-product-item "> <div class="inc-product-item-inner inc-product-item-with-price"> <div class="inc-product-item-inner-top"> <div class="inc-product-item-image"> <img src="templates/sth/images/product_images/info_images/168_2.jpg" title=""> <input type="hidden" aria-hidden="true" class="inc-product-item-image-url-hidden" value="templates/sth/images/product_images/info_images/168_2.jpg"> </div> </div> <div class="inc-product-item-details"> <div class="inc-product-item-desc"> <div class="inc-product-item-headline home"> <h3> Petersberg Piano Brunch</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Petersberg Piano Brunch"/> </div> <div class="inc-product-item-headline"> <div class="inc-product-item-manufacturer"> Steigenberger Icon Grandhotel & Spa Petersberg </div> <h3> Petersberg Piano Brunch</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Petersberg Piano Brunch"/> <div class="inc-product-item-price"> 67,00 EUR </div> </div> <div class="inc-product-item-manufacturer"> Steigenberger Icon Grandhotel & Spa Petersberg </div> </div> <div class="inc-product-item-extras"> <div class="inc-product-item-buy-wrap"> <div class="inc-product-item-buy-button "> view voucher </div> </div> </div> </div> <div class="clearfix"></div> <input type="hidden" aria-hidden="true" class="inc-tracking-product-item-hidden-id" value="168"/> <input type="hidden" aria-hidden="true" class="inc-tracking-product-item-hidden-price" value="67"/> </div> <div class="clearfix"></div> </a> <!-- --> <a href="https://shop.hrewards.com/en/hotelspecific-vouchers/breakfast-konstanz" id="inc-product-item-210" class="inc-product-item "> <div class="inc-product-item-inner inc-product-item-with-price"> <div class="inc-product-item-inner-top"> <div class="inc-product-item-image"> <img src="templates/sth/images/product_images/info_images/210_2.jpg" title=""> <input type="hidden" aria-hidden="true" class="inc-product-item-image-url-hidden" value="templates/sth/images/product_images/info_images/210_2.jpg"> </div> </div> <div class="inc-product-item-details"> <div class="inc-product-item-desc"> <div class="inc-product-item-headline home"> <h3> Voucher Best Breakfast in Town</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Voucher Best Breakfast in Town"/> </div> <div class="inc-product-item-headline"> <div class="inc-product-item-manufacturer"> Steigenberger Inselhotel </div> <h3> Voucher Best Breakfast in Town</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Voucher Best Breakfast in Town"/> <div class="inc-product-item-price"> 39,00 EUR </div> </div> <div class="inc-product-item-manufacturer"> Steigenberger Inselhotel </div> </div> <div class="inc-product-item-extras"> <div class="inc-product-item-buy-wrap"> <div class="inc-product-item-buy-button "> view voucher </div> </div> </div> </div> <div class="clearfix"></div> <input type="hidden" aria-hidden="true" class="inc-tracking-product-item-hidden-id" value="210"/> <input type="hidden" aria-hidden="true" class="inc-tracking-product-item-hidden-price" value="39"/> </div> <div class="clearfix"></div> </a> <!-- --> <a href="https://shop.hrewards.com/en/hotelspecific-vouchers/voucher-for-the-steigenberger-inselhotel-konstanz" id="inc-product-item-224" class="inc-product-item "> <div class="inc-product-item-inner inc-product-item-with-price"> <div class="inc-product-item-inner-top"> <div class="inc-product-item-image"> <img src="templates/sth/images/product_images/info_images/224_2.jpg" title=""> <input type="hidden" aria-hidden="true" class="inc-product-item-image-url-hidden" value="templates/sth/images/product_images/info_images/224_2.jpg"> </div> </div> <div class="inc-product-item-details"> <div class="inc-product-item-desc"> <div class="inc-product-item-headline home"> <h3> Voucher Steigenberger Inselhotel Konstanz</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Voucher Steigenberger Inselhotel Konstanz"/> </div> <div class="inc-product-item-headline"> <div class="inc-product-item-manufacturer"> Steigenberger Inselhotel </div> <h3> Voucher Steigenberger Inselhotel Konstanz</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Voucher Steigenberger Inselhotel Konstanz"/> <div class="inc-product-item-price"> from 50,00 EUR </div> </div> <div class="inc-product-item-manufacturer"> Steigenberger Inselhotel </div> </div> <div class="inc-product-item-extras"> <div class="inc-product-item-buy-wrap"> <div class="inc-product-item-buy-button "> view voucher </div> </div> </div> </div> <div class="clearfix"></div> <input type="hidden" aria-hidden="true" class="inc-tracking-product-item-hidden-id" value="224"/> <input type="hidden" aria-hidden="true" class="inc-tracking-product-item-hidden-price" value="50"/> </div> <div class="clearfix"></div> </a> <!-- --> <a href="https://shop.hrewards.com/en/hotelspecific-vouchers/hi-voucher-the-spa-frankfurter-hof" id="inc-product-item-422" class="inc-product-item "> <div class="inc-product-item-inner inc-product-item-with-price"> <div class="inc-product-item-inner-top"> <div class="inc-product-item-badge new-product">new</div> <div class="inc-product-item-image"> <img src="templates/sth/images/product_images/info_images/422_ai_en_1.png" title=""> <input type="hidden" aria-hidden="true" class="inc-product-item-image-url-hidden" value="templates/sth/images/product_images/info_images/422_ai_en_1.png"> </div> </div> <div class="inc-product-item-details"> <div class="inc-product-item-desc"> <div class="inc-product-item-headline home"> <h3> Value Voucher THE SPA</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Value Voucher THE SPA"/> </div> <div class="inc-product-item-headline"> <div class="inc-product-item-manufacturer"> Steigenberger Icon Frankfurter Hof </div> <h3> Value Voucher THE SPA</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Value Voucher THE SPA"/> <div class="inc-product-item-price"> from 20,00 EUR </div> </div> <div class="inc-product-item-manufacturer"> Steigenberger Icon Frankfurter Hof </div> </div> <div class="inc-product-item-extras"> <div class="inc-product-item-buy-wrap"> <div class="inc-product-item-buy-button "> view voucher </div> </div> </div> </div> <div class="clearfix"></div> <input type="hidden" aria-hidden="true" class="inc-tracking-product-item-hidden-id" value="422"/> <input type="hidden" aria-hidden="true" class="inc-tracking-product-item-hidden-price" value="20"/> </div> <div class="clearfix"></div> </a> <!-- --> </div> </div> <div class="clearfix"></div> </div> </section> <script> var text_product_added = "1 article has been added to the shopping cart."; var text_products_added = "%s tickets have been added to the shopping cart."; </script> <div id="inc-faq-container"> <div class="inc-content-container"> <h2 class="contentsTopicsStartpage">FAQ</h2> <div id="inc-faq-accordion" class="accordion faq"></div> </div> </div> <script> let filterSection = "startpage"; let filterProduct = ""; let filterCategory = ""; </script> <script> let faqUrl= "api/frontend/faq"; if(filterSection !== '') faqUrl += "/" + filterSection; if(filterProduct !== '') faqUrl += "?product=" + filterProduct; if(filterCategory !== '' && filterProduct == '') faqUrl += "?category=" + filterCategory; else if(filterCategory !== '') faqUrl += "&category=" + filterCategory; $().ready(function() { getFaqData(); }); async function getFaqData() { await $.ajax({ url: faqUrl, async: true, success: (data) => { if(data.length > 0) { //FAQ SCHEMA (SEO) const script = document.createElement('script'); script.setAttribute('type', 'application/ld+json'); var schemaData = { "@context":"https://schema.org", "@type":"FAQPage", "mainEntity":[] }; //All Questions and answers for (let i = 0; i < data.length; i++) { let accordionRowButton = '<button type="button" aria-expanded="false" class="accordion-button" aria-controls="sect' + i + '" id="accordion-sect-' + i + '">' + data[i].question + '</button>'; let accordionRowInner = '<div id="sect' + i + '" role="region"' + ' aria-labelledby="accordion-sect-' + i + '" class="accordion-content">' + data[i].answer + '</div>'; $('#inc-faq-accordion').append($('<div class="accordion-section"></div>').append(accordionRowButton).append(accordionRowInner)); //FAQ schema (SEO) schemaData.mainEntity.push({ "@type":"Question", "name":data[i].question, "acceptedAnswer": { "@type": "Answer", "text":data[i].answer } }); } //FAQ schema (SEO) script.textContent = JSON.stringify(schemaData); document.head.appendChild(script); } else { $('#inc-faq-container').hide(); } }, error: () => { console.log('error getting faq'); $('#inc-faq-container').hide(); } }); } </script> </div> </div> <!--Footer --> <section class="inc-footer-top"> <div class="inc-content-container"> <div class="row"> <div class="c6"> <div class="inc-section-value-check"> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.0/axios.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script> <script> const currentRequestCount = null; const maxRequestCount = 3; </script> <div class="infobox infobox-value-check psb-infobox-value-check"> <div class="inc-content-container"> <h3><span>Voucher value</span></h3> <div class="infobox-content"> <div id="inc-value-check"> <p>You can check the current value by entering the barcode on the voucher or on the back of your gift card.</p> <check-form v-on:set-status="setStatus" v-on:set-success-message="setSuccessMessage"> </check-form> <div class="inc-value-check-result"> <status v-bind:status="status" v-bind:success="success"></status> <qrcode v-if="success.orderId" v-bind:status="status" v-bind:success="success"></qrcode> </div> </div> </div> </div> </div> <script type="text/x-template" id="status"> <div id="inc-voucher-details" :class="{'status-message' : status.msg != ''}" v-if="success.show || status.msg != ''"> <span class="inc-voucher-status" :style="{ color: status.state ? 'green' : 'red' }">{{ status.msg }}</span> <div class="inc-voucher-details-inner" v-if="success.show"> <h3>{{response.name}}</h3> <span class="voucher-price">{{ response.currentValue }}€</span> <p v-html="response.shortDescription"></p> <p class="voucher-redeem-date-info"> <span><b>Issue date:</b> <span>{{response.issueDate}}</span></span><br/> <span><b>Valid thru:</b> <span>{{response.validUntil}}</span></span> </p> </div> </div> </script> <script type="text/x-template" id="qrcode"> <div id="qr-code" v-if="success.show"> <h3>Add to Passbook</h3> <p>Add your voucher to your mobile Passbook.</p> <div id="qr-code-outlet"></div> <a href="" id="qr-code-link" class="psb-download-link default-button"><span class="icon-download"></span>Download</a> </div> </script> <script type="text/x-template" id="check-form"> <form v-on:submit="validate" class="inc-form-inner inc-form-value-check"> <div class="value-check-inner"> <div class="form-field"> <input type="text" v-model="voucher.value" :class="(voucher.value ? 'not-empty' : '') + (voucher.hasError ? ' invalid' : '')" placeholder="Enter code" required/> </div> <input class="button call-to-action" type="submit" value="Check code"/> </div> <div :class="captcha.hasError ? 'invalid' : ''" v-if="requiresCaptcha()"> <div class="vvcode-form-section"> <label class="inct-captcha"> <span class="inct-captcha-label"> Please enter the code. </span><br> <img src="https://shop.hrewards.com/api/captcha/vvcode?m=422121" class="vvcode-image inct-captcha-image" alt="" /> <input type="text" name="vvcode" id="vvcode-input" maxlength="6" autocomplete="off" class="inct-captcha-input" v-model="captcha.value" /> </label> </div> </div> </form> </script> <script> Vue.component("heading", { template: "#heading" }); Vue.component("status", { template: "#status", props: ["status", "success"], methods: { applyVoucher: function () { $('#applyVoucherForm').submit(); } } }); Vue.component("qrcode", { template: "#qrcode", props: ["status", "success"] }); Vue.component("check-form", { template: "#check-form", props: ["status", "success"], data: function () { return { attempt: { current: currentRequestCount, tracked: 0, max: maxRequestCount }, voucher: { value: "", hasError: false }, captcha: { value: "", hasError: false } } }, methods: { renderQRCode: function (code, orderId) { setTimeout(function () { $('#qr-code-outlet').html(''); new QRCode( document.getElementById("qr-code-outlet"), window.location.origin + "/download_passbook.php?voco=" + code + "&oID=" + orderId); document.getElementById("qr-code-link").setAttribute("href", window.location.origin + "/download_passbook.php?voco=" + code + "&oID=" + orderId); }, 200) }, setStatus: function (msg, state) { this.$emit( 'set-status', { msg: msg, status: state } ); }, setSuccessMessage: function (response) { if (typeof response !== "undefined") { this.$emit( 'set-success-message', { initialValue: response.initialValue, currentValue: response.currentValue, orderId: response.orderId } ); } else { this.$emit( 'set-success-message', false ); } }, requiresCaptcha: function () { return this._data.attempt.tracked + this._data.attempt.current >= this._data.attempt.max; }, validate: function (e) { if (e) e.preventDefault(); this._data.captcha.hasError = false; this._data.voucher.hasError = false; this.setStatus("", false); this.setSuccessMessage(); if (!this._data.voucher.value || this._data.voucher.value.trim() == "") { this._data.voucher.hasError = true; this.setStatus("Please enter the code.", false); this._data.attempt.tracked++; return; } else if(this._data.captcha.value.trim() === "" && this.requiresCaptcha()) { this._data.captcha.hasError = true; this.setStatus("", false); this._data.attempt.tracked++; return; } else { var _this = this; let vvcode = this.requiresCaptcha() ? "?vvcode=" + _this._data.captcha.value : ''; axios.get("api/redeemapp/voucher/valueCheck/" + _this._data.voucher.value + vvcode).then(function (res) { try { response = res.data; if (parseInt(response.status) === -1) { _this._data.captcha.hasError = true; _this.setStatus("Please check your Captcha input.", false); _this._data.attempt.tracked++; } else if (!response.status) { _this._data.voucher.hasError = true; _this.setStatus("Invalid voucher code.", false); _this._data.attempt.tracked++; } else { _this.setSuccessMessage(response); if(response.orderId) _this.renderQRCode(response.code, response.orderId); //window.location.href = '&code='+_this._data.voucher.value; } if (typeof crossDomainIframeResize === "function") setTimeout(function(){crossDomainIframeResize(false);}, 0); } catch (exception) { if (exception instanceof SyntaxError) { _this._data.attempt.tracked++; _this.setStatus("An internal error occurred, please try again.", false); } } }).catch(function (err) { _this._data.attempt.tracked++; console.error(err); }); } var captchaTag = document.querySelector(".vvcode-image"); if (captchaTag) { this._data.captcha.value = ""; var tmp = captchaTag.src.split("?"); captchaTag.src = tmp[0] + "?m=" + Math.floor(Math.random() * 1000000); // prevent firefox caching img, new code is generated server side } } } }); Vue.config.ignoredElements = ['d']; var voucherValueCheck = new Vue({ el: "#inc-value-check", data: { status: { state: "", msg: "" }, success: { initialValue: "", currentValue: "", orderId: "", show: false } }, methods: { setStatus: function (status) { this.status.state = status.state; this.status.msg = status.msg; }, setSuccessMessage: function (response) { if (response) { this.success.show = true; this.success.initialValue = response.initialValue; this.success.currentValue = response.currentValue; this.success.orderId = response.orderId; } else { this.success.show = false; } } } } ); </script> </div> </div> <div class="c6"> <div class="inc-startpage-news-bottom"> <div class="news-item" style="background-image:url('https://shop.hrewards.com/templates/sth/images/content/Bestellen_als_Unternehmen.jpg')"> <div class="news-item-inner-container"> <div class="news-text-wrapper"> <div class="news-text"> <h2> Are you ordering as a company? </h2> <div class="news-description"> Please contact us via <a href="mailto:touristikservice@int.hworld.com">E-MAIL</a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </section> <footer> <div class="inc-footer-wrapper"> <div class="footer-top-bar"> <div class="inner-footer-top-bar inc-content-container cc-reset-padding-top-bottom"> <div class="flex-item"> <span class="icon-advantage-secure-payment"></span> <div class="flex-item-text"> Secure<br>Payment </div> </div> <div class="flex-item mobile-hidden"> <span class="icon-advantage-present"></span> <div class="flex-item-text"> High quality<br>gift ideas </div> </div> <div class="flex-item mobile-hidden"> <span class="icon-advantage-personalize"></span> <div class="flex-item-text"> Personalization<br>with text, image </div> </div> <div class="flex-item"> <span class="icon-advantage-digital"></span> <div class="flex-item-text"> Digital Shipping<br>or Storage </div> </div> </div> </div> <div class="footer-top-logo-wrapper"> <a href="https://hrewards.com/en" target="_blank"class="footer-logo"> <img src="./templates/sth/t1/img/footer/footer-logo.svg"> </a> </div> <div class="footer-main-bar"> <div class="inner-footer-main-bar inc-content-container cc-clear-padding-top-bottom"> <div class="footer-contact"> <div class="infobox"> <strong>Steigenberger Hotels GmbH</strong><br /> Lyoner Straße 25<br /> 60528 Frankfurt am Main<br /> Deutschland </div> </div> <div class="footer-payment"> <div class="infobox infobox-payment nbg"> <div class="infobox-payment-content"> <strong>Pay at shop.hrewards.com using:</strong><br /> <p><img alt="" src="/images/payment_icons/payicon_s_mastercard.png" style="font-size:12px; height:33px; width:80px" /><img alt="" src="/images/payment_icons/payicon_s_visa.png" style="font-size:12px; height:33px; width:80px" /> <img alt="" src="/images/payment_icons/payicon_s_paypal.png" style="font-size:12px; height:33px; width:80px" /></p> </div> </div> </div> <div class="footer-content-links"> <div class="incert-logo" role="contentinfo" aria-label="author of the website"> <span class="incert-logo-info white">eCommerce-System by</span> <a target="_blank" href="http://www.incert.at" class="incert-logo-link"> <img class="regular-incert-logo" src="./images/incert-logo-white.png" alt="INCERT eTourismus GmbH" /> <img class="hover-incert-logo" src="./images/incert-logo-green.png" alt="INCERT eTourismus GmbH hover" aria-hidden="true" /> </a> </div> <div class="infobox infobox-more"> <h3>More about...</h3> <div class="infobox-content-left"> <ul class="content-links"><li><a class="content_link" href="https://shop.hrewards.com/en/redemption"> Redemption</a></li><li><a class="content_link" href="https://shop.hrewards.com/en/revocation-clause"> Revocation clause</a></li><li><a class="content_link" href="https://shop.hrewards.com/en/general-terms-and-conditions"> General terms and conditions</a></li><li><a class="content_link" href="https://hrewards.com/en/legal/data-protection" target="_blank">Data protection</a></li><li><a class="content_link" href="https://hrewards.com/en/legal/imprint" target="_blank">Imprint</a></li><li><a class="content_link" href="https://shop.hrewards.com/en/contact"> Contact</a></li></ul> </div> </div> </div> </div> </div> <div class="footer-bottom-bar text-center"> <!-- Incert Logo --> </div> </div> </footer> </div> <script type="text/javascript" src="./templates/sth/t1/javascript/localization/datepicker-en.js"></script> <div id="inc-lightbox" class="inc-lightbox-overlay inc-lightbox-close"> <div class="inc-lightbox-inner"> <button class="inc-lightbox-switch inc-prev" disabled></button> <button class="inc-lightbox-close"></button> <h3 class="inc-lightbox-header"></h3> <div class="inc-lightbox-content"></div> <div class="inc-cart-info"> <p class="inc-lightbox-message"></p> <div class="inc-lightbox-buttons"> <button class="inc-lightbox-close">more vouchers</button> <div><a role="button" href="https://shop.hrewards.com/en/shoppingcart">checkout</a></div> </div> </div> <button class="inc-lightbox-switch inc-next" disabled></button> </div> </div> <script type="text/html" id="inc-lightbox-reference"> <div class="inc-lightbox-overlay inc-lightbox-close"></div> <div class="inc-lightbox-inner"> <button class="inc-lightbox-close"></button> <div class="inc-cart-info"> <p class="inc-lightbox-message">Message</p> <div class="inc-lightbox-buttons"> <button class="inc-lightbox-close">more vouchers</button> <div><a role="button" href="https://shop.hrewards.com/en/shoppingcart">checkout</a></div> </div> </div> </div> </script> <script>var CURRENT_TEMPLATE = "sth/t1";</script> <script> var $meta = $("<meta>").attr("name", "viewport").attr("content", "width=device-width"); $("head").append($meta); </script> <script> //Systeme die in FB integriert sind und wenn man dort im Warenkorb auf "Bestellen" klickt, //dass man weitergeleitet wird in ein neues Fenster und nicht in FB if (window.parent.testFacebook && window.parent.testFacebook() == "true") { $().ready(function () { $("body").addClass("facebook"); $(".total_sum_buttons div.button a.buttonLink").click(function () { window.open("?gotocat=checkout", "_blank"); window.location.href = "index.php"; return false; }); }); } </script> <script> // When the user scrolls the page, execute myFunction window.onscroll = function() {stickyFunction()}; var subnavi = document.getElementById("inc-subnavi"); var header = document.getElementById("inc-header"); // Get the offset position of the sidebar var stickySubnavi = subnavi.offsetTop; function stickyFunction() { if (window.pageYOffset > stickySubnavi) { header.classList.add("scroll"); /*$( ".inc-header-inner" ).slideUp( "slow", function() { });*/ } else { header.classList.remove("scroll"); /*$( ".inc-header-inner" ).slideDown( "slow", function() { });*/ } } </script> <script> (function() { var div = document.createElement('DIV'); div.setAttribute('style', 'display:none;'); div.innerHTML = '<iframe id="inneriframe" width="1" height="1"></iframe>'; document.body.appendChild(div); })(); </script> </body> </html>