{"id":7096,"date":"2025-08-25T11:24:48","date_gmt":"2025-08-25T09:24:48","guid":{"rendered":"https:\/\/stayonera.com\/?page_id=7096"},"modified":"2025-08-25T11:36:43","modified_gmt":"2025-08-25T09:36:43","slug":"review-onera-wimberley","status":"publish","type":"page","link":"https:\/\/stayonera.com\/es\/review-onera-wimberley\/","title":{"rendered":"Review | Onera Wimberley"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7096\" class=\"elementor elementor-7096\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dac7c90 e-flex e-con-boxed e-con e-parent\" data-id=\"dac7c90\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-20e8d63 elementor-widget elementor-widget-html\" data-id=\"20e8d63\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!doctype html>\r\n<html lang=\"en\">\r\n<head>\r\n  <meta charset=\"utf-8\" \/>\r\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" \/>\r\n  <title>Onera Wimberley \u2014 Feedback<\/title>\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n  <style>\r\n    \/* Scoped styles so nothing bleeds into Elementor layout *\/\r\n    #vv-widget {\r\n      --card:#ffffff;\r\n      --text:#7c706f;             \/* primary *\/\r\n      --muted:#8e8786;\r\n      --accent:#c6af8a;           \/* CTA + stars *\/\r\n      --accent-hover:#b79b74;     \/* darker on hover *\/\r\n      --star-default:#cbd5e1;\r\n      --ring:#7c706f;\r\n      --field:#d7dce6;\r\n      font-family: Syne,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;\r\n      color: var(--text);\r\n    }\r\n    #vv-widget .vv-wrap { width:100%; display:grid; place-items:center; padding:24px; background:var(--bg); }\r\n    #vv-widget .vv-card {\r\n      width:100%; max-width:620px; background:var(--card); border-radius:0px;\r\n      box-shadow:0 14px 38px rgba(17,24,39,.10); padding:28px 28px 24px;\r\n    }\r\n    #vv-widget .vv-eyebrow { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }\r\n    #vv-widget h1.vv-title { font-size:30px; line-height:1.15; margin:6px 0; color:var(--text); }\r\n    #vv-widget .vv-sub { color:#6b6b6b; font-size:14px; margin:0 0 14px; }\r\n    #vv-widget .vv-stars { display:flex; gap:10px; margin:12px 0 10px; }\r\n    #vv-widget .vv-star {\r\n      cursor:pointer; font-size:38px; line-height:1; padding:8px 6px; border-radius:0px;\r\n      transition:transform .06s ease,color .15s ease; color:var(--star-default);\r\n      background:transparent; border:none;\r\n    }\r\n    #vv-widget .vv-star:hover,\r\n    #vv-widget .vv-star.vv-hover { color:var(--accent); transform:translateY(-1px) scale(1.03); }\r\n    #vv-widget .vv-star.vv-active { color:var(--accent); text-shadow:0 3px 10px rgba(0,0,0,.05); }\r\n    #vv-widget .vv-stack { display:grid; grid-template-columns:1fr; gap:12px; margin-top:14px; }\r\n    #vv-widget .vv-inp {\r\n      border:1.25px solid var(--field); border-radius:0px; padding:13px 14px; font-size:14px; width:100%;\r\n      outline:none; background:#fff; color:#0f172a; transition:box-shadow .15s,border-color .15s;\r\n    }\r\n    #vv-widget .vv-inp:focus { border-color:var(--ring); box-shadow:0 0 0 4px rgba(124,112,111,.18); }\r\n    #vv-widget .vv-btn {\r\n      display:inline-flex; justify-content:center; align-items:center; width:100%; height:52px; border-radius:0px; border:0; cursor:pointer;\r\n      background:var(--accent); color:#fff; font-weight:700; font-size:15px; margin-top:16px; transition:transform .06s ease, background .15s ease;\r\n    }\r\n    #vv-widget .vv-btn:hover { transform:translateY(-1px); background:var(--accent-hover); }\r\n    #vv-widget .vv-btn[disabled]{ opacity:.55; cursor:not-allowed; }\r\n    @media (max-width:560px){\r\n      #vv-widget h1.vv-title{ font-size:26px; }\r\n      #vv-widget .vv-star{ font-size:32px; }\r\n      #vv-widget .vv-card{ padding:22px; border-radius:0px; }\r\n    }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n  <div id=\"vv-widget\">\r\n    <div class=\"vv-wrap\">\r\n      <main class=\"vv-card\" role=\"main\" aria-labelledby=\"vv-title\">\r\n        <div class=\"vv-eyebrow\">Guest Feedback<\/div>\r\n        <h1 id=\"vv-title\" class=\"vv-title\">How is your stay?<\/h1>\r\n        <p class=\"vv-sub\">Tap a star to rate your experience.<\/p>\r\n\r\n        <div id=\"vv-stars\" class=\"vv-stars\" aria-label=\"Rate from 1 to 5 stars\">\r\n          <button class=\"vv-star\" data-value=\"1\" aria-label=\"1 star\" type=\"button\">\u2605<\/button>\r\n          <button class=\"vv-star\" data-value=\"2\" aria-label=\"2 stars\" type=\"button\">\u2605<\/button>\r\n          <button class=\"vv-star\" data-value=\"3\" aria-label=\"3 stars\" type=\"button\">\u2605<\/button>\r\n          <button class=\"vv-star\" data-value=\"4\" aria-label=\"4 stars\" type=\"button\">\u2605<\/button>\r\n          <button class=\"vv-star\" data-value=\"5\" aria-label=\"5 stars\" type=\"button\">\u2605<\/button>\r\n        <\/div>\r\n\r\n        <div class=\"vv-stack\">\r\n          <input id=\"vv-name\"  class=\"vv-inp\" placeholder=\"Your full name\" autocomplete=\"name\">\r\n          <input id=\"vv-email\" class=\"vv-inp\" type=\"email\" placeholder=\"you@example.com\" autocomplete=\"email\">\r\n          <input id=\"vv-phone\" class=\"vv-inp\" type=\"tel\" placeholder=\"+1 (___) ___-____\" autocomplete=\"tel\">\r\n        <\/div>\r\n\r\n        <button id=\"vv-submit\" class=\"vv-btn\" aria-live=\"polite\">Continue<\/button>\r\n      <\/main>\r\n    <\/div>\r\n  <\/div>\r\n\r\n<script>\r\n\/* ======== Onera Wimberley CONFIG ======== *\/\r\nconst GOOGLE_REVIEW   = \"ChIJ--WRCgBfW4YRmLFzxePM_nE\"; \/\/ Place ID OR full 'writereview' URL\r\nconst FORM_URL        = \"https:\/\/docs.google.com\/forms\/d\/e\/1FAIpQLSdQsEyaIo-5odLhKNPp4RWeH4xcKvYPNZ3oYLRYCKGMU0tymg\/viewform\";\r\nconst BRAND_COLORS    = { primary:\"#7c706f\", accent:\"#c6af8a\", accentHover:\"#b79b74\" };\r\n\/* ============================================ *\/\r\n\r\n(function initVV(){\r\n  \/\/ Apply brand colors\r\n  const root = document.getElementById('vv-widget');\r\n  root.style.setProperty('--ring', BRAND_COLORS.primary);\r\n  root.style.setProperty('--text', BRAND_COLORS.primary);\r\n  root.style.setProperty('--accent', BRAND_COLORS.accent);\r\n  if (BRAND_COLORS.accentHover) root.style.setProperty('--accent-hover', BRAND_COLORS.accentHover);\r\n\r\n  \/\/ Resolve review URL from constant (accept URL or Place ID)\r\n  const reviewUrl = \/^https?:\\\/\\\/\/i.test(GOOGLE_REVIEW)\r\n    ? GOOGLE_REVIEW\r\n    : \"https:\/\/search.google.com\/local\/writereview?placeid=\" + encodeURIComponent(GOOGLE_REVIEW);\r\n\r\n  \/\/ Tracking passthrough\r\n  const qp = new URLSearchParams(window.location.search);\r\n  const tracking = new URLSearchParams({\r\n    utm_source: qp.get(\"utm_source\") || \"review-hub\",\r\n    utm_medium: qp.get(\"utm_medium\") || \"qr\",\r\n    utm_campaign: \"Onera-Wimberley\",\r\n    res: qp.get(\"res\") || \"\"\r\n  }).toString();\r\n\r\n  \/\/ Stars: hover preview + selection\r\n  let chosen = 0;\r\n  const stars = Array.from(document.querySelectorAll(\"#vv-stars .vv-star\"));\r\n  stars.forEach((btn, idx) => {\r\n    btn.addEventListener(\"mouseenter\", () => {\r\n      stars.forEach((s,i)=>s.classList.toggle(\"vv-hover\", i <= idx));\r\n    });\r\n    btn.addEventListener(\"mouseleave\", () => {\r\n      stars.forEach((s)=>s.classList.remove(\"vv-hover\"));\r\n    });\r\n    btn.addEventListener(\"click\", () => {\r\n      chosen = idx + 1;\r\n      stars.forEach((s,i)=>s.classList.toggle(\"vv-active\", i < chosen));\r\n    });\r\n  });\r\n\r\n  \/\/ Normalize any accidental Google Form edit URL\r\n  function normalizeFormUrl(u){\r\n    try{\r\n      const url = new URL(u);\r\n      if(url.hostname.includes('docs.google.com') && url.pathname.includes('\/forms\/d\/') && url.pathname.endsWith('\/edit')){\r\n        url.pathname = url.pathname.replace('\/edit','\/viewform');\r\n        return url.toString();\r\n      }\r\n    }catch(e){}\r\n    return u;\r\n  }\r\n\r\n  \/\/ Submit routing\r\n  document.getElementById(\"vv-submit\").addEventListener(\"click\", () => {\r\n    if (!chosen) { alert(\"Please choose a star rating.\"); return; }\r\n    const POSITIVE_THRESHOLD = 5;\r\n    let target = (chosen >= POSITIVE_THRESHOLD) ? reviewUrl : normalizeFormUrl(FORM_URL);\r\n\r\n    const name  = document.getElementById(\"vv-name\").value.trim();\r\n    const email = document.getElementById(\"vv-email\").value.trim();\r\n    const phone = document.getElementById(\"vv-phone\").value.trim();\r\n\r\n    if (chosen < POSITIVE_THRESHOLD) {\r\n      const url = new URL(target);\r\n      url.searchParams.set(\"rating\", chosen);\r\n      if (name)  url.searchParams.set(\"name\", name);\r\n      if (email) url.searchParams.set(\"email\", email);\r\n      if (phone) url.searchParams.set(\"phone\", phone);\r\n      tracking.split(\"&\").forEach(kv => {\r\n        const [k, v] = kv.split(\"=\");\r\n        if (v) url.searchParams.set(k, decodeURIComponent(v));\r\n      });\r\n      target = url.toString();\r\n    } else {\r\n      const glue = target.includes(\"?\") ? \"&\" : \"?\";\r\n      target = target + glue + tracking;\r\n    }\r\n\r\n    const btn = document.getElementById(\"vv-submit\");\r\n    btn.disabled = true; btn.textContent = chosen >= POSITIVE_THRESHOLD ? \"Opening Google Reviews\u2026\" : \"Opening feedback form\u2026\";\r\n    window.location.href = target;\r\n  });\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Onera Wimberley \u2014 Feedback Guest Feedback How is your stay? Tap a star to rate your experience. \u2605 \u2605 \u2605 \u2605 \u2605 Continue<\/p>","protected":false},"author":7,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"iawp_total_views":2,"footnotes":""},"class_list":["post-7096","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/stayonera.com\/es\/wp-json\/wp\/v2\/pages\/7096","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stayonera.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/stayonera.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/stayonera.com\/es\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/stayonera.com\/es\/wp-json\/wp\/v2\/comments?post=7096"}],"version-history":[{"count":9,"href":"https:\/\/stayonera.com\/es\/wp-json\/wp\/v2\/pages\/7096\/revisions"}],"predecessor-version":[{"id":7106,"href":"https:\/\/stayonera.com\/es\/wp-json\/wp\/v2\/pages\/7096\/revisions\/7106"}],"wp:attachment":[{"href":"https:\/\/stayonera.com\/es\/wp-json\/wp\/v2\/media?parent=7096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}