{"id":13290,"date":"2025-07-29T14:22:25","date_gmt":"2025-07-29T12:22:25","guid":{"rendered":"https:\/\/lamanreana.com\/aire-de-camping-car-2\/"},"modified":"2025-07-29T14:22:25","modified_gmt":"2025-07-29T12:22:25","slug":"aire-de-camping-car-2","status":"publish","type":"page","link":"https:\/\/lamanreana.com\/fr\/aire-de-camping-car-2\/","title":{"rendered":"Aire de camping-car"},"content":{"rendered":"\r\n<div class=\"single-wpbooking_event\">\r\n    <p class=\"price\">\r\n        <span>\r\n            <b>Prix:<\/b>\r\n            <bdi>5<span>\u20ac<\/span><\/bdi>\r\n        <\/span>\r\n        <span class=\"lower\"> \/ Jour<\/span>\r\n    <\/p>\r\n\r\n    <div class=\"wpbooking-event-tickets\">\r\n        <div class=\"wpbooking-event-tickets-title\">\r\n            <h2>Billets<\/h2>\r\n        <\/div>\r\n\r\n        <div class=\"wpbooking-personas-tickets\">\r\n            <div class=\"wpbooking-parking-row\">\r\n                <label for=\"date_range\">S\u00e9lectionner des dates:<\/label>\r\n                <input type=\"text\" id=\"date_range\" placeholder=\"DD\/MM\/YYYY a DD\/MM\/YYYY\" \/>\r\n            <\/div>\r\n            <div class=\"wpbooking-parking-row\">\r\n                <label for=\"number_plate\">Plaque d'immatriculation:<\/label>\r\n                <input type=\"text\" id=\"number_plate\" \/>\r\n            <\/div>\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n    <div class=\"wpbooking-ticket-total\">\r\n        <strong>Nombre total de jours:<\/strong>\r\n        <span id=\"wpbooking-total-count\">0<\/span><br>\r\n        <strong>Prix total:<\/strong>\r\n        <span id=\"wpbooking-total-price\">0.00 \u20ac<\/span>\r\n    <\/div>\r\n\r\n    <form id=\"wpbooking-reserve-form\" method=\"post\" action=\"https:\/\/lamanreana.com\/wp-admin\/admin-post.php\">\r\n        <input type=\"hidden\" name=\"action\" value=\"wpbooking_add_to_cart\">\r\n        <input type=\"hidden\" name=\"start_date\" id=\"wpbooking-start-date\">\r\n        <input type=\"hidden\" name=\"end_date\" id=\"wpbooking-end-date\">\r\n        <input type=\"hidden\" name=\"total_days\" id=\"wpbooking-total-days\">\r\n        <input type=\"hidden\" name=\"number_plate\" id=\"wpbooking-number-plate\">\r\n        <button type=\"submit\" class=\"wpbooking-reserve-button\">R\u00e9server<\/button>\r\n    <\/form>\r\n<\/div>\r\n\r\n<script>\r\n    var locale = \"fr\";\r\n    if (locale === 'ca') {\r\n        locale = 'cat';\r\n    }\r\n\r\n    jQuery(document).ready(function ($) {\r\n        flatpickr(\"#date_range\", {\r\n            mode: \"range\",\r\n            dateFormat: \"d\/m\/Y\",\r\n            locale: locale,\r\n            onChange: function (selectedDates) {\r\n                if (selectedDates.length === 2) {\r\n                    const start = selectedDates[0];\r\n                    const end = selectedDates[1];\r\n                    const diffTime = Math.abs(end - start);\r\n                    const totalDays = Math.ceil(diffTime \/ (1000 * 60 * 60 * 24));\r\n                    const total = totalDays * 5;\r\n\r\n                    $('#wpbooking-start-date').val(start.toLocaleDateString('es-ES'));\r\n                    $('#wpbooking-end-date').val(end.toLocaleDateString('es-ES'));\r\n\r\n                    $('#wpbooking-total-price').text(total.toFixed(2) + ' \u20ac');\r\n                    $('#wpbooking-total-count').text(totalDays);\r\n                    $('#wpbooking-total-days').val(totalDays);\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ Enviar el formulario al reservar\r\n        $('#wpbooking-reserve-form').on('submit', function (e) {\r\n            \/\/ Desactivar el boton para evitar m\u00faltiples env\u00edos\r\n            $('#wpbooking-reserve-form').find('.wpbooking-reserve-button').prop('disabled', true);\r\n            e.preventDefault();\r\n\r\n            \/\/ Recopilar la matricula\r\n            const numberPlate = $('#number_plate').val().trim();\r\n            if (numberPlate === '' || $('#wpbooking-total-days').val() == 0) {\r\n                Swal.fire({\r\n                    title: \"\",\r\n                    text: WPBookingData.error_dates_and_plate_number,\r\n                    icon: \"warning\",\r\n                    customClass: {\r\n                        popup: 'swal-custom'\r\n                    }\r\n                });\r\n                $('#wpbooking-reserve-form').find('.wpbooking-reserve-button').prop('disabled', false);\r\n                return;\r\n            }\r\n\r\n            \/\/ Enviar los datos al servidor\r\n            $.ajax({\r\n                url: WPBookingData.ajax_url,\r\n                type: 'POST',\r\n                dataType: 'json',\r\n                data: {\r\n                    action: 'wpbooking_add_to_cart_parking',\r\n                    total_days: $('#wpbooking-total-days').val(),\r\n                    selected_days: $('#wpbooking-start-date').val() + ' - ' + $('#wpbooking-end-date').val(),\r\n                    number_plate: numberPlate,\r\n                },\r\n                success: function (res) {\r\n                    if (res.success) {\r\n                        const lang = window.location.pathname.split('\/')[1]; \/\/ Detecta idioma actual\r\n                        const langPrefix = lang && lang.length === 2 ? `\/${lang}` : ''; \/\/ Si es 'es', 'ca', etc.\r\n                        window.location.href = `${langPrefix}\/checkout\/`;\r\n                    } else {\r\n                        alert(res.data.message || 'Error al reservar');\r\n                    }\r\n                },\r\n                error: function () {\r\n                    Swal.fire({\r\n                        title: \"\",\r\n                        text: \"Error en la solicitud.\",\r\n                        icon: \"error\",\r\n                        customClass: {\r\n                            popup: 'swal-custom'\r\n                        }\r\n                    });\r\n                },\r\n                \/\/ final siempre se ejecuta\r\n                complete: function () {\r\n                    $('#wpbooking-reserve-form').find('.wpbooking-reserve-button').prop('disabled', false);\r\n                }\r\n            });\r\n        });\r\n    });\r\n<\/script>\r\n\r\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-13290","page","type-page","status-publish"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lamanreana.com\/fr\/wp-json\/wp\/v2\/pages\/13290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lamanreana.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lamanreana.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lamanreana.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lamanreana.com\/fr\/wp-json\/wp\/v2\/comments?post=13290"}],"version-history":[{"count":0,"href":"https:\/\/lamanreana.com\/fr\/wp-json\/wp\/v2\/pages\/13290\/revisions"}],"wp:attachment":[{"href":"https:\/\/lamanreana.com\/fr\/wp-json\/wp\/v2\/media?parent=13290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}