{"id":644,"date":"2026-09-10T10:35:46","date_gmt":"2026-09-10T08:35:46","guid":{"rendered":"https:\/\/padeldavidquintin.com\/?page_id=644"},"modified":"2026-09-10T10:35:46","modified_gmt":"2026-09-10T08:35:46","slug":"reserva","status":"publish","type":"page","link":"https:\/\/padeldavidquintin.com\/es\/reserva\/","title":{"rendered":"Reserva la teva classe"},"content":{"rendered":"\n<h1 class=\"dqa-h1\" style=\"max-width:720px;margin:0 auto 6px;padding:0 2px;font-family:'Bebas Neue','Arial Narrow',sans-serif;font-size:clamp(34px,6vw,52px);font-weight:400;letter-spacing:.02em;line-height:1;color:#F4F4EF;text-transform:uppercase;\">Reserva la teva classe<\/h1>\n<p style=\"max-width:720px;margin:0 auto 18px;padding:0 2px;font-size:15px;font-weight:300;color:rgba(244,244,239,.62);\">Classes particulars amb David Quint\u00edn a l&#8217;Oller del M\u00e0s, a 5 minuts de Manresa.<\/p>\n\n\n\t\t<div class=\"dq-wrap\" data-rest=\"https:\/\/padeldavidquintin.com\/es\/wp-json\/dq\/v1\"\n\t     data-build=\"db379581\">\n\t\t<div class=\"dq-head\">\n\t\t\t<h2 class=\"dq-title\">Classes particulars<\/h2>\n\t\t\t<p class=\"dq-sub\">Tria el dia i l'hora que et vagi b\u00e9<\/p>\n\t\t<\/div>\n\n\t\t<div class=\"dq-days\" role=\"tablist\" aria-label=\"Tria el dia\"><\/div>\n\n\t\t<div class=\"dq-card\">\n\t\t\t<div class=\"dq-card-head\" id=\"dq-hours-label\">Hores disponibles<\/div>\n\t\t\t<div class=\"dq-slots\" role=\"group\" aria-labelledby=\"dq-hours-label\">\n\t\t\t\t<p class=\"dq-msg\">Carregant disponibilitat\u2026<\/p>\n\t\t\t<\/div>\n\t\t\t<p class=\"dq-legend\"><span class=\"dq-dot\"><\/span> Lliure &nbsp;\u00b7&nbsp; <span class=\"dq-dot dq-dot-off\"><\/span> Ocupat<\/p>\n\t\t<\/div>\n\n\t\t\t\t<p class=\"dq-error\" role=\"alert\" hidden><\/p>\n\n\t\t\t\t<form class=\"dq-form\" hidden>\n\t\t\t<p class=\"dq-chosen\"><\/p>\n\t\t\t<label>Nom i cognoms <input type=\"text\" name=\"name\" autocomplete=\"name\" required><\/label>\n\t\t\t<label>Correu electr\u00f2nic <input type=\"email\" name=\"email\" autocomplete=\"email\" required><\/label>\n\t\t\t<label>Tel\u00e8fon <input type=\"tel\" name=\"phone\" autocomplete=\"tel\"><\/label>\n\t\t\t<label>Alguna cosa que h\u00e0gim de saber? <textarea name=\"notes\" rows=\"2\"><\/textarea><\/label>\n\t\t\t\t\t\t<label class=\"dq-consent\">\n\t\t\t\t<input type=\"checkbox\" name=\"consent\" value=\"1\" required>\n\t\t\t\t<span>Accepto la <a href=\"https:\/\/padeldavidquintin.com\/es\/politica-privacitat\/\" target=\"_blank\" rel=\"noopener\">pol\u00edtica de privacitat<\/a> i les <a href=\"https:\/\/padeldavidquintin.com\/condicions-de-contractacio\/\" target=\"_blank\" rel=\"noopener\">condicions de contractaci\u00f3<\/a> i que es facin servir les meves dades per gestionar aquesta reserva.<\/span>\n\t\t\t<\/label>\n\n\t\t\t<label class=\"dq-hp\" aria-hidden=\"true\">No omplir <input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label>\n\t\t\t<div class=\"dq-actions\">\n\t\t\t\t<button type=\"button\" class=\"dq-cancel\">Canviar l'hora<\/button>\n\t\t\t\t<button type=\"submit\" class=\"dq-submit\">Confirmar la reserva<\/button>\n\t\t\t<\/div>\n\t\t<\/form>\n\n\t\t<div class=\"dq-done\" role=\"status\" hidden><\/div>\n\t<\/div>\n\t<style>\/* Paleta tomada del propio sitio: fondo #1A2B36, crema #F4F4EF, acento sage #9BA080,\n   superficie elevada #2B3F50, esquinas de 2px y CTA en may\u00fasculas. El bloque vive\n   sobre el fondo oscuro del tema, no monta un panel blanco encima. *\/\n\/* El calendario se dibuja despu\u00e9s de cargar la disponibilidad. Sin un alto\n   reservado, al aparecer empujaba el pie: CLS 0,204 medido en escritorio. *\/\n.dq-cal{min-height:280px}\n.dq-slots{min-height:96px}\n.dq-wrap{min-height:520px;\n  --dq-ink:#F4F4EF;--dq-muted:rgba(244,244,239,.62);--dq-line:rgba(244,244,239,.18);\n  --dq-surface:#2B3F50;--dq-sunken:rgba(13,20,26,.45);\n  --dq-accent:#9BA080;--dq-accent-ink:#1A2B36;--dq-danger:#FFA79B;\n  font-family:\"DM Sans\",Helvetica,sans-serif;color:var(--dq-ink);\n  max-width:720px;margin:0 auto;color-scheme:dark\n}\n.dq-wrap *{box-sizing:border-box}\n.dq-head{border-left:4px solid var(--dq-accent);background:var(--dq-surface);padding:16px 20px;border-radius:2px}\n.dq-title{font-family:\"Bebas Neue\",\"Arial Narrow\",sans-serif;font-weight:700;font-size:32px;line-height:1.05;\n  letter-spacing:.03em;text-transform:uppercase;color:var(--dq-ink);margin:0}\n.dq-sub{margin:4px 0 0;font-size:15px;color:var(--dq-muted)}\n\n.dq-days{padding:16px 0 4px}\n.dq-cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}\n.dq-cal-head b{font-family:\"Bebas Neue\",\"Arial Narrow\",sans-serif;font-size:22px;letter-spacing:.04em;\n  text-transform:uppercase;color:var(--dq-ink)}\n.dq-cal-nav{width:38px;height:38px;border:1px solid var(--dq-line);border-radius:2px;background:transparent;\n  color:var(--dq-ink);font-size:20px;line-height:1;cursor:pointer}\n.dq-cal-nav:hover:not([disabled]){border-color:var(--dq-accent);color:var(--dq-accent)}\n.dq-cal-nav[disabled]{opacity:.28;cursor:not-allowed}\n.dq-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}\n@media(max-width:360px){.dq-wrap{padding-left:10px;padding-right:10px}.dq-cal{gap:3px}.dq-day{font-size:17px}}\n.dq-cal-dow{text-align:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;\n  color:var(--dq-muted);padding-bottom:4px}\n.dq-cal-dot{display:block;width:5px;height:5px;border-radius:50%;background:var(--dq-accent);margin:3px auto 0}\n.dq-day{position:relative;aspect-ratio:1;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;\n  border:1px solid var(--dq-line);border-radius:2px;background:transparent;\n  padding:0;min-width:0;text-align:center;cursor:pointer;line-height:1.2;font-family:inherit;color:var(--dq-ink)}\n.dq-day{font-family:\"Bebas Neue\",\"Arial Narrow\",sans-serif;font-size:20px;letter-spacing:.02em}\n.dq-cal-fuera{border-color:transparent;color:rgba(244,244,239,.20)}\n.dq-day[aria-selected=\"true\"]{background:var(--dq-accent);border-color:var(--dq-accent);color:var(--dq-accent-ink)}\n\/* Sin alfa: al 75% sobre el verde sage se quedaba en 3.5:1, por debajo de AA. *\/\n.dq-day[aria-selected=\"true\"] span{color:var(--dq-accent-ink)}\n.dq-day[disabled]{opacity:.4;cursor:not-allowed}\n\n.dq-card{border:1px solid var(--dq-line);border-radius:2px;padding:18px;background:rgba(244,244,239,.03)}\n.dq-card-head{font-family:\"Bebas Neue\",\"Arial Narrow\",sans-serif;font-size:22px;letter-spacing:.05em;\n  text-transform:uppercase;margin-bottom:14px}\n.dq-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}\n.dq-slot{position:relative;border:1px solid var(--dq-line);border-radius:2px;background:var(--dq-surface);\n  padding:14px 8px;font-family:inherit;font-size:16px;font-weight:500;color:var(--dq-ink);cursor:pointer}\n.dq-slot::after{content:\"\";position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--dq-accent)}\n.dq-slot:hover:not([disabled]){border-color:var(--dq-accent)}\n.dq-slot[disabled]{color:rgba(244,244,239,.38);background:transparent;cursor:not-allowed;text-decoration:line-through}\n.dq-slot[disabled]::after{background:rgba(244,244,239,.22)}\n.dq-slot[aria-pressed=\"true\"]{background:var(--dq-accent);color:var(--dq-accent-ink);border-color:var(--dq-accent)}\n.dq-slot[aria-pressed=\"true\"]::after{background:var(--dq-accent-ink)}\n.dq-msg{grid-column:1\/-1;color:var(--dq-muted);margin:0;font-size:15px}\n.dq-legend{margin:14px 0 0;font-size:12px;color:var(--dq-muted);display:flex;align-items:center;gap:6px}\n.dq-dot{width:7px;height:7px;border-radius:50%;background:var(--dq-accent);display:inline-block}\n.dq-dot-off{background:rgba(244,244,239,.22)}\n\n.dq-form{border:1px solid var(--dq-line);border-radius:2px;padding:18px;margin-top:14px;background:rgba(244,244,239,.03)}\n.dq-chosen{margin:0 0 16px;font-family:\"Bebas Neue\",\"Arial Narrow\",sans-serif;font-size:22px;letter-spacing:.05em;\n  text-transform:uppercase;color:var(--dq-accent)}\n.dq-form label{display:block;margin-bottom:14px;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--dq-muted)}\n.dq-form input,.dq-form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--dq-line);\n  border-radius:2px;background:var(--dq-sunken);font-family:inherit;font-size:16px;text-transform:none;\n  letter-spacing:normal;color:var(--dq-ink)}\n.dq-form input:focus,.dq-form textarea:focus{outline:none;border-color:var(--dq-accent)}\n.dq-wrap :focus-visible{outline:2px solid var(--dq-accent);outline-offset:2px}\n.dq-consent{display:flex!important;gap:8px;align-items:flex-start;text-transform:none!important;\n  letter-spacing:normal!important;font-size:13px!important;line-height:1.5;margin-bottom:16px!important}\n.dq-consent input{width:auto!important;margin:2px 0 0!important;flex:0 0 auto;accent-color:var(--dq-accent)}\n.dq-consent a{color:var(--dq-accent);text-decoration:underline}\n.dq-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}\n\n.dq-actions{display:flex;gap:10px;margin-top:4px}\n.dq-actions button{flex:1;padding:14px 20px;border-radius:2px;font-family:inherit;font-size:13px;font-weight:600;\n  text-transform:uppercase;letter-spacing:.08em;cursor:pointer}\n.dq-cancel{background:transparent;color:var(--dq-ink);border:1px solid var(--dq-line)}\n.dq-cancel:hover{border-color:var(--dq-ink)}\n.dq-submit{background:var(--dq-accent);color:var(--dq-accent-ink);border:1px solid var(--dq-accent)}\n.dq-submit[disabled]{opacity:.55;cursor:wait}\n.dq-error{color:var(--dq-danger);margin:0 0 14px;font-size:14px;text-transform:none;letter-spacing:normal}\n.dq-done{border:1px solid var(--dq-accent);border-left-width:4px;background:rgba(155,160,128,.14);border-radius:2px;\n  padding:22px;font-size:17px;color:var(--dq-ink)}\n\n@media (max-width:380px){\n  .dq-slots{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))}\n  .dq-actions{flex-direction:column}\n}\n\/* M\u00f3vil: el calendario manda sobre el cuadrado; va al final para ganar por orden. *\/\n@media (max-width:440px){.dq-cal{gap:4px}.dq-day{aspect-ratio:auto;height:44px;font-size:17px}}<\/style>\n\t<script>\/*\n * Inicializa TODAS las instancias pendientes, no solo la primera.\n * LiteSpeed puede combinar y mover el JS inline, con lo que document.currentScript\n * deja de ser fiable para localizar \"su\" bloque.\n *\/\n(function () {\n  document.querySelectorAll('.dq-wrap:not([data-ready])').forEach(init);\n\nfunction init(wrap) {\n  wrap.dataset.ready = '1';\n\n  var rest = wrap.dataset.rest.replace(\/\\\/$\/, '');\n  var daysEl = wrap.querySelector('.dq-days');\n  var slotsEl = wrap.querySelector('.dq-slots');\n  var form = wrap.querySelector('.dq-form');\n  var done = wrap.querySelector('.dq-done');\n  var errEl = wrap.querySelector('.dq-error');\n  var state = { date: null, time: null, days: [], mes: null };\n\n  function day_of(date) {\n    return state.days.filter(function (x) { return x.date === date; })[0];\n  }\n\n  function msg(text) {\n    slotsEl.textContent = '';\n    var p = document.createElement('p');\n    p.className = 'dq-msg';\n    p.textContent = text;\n    slotsEl.appendChild(p);\n  }\n\n  var MESOS = ['gener', 'febrer', 'mar\u00e7', 'abril', 'maig', 'juny',\n               'juliol', 'agost', 'setembre', 'octubre', 'novembre', 'desembre'];\n  var DOW = ['Dl', 'Dt', 'Dc', 'Dj', 'Dv', 'Ds', 'Dg'];\n\n  function ymd(y, m, d) {\n    return y + '-' + ('0' + (m + 1)).slice(-2) + '-' + ('0' + d).slice(-2);\n  }\n\n  \/*\n   * Calendario por meses. Con la ventana de reservas abierta a semanas vista, una\n   * tira horizontal obliga a arrastrar a ciegas: en rejilla se ve el mes entero y\n   * qu\u00e9 d\u00edas tienen hueco de un vistazo.\n   *\/\n  function renderDays() {\n    daysEl.textContent = '';\n    if (!state.days.length) return;\n\n    var primero = state.days[0].date, ultimo = state.days[state.days.length - 1].date;\n    if (!state.mes) state.mes = (state.date || primero).slice(0, 7);\n\n    var y = +state.mes.slice(0, 4), m = +state.mes.slice(5, 7) - 1;\n\n    var cab = document.createElement('div');\n    cab.className = 'dq-cal-head';\n\n    function nav(signo, etiqueta, permitido) {\n      var b = document.createElement('button');\n      b.type = 'button';\n      b.className = 'dq-cal-nav';\n      b.setAttribute('aria-label', etiqueta);\n      b.textContent = signo < 0 ? '\u2039' : '\u203a';\n      b.disabled = !permitido;\n      b.addEventListener('click', function () {\n        var d = new Date(y, m + signo, 1);\n        state.mes = ymd(d.getFullYear(), d.getMonth(), 1).slice(0, 7);\n        renderDays();\n      });\n      return b;\n    }\n\n    var titulo = document.createElement('b');\n    titulo.textContent = MESOS[m] + ' ' + y;\n    cab.appendChild(nav(-1, 'Mes anterior', state.mes > primero.slice(0, 7)));\n    cab.appendChild(titulo);\n    cab.appendChild(nav(1, 'Mes seg\u00fcent', state.mes < ultimo.slice(0, 7)));\n    daysEl.appendChild(cab);\n\n    var grid = document.createElement('div');\n    grid.className = 'dq-cal';\n    grid.setAttribute('role', 'grid');\n\n    DOW.forEach(function (d) {\n      var s = document.createElement('span');\n      s.className = 'dq-cal-dow';\n      s.textContent = d;\n      grid.appendChild(s);\n    });\n\n    var primerDia = new Date(y, m, 1);\n    var offset = (primerDia.getDay() + 6) % 7;   \/\/ la semana empieza en dilluns\n    var enMes = new Date(y, m + 1, 0).getDate();\n\n    for (var i = 0; i < offset; i++) {\n      grid.appendChild(document.createElement('span'));\n    }\n\n    for (var dia = 1; dia <= enMes; dia++) {\n      var fecha = ymd(y, m, dia);\n      var info = day_of(fecha);\n      var b = document.createElement('button');\n      b.type = 'button';\n      b.className = 'dq-day';\n      b.dataset.date = fecha;\n      b.setAttribute('role', 'gridcell');\n      b.setAttribute('aria-selected', String(fecha === state.date));\n      b.textContent = dia;\n\n      \/\/ Ojo: nada de dos ampersands seguidos aqui; WordPress los texturiza y tumba el script.\n      var libre = info ? info.free : 0;\n      if (libre) {\n        b.setAttribute('aria-label', info.pretty + ', ' + libre + ' hores lliures');\n        var punto = document.createElement('i');\n        punto.className = 'dq-cal-dot';\n        b.appendChild(punto);\n        (function (f) { b.addEventListener('click', function () { select(f); }); })(fecha);\n      } else {\n        b.disabled = true;\n        b.setAttribute('aria-label', info ? info.pretty + ', complet' : fecha + ', sense classes');\n        if (!info) b.classList.add('dq-cal-fuera');\n      }\n\n      grid.appendChild(b);\n    }\n\n    daysEl.appendChild(grid);\n  }\n\n  function renderSlots() {\n    var day = day_of(state.date);\n    if (!day || !day.slots.length) return msg('Aquest dia no hi ha classes.');\n    if (!day.free) return msg('Aquest dia est\u00e0 complet. Prova un altre.');\n\n    slotsEl.textContent = '';\n    day.slots.forEach(function (slot) {\n      var b = document.createElement('button');\n      b.type = 'button';\n      b.className = 'dq-slot';\n      b.textContent = slot.time;\n      b.disabled = !slot.available;\n      b.setAttribute('aria-pressed', String(slot.time === state.time));\n      if (!slot.available) b.setAttribute('aria-label', slot.time + ', ocupat');\n      b.addEventListener('click', function () { pick(slot.time); });\n      slotsEl.appendChild(b);\n    });\n  }\n\n  function select(date) {\n    state.date = date;\n    state.mes = date.slice(0, 7);\n    state.time = null;\n    form.hidden = true;\n    renderDays();\n    renderSlots();\n  }\n\n  function pick(time) {\n    state.time = time;\n    renderSlots();\n    wrap.querySelector('.dq-chosen').textContent = day_of(state.date).pretty + ' \u00b7 ' + time + ' h';\n    errEl.hidden = true;\n    form.hidden = false;\n    form.querySelector('[name=\"name\"]').focus({ preventScroll: true });\n    form.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n\n  function load(keepSelection) {\n    \/\/ Cache-buster: LiteSpeed cachea el HTML de la p\u00e1gina, la disponibilidad nunca.\n    return fetch(rest + '\/slots?_=' + Date.now(), { headers: { 'Cache-Control': 'no-cache' } })\n      .then(function (r) { return r.json(); })\n      .then(function (data) {\n        state.days = data.days || [];\n        var wanted = keepSelection ? (day_of(state.date) ? state.date : null) : null;\n        var first = wanted || (state.days.filter(function (d) { return d.free > 0; })[0] || state.days[0] || {}).date;\n        if (!first) return msg('Encara no hi ha horaris configurats.');\n        \/\/ El formulario se cierra siempre: si mantuvi\u00e9ramos abierto uno con una\n        \/\/ hora que acaba de ocuparse, el siguiente \"Confirmar\" ir\u00eda sin hora.\n        select(first);\n      })\n      .catch(function () { msg('No hem pogut carregar la disponibilitat. Torna a carregar la p\u00e0gina.'); });\n  }\n\n  wrap.querySelector('.dq-cancel').addEventListener('click', function () {\n    form.hidden = true;\n    state.time = null;\n    renderSlots();\n  });\n\n  form.addEventListener('submit', function (ev) {\n    ev.preventDefault();\n    var btn = wrap.querySelector('.dq-submit');\n    var val = function (n) { return form.querySelector('[name=\"' + n + '\"]').value.trim(); };\n\n    if (!val('name') || !val('email')) {\n      errEl.textContent = 'Necessitem el teu nom i el teu correu electr\u00f2nic.';\n      errEl.hidden = false;\n      return;\n    }\n\n    if (!form.querySelector('[name=\"consent\"]').checked) {\n      errEl.textContent = 'Cal acceptar la pol\u00edtica de privacitat per poder reservar.';\n      errEl.hidden = false;\n      return;\n    }\n\n    btn.disabled = true;\n    btn.textContent = 'Reservant\u2026';\n    errEl.hidden = true;\n\n    fetch(rest + '\/book', {\n      method: 'POST',\n      headers: { 'Content-Type': 'application\/json' },\n      body: JSON.stringify({\n        date: state.date, time: state.time, name: val('name'), email: val('email'),\n        phone: val('phone'), notes: val('notes'), website: val('website'),\n        consent: form.querySelector('[name=\"consent\"]').checked ? 1 : 0\n      })\n    })\n      .then(function (r) { return r.json().then(function (b) { return { ok: r.ok, body: b }; }); })\n      .then(function (res) {\n        \/\/ Barrera de pago: la hora queda retenida y se sale a Stripe.\n        if (res.ok ? res.body.payment_required : false) {\n          window.location.href = res.body.checkout_url;\n          return;\n        }\n        btn.disabled = false;\n        btn.textContent = 'Confirmar la reserva';\n\n        if (!res.ok) {\n          errEl.textContent = res.body.message || 'No hem pogut completar la reserva.';\n          errEl.hidden = false;\n          load(true); \/\/ el hueco pudo ocuparse mientras rellenaba: refrescamos\n          return;\n        }\n\n        form.hidden = true;\n        daysEl.hidden = true;\n        wrap.querySelector('.dq-card').hidden = true;\n        done.textContent = res.body.message;\n        done.hidden = false;\n        done.scrollIntoView({ behavior: 'smooth', block: 'center' });\n      })\n      .catch(function () {\n        btn.disabled = false;\n        btn.textContent = 'Confirmar la reserva';\n        errEl.textContent = 'Error de connexi\u00f3. Torna-ho a provar.';\n        errEl.hidden = false;\n      });\n  });\n\n  load();\n}\n})();<\/script>\n\t\n\n\n<div class=\"dq-otra-via\" style=\"max-width:720px;margin:0 auto 72px;padding:22px 24px;border:1px solid rgba(255,255,255,.10);border-left:3px solid #9ba080;background:#243444;\">\n  <p style=\"margin:0 0 8px;font-family:'Bebas Neue','Arial Narrow',sans-serif;font-size:22px;letter-spacing:.02em;color:#f4f4ef;\">BUSQUES CLASSES EN GRUP?<\/p>\n  <p style=\"margin:0;font-size:15px;font-weight:300;line-height:1.7;color:rgba(244,244,239,.72);\">\n    Aqu\u00ed reserves una <strong style=\"color:#f4f4ef;font-weight:600;\">classe particular<\/strong>, hora a hora.\n    Per a l&#8217;<a href=\"https:\/\/padeldavidquintin.com\/escola-base\/\" style=\"color:#9ba080;\">Escola Base<\/a>,\n    l&#8217;<a href=\"https:\/\/padeldavidquintin.com\/escola-competicio\/\" style=\"color:#9ba080;\">Escola de Competici\u00f3<\/a>\n    o les <a href=\"https:\/\/padeldavidquintin.com\/classes-padel-nens-manresa\/\" style=\"color:#9ba080;\">classes per a nens\/es<\/a>,\n    la pla\u00e7a \u00e9s per trimestre: <a href=\"https:\/\/padeldavidquintin.com\/#contacte\" style=\"color:#9ba080;\">escriu-nos<\/a>\n    o <a href=\"https:\/\/wa.me\/34666645713\" target=\"_blank\" rel=\"noopener\" style=\"color:#9ba080;\">parla amb el David per WhatsApp<\/a>.\n  <\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Reserva la teva classe Classes particulars amb David Quint\u00edn a l&#8217;Oller del M\u00e0s, a 5 minuts de Manresa. BUSQUES CLASSES EN GRUP? Aqu\u00ed reserves una classe particular, hora a hora. Per a l&#8217;Escola Base, l&#8217;Escola de Competici\u00f3 o les classes per a nens\/es, la pla\u00e7a \u00e9s per trimestre: escriu-nos o parla amb el David per [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"no-title","meta":{"_joinchat":[],"footnotes":""},"class_list":["post-644","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/padeldavidquintin.com\/es\/wp-json\/wp\/v2\/pages\/644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/padeldavidquintin.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/padeldavidquintin.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/padeldavidquintin.com\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/padeldavidquintin.com\/es\/wp-json\/wp\/v2\/comments?post=644"}],"version-history":[{"count":1,"href":"https:\/\/padeldavidquintin.com\/es\/wp-json\/wp\/v2\/pages\/644\/revisions"}],"predecessor-version":[{"id":675,"href":"https:\/\/padeldavidquintin.com\/es\/wp-json\/wp\/v2\/pages\/644\/revisions\/675"}],"wp:attachment":[{"href":"https:\/\/padeldavidquintin.com\/es\/wp-json\/wp\/v2\/media?parent=644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}