{"product_id":"pay-as-you-go-subscription","title":"Kullandıkça Öde Aboneliği","description":"\u003cstyle\u003e\n  .rc-ge-product{\n    max-width: 760px;\n    margin: 0 auto;\n    padding: 24px 20px 22px;\n    border-radius: 26px;\n    background: linear-gradient(145deg, #ffffff 0%, #f5fcfc 100%);\n    border: 1px solid rgba(80,170,180,.16);\n    box-shadow: 0 14px 30px rgba(29,120,133,.08);\n    color: #1f2937;\n    line-height: 1.7;\n  }\n\n  .rc-ge-product *,\n  .rc-ge-product h2,\n  .rc-ge-product h3,\n  .rc-ge-product p,\n  .rc-ge-product li,\n  .rc-ge-product a,\n  .rc-ge-product span,\n  .rc-ge-product div,\n  .rc-ge-product strong{\n    font-family: inherit !important;\n  }\n\n  .rc-ge-product-hero{\n    text-align: center;\n    margin-bottom: 18px;\n  }\n\n  .rc-ge-product-hero h2{\n    margin: 0 0 10px;\n    font-size: clamp(1.7rem, 3.2vw, 2.3rem);\n    line-height: 1.15;\n    color: #111827;\n    letter-spacing: -.02em;\n  }\n\n  .rc-ge-product-sub{\n    max-width: 620px;\n    margin: 0 auto 12px;\n    font-size: 1.03rem;\n    color: #4b5563;\n  }\n\n  .rc-ge-product-highlight{\n    display: inline-block;\n    padding: 12px 16px;\n    border-radius: 18px;\n    background: linear-gradient(135deg, #f3ffff 0%, #eafcfc 100%);\n    border: 1px solid rgba(78,170,176,.20);\n    box-shadow: 0 10px 22px rgba(29,120,133,.08);\n    font-weight: 700;\n    color: #116466;\n  }\n\n  .rc-ge-product-bubbles{\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: center;\n    gap: 10px;\n    margin: 16px 0 20px;\n  }\n\n  .rc-ge-product-bubble{\n    display: inline-flex;\n    align-items: center;\n    padding: 10px 14px;\n    border-radius: 999px;\n    border: 1px solid rgba(0,0,0,.06);\n    box-shadow: 0 6px 14px rgba(0,0,0,.05);\n    font-weight: 700;\n    font-size: .95rem;\n    color: #1f2937;\n  }\n\n  .rc-ge-product-bubble:nth-child(1){ background: #eafcfc; }\n  .rc-ge-product-bubble:nth-child(2){ background: #eefdf2; }\n  .rc-ge-product-bubble:nth-child(3){ background: #fff4df; }\n  .rc-ge-product-bubble:nth-child(4){ background: #eef6ff; }\n\n  .rc-ge-product-copy{\n    margin-bottom: 18px;\n  }\n\n  .rc-ge-product-copy p{\n    margin: 0 0 12px;\n  }\n\n  .rc-ge-product-copy ul{\n    margin: 0;\n    padding-left: 1.2rem;\n  }\n\n  .rc-ge-product-copy li{\n    margin-bottom: 8px;\n  }\n\n  .rc-ge-times-shell{\n    margin: 18px 0 18px;\n    padding: 18px 16px;\n    border-radius: 22px;\n    background: linear-gradient(145deg, #ffffff 0%, #f3fbfb 100%);\n    border: 1px solid rgba(80,170,180,.16);\n    box-shadow: 0 12px 24px rgba(29,120,133,.06);\n  }\n\n  .rc-ge-times-head{\n    display: flex;\n    align-items: flex-start;\n    justify-content: space-between;\n    gap: 12px;\n    margin-bottom: 4px;\n  }\n\n  .rc-ge-times-head h3{\n    margin: 0 0 8px;\n    font-size: 1.18rem;\n    line-height: 1.2;\n    color: #111827;\n  }\n\n  .rc-ge-times-ship{\n    flex: 0 0 auto;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-width: 52px;\n  }\n\n  .rc-ge-times-ship img{\n    display: block;\n    width: 52px;\n    height: auto;\n    max-height: 52px;\n    object-fit: contain;\n    filter: drop-shadow(0 4px 10px rgba(31,127,150,.16));\n  }\n\n  .rc-ge-times-topline{\n    margin: 0 0 8px;\n    color: #4b5563;\n    font-size: .98rem;\n  }\n\n  .rc-ge-timezone{\n    display: inline-block;\n    margin: 0 0 14px;\n    padding: 8px 12px;\n    border-radius: 999px;\n    background: linear-gradient(145deg,#f3ffff 0%,#e7fbfb 100%);\n    border: 1px solid rgba(78,170,176,.22);\n    color: #116466;\n    font-weight: 700;\n    font-size: .93rem;\n  }\n\n  .rc-ge-times-grid{\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 12px;\n  }\n\n  .rc-ge-day{\n    border-radius: 18px;\n    padding: 14px;\n    background: linear-gradient(180deg, #ffffff 0%, #f8fefe 100%);\n    border: 1px solid rgba(80,170,180,.12);\n    box-shadow: 0 8px 18px rgba(29,120,133,.04);\n  }\n\n  .rc-ge-day h4{\n    margin: 0 0 8px;\n    font-size: 1rem;\n    color: #111827;\n  }\n\n  .rc-ge-slots{\n    margin: 0;\n    padding-left: 1rem;\n  }\n\n  .rc-ge-slots li{\n    margin-bottom: 6px;\n  }\n\n  .rc-ge-times-loading,\n  .rc-ge-times-empty,\n  .rc-ge-times-error{\n    padding: 14px 16px;\n    border-radius: 18px;\n    background: linear-gradient(145deg,#ffffff 0%,#f5fdfd 100%);\n    border: 1px solid rgba(80,170,180,.12);\n  }\n\n  .rc-ge-times-error{\n    background: #fff7f7;\n    border-color: rgba(185,28,28,.12);\n    color: #991b1b;\n  }\n\n  .rc-ge-note{\n    margin-top: 12px;\n    color: #6b7280;\n    font-size: .95rem;\n  }\n\n  .rc-ge-product-buttons{\n    display: flex;\n    flex-wrap: wrap;\n    gap: 12px;\n    margin-top: 18px;\n  }\n\n  .rc-ge-btn{\n    display: inline-block;\n    padding: 12px 18px;\n    border-radius: 999px;\n    text-decoration: none;\n    font-weight: 800;\n    border: 1px solid rgba(0,0,0,.08);\n    box-shadow: 0 8px 18px rgba(0,0,0,.06);\n    transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease;\n  }\n\n  .rc-ge-btn:hover{\n    transform: translateY(-1px);\n    opacity: .96;\n    box-shadow: 0 12px 24px rgba(0,0,0,.08);\n  }\n\n  .rc-ge-btn-primary{\n    background: linear-gradient(145deg,#4fc8c4 0%,#2ca7b1 58%,#1f7d95 100%);\n    color: #fff !important;\n    border-color: rgba(16,94,105,.18);\n    box-shadow: 0 10px 22px rgba(29,120,133,.18);\n  }\n\n  .rc-ge-btn-secondary{\n    background: linear-gradient(145deg,#ffffff 0%,#f2fcfc 100%);\n    color: #1f2937 !important;\n    border: 1px solid rgba(80,170,180,.18);\n    box-shadow: 0 10px 22px rgba(29,120,133,.08);\n  }\n\n  @media (max-width: 700px){\n    .rc-ge-times-grid{\n      grid-template-columns: 1fr;\n    }\n  }\n\n  @media (max-width: 640px){\n    .rc-ge-product{\n      padding: 20px 16px 20px;\n      border-radius: 22px;\n    }\n\n    .rc-ge-product-buttons{\n      flex-direction: column;\n    }\n\n    .rc-ge-btn{\n      width: 100%;\n      text-align: center;\n      box-sizing: border-box;\n    }\n\n    .rc-ge-times-head{\n      gap: 10px;\n    }\n\n    .rc-ge-times-ship img{\n      width: 46px;\n      max-height: 46px;\n    }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"rc-ge-product\"\u003e\n\u003cdiv class=\"rc-ge-product-hero\"\u003e\n\u003ch2\u003eAylık Pay-As-You-Go Aboneliği\u003c\/h2\u003e\n\u003cp class=\"rc-ge-product-sub\"\u003eHaftalık ödeme yapma zahmeti olmadan haftalık İngilizce dersinizi her ay sürdürmenin daha basit bir yolu.\u003c\/p\u003e\n\u003cdiv class=\"rc-ge-product-highlight\"\u003eHaftalık ders saatiniz için ayda tek bir ödeme. Zaman zaman düzenli saatinizi ayarlamanız mı gerekiyor? Ross'a haber vermeniz yeterli.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rc-ge-product-bubbles\"\u003e\n\u003cspan class=\"rc-ge-product-bubble\"\u003eAylık ödeme\u003c\/span\u003e \u003cspan class=\"rc-ge-product-bubble\"\u003eHaftalık ders saati\u003c\/span\u003e \u003cspan class=\"rc-ge-product-bubble\"\u003eEsnek değişiklikler\u003c\/span\u003e \u003cspan class=\"rc-ge-product-bubble\"\u003eGerçek öğretmen\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rc-ge-product-copy\"\u003e\n\u003cp\u003eBu seçenek, haftalık ödemeyle uğraşmak yerine ayda bir kez ödemenin basitliğini isteyen öğrenciler içindir. Çoğu öğrenci her hafta düzenli bir ders saati seçer ve buna bağlı kalır, ancak ara sıra haftalık saatinizi değiştirmeniz gerekirse, genellikle sorun olmaz. Ross'a haber vermeniz yeterli, Time Document'ınız buna göre güncellenebilir.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eEn uygun olduğu kişiler:\u003c\/strong\u003e düzenli haftalık İngilizce dersleri için basit bir aylık ödeme isteyen öğrenciler\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eProgram:\u003c\/strong\u003e genellikle haftada bir ders saati\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEsneklik:\u003c\/strong\u003e gerektiğinde program değişiklikleri genellikle sorun değildir — sadece önceden haber verin\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePolitika:\u003c\/strong\u003e olağan 5+ saatlik iptal politikası hâlâ geçerlidir\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rc-ge-times-shell\"\u003e\n\u003cdiv class=\"rc-ge-times-head\"\u003e\n\u003ch3\u003eŞu anda uygun ders saatleri\u003c\/h3\u003e\n\u003cdiv class=\"rc-ge-times-ship\" aria-hidden=\"true\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0567\/6148\/3312\/files\/sail-1.gif?v=1692956642\" alt=\"\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"rc-ge-times-topline\"\u003eBunlar, saat diliminizdeki güncel Genel İngilizce saatleridir.\u003c\/p\u003e\n\u003cdiv id=\"rc-ge-timezone\" class=\"rc-ge-timezone\"\u003eSaat diliminiz kontrol ediliyor…\u003c\/div\u003e\n\u003cdiv id=\"rc-ge-output\" class=\"rc-ge-times-loading\"\u003eUygun saatler yükleniyor…\u003c\/div\u003e\n\u003cp class=\"rc-ge-note\"\u003eÇoğu öğrenci düzenli bir haftalık saat seçer, ancak küçük değişiklikler genellikle ayarlanabilir. Ross'a haber vermeniz yeterli.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rc-ge-product-buttons\"\u003e\n\u003ca class=\"rc-ge-btn rc-ge-btn-primary\" href=\"\/tr-kh\/appointment\"\u003eRandevu Alın\u003c\/a\u003e \u003ca class=\"rc-ge-btn rc-ge-btn-secondary\" href=\"\/tr-kh\/register\"\u003eRegister\u003c\/a\u003e \u003ca class=\"rc-ge-btn rc-ge-btn-secondary\" href=\"\/tr-kh\/policy\"\u003ePolicy\u003c\/a\u003e \u003ca class=\"rc-ge-btn rc-ge-btn-secondary\" href=\"\/tr-kh\/pages\/time-document\"\u003eTime Document\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cscript\u003e\n(function() {\n  var RC_GE_CONFIG = {\n    jsonUrl: 'https:\/\/script.google.com\/macros\/s\/AKfycbzoUYUQY_BcMQEUOGhiQZ043MrmJ61PS8aJxMSB8JMfMiMuyB-xw3ndNOFYYsQic5A-Kg\/exec',\n    strings: {\n      timezonePrefix: 'Timezone:',\n      loading: 'Uygun saatler yükleniyor…',\n      empty: 'No class times are available at the moment. Please check back soon.',\n      error: 'We could not load the class schedule right now.',\n      localTimeSuffix: 'local time',\n      dayLabelFallback: 'Available times'\n    }\n  };\n\n  var timezoneEl = document.getElementById('rc-ge-timezone');\n  var outputEl = document.getElementById('rc-ge-output');\n\n  if (!timezoneEl || !outputEl) return;\n\n  var viewerTimeZone = '';\n  try {\n    viewerTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone || '';\n  } catch (e) {\n    viewerTimeZone = '';\n  }\n\n  timezoneEl.textContent = RC_GE_CONFIG.strings.timezonePrefix + ' ' + (viewerTimeZone || 'Local time');\n  outputEl.className = 'rc-ge-times-loading';\n  outputEl.textContent = RC_GE_CONFIG.strings.loading;\n\n  function escapeHtml(str) {\n    return String(str).replace(\/[\u0026\u003c\u003e\"']\/g, function(match) {\n      return ({\n        '\u0026':'\u0026amp;',\n        '\u003c':'\u0026lt;',\n        '\u003e':'\u0026gt;',\n        '\"':'\u0026quot;',\n        \"'\":'\u0026#39;'\n      })[match];\n    });\n  }\n\n  function weekdayIndexFromDate(date) {\n    var weekday = new Intl.DateTimeFormat('en-US', {\n      weekday: 'short',\n      timeZone: viewerTimeZone || undefined\n    }).format(date);\n\n    var map = { Sun:0, Mon:1, Tue:2, Wed:3, Thu:4, Fri:5, Sat:6 };\n    return map[weekday] != null ? map[weekday] : date.getDay();\n  }\n\n  function weekdayNameFromDate(date) {\n    return new Intl.DateTimeFormat(undefined, {\n      weekday: 'long',\n      timeZone: viewerTimeZone || undefined\n    }).format(date);\n  }\n\n  function timeLabelFromDate(date) {\n    return new Intl.DateTimeFormat(undefined, {\n      hour: 'numeric',\n      minute: '2-digit',\n      timeZone: viewerTimeZone || undefined\n    }).format(date);\n  }\n\n  function minuteValueFromDate(date) {\n    var parts = new Intl.DateTimeFormat('en-GB', {\n      hour: '2-digit',\n      minute: '2-digit',\n      hourCycle: 'h23',\n      timeZone: viewerTimeZone || undefined\n    }).formatToParts(date);\n\n    var hour = 0;\n    var minute = 0;\n\n    for (var i = 0; i \u003c parts.length; i++) {\n      if (parts[i].type === 'hour') hour = parseInt(parts[i].value, 10) || 0;\n      if (parts[i].type === 'minute') minute = parseInt(parts[i].value, 10) || 0;\n    }\n\n    return (hour * 60) + minute;\n  }\n\n  function groupByWeekday(slots) {\n    var groups = {};\n    var ordered = [];\n\n    for (var i = 0; i \u003c slots.length; i++) {\n      var date = new Date(slots[i].iso);\n      if (isNaN(date.getTime())) continue;\n\n      var weekdayIndex = weekdayIndexFromDate(date);\n      var weekdayName = weekdayNameFromDate(date);\n      var timeLabel = timeLabelFromDate(date);\n      var uniqueKey = weekdayIndex + '|' + timeLabel;\n\n      if (!groups[weekdayIndex]) {\n        groups[weekdayIndex] = {\n          weekdayIndex: weekdayIndex,\n          weekdayName: weekdayName,\n          items: []\n        };\n        ordered.push(groups[weekdayIndex]);\n      }\n\n      var exists = false;\n      for (var j = 0; j \u003c groups[weekdayIndex].items.length; j++) {\n        if (groups[weekdayIndex].items[j].uniqueKey === uniqueKey) {\n          exists = true;\n          break;\n        }\n      }\n\n      if (!exists) {\n        groups[weekdayIndex].items.push({\n          uniqueKey: uniqueKey,\n          timeLabel: timeLabel,\n          minuteValue: minuteValueFromDate(date)\n        });\n      }\n    }\n\n    ordered.sort(function(a, b) {\n      return a.weekdayIndex - b.weekdayIndex;\n    });\n\n    for (var k = 0; k \u003c ordered.length; k++) {\n      ordered[k].items.sort(function(a, b) {\n        return a.minuteValue - b.minuteValue;\n      });\n    }\n\n    return ordered;\n  }\n\n  function renderSchedule(slots) {\n    if (!slots || !slots.length) {\n      outputEl.className = 'rc-ge-times-empty';\n      outputEl.textContent = RC_GE_CONFIG.strings.empty;\n      return;\n    }\n\n    var groups = groupByWeekday(slots);\n    var html = '\u003cdiv class=\"rc-ge-times-grid\"\u003e';\n\n    for (var i = 0; i \u003c groups.length; i++) {\n      html += '\u003cdiv class=\"rc-ge-day\"\u003e';\n      html += '\u003ch4\u003e' + escapeHtml(groups[i].weekdayName || RC_GE_CONFIG.strings.dayLabelFallback) + '\u003c\/h4\u003e';\n      html += '\u003cul class=\"rc-ge-slots\"\u003e';\n\n      for (var j = 0; j \u003c groups[i].items.length; j++) {\n        html += '\u003cli\u003e' + escapeHtml(groups[i].items[j].timeLabel) + ' \u003cspan style=\"color:#6b7280;\"\u003e(' + escapeHtml(RC_GE_CONFIG.strings.localTimeSuffix) + ')\u003c\/span\u003e\u003c\/li\u003e';\n      }\n\n      html += '\u003c\/ul\u003e';\n      html += '\u003c\/div\u003e';\n    }\n\n    html += '\u003c\/div\u003e';\n    outputEl.className = '';\n    outputEl.innerHTML = html;\n  }\n\n  function renderError(message) {\n    outputEl.className = 'rc-ge-times-error';\n    outputEl.textContent = message || RC_GE_CONFIG.strings.error;\n  }\n\n  window.rcGeScheduleCallback = function(data) {\n    try {\n      if (!data || !data.ok || !data.slots) {\n        throw new Error(data \u0026\u0026 data.error ? data.error : RC_GE_CONFIG.strings.error);\n      }\n      renderSchedule(data.slots);\n    } catch (err) {\n      renderError(err \u0026\u0026 err.message ? err.message : RC_GE_CONFIG.strings.error);\n    }\n  };\n\n  function loadSchedule() {\n    var url = RC_GE_CONFIG.jsonUrl\n      + '?callback=rcGeScheduleCallback\u0026_rcv='\n      + Date.now();\n\n    var script = document.createElement('script');\n    script.src = url;\n    script.async = true;\n    script.onerror = function() {\n      renderError('Load failed');\n    };\n    document.head.appendChild(script);\n  }\n\n  loadSchedule();\n})();\n\u003c\/script\u003e\n","brand":"rosscline.com","offers":[{"title":"Varsayılan Başlık","offer_id":42906910785584,"sku":null,"price":144000.0,"currency_code":"KHR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0567\/6148\/3312\/files\/ross-cline-pay-as-you-go-four-classes-subscription-offer-square_b2e38195-6693-47aa-99e2-df63aa298e77.jpg?v=1778590988","url":"https:\/\/rosscline.com\/tr-kh\/products\/kullandikca-ode-abonelik","provider":"rosscline.com","version":"1.0","type":"link"}