{"id":2431,"date":"2025-05-21T10:10:11","date_gmt":"2025-05-21T08:10:11","guid":{"rendered":"https:\/\/serhsbeach.com\/ofertas\/"},"modified":"2026-07-28T17:13:22","modified_gmt":"2026-07-28T15:13:22","slug":"ofertas","status":"publish","type":"page","link":"https:\/\/serhsbeach.com\/es\/ofertas\/","title":{"rendered":"Ofertas"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row full_width=\u00bbstretch_row_content_no_spaces\u00bb el_class=\u00bbbanner-reserva\u00bb][vc_column]<div class='cabecera' style='background-image:url(https:\/\/serhsbeach.com\/wp-content\/uploads\/2026\/07\/IMG_6009-scaled.jpg);'><div class='cabecera-container'><p class='title-little' style='text-align:center;'>Consulta nuestras<\/p><p class='title-display-big' style='text-align:center;'>Ofertas<\/p><\/div><div class='sticky-booking'><section id=\"bookingWidget\" class=\"custom-booking-banner-wrapper\">\n\n  <!-- CONTENEDOR DEL BLOQUE EN HOME -->\n  <div class=\"custom-booking-banner\">\n\n    <!-- FILA DE VENTAJAS (arriba siempre) -->\n    <div class=\"custom-booking-advantages\" aria-label=\"Ventajas\">\n      <div>\n        <img decoding=\"async\" src=\"https:\/\/serhsbeach.com\/wp-content\/uploads\/2025\/07\/Vector-2.png\" alt=\"Icono de Descuento\">\n        <span>Bebida de bienvenida<\/span>\n      <\/div>\n      <div>\n        <img decoding=\"async\" src=\"https:\/\/serhsbeach.com\/wp-content\/uploads\/2025\/07\/Vector-1.png\" alt=\"Icono de Bienvenida\">\n        <span>10% Dto exclusivo<\/span>\n      <\/div>\n      <div>\n        <img decoding=\"async\" src=\"https:\/\/serhsbeach.com\/wp-content\/uploads\/2025\/07\/Vector.png\" alt=\"Icono de Check-out\">\n        <span>Check-Out hasta las 15h bajo disponibilidad<\/span>\n      <\/div>\n      <div>\n        <img decoding=\"async\" src=\"https:\/\/serhsbeach.com\/wp-content\/uploads\/2025\/07\/Union-1.png\" alt=\"Icono de Cancelaci\u00f3n\">\n        <span>Mejor Precio Garantizado<\/span>\n      <\/div>\n      <div>\n        <img decoding=\"async\" src=\"https:\/\/serhsbeach.com\/wp-content\/uploads\/2025\/07\/Union.png\" alt=\"Icono de Pago\">\n        <span>Cancelaci\u00f3n gratuita<\/span>\n      <\/div>\n    <\/div>\n\n    <!-- CTA EN M\u00d3VIL (bot\u00f3n), FORM EN DESKTOP -->\n    <div class=\"custom-booking-main\">\n      <!-- En m\u00f3vil mostramos SOLO este bot\u00f3n -->\n      <div class=\"booking-mobile-cta\">\n        <button type=\"button\" class=\"booking-mobile-trigger button-default js-open-booking\"\n                aria-haspopup=\"dialog\" aria-controls=\"bookingSheet\">\n          Consultar        <\/button>\n      <\/div>\n\n      <!-- En desktop mostramos el formulario aqu\u00ed -->\n      <div class=\"custom-booking-form-container\" id=\"bookingFormHome\">\n        <form id=\"omnibeesBookingForm\" target=\"_blank\" onsubmit=\"return false;\">\n          <div class=\"form-field date-range-field\">\n            <img decoding=\"async\" src=\"https:\/\/serhsbeach.com\/wp-content\/uploads\/2025\/07\/Group-8-1.png\" alt=\"Calendario\" class=\"icono-calendario\">\n            <label for=\"dateRange\" class=\"screen-reader-text\">Fechas de la estancia (entrada y salida)<\/label>\n            <input type=\"text\" id=\"dateRange\" aria-label=\"Fechas de la estancia (entrada y salida)\" placeholder=\"Entrada \u279c Salida\" readonly>\n            <input type=\"hidden\" id=\"checkinDateFormatted\" name=\"CheckIn\">\n            <input type=\"hidden\" id=\"checkoutDateFormatted\" name=\"CheckOut\">\n          <\/div>\n\n          <div class=\"form-field guests-field\">\n            <img decoding=\"async\" src=\"https:\/\/serhsbeach.com\/wp-content\/uploads\/2025\/07\/Outline-1.png\" alt=\"Hu\u00e9spedes\" class=\"icono-calendario\">\n            <label for=\"guestsSummary\" class=\"screen-reader-text\">N\u00famero de hu\u00e9spedes y apartamentos<\/label>\n            <input type=\"text\" id=\"guestsSummary\" aria-label=\"N\u00famero de hu\u00e9spedes y apartamentos\" value=\"2 personas\" readonly>\n            <input type=\"hidden\" name=\"NRooms\" id=\"numRoomsHidden\" value=\"1\">\n            <input type=\"hidden\" name=\"ad\" id=\"adultsHidden\">\n            <input type=\"hidden\" name=\"ch\" id=\"childrenHidden\">\n            <input type=\"hidden\" name=\"ag\" id=\"agesHidden\">\n\n            <div id=\"guestsDropdown\" class=\"guests-dropdown\" style=\"display:none;\">\n              <div class=\"guests-heading\">\n                <div>Apartamentos<\/div>\n                <div>Adultos<\/div>\n                <div>Ni\u00f1os<\/div>\n                <div class=\"ages-label\">Edad de los ni\u00f1os<\/div>\n                <div><\/div>\n              <\/div>\n              <div id=\"roomSelectionContainer\"><\/div>\n              <div class=\"guests-footer\">\n                <div class=\"add-room-button\" id=\"addRoomButton\">\n                  <span>A\u00f1adir apartamento<\/span>\n                  <i class=\"fas fa-plus\"><\/i>\n                <\/div>\n                <button type=\"button\" id=\"confirmGuests\" class=\"confirm-guests-button\">\n                  Confirmar                <\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"form-field promo-field\">\n            <label for=\"promoCode\" class=\"screen-reader-text\">C\u00f3digo promocional<\/label>\n            <input type=\"text\" id=\"promoCode\" aria-label=\"C\u00f3digo promocional\" placeholder=\"C\u00f3digos promocionales\">\n          <\/div>\n\n          <button type=\"submit\" class=\"consultar-button button-default\">\n            Consultar          <\/button>\n        <\/form>\n      <\/div>\n      \n          <!-- Marcador para recolocar el form en desktop -->\n        <div id=\"bookingFormHomeSlot\" style=\"display:none;\"><\/div>\n\n      <!-- Enlace \u201cCancelar reserva\u201d (siempre abajo) -->\n      <div class=\"end-link\">\n        <div>\n          <a href=\"#\" target=\"_blank\">\n            Cancelar reserva          <\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n\n\n\n\n\n  <noscript>\n    <p>Para reservar, activa JavaScript o usa el siguiente enlace:<\/p>\n    <p><a href=\"#\" target=\"_blank\" rel=\"nofollow noopener\">Ir al motor de reservas<\/a><\/p>\n  <\/noscript>\n<\/section>\n\n<\/div>  <!-- OVERLAY A PANTALLA COMPLETA (SHEET) -->\n  <div id=\"bookingSheet\"\n       class=\"booking-sheet\"\n       role=\"dialog\"\n       aria-modal=\"true\"\n       aria-hidden=\"true\"\n       aria-label=\"Formulario de reserva\">\n    <div class=\"booking-sheet__header\">\n      <strong class=\"booking-sheet__title\">Tu reserva<\/strong>\n      <button type=\"button\" class=\"booking-sheet__close\" aria-label=\"Cerrar\">\n        &times;\n      <\/button>\n    <\/div>\n    <div id=\"bookingSheetBody\" class=\"booking-sheet__body\"><\/div>\n  <\/div><a href=\"#colophon\" class=\"scroll-down-banner\" aria-label=\"Bajar\">\n\t\t\t\t\t<svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n\t\t\t\t\t\t<path d=\"M6 9l6 6 6-6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n\t\t\t\t\t<\/svg>\n\t\t\t\t<\/a><\/div>[\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text][\/vc_column_text][\/vc_column][\/vc_row][vc_section full_width=\u00bbstretch_row_content\u00bb css=\u00bb.vc_custom_1749131845054{background-color: #F8F8F2 !important;}\u00bb][vc_row css_animation=\u00bbfadeInUp\u00bb][vc_column el_class=\u00bbpag_oferta\u00bb]<div class='menu-meses-carrusel-wrapper'><button type='button' class='mes-arrow left' aria-label='Mes anterior' onclick='scrollMeses(-1)'><i class='fa-solid fa-angle-left' aria-hidden='true'><\/i><\/button><div class='menu-meses-carrusel'><div class='scroll-meses' id='scrollMeses'><div class='mes-item '><a href='#' class='mes-link' data-mes='January'>Enero<\/a><\/div><div class='mes-item '><a href='#' class='mes-link' data-mes='February'>Febrero<\/a><\/div><div class='mes-item '><a href='#' class='mes-link' data-mes='March'>Marzo<\/a><\/div><div class='mes-item '><a href='#' class='mes-link' data-mes='April'>Abril<\/a><\/div><div class='mes-item '><a href='#' class='mes-link' data-mes='May'>Mayo<\/a><\/div><div class='mes-item '><a href='#' class='mes-link' data-mes='June'>Junio<\/a><\/div><div class='mes-item '><a href='#' class='mes-link' data-mes='July'>Julio<\/a><\/div><div class='mes-item '><a href='#' class='mes-link' data-mes='August'>Agosto<\/a><\/div><div class='mes-item active'><a href='#' class='mes-link' data-mes='September'>Septiembre<\/a><\/div><div class='mes-item '><a href='#' class='mes-link' data-mes='October'>Octubre<\/a><\/div><div class='mes-item '><a href='#' class='mes-link' data-mes='November'>Noviembre<\/a><\/div><div class='mes-item '><a href='#' class='mes-link' data-mes='December'>Diciembre<\/a><\/div><\/div><\/div><button type='button' class='mes-arrow right' aria-label='Mes siguiente' onclick='scrollMeses(1)'><i class='fa-solid fa-angle-right' aria-hidden='true'><\/i><\/button><\/div><div class='contenedor-ofertas '><h2 class='titulo-ofertas'>Ofertas Septiembre<\/h2><div class='grid-ofertas'><div class='bloque-recomendado' data-post-id='3595' style='background-image: url(https:\/\/serhsbeach.com\/wp-content\/uploads\/2026\/09\/1525OFF-SERHS-BEACH-SITE.png);'><a href='https:\/\/serhsbeach.com\/es\/ofertas\/3587\/' title='15% OFF en el SERHS Beach' class='bloque-recomendado-link'><div class='bloque-recomendado-block bloque-recomendado-block-1'><div class='bloque-recomendado-block-content'><p class='bloque-recomendado-block-title'>15% OFF en el SERHS Beach<\/p><\/div><\/div><div class='bloque-recomendado-block bloque-recomendado-block-2'><div class='bloque-recomendado-block-content'><p class='bloque-recomendado-block-title'>15% OFF en el SERHS Beach<\/p><p class='bloque-recomendado-block-text'>Ver Detalles<i class='fa-solid fa-chevron-right'><\/i><\/p><\/div><\/div><\/a><\/div><div class='bloque-recomendado' data-post-id='3195' style='background-image: url(https:\/\/serhsbeach.com\/wp-content\/uploads\/2026\/07\/11_11_20-1024x768.png);'><a href='https:\/\/serhsbeach.com\/es\/ofertas\/o-melhor-valor-em-nosso-site-oficial\/' title='La mejor relaci\u00f3n calidad-precio en nuestra p\u00e1gina web oficial' class='bloque-recomendado-link'><div class='bloque-recomendado-block bloque-recomendado-block-1'><div class='bloque-recomendado-block-content'><p class='bloque-recomendado-block-title'>La mejor relaci\u00f3n calidad-precio en nuestra p\u00e1gina web oficial<\/p><\/div><\/div><div class='bloque-recomendado-block bloque-recomendado-block-2'><div class='bloque-recomendado-block-content'><p class='bloque-recomendado-block-title'>La mejor relaci\u00f3n calidad-precio en nuestra p\u00e1gina web oficial<\/p><p class='bloque-recomendado-block-text'>Ver Detalles<i class='fa-solid fa-chevron-right'><\/i><\/p><\/div><\/div><\/a><\/div><div class='bloque-recomendado' data-post-id='3196' style='background-image: url(https:\/\/serhsbeach.com\/wp-content\/uploads\/2025\/06\/Incremente-sua-estada.jpg);'><a href='https:\/\/serhsbeach.com\/es\/ofertas\/incremente-sua-estada\/' title='\u00a1Aprovecha al m\u00e1ximo tu estancia!' class='bloque-recomendado-link'><div class='bloque-recomendado-block bloque-recomendado-block-1'><div class='bloque-recomendado-block-content'><p class='bloque-recomendado-block-title'>\u00a1Aprovecha al m\u00e1ximo tu estancia!<\/p><\/div><\/div><div class='bloque-recomendado-block bloque-recomendado-block-2'><div class='bloque-recomendado-block-content'><p class='bloque-recomendado-block-title'>\u00a1Aprovecha al m\u00e1ximo tu estancia!<\/p><p class='bloque-recomendado-block-text'>Ver Detalles<i class='fa-solid fa-chevron-right'><\/i><\/p><\/div><\/div><\/a><\/div><\/div><\/div>\n\t\t\t<script>\n\t\t\tfunction scrollMeses(direction) {\n\t\t\t\tconst container = document.getElementById('scrollMeses');\n\t\t\t\tconst scrollAmount = 150;\n\t\t\t\tcontainer.scrollBy({\n\t\t\t\t\tleft: direction * scrollAmount,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdocument.addEventListener('DOMContentLoaded', function () {\n\t\t\t\tconst enlacesMes = document.querySelectorAll('.mes-link');\n\t\t\t\tconst cacheMeses = {}; \/\/ cach\u00e9 en memoria de los meses ya cargados\n\n\t\t\t\tfunction cargarMes(mes) {\n\t\t\t\t\tif (cacheMeses[mes]) {\n\t\t\t\t\t\treturn Promise.resolve(cacheMeses[mes]);\n\t\t\t\t\t}\n\t\t\t\t\tconst data = new FormData();\n\t\t\t\t\tdata.append('action', 'get_ofertas_mes');\n\t\t\t\t\tdata.append('mes', mes);\n\t\t\t\t\treturn fetch('https:\/\/serhsbeach.com\/wp-admin\/admin-ajax.php', { method: 'POST', body: data })\n\t\t\t\t\t\t.then(response => response.json())\n\t\t\t\t\t\t.then(json => {\n\t\t\t\t\t\t\tif (json.success) {\n\t\t\t\t\t\t\t\tcacheMeses[mes] = json.data;\n\t\t\t\t\t\t\t\treturn json.data;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn Promise.reject(json);\n\t\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tenlacesMes.forEach(link => {\n\t\t\t\t\tlink.addEventListener('click', function (e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tconst mes = this.dataset.mes;\n\t\t\t\t\t\tconst mesTraducido = this.textContent.trim();\n\n\t\t\t\t\t\tdocument.querySelectorAll('.mes-item').forEach(item => item.classList.remove('active'));\n\t\t\t\t\t\tthis.closest('.mes-item').classList.add('active');\n\n\t\t\t\t\t\tconst ofertas = document.querySelector('.contenedor-ofertas ');\n\t\t\t\t\t\tconst grid = document.querySelector('.grid-ofertas');\n\t\t\t\t\t\tconst titulo = document.querySelector('.titulo-ofertas');\n\n\t\t\t\t\t\t\/\/ Aplica fade-out\n\t\t\t\t\t\tofertas.classList.remove('fade-in');\n\t\t\t\t\t\tgrid.classList.remove('fade-in');\n\t\t\t\t\t\ttitulo.classList.remove('fade-in');\n\n\t\t\t\t\t\tofertas.classList.add('fade-out');\n\t\t\t\t\t\tgrid.classList.add('fade-out');\n\t\t\t\t\t\ttitulo.classList.add('fade-out');\n\n\t\t\t\t\t\t\/\/ Muestra el spinner de carga sobre el contenedor.\n\t\t\t\t\t\tofertas.classList.add('cargando');\n\n\t\t\t\t\t\t\/\/ Lanza la petici\u00f3n YA (en paralelo con el fade-out) y espera a que\n\t\t\t\t\t\t\/\/ terminen las dos cosas: el m\u00ednimo de animaci\u00f3n y la carga de datos.\n\t\t\t\t\t\tconst esperaFade = new Promise(resolve => setTimeout(resolve, 300));\n\n\t\t\t\t\t\tPromise.all([cargarMes(mes), esperaFade])\n\t\t\t\t\t\t\t.then(([html]) => {\n\t\t\t\t\t\t\t\tofertas.classList.remove('cargando');\n\t\t\t\t\t\t\t\tgrid.innerHTML = html;\n\t\t\t\t\t\t\t\ttitulo.textContent = 'Ofertas de ' + mesTraducido;\n\n\t\t\t\t\t\t\t\t\/\/ For\u00e7a reflow per reiniciar animaci\u00f3\n\t\t\t\t\t\t\t\tvoid grid.offsetWidth;\n\n\t\t\t\t\t\t\t\t\/\/ Fade-in\n\t\t\t\t\t\t\t\tofertas.classList.remove('fade-out');\n\t\t\t\t\t\t\t\tgrid.classList.remove('fade-out');\n\t\t\t\t\t\t\t\ttitulo.classList.remove('fade-out');\n\n\t\t\t\t\t\t\t\tofertas.classList.add('fade-in');\n\t\t\t\t\t\t\t\tgrid.classList.add('fade-in');\n\t\t\t\t\t\t\t\ttitulo.classList.add('fade-in');\n\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\tgrid.classList.remove('fade-in');\n\t\t\t\t\t\t\t\t\ttitulo.classList.remove('fade-in');\n\t\t\t\t\t\t\t\t}, 400);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\t\tofertas.classList.remove('cargando');\n\t\t\t\t\t\t\t\tofertas.classList.remove('fade-out');\n\t\t\t\t\t\t\t\tgrid.classList.remove('fade-out');\n\t\t\t\t\t\t\t\ttitulo.classList.remove('fade-out');\n\t\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\n\n\n\n\t\t\t\n\t\t\tdocument.addEventListener('click', function (e) {\n\t\t\t\tconst bloque = e.target.closest('.grid-ofertas .bloque-recomendado');\n\t\t\t\tif (!bloque) return;\n\n\t\t\t\te.preventDefault();\n\n\t\t\t\tconst postId = bloque.dataset.postId;\n\t\t\t\tif (!postId) {\n\t\t\t\t\tconsole.warn('[POPUP] No hi ha post_id');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst data = new FormData();\n\t\t\t\tdata.append('action', 'get_oferta_popup');\n\t\t\t\tdata.append('post_id', postId);\n\n\n\t\t\t\tfetch('https:\/\/serhsbeach.com\/wp-admin\/admin-ajax.php', {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tbody: data\n\t\t\t\t})\n\t\t\t\t.then(res => res.json())\n\t\t\t\t.then(json => {\n\t\t\t\t\tif (json.success) {\n\t\t\t\t\t\tconst wrapper = document.createElement('div');\n\t\t\t\t\t\twrapper.innerHTML = json.data;\n\t\t\t\t\t\tdocument.body.appendChild(wrapper);\n\n\t\t\t\t\t\tconst popup = document.querySelector('.popup-overlay');\n\t\t\t\t\t\tif (popup) {\n\t\t\t\t\t\t\tpopup.style.opacity = 0;\n\t\t\t\t\t\t\tpopup.style.transition = 'opacity 0.5s ease';\n\t\t\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\t\t\tpopup.style.opacity = 1;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.error('[POPUP] Error de resposta AJAX:', json);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tconsole.error('[POPUP] Error de connexi\u00f3 AJAX:', err);\n\t\t\t\t});\n\t\t\t});\n\t\t\tdocument.addEventListener('click', function(e) {\n\t\t\t\tconst popup = document.querySelector('.popup-overlay');\n\t\t\t\tif (!popup) return;\n\n\t\t\t\t\/\/ Tancar amb el bot\u00f3\n\t\t\t\tif (e.target.classList.contains('popup-close')) {\n\t\t\t\t\tpopup.remove();\n\t\t\t\t}\n\n\t\t\t\t\/\/ Tancar clicant fora\n\t\t\t\tif (e.target === popup) {\n\t\t\t\t\tpopup.remove();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t<\/script>\n\t\t\t[\/vc_column][\/vc_row][\/vc_section]<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row full_width=\u00bbstretch_row_content_no_spaces\u00bb el_class=\u00bbbanner-reserva\u00bb][vc_column][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text][\/vc_column_text][\/vc_column][\/vc_row][vc_section full_width=\u00bbstretch_row_content\u00bb css=\u00bb.vc_custom_1749131845054{background-color: #F8F8F2 !important;}\u00bb][vc_row css_animation=\u00bbfadeInUp\u00bb][vc_column el_class=\u00bbpag_oferta\u00bb][\/vc_column][\/vc_row][\/vc_section]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2431","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/serhsbeach.com\/es\/wp-json\/wp\/v2\/pages\/2431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/serhsbeach.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/serhsbeach.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/serhsbeach.com\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/serhsbeach.com\/es\/wp-json\/wp\/v2\/comments?post=2431"}],"version-history":[{"count":3,"href":"https:\/\/serhsbeach.com\/es\/wp-json\/wp\/v2\/pages\/2431\/revisions"}],"predecessor-version":[{"id":2654,"href":"https:\/\/serhsbeach.com\/es\/wp-json\/wp\/v2\/pages\/2431\/revisions\/2654"}],"wp:attachment":[{"href":"https:\/\/serhsbeach.com\/es\/wp-json\/wp\/v2\/media?parent=2431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}