CINXE.COM
H Rewards Gutscheine – Jetzt online kaufen
<!DOCTYPE html> <html dir="ltr" lang="de"> <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="de" /> <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/"/> <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 = 'de'; 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/" class="header-logo" > <img src="templates/sth/images/exp_logo.jpg" alt="Zur Startseite" /> </a> <a class="customer-website" href="" target="_blank"> <span class="icon-sphere" aria-hidden="true"></span> <span class="website-url hidden-xs" >zur 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()">Deutsch</button> <ul class="dropdown-options"> <li> <a href="https://shop.hrewards.com/en" aria-label="English"> English </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/warenkorb" 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"> Warenkorb</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>Warenkorb</h3> <div class="infobox-cart-content empty"> Sie haben noch keine Artikel in Ihrem Warenkorb. </div> </div> </div> </li> </ul> </div> </div> <div class="inc-header-inner-sub" id="inc-subnavi"> <a href="https://hrewards.com/de" 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/de/find-a-hotel" target="_blank" class="header-nav-item">Hotelsuche</a> </li> <li> <a href="https://hrewards.com/de/hotel-angebote" target="_blank" class="header-nav-item">Angebote</a> </li> <li> <a href="https://hrewards.com/de/meeting-event" target="_blank" class="header-nav-item">Meeting & Event</a> </li> <li> <a href="https://hrewards.com/de/bonusprogramm" target="_blank" class="header-nav-item">Über H Rewards</a> </li> <li class="only-mobile"> <a class="header-nav-item" href="https://shop.hrewards.com/wertgutscheine">Wertgutscheine</a> </li> <li class="only-mobile"> <a class="header-nav-item" href="https://shop.hrewards.com/hotelspezifische-gutscheine">Hotelindividuelle Gutscheine</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()">Deutsch</button> <ul class="dropdown-options"> <li> <a href="https://shop.hrewards.com/en" aria-label="English"> English </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/wertgutscheine">Wertgutscheine</a> </li> <li class="only-mobile"> <a class="header-nav-item" href="https://shop.hrewards.com/hotelspezifische-gutscheine">Hotelindividuelle Gutscheine</a> </li> </ul> </div> </div> </header> <noscript> <div class="inc-error-box center" role="alert"> Bitte <b>aktivieren Sie JavaScript</b> in Ihrem Browser! Andernfalls kann es zu Problemen bei der Anzeige der Produkte, bzw. bei der Durchführung Ihrer Bestellung kommen. </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/" class="headerNavigation">Shop</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> Unser Weihnachtsgeschenk: 15% Rabatt auf Wertgutscheine </h3> <div class="news-description"> Mit dem Promocode <strong>XMAS15 </strong>sparen Sie <strong>15% Rabatt</strong> auf den Kauf von Wertgutscheinen. </div> <div class="news-link"> <a class="default-button" href="https://shop.hrewards.com/xmas" > Jetzt Rabatt sichern </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"> <p><strong><big>WILLKOMMEN IM H REWARDS GUTSCHEINSHOP</big></strong></p> </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 Geschenkgutscheine</h1> <p>Besondere Momente erfordern besondere Geschenke. Bei unserer großen Auswahl an Gutscheinideen findet sich immer das perfekte Geschenk.<br /> <br /> Suchen Sie Ihr Lieblingsmotiv aus, personalisieren Sie Ihr Geschenk beliebig und erstellen Sie bequem und einfach Ihren individuellen H Rewards Geschenkgutschein. <br /> <br /> Wir machen Ihr Geschenk zu einem unvergesslichen Erlebnis!</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>Grenzenlos</strong></em></h3> <p>Ob 25 EUR oder 2.000 EUR - Sie wählen den Wert Ihres Geschenks</p> </div> </div> <div class="c6"> <div class="c3"><span class="icon-shortterm"> </span></div> <div class="c9"> <h3><em><strong>Kurzfristig</strong></em></h3> <p>Unsere Print@Home Gutscheine helfen allen kurzentschlossenen Geschenksuchenden</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>Qualität</strong></em></h3> <p>Individualisieren Sie Ihr Geschenk nach Wunsch mit einem Gruß und Lieblingsmotiv Ihrer Wahl.</p> </div> </div> <div class="c6"> <div class="c3"><span class="icon-experience"> </span></div> <div class="c9"> <h3><em><strong>Erlebnis</strong></em></h3> <p>Unsere Gutscheine schaffen unvergessliche Momente.</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">Unsere Kategorien</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/wertgutscheine"> <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> Wertgutscheine </h3> <p> Egal zu welchem Anlass – überraschen Sie Ihre Lieben mit einem individuellen Print@Home Gutschein für unvergessliche Momente. </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/hotelspezifische-gutscheine"> <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> Hotelindividuelle Gutscheine </h3> <p> Entdecken Sie unsere speziellen Angebote aus den einzelnen Hotels – mit Print@Home direkt für Sie verfügbar. </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">Unsere aktuellen Empfehlungen </h2> <div class="inc-product-list-item-wrapper scrollable"> <!----> <a href="https://shop.hrewards.com/hotelspezifische-gutscheine/leistungsgutscheine-oscars-3-gaenge-menue" 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-Gänge-Menü im Oscar's</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="3-Gänge-Menü im Oscar's"/> </div> <div class="inc-product-item-headline"> <div class="inc-product-item-manufacturer"> Steigenberger Icon Frankfurter Hof </div> <h3> 3-Gänge-Menü im Oscar's</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="3-Gänge-Menü im Oscar's"/> <div class="inc-product-item-price"> ab 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 "> zum Gutschein </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/hotelspezifische-gutscheine/leistungsgutscheine-the-spa-klassische-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> Klassische Massage</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Klassische Massage"/> </div> <div class="inc-product-item-headline"> <div class="inc-product-item-manufacturer"> Steigenberger Icon Frankfurter Hof </div> <h3> Klassische Massage</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Klassische 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 "> zum Gutschein </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/hotelspezifische-gutscheine/petersberg-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 "> zum Gutschein </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/hotelspezifische-gutscheine/fruehstueck-inselhotel" 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> Best Breakfast in Town</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Best Breakfast in Town"/> </div> <div class="inc-product-item-headline"> <div class="inc-product-item-manufacturer"> Steigenberger Inselhotel </div> <h3> Best Breakfast in Town</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="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 "> zum Gutschein </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/hotelspezifische-gutscheine/wertgutschein-fuer-das-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> Wertgutschein für das Steigenberger Inselhotel Konstanz</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Wertgutschein für das Steigenberger Inselhotel Konstanz"/> </div> <div class="inc-product-item-headline"> <div class="inc-product-item-manufacturer"> Steigenberger Inselhotel </div> <h3> Wertgutschein für das Steigenberger Inselhotel Konstanz</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Wertgutschein für das Steigenberger Inselhotel Konstanz"/> <div class="inc-product-item-price"> ab 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 "> zum Gutschein </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/hotelspezifische-gutscheine/hi-voucher-the-spa-frankfurter-hof-1" 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">neu</div> <div class="inc-product-item-image"> <img src="templates/sth/images/product_images/info_images/422_2.png" title=""> <input type="hidden" aria-hidden="true" class="inc-product-item-image-url-hidden" value="templates/sth/images/product_images/info_images/422_2.png"> </div> </div> <div class="inc-product-item-details"> <div class="inc-product-item-desc"> <div class="inc-product-item-headline home"> <h3> Wertgutschein THE SPA</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Wertgutschein THE SPA"/> </div> <div class="inc-product-item-headline"> <div class="inc-product-item-manufacturer"> Steigenberger Icon Frankfurter Hof </div> <h3> Wertgutschein THE SPA</h3> <input type="hidden" aria-hidden="true" class="inc-product-item-hidden-name" value="Wertgutschein THE SPA"/> <div class="inc-product-item-price"> ab 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 "> zum Gutschein </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 Artikel wurde zum Warenkorb hinzugefügt."; var text_products_added = "%s Artikel wurden zum Warenkorb hinzugefügt."; </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>Gutschein Wertabfrage</span></h3> <div class="infobox-content"> <div id="inc-value-check"> <p>Durch die Eingabe des Barcodes am Gutschein bzw. auf der Rückseite Ihrer Geschenkkarte können Sie den aktuellen Wert abfragen.</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>Ausstellungsdatum:</b> <span>{{response.issueDate}}</span></span><br/> <span><b>Gültig bis:</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>In Passbook speichern</h3> <p>Speichern sie Ihren Gutschein in Ihr mobiles 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="Code eingeben" required/> </div> <input class="button call-to-action" type="submit" value="Abfragen"/> </div> <div :class="captcha.hasError ? 'invalid' : ''" v-if="requiresCaptcha()"> <div class="vvcode-form-section"> <label class="inct-captcha"> <span class="inct-captcha-label"> Bitte geben Sie den Code ein. </span><br> <img src="https://shop.hrewards.com/api/captcha/vvcode?m=68794" 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("Bitte geben Sie einen Code ein.", 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("Bitte überprüfen sie die Captcha Eingabe.", false); _this._data.attempt.tracked++; } else if (!response.status) { _this._data.voucher.hasError = true; _this.setStatus("Ungültiger Gutscheincode.", 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("Ein interner Fehler ist aufgetreten. Bitte versuchen Sie es erneut.", 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> </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"> Sichere<br>Zahlung </div> </div> <div class="flex-item mobile-hidden"> <span class="icon-advantage-present"></span> <div class="flex-item-text"> Hochwertige<br>Geschenkideen </div> </div> <div class="flex-item mobile-hidden"> <span class="icon-advantage-personalize"></span> <div class="flex-item-text"> Personalisierung<br>mit Text, Bild </div> </div> <div class="flex-item"> <span class="icon-advantage-digital"></span> <div class="flex-item-text"> Digitaler Versand </div> </div> </div> </div> <div class="footer-top-logo-wrapper"> <a href="https://hrewards.com/de" 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>Zahlen Sie auf shop.hrewards.com mit:</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>Mehr über...</h3> <div class="infobox-content-left"> <ul class="content-links"><li><a class="content_link" href="https://hrewards.com/de/legal/datenschutz" target="_blank">Datenschutz</a></li><li><a class="content_link" href="https://shop.hrewards.com/einloesung"> Einlösung</a></li><li><a class="content_link" href="https://shop.hrewards.com/widerrufsbelehrung"> Widerrufsbelehrung</a></li><li><a class="content_link" href="https://shop.hrewards.com/agb"> AGB</a></li><li><a class="content_link" href="https://hrewards.com/de/legal/impressum" target="_blank">Impressum</a></li><li><a class="content_link" href="https://shop.hrewards.com/kontakt"> Kontakt</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-de.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">weitere Artikel</button> <div><a role="button" href="https://shop.hrewards.com/warenkorb">zur Kasse</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">weitere Artikel</button> <div><a role="button" href="https://shop.hrewards.com/warenkorb">zur Kasse</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>