{{terminalErrorHeading}}

An error has occurred

{{terminalError}}

window.onmessage = function(e) { const payload = JSON.parse(e.data); if(payload.customVariables && payload.customVariables.hasDarkMode) { document.getElementById('piano-checkout').classList.add('darkmode'); document.getElementById('piano-already-has-access').classList.add('darkmode'); document.getElementById('piano-shared-subscription-modal').classList.add('darkmode'); document.getElementById('piano-gift').classList.add('darkmode'); document.getElementById('piano-redemption').classList.add('darkmode'); setTimeout(() => { document.getElementById('view-receipt').classList.add('darkmode'); document.getElementById('view-offer').classList.add('darkmode'); }, 1000) } } window.parent.postMessage(JSON.stringify({event: "templateReady"}), "*");
user{{user | json}}
app{{app | json}}
params{{params | json}}
custom{{custom | json}}
terms{{terms | json}}

Unser Angebot für Sie:

  • done {{listItem}}
    info
    {{infoIcons[listItem]}}
  • done {{listItem}}
    info
    {{infoIcons[listItem]}}
{{terms[$index].resource.name}}
mainPrice: {{mainPrice}}
mainUndivided: {{mainUndivided}}
mainDuration: {{mainDuration}}
priceUpper: {{priceUpper}}
priceLower: {{priceLower}}
priceLower2: {{priceLower2}}
factor: {{factor}}
priceDiff: {{priceDiff}}
priceDiff2: {{priceDiff2}}
isYearly: {{isYearly}}
isYearly2: {{isYearly2}}
billingPlans: {{terms[$index].billingPlanTable.length}}
benefits: {{benefits}}
                    
{{ euroMainPrice }} {{ mainPrice + (mainUndivided ? '.-' : '') + currency.replace("CHF", "") }} /{{ mainDuration }}
{{ standardPrice + currency.replace("EUR", "€")}} {{ standardPrice + (standardUndivided ? '.-' : (standardPriceWithoutZero ? '0' : '')) + currency.replace("CHF", "") }} {{ for }} {{ standardDuration }}
{{ after }} {{ euroMainPrice }} /{{ mainDuration }}
{{ after }} {{ mainPrice + (mainUndivided ? '.-' : '') + currency.replace("CHF", "") }} /{{ mainDuration }}
  • done {{benefit.replace("h|", "")}}
  • done {{ (terms[1].resource.rid === 'youth' ? 'Du sparst' : 'Sie sparen') + ' ' + currency.replace("EUR", "€").replace("CHF", "") + priceDiff + (priceDiff.toString().indexOf('.') === -1 ? '.- im Vergleich zum Monatsabo' : ' im Vergleich zum Monatsabo') }}
  • done {{ (terms[2].resource.rid === 'youth' ? 'Du sparst' : 'Sie sparen') + ' ' + currency.replace("EUR", "€").replace("CHF", "") + priceDiff2 + (priceDiff2.toString().indexOf('.') === -1 ? '.- im Vergleich zum Monatsabo' : ' im Vergleich zum Monatsabo') }}
var selectedYouthId; const scope = angular.element(".grid").scope(); jQuery(document).on("click", "#closeHint", function (e) { jQuery("#overlayHint").css("display", "none") }); jQuery(document).on("click", ".youth-button0", function() {selectedYouthId = scope.terms[0].termId;}); jQuery(document).on("click", ".youth-button0", youthClickHandler); jQuery(document).on("click", ".youth-button1", function() {selectedYouthId = scope.terms[1].termId;}); jQuery(document).on("click", ".youth-button1", youthClickHandler); jQuery(document).on("click", ".youth-button2", function() {selectedYouthId = scope.terms[2].termId;}); jQuery(document).on("click", ".youth-button2", youthClickHandler); jQuery(document).on("click", "#startCheckout", startCheckoutClickHandler); function youthClickHandler(e) { let t = e.target; //selectedYouthId = t.getAttribute("data-id"); if (t.tagName.toLowerCase() === "span") { t = t.parentElement.parentElement; } const offsetTop = t.getBoundingClientRect().top; const overlayHint = document.getElementById("overlayHint"); overlayHint.style.display = "flex"; overlayHint.style.visibility = "hidden"; const overlayModal = document.querySelector('.youth-overlay-inner'); const topStyle = offsetTop - overlayModal.clientHeight / 2; if (topStyle + overlayModal.clientHeight > window.innerHeight) { overlayHint.style.top = "0"; overlayHint.style.bottom = "0"; overlayHint.style.margin = "auto"; } else { overlayHint.style.top = topStyle + "px"; } overlayHint.style.visibility = "visible"; } function startCheckoutClickHandler(e) { let t = e.target; if (selectedYouthId) { angular.element(t).scope().startCheckout(selectedYouthId); } }
user{{user | json}}
app{{app | json}}
params{{params | json}}
custom{{custom | json}}
terms{{terms | json}}