{"id":6237,"date":"2026-04-01T09:09:36","date_gmt":"2026-04-01T08:09:36","guid":{"rendered":"https:\/\/smartgifty.com\/?page_id=6237"},"modified":"2026-04-01T10:53:25","modified_gmt":"2026-04-01T09:53:25","slug":"pricing-calculator","status":"publish","type":"page","link":"https:\/\/smartgifty.com\/sl\/pricing-calculator\/","title":{"rendered":"Pricing Calculator"},"content":{"rendered":"\n<style>\n:root {\n  --bg: #120033;\n  --panel: #1a0042;\n  --text: #e8ecff;\n  --muted: rgba(232, 236, 255, 0.72);\n  --border: rgba(232, 236, 255, 0.12);\n  --shadow: 0 10px 30px rgba(0, 0, 0, 0.35);\n  --accent: #a478ff;\n  --accent2: #c9a0ff;\n  --danger: #ff6b6b;\n}\n\n* {\n  box-sizing: border-box;\n}\n\n.sg-calculator {\n  margin: 0;\n  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \"Apple Color Emoji\",\n    \"Segoe UI Emoji\";\n  color: var(--text);\n  background: radial-gradient(1200px 800px at 20% 10%, rgba(120, 60, 255, 0.2), transparent 55%),\n    radial-gradient(900px 700px at 90% 25%, rgba(180, 100, 255, 0.15), transparent 60%),\n    linear-gradient(180deg, #08001a, var(--bg));\n  padding: 20px 0;\n  border-radius: 14px;\n}\n\n.sg-calculator .container {\n  width: min(980px, calc(100% - 32px));\n  margin: 20px auto;\n  display: grid;\n  gap: 18px;\n}\n\n.sg-calculator .header {\n  padding: 10px 2px;\n}\n\n.sg-calculator .title {\n  margin: 0;\n  letter-spacing: -0.02em;\n  font-size: 28px;\n  color: #ffffff;\n}\n\n.sg-calculator .subtitle {\n  margin: 8px 0 0;\n  color: #ffffff;\n  line-height: 1.5;\n}\n\n.sg-calculator .calculator-description p,\n.sg-calculator .calculator-description ul,\n.sg-calculator .calculator-description h2,\n.sg-calculator .calculator-description h3 {\n  margin: 0 0 12px;\n  color: #ffffff;\n}\n\n.sg-calculator .calculator-description ul {\n  padding-left: 20px;\n}\n\n.sg-calculator .calculator-description h2,\n.sg-calculator .calculator-description h3 {\n  color: #ffffff;\n  font-size: 18px;\n  font-weight: 700 !important;\n}\n\n.sg-calculator .calculator-description h3 strong {\n  font-weight: 700 !important;\n}\n\n.sg-calculator .calculator-description .section-heading {\n  font-size: 18px;\n  font-weight: 700;\n  color: #ffffff;\n}\n\n.sg-calculator .calculator-description .section-heading strong {\n  font-weight: 700;\n}\n\n.sg-calculator .card {\n  background: #1e004d;\n  border: 1px solid var(--border);\n  border-radius: 14px;\n  box-shadow: var(--shadow);\n  padding: 16px;\n}\n\n.sg-calculator .field {\n  display: grid;\n  gap: 6px;\n}\n\n.sg-calculator .label {\n  font-size: 12px;\n  color: var(--muted);\n}\n\n.sg-calculator .input {\n  width: 100%;\n  background: rgba(255, 255, 255, 0.06);\n  border: 1px solid rgba(255, 255, 255, 0.14);\n  border-radius: 10px;\n  padding: 11px 12px;\n  font-size: 16px;\n  color: var(--text);\n  outline: none;\n}\n\n.sg-calculator .input:focus {\n  border-color: rgba(140, 80, 255, 0.5);\n  box-shadow: 0 0 0 4px rgba(140, 80, 255, 0.12);\n}\n\n.sg-calculator .hint {\n  font-size: 12px;\n  color: rgba(232, 236, 255, 0.55);\n}\n\n.sg-calculator .status {\n  margin-top: 12px;\n  font-size: 13px;\n  color: var(--muted);\n  min-height: 18px;\n}\n\n.sg-calculator .status.error {\n  color: var(--danger);\n}\n\n.sg-calculator .resultRow {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 16px;\n}\n\n.sg-calculator .resultStat {\n  padding: 14px;\n  border: 1px solid rgba(255, 255, 255, 0.08);\n  border-radius: 12px;\n  background: rgba(255, 255, 255, 0.04);\n}\n\n.sg-calculator .resultStat--accent {\n  background: linear-gradient(180deg, rgba(180, 100, 255, 0.12), rgba(180, 100, 255, 0.04));\n  border-color: rgba(180, 100, 255, 0.2);\n}\n\n.sg-calculator .resultLabel {\n  font-size: 12px;\n  color: var(--muted);\n}\n\n.sg-calculator .resultValue {\n  font-size: 24px;\n  font-weight: 800;\n  letter-spacing: -0.02em;\n}\n\n.sg-calculator .resultValue.small {\n  font-size: 16px;\n  font-weight: 700;\n}\n\n.sg-calculator .resultValue.accent {\n  color: #ffffff;\n}\n\n.sg-calculator .tableWrap {\n  margin-top: 12px;\n  overflow: auto;\n  border: 1px solid var(--border);\n  border-radius: 12px;\n}\n\n.sg-calculator .centerInputs {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n  gap: 14px;\n  margin-top: 12px;\n}\n\n.sg-calculator .table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 0;\n}\n\n.sg-calculator .table th,\n.sg-calculator .table td {\n  padding: 10px 12px;\n  border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n  font-weight: 400;\n}\n\n.sg-calculator .table tfoot td {\n  border-bottom: none;\n  border-top: 1px solid rgba(255, 255, 255, 0.14);\n  background: rgba(255, 255, 255, 0.04);\n}\n\n.sg-calculator .sumRow td {\n  font-weight: 400;\n}\n\n.sg-calculator .table th {\n  position: sticky;\n  top: 0;\n  background: #140038;\n  text-align: left;\n  font-size: 12px;\n  color: rgba(232, 236, 255, 0.78);\n}\n\n.sg-calculator .table td.num,\n.sg-calculator .table th.num {\n  text-align: right;\n  font-variant-numeric: tabular-nums;\n}\n\n.sg-calculator .muted {\n  color: rgba(232, 236, 255, 0.55);\n}\n\n.sg-calculator .site-footer {\n  margin-top: 8px;\n  padding: 28px 16px 40px;\n  border-top: 1px solid var(--border);\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n.sg-calculator .site-footer__link {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.sg-calculator .site-footer__logo {\n  display: block;\n  max-width: min(200px, 55vw);\n  height: auto;\n  opacity: 0.98;\n  mix-blend-mode: screen;\n}\n\n.sg-calculator .site-footer__link:hover .site-footer__logo {\n  opacity: 1;\n}\n\n@media (max-width: 600px) {\n  .sg-calculator .container {\n    width: min(100%, calc(100% - 20px));\n    margin: 12px auto 16px;\n    gap: 14px;\n  }\n\n  .sg-calculator .card {\n    padding: 12px;\n  }\n\n  .sg-calculator .header {\n    padding: 4px 2px;\n  }\n\n  .sg-calculator .title {\n    font-size: 22px;\n    line-height: 1.1;\n  }\n\n  .sg-calculator .calculator-description h2,\n  .sg-calculator .calculator-description h3 {\n    font-size: 16px;\n  }\n\n  .sg-calculator .calculator-description p,\n  .sg-calculator .calculator-description ul,\n  .sg-calculator .calculator-description h2,\n  .sg-calculator .calculator-description h3 {\n    margin-bottom: 10px;\n  }\n\n  .sg-calculator .centerInputs {\n    grid-template-columns: 1fr;\n    gap: 10px;\n  }\n\n  .sg-calculator .resultRow {\n    grid-template-columns: 1fr;\n    gap: 10px;\n  }\n\n  .sg-calculator .resultStat {\n    padding: 12px;\n  }\n\n  .sg-calculator .resultValue {\n    font-size: 22px;\n  }\n\n  .sg-calculator .resultValue.small {\n    font-size: 15px;\n  }\n\n  .sg-calculator .tableWrap {\n    overflow: visible;\n    border: none;\n    margin-top: 14px;\n  }\n\n  .sg-calculator .table,\n  .sg-calculator .table thead,\n  .sg-calculator .table tbody,\n  .sg-calculator .table tfoot,\n  .sg-calculator .table tr,\n  .sg-calculator .table th,\n  .sg-calculator .table td {\n    display: block;\n    width: 100%;\n  }\n\n  .sg-calculator .table thead {\n    display: none;\n  }\n\n  .sg-calculator .table tbody {\n    display: grid;\n    gap: 10px;\n  }\n\n  .sg-calculator .table tbody tr {\n    border: 1px solid var(--border);\n    border-radius: 12px;\n    background: rgba(255, 255, 255, 0.04);\n    overflow: hidden;\n  }\n\n  .sg-calculator .table td {\n    display: flex;\n    justify-content: space-between;\n    align-items: baseline;\n    gap: 12px;\n    padding: 10px 12px;\n    text-align: left;\n  }\n\n  .sg-calculator .table td::before {\n    content: attr(data-label);\n    color: var(--muted);\n    font-size: 12px;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.04em;\n  }\n\n  .sg-calculator .table td.num,\n  .sg-calculator .table th.num {\n    text-align: left;\n  }\n\n  .sg-calculator .table tfoot {\n    margin-top: 10px;\n  }\n\n  .sg-calculator .table tfoot tr {\n    border: 1px solid var(--border);\n    border-radius: 12px;\n    background: rgba(255, 255, 255, 0.04);\n    overflow: hidden;\n  }\n\n  .sg-calculator .table tfoot td {\n    display: flex;\n    justify-content: space-between;\n    align-items: baseline;\n    gap: 12px;\n    padding: 10px 12px;\n    border-top: none;\n    border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n  }\n\n  .sg-calculator .table tfoot td:last-child {\n    border-bottom: none;\n  }\n\n  .sg-calculator .table tfoot td::before {\n    color: var(--muted);\n    font-size: 12px;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.04em;\n  }\n\n  .sg-calculator .table tfoot td:first-child::before {\n    content: \"Row\";\n  }\n\n  .sg-calculator .table tfoot td:nth-child(2)::before {\n    content: \"Licences\";\n  }\n\n  .sg-calculator .table tfoot td:nth-child(3)::before {\n    content: \"Subtotal\";\n  }\n\n  .sg-calculator .site-footer {\n    padding: 20px 16px 28px;\n  }\n}\n<\/style>\n\n<div class=\"sg-calculator\">\n  <main class=\"container\">\n    <header class=\"header\">\n      <h1 class=\"title\">SmartGifty Pricing Calculator<\/h1>\n      <div class=\"subtitle calculator-description\">\n        <p>\n          To help you easily calculate the one-time setup fee and the monthly subscription, we have prepared a calculator where you can enter the number of tenants using the <strong>Smartgifty<\/strong> system.\n        <\/p>\n\n        <p class=\"section-heading\"><strong>Initial System Setup: &euro;3,000<\/strong><\/p>\n        <p>Details regarding the scope and coverage of this setup are provided in the presentation.<\/p>\n\n        <p class=\"section-heading\"><strong>Monthly License Calculation<\/strong><\/p>\n        <p>\n          To calculate your monthly fee, please enter the number of tenants. Please note that two additional licenses are required by default:\n        <\/p>\n        <ul>\n          <li><strong>Info Point:<\/strong> For card issuance.<\/li>\n          <li><strong>Admin:<\/strong> For complete system oversight.<\/li>\n        <\/ul>\n\n        <p><em>Note: Each additional issuance point (such as a website or a vending machine) requires an individual license.<\/em><\/p>\n      <\/div>\n    <\/header>\n\n    <section class=\"card\">\n      <label class=\"field\">\n        <span class=\"label\">Number of shopping centers<\/span>\n        <input id=\"sg-centers\" class=\"input\" type=\"number\" min=\"1\" max=\"8\" step=\"1\" placeholder=\"2\" \/>\n        <span class=\"hint\">Enter number of centers<\/span>\n      <\/label>\n      <div id=\"sg-centerInputs\" class=\"centerInputs\"><\/div>\n      <div id=\"sg-status\" class=\"status\" role=\"status\" aria-live=\"polite\"><\/div>\n    <\/section>\n\n    <section class=\"card\">\n      <div class=\"resultRow\">\n        <div class=\"resultStat\">\n          <div class=\"resultLabel\">Subtotal<\/div>\n          <div id=\"sg-subtotal\" class=\"resultValue\" style=\"font-weight: 400;\">&mdash;<\/div>\n        <\/div>\n        <div class=\"resultStat\">\n          <div class=\"resultLabel\">Discount<\/div>\n          <div id=\"sg-discountPct\" class=\"resultValue small\">&mdash;<\/div>\n        <\/div>\n        <div class=\"resultStat resultStat--accent\">\n          <div class=\"resultLabel\">Suma<\/div>\n          <div id=\"sg-suma\" class=\"resultValue accent\">&mdash;<\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"tableWrap\">\n        <table class=\"table\">\n          <thead>\n            <tr>\n              <th>Center<\/th>\n              <th class=\"num\">Stores<\/th>\n              <th class=\"num\">Subtotal<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody id=\"sg-breakdown\">\n            <tr>\n              <td colspan=\"3\" class=\"muted\">Enter number of centers, then licences per center.<\/td>\n            <\/tr>\n          <\/tbody>\n          <tfoot>\n            <tr class=\"sumRow\">\n              <td><strong>Sum<\/strong><\/td>\n              <td id=\"sg-sumQty\" class=\"num\">&mdash;<\/td>\n              <td id=\"sg-sumTotal\" class=\"num\">&mdash;<\/td>\n            <\/tr>\n          <\/tfoot>\n        <\/table>\n      <\/div>\n    <\/section>\n  <\/main>\n<\/div>\n\n<script>\n(function() {\n  function sgInit() {\n  var els = {\n    centers: document.getElementById(\"sg-centers\"),\n    centerInputs: document.getElementById(\"sg-centerInputs\"),\n    status: document.getElementById(\"sg-status\"),\n    subtotal: document.getElementById(\"sg-subtotal\"),\n    discountPct: document.getElementById(\"sg-discountPct\"),\n    suma: document.getElementById(\"sg-suma\"),\n    breakdown: document.getElementById(\"sg-breakdown\"),\n    sumQty: document.getElementById(\"sg-sumQty\"),\n    sumTotal: document.getElementById(\"sg-sumTotal\"),\n  };\n\n  var BASE_FEE_PER_CENTER = 400;\n\n  var TIERS = [\n    { from: 1, to: 15, price: 18 },\n    { from: 16, to: 30, price: 16 },\n    { from: 31, to: 50, price: 14 },\n    { from: 51, to: 70, price: 12 },\n    { from: 71, to: 100, price: 12 },\n    { from: 101, to: 150, price: 11 },\n    { from: 151, to: 200, price: 10.5 },\n    { from: 201, to: 250, price: 10 },\n    { from: 251, to: 300, price: 9.5 },\n    { from: 301, to: 350, price: 9 },\n    { from: 351, to: 400, price: 8.5 },\n    { from: 401, to: 450, price: 8 },\n  ];\n\n  var CENTER_DISCOUNTS = {\n    1: 0,\n    2: 20,\n    3: 22,\n    4: 25,\n    5: 30,\n    6: 35,\n    7: 42,\n    8: 50,\n  };\n\n  var EMPTY_BREAKDOWN =\n    '<tr><td colspan=\"3\" class=\"muted\">Enter the number of centers and then the licence counts per center.<\/td><\/tr>';\n\n  var lastNumCenters = null;\n\n  function setStatus(msg, type) {\n    type = type || \"info\";\n    els.status.textContent = msg || \"\";\n    if (type === \"error\") {\n      els.status.classList.add(\"error\");\n    } else {\n      els.status.classList.remove(\"error\");\n    }\n  }\n\n  function formatEur(value) {\n    var n = Number(value);\n    if (!Number.isFinite(n)) return \"\\u2014\";\n    return new Intl.NumberFormat(undefined, { style: \"currency\", currency: \"EUR\" }).format(n);\n  }\n\n  function formatNum(value) {\n    var n = Number(value);\n    if (!Number.isFinite(n)) return \"\\u2014\";\n    return new Intl.NumberFormat(undefined, { maximumFractionDigits: 4 }).format(n);\n  }\n\n  function validateTiers(tiers) {\n    var warnings = [];\n    for (var idx = 0; idx < tiers.length; idx++) {\n      var tier = tiers[idx];\n      if (!Number.isFinite(tier.from) || !Number.isFinite(tier.to) || tier.from < 1 || tier.to < tier.from) {\n        throw new Error(\"Invalid tier range \" + tier.from + \"\\u2013\" + tier.to + \".\");\n      }\n      if (!Number.isFinite(tier.price) || tier.price < 0) {\n        throw new Error(\"Invalid price in tier \" + tier.from + \"\\u2013\" + tier.to + \".\");\n      }\n      if (idx === 0) continue;\n      var prev = tiers[idx - 1];\n      if (tier.from <= prev.to) {\n        throw new Error(\"Overlapping tiers: \" + prev.from + \"\\u2013\" + prev.to + \" overlaps \" + tier.from + \"\\u2013\" + tier.to + \".\");\n      }\n      if (tier.from !== prev.to + 1) {\n        warnings.push(\"Gap between tiers: \" + (prev.to + 1) + \"\\u2013\" + (tier.from - 1) + \" has no price.\");\n      }\n    }\n    return warnings;\n  }\n\n  function computeLicenceSubtotal(tiers, stores) {\n    var licencesTotal = 0;\n    for (var i = 0; i < tiers.length; i++) {\n      var tier = tiers[i];\n      var qty = Math.max(0, Math.min(stores, tier.to) - tier.from + 1);\n      if (qty <= 0) continue;\n      licencesTotal += qty * tier.price;\n    }\n    return licencesTotal;\n  }\n\n  function computeBreakdown(tiers, stores) {\n    var n = Number(stores);\n    var storesInt = (Number.isFinite(n) ? (Number.isInteger(n) ? (n >= 0 ? n : 0) : 0) : 0);\n    if (storesInt <= 0) {\n      return { total: 0, licencesTotal: 0 };\n    }\n    var licencesTotal = computeLicenceSubtotal(tiers, storesInt);\n    return {\n      total: BASE_FEE_PER_CENTER + licencesTotal,\n      licencesTotal: licencesTotal,\n    };\n  }\n\n  function getCenterDiscount(centers) {\n    var n = parseInt(centers, 10);\n    if (!Number.isInteger(n) || n < 1 || n > 8) return 0;\n    return CENTER_DISCOUNTS[n] || 0;\n  }\n\n  function parseMultipleNumbers(value) {\n    if (typeof value !== \"string\") return null;\n    var raw = value.trim();\n    if (raw === \"\") return 0;\n    var parts = raw.split(\/[\\s,;]+\/);\n    var sum = 0;\n    for (var i = 0; i < parts.length; i++) {\n      var part = parts[i].trim();\n      if (!part) continue;\n      var n = Number(part);\n      if (!Number.isFinite(n) || !Number.isInteger(n) || n < 0) return null;\n      sum += n;\n    }\n    return sum;\n  }\n\n  function renderCenterInputs(count, prevValues) {\n    prevValues = prevValues || [];\n    els.centerInputs.innerHTML = \"\";\n    if (!count || count < 1 || count > 8) return;\n\n    for (var idx = 1; idx <= count; idx++) {\n      var label = document.createElement(\"label\");\n      label.className = \"field center-block\";\n      var value = prevValues[idx - 1] || \"\";\n      label.innerHTML =\n        '<span class=\"label\">Licences (center ' + idx + ')<\/span>' +\n        '<input class=\"input center-stores\" type=\"text\" inputmode=\"numeric\" placeholder=\"e.g. 10\" data-center=\"' + idx + '\" \/>';\n      var input = label.querySelector(\"input\");\n      input.value = String(value);\n      input.addEventListener(\"input\", updateResult);\n      input.addEventListener(\"change\", updateResult);\n      els.centerInputs.appendChild(label);\n    }\n  }\n\n  function getCenterStoreCounts() {\n    var inputs = els.centerInputs.querySelectorAll(\".center-stores\");\n    var counts = [];\n    for (var i = 0; i < inputs.length; i++) {\n      counts.push(parseMultipleNumbers(inputs[i].value));\n    }\n    return counts;\n  }\n\n  function getCenterStoreValues() {\n    var inputs = els.centerInputs.querySelectorAll(\".center-stores\");\n    var values = [];\n    for (var i = 0; i < inputs.length; i++) {\n      values.push(inputs[i].value);\n    }\n    return values;\n  }\n\n  function clearResult() {\n    els.subtotal.textContent = \"\\u2014\";\n    els.discountPct.textContent = \"\\u2014\";\n    els.suma.textContent = \"\\u2014\";\n    els.breakdown.innerHTML = EMPTY_BREAKDOWN;\n    els.sumQty.textContent = \"\\u2014\";\n    els.sumTotal.textContent = \"\\u2014\";\n  }\n\n  function renderBreakdown(centerRows, totalSubtotal, centersNum, tierWarnings) {\n    var discountPct = getCenterDiscount(centersNum);\n    var finalTotal = totalSubtotal * (1 - discountPct \/ 100);\n\n    els.subtotal.textContent = formatEur(totalSubtotal);\n    els.discountPct.textContent = discountPct > 0 ? discountPct + \"%\" : \"\\u2014\";\n    els.suma.textContent = formatEur(finalTotal);\n\n    if (tierWarnings.length) {\n      setStatus(\"Warning: \" + tierWarnings.join(\" \"), \"error\");\n    } else {\n      setStatus(\"\", \"info\");\n    }\n\n    if (!centerRows.length) {\n      clearResult();\n      return;\n    }\n\n    var sumQty = 0;\n    for (var i = 0; i < centerRows.length; i++) {\n      sumQty += centerRows[i].stores;\n    }\n    els.sumQty.textContent = formatNum(sumQty);\n    els.sumTotal.textContent = formatEur(totalSubtotal);\n\n    var html = \"\";\n    for (var j = 0; j < centerRows.length; j++) {\n      var row = centerRows[j];\n      html += '<tr><td data-label=\"Center\">Center ' + row.centerIndex + '<\/td>' +\n        '<td class=\"num\" data-label=\"Licences\">' + formatNum(row.stores) + '<\/td>' +\n        '<td class=\"num\" data-label=\"Subtotal\">' + formatEur(row.subtotal) + '<\/td><\/tr>';\n    }\n    els.breakdown.innerHTML = html;\n  }\n\n  function parseCenters() {\n    var raw = els.centers.value.trim();\n    if (raw === \"\") return null;\n    var n = Number(raw);\n    if (!Number.isFinite(n) || !Number.isInteger(n) || n < 1 || n > 8) return null;\n    return n;\n  }\n\n  function updateResult() {\n    try {\n      var numCenters = parseCenters();\n\n      if (numCenters == null) {\n        if (lastNumCenters !== 0) {\n          renderCenterInputs(0);\n          lastNumCenters = 0;\n        }\n        clearResult();\n        setStatus(\"Enter the number of shopping centers (1-8).\");\n        return;\n      }\n\n      if (numCenters !== lastNumCenters) {\n        renderCenterInputs(numCenters, getCenterStoreValues());\n        lastNumCenters = numCenters;\n      }\n\n      var counts = getCenterStoreCounts();\n      if (counts.length !== numCenters) {\n        clearResult();\n        return;\n      }\n\n      var hasNull = false;\n      for (var i = 0; i < counts.length; i++) {\n        if (counts[i] === null) { hasNull = true; break; }\n      }\n      if (hasNull) {\n        clearResult();\n        setStatus(\"Enter only non-negative integers in each center field.\", \"error\");\n        return;\n      }\n\n      var warnings = validateTiers(TIERS);\n      var centerRows = [];\n      var totalSubtotal = 0;\n\n      for (var k = 0; k < counts.length; k++) {\n        var stores = counts[k] || 0;\n        var result = computeBreakdown(TIERS, stores);\n        totalSubtotal += result.total;\n        centerRows.push({ centerIndex: k + 1, stores: stores, subtotal: result.total });\n      }\n\n      renderBreakdown(centerRows, totalSubtotal, numCenters, warnings);\n    } catch (error) {\n      clearResult();\n      setStatus((error ? error.message : null) || String(error), \"error\");\n    }\n  }\n\n  els.centers.addEventListener(\"input\", updateResult);\n  els.centers.addEventListener(\"change\", updateResult);\n\n  clearResult();\n  setStatus(\"Enter the number of shopping centers (1-8).\");\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", sgInit);\n  } else {\n    sgInit();\n  }\n})();\n<\/script>\n\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>SmartGifty Pricing Calculator To help you easily calculate the one-time setup fee and the monthly subscription, we have prepared a calculator where you can enter the number of tenants using the Smartgifty system. Initial System Setup: &euro;3,000 Details regarding the scope and coverage of this setup are provided in the presentation. Monthly License Calculation To &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/smartgifty.com\/sl\/pricing-calculator\/\"> <span class=\"screen-reader-text\">Pricing Calculator<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-privacy.php","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-6237","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/smartgifty.com\/sl\/wp-json\/wp\/v2\/pages\/6237\/"}],"collection":[{"href":"https:\/\/smartgifty.com\/sl\/wp-json\/wp\/v2\/pages\/"}],"about":[{"href":"https:\/\/smartgifty.com\/sl\/wp-json\/wp\/v2\/types\/page\/"}],"author":[{"embeddable":true,"href":"https:\/\/smartgifty.com\/sl\/wp-json\/wp\/v2\/users\/3\/"}],"replies":[{"embeddable":true,"href":"https:\/\/smartgifty.com\/sl\/wp-json\/wp\/v2\/comments\/?post=6237"}],"version-history":[{"count":16,"href":"https:\/\/smartgifty.com\/sl\/wp-json\/wp\/v2\/pages\/6237\/revisions\/"}],"predecessor-version":[{"id":6255,"href":"https:\/\/smartgifty.com\/sl\/wp-json\/wp\/v2\/pages\/6237\/revisions\/6255\/"}],"wp:attachment":[{"href":"https:\/\/smartgifty.com\/sl\/wp-json\/wp\/v2\/media\/?parent=6237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}