{"id":17644,"date":"2021-12-23T16:29:19","date_gmt":"2021-12-23T15:29:19","guid":{"rendered":"https:\/\/beachin.ch\/evenements\/calendrier-des-evenements\/"},"modified":"2025-08-12T15:57:12","modified_gmt":"2025-08-12T13:57:12","slug":"calendrier-des-evenements","status":"publish","type":"page","link":"https:\/\/staging.beachin.ch\/fr\/evenements\/calendrier-des-evenements\/","title":{"rendered":"Calendrier des \u00e9v\u00e9nements"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><h1>\u00c9v\u00e9nements au BeachIN<\/h1>\n<p>Dans notre calendrier des \u00e9v\u00e9nements, tu trouves toutes les informations concernant les \u00e9v\u00e9nements, les tournois et l\u2019utilisation priv\u00e9e de la salle. Lors de toutes les dates libres, on peut r\u00e9server les terrains comme d&#8217;habitude.<\/p>\n<div class=\"vc_row\">\r\n    <div class=\"vc_col-md-9 mb-3\">\r\n        <div id=\"calendar\" data-prod-link=\"https:\/\/staging.beachin.ch\/produkt\/reservation\/\"><\/div>\r\n        <div id=\"calendar-spinner\" class=\"spinner\" style=\"display: none;\">\r\n            <img decoding=\"async\" class=\"img-spinner\" src=\"\/wp-content\/uploads\/Webcams\/Resources\/Public\/images\/balls.svg\" alt=\"Loading\">\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"vc_column_container vc_col-md-3 mb-3\">\r\n        <div class=\"vc_column-inner\">\r\n            <div style=\"padding: 20px !important; border: 5px solid #ffffff !important; border-radius: 5px !important;\" class=\"sfForm\">\r\n                <form id=\"reservationForm\">\r\n                    <h3>Ta s\u00e9lection<\/h3>\r\n                    <div id=\"beachin-reservation-selection\" class=\"mb-3 reservation-selection\"><\/div>\r\n                    <div id=\"submit-reservation\" class=\"mb-3 vc_btn3-container\">\r\n                        <button id=\"submit-beachin-reservation-btn\" class=\"vc_general vc_btn3\" data-redirect=\"https:\/\/staging.beachin.ch\/fr\/panier\/\" disabled=\"disabled\">Ajouter au panier \u00bb<\/button>\r\n                    <\/div>\r\n                <\/form>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<script>\r\n    var calendar;\r\n    var fetched_resources = [{\"id\":21942,\"title\":\"Terrain 2\",\"default_length\":\"90\",\"variable_length\":false,\"min_length\":null,\"max_length\":null,\"prices\":[{\"id\":22319,\"title\":\"Beachvolley Tag p.P.\",\"price\":\"15\",\"price_per_option\":[22332],\"date-from\":\"01.01\",\"date-to\":\"31.12\",\"time-from\":\"00:00\",\"time-to\":\"23:59\"},{\"id\":22320,\"title\":\"Beachvolley Abend p.P.\",\"price\":\"20\",\"price_per_option\":[22332],\"date-from\":\"01.01\",\"date-to\":\"31.12\",\"time-from\":\"17:00\",\"time-to\":\"23:59\"},{\"id\":22327,\"title\":\"Beachvolley Tag p.P. (Sommertarif)\",\"price\":\"12\",\"price_per_option\":[22332],\"date-from\":\"01.06\",\"date-to\":\"31.08\",\"time-from\":\"00:00\",\"time-to\":\"23:59\"},{\"id\":22328,\"title\":\"Beachvolley Abend p.P. (Sommertarif)\",\"price\":\"16\",\"price_per_option\":[22332],\"date-from\":\"01.06\",\"date-to\":\"31.08\",\"time-from\":\"17:00\",\"time-to\":\"23:59\"}]},{\"id\":21941,\"title\":\"Terrain 1\",\"default_length\":\"90\",\"variable_length\":false,\"min_length\":null,\"max_length\":null,\"prices\":[{\"id\":22319,\"title\":\"Beachvolley Tag p.P.\",\"price\":\"15\",\"price_per_option\":[22332],\"date-from\":\"01.01\",\"date-to\":\"31.12\",\"time-from\":\"00:00\",\"time-to\":\"23:59\"},{\"id\":22320,\"title\":\"Beachvolley Abend p.P.\",\"price\":\"20\",\"price_per_option\":[22332],\"date-from\":\"01.01\",\"date-to\":\"31.12\",\"time-from\":\"17:00\",\"time-to\":\"23:59\"},{\"id\":22327,\"title\":\"Beachvolley Tag p.P. (Sommertarif)\",\"price\":\"12\",\"price_per_option\":[22332],\"date-from\":\"01.06\",\"date-to\":\"31.08\",\"time-from\":\"00:00\",\"time-to\":\"23:59\"},{\"id\":22328,\"title\":\"Beachvolley Abend p.P. (Sommertarif)\",\"price\":\"16\",\"price_per_option\":[22332],\"date-from\":\"01.06\",\"date-to\":\"31.08\",\"time-from\":\"17:00\",\"time-to\":\"23:59\"}]}];\r\n    var viewPickerWrapperShow = false;\r\n    var current_lang = 'fr';\r\n    (function( $ ) {\r\n        $( document ).ready(function() {\r\n\r\n            \r\n\r\n            function load_calendar(){\r\n\r\n                var width = window.innerWidth;\r\n\r\n                if (width < 768) {\r\n                    var initialView = 'resourceTimeGridTwoDay';\r\n                } else if (width < 991)  {\r\n                    var initialView = 'resourceTimeGridFourDay';\r\n                }else {\r\n                    var initialView = 'resourceTimeGridWeek';\r\n                }\r\n\r\n                var c=$('#calendar');\r\n\r\n\r\n                if (!c.length) return;\r\n\r\n                var calendarEl = c[0];\r\n            \r\n                calendar = new FullCalendar.Calendar(calendarEl, {\r\n                    initialView: initialView,\r\n                    \r\n                    timeZone: 'Europe\/Zurich',\r\n                    locale: 'fr',\r\n                    firstDay: 1,\r\n                    slotMinTime: \"08:00\",\r\n                    slotMaxTime: '25:00:00',\r\n                    nextDayThreshold: '01:00:00',\r\n                    themeSystem: 'bootstrap',\r\n                    headerToolbar: {\r\n                        left: 'title',\r\n                        right: 'prev today next datePickerButton viewPickerButton',\r\n                    },\r\n                    customButtons: {\r\n                        datePickerButton: {\r\n                            bootstrapFontAwesome: 'fa-calendar',\r\n                            click: function () {\r\n                                var $btnCustom = $('.fc-datePickerButton-button'); \/\/ name of custom  button in the generated code\r\n                                $btnCustom.after('<input type=\"text\" id=\"hiddenDate\" class=\"datepicker\"\/>');\r\n\r\n                                $(\"#hiddenDate\").datepicker({\r\n                                    showOn: \"button\",\r\n\r\n                                    dateFormat:\"yy-mm-dd\",\r\n                                    onSelect: function (dateText, inst) {\r\n                                        calendar.gotoDate(dateText);\r\n                                    },\r\n                                });\r\n                                $('#ui-datepicker-div').wrap('<div class=\"smartFormsSlider\"\/>');\r\n\r\n                                var $btnDatepicker = $(\".ui-datepicker-trigger\"); \/\/ name of the generated datepicker UI \r\n                                \/\/Below are required for manipulating dynamically created datepicker on custom button click\r\n                                $(\"#hiddenDate\").show().hide();\r\n                                $btnDatepicker.trigger(\"click\"); \/\/dynamically generated button for datepicker when clicked on input textbox\r\n                                $btnDatepicker.hide();\r\n                                $btnDatepicker.remove();\r\n                                $(\"input.datepicker\").not(\":first\").remove();\/\/dynamically appended every time on custom button click\r\n\r\n                            }\r\n                        },\r\n                        viewPickerButton: {\r\n                            bootstrapFontAwesome: 'fa-th',\r\n                            click: function () {\r\n                                if(viewPickerWrapperShow){\r\n                                    $(\"#viewPickerWrapper\").remove();\r\n                                    viewPickerWrapperShow = false;\r\n                                }else{\r\n                                    var $btnCustom2 = $('.fc-viewPickerButton-button'); \/\/ name of custom  button in the generated code\r\n                                    $btnCustom2.append('<div id=\"viewPickerWrapper\" class=\"clean-journal-nav-menu\"><div class=\"menu-item\"><ul class=\"sub-menu\"><li ><a data-view=\"resourceTimeGridOneDay\">1<\/a><\/li><li><a data-view=\"resourceTimeGridTwoDay\">2<\/a><\/li><li><a data-view=\"resourceTimeGridFourDay\">4<\/a><\/li><li><a data-view=\"resourceTimeGridWeek\">7<\/a><\/li><\/ul><\/div><\/div>');\r\n\r\n                                    $(\"#viewPickerWrapper a\").click(function(e){\r\n                                        if($(this).data('view') != '')\r\n                                            calendar.changeView($(this).data('view'));\r\n                                    });\r\n                                    viewPickerWrapperShow = true;\r\n                                }\r\n                                \r\n\r\n                            }\r\n                        }\r\n                    },\r\n                    views:{\r\n                        resourceTimeGridWeek:{\r\n                            buttonText: 'Semaine',\r\n                        },\r\n                        resourceTimeGridOneDay:{\r\n                            type: 'resourceTimeGrid',\r\n                            titleFormat: { month: 'long' },\r\n                            buttonText: 'Jour',\r\n                            duration: { days: 1 },\r\n                            resourceLabelContent: (info) => {\r\n                                return {html : info.date.toLocaleDateString(\"de-CH\", { weekday: 'long', year: 'numeric', month: '2-digit', day: '2-digit', omitCommas: true }) + \"<br \/>\"+info.resource.title};\r\n                            },\r\n                        },\r\n                        timeGrid:{ \r\n                            titleFormat: { month: 'long' }\r\n                        },\r\n                        resourceTimeGridTwoDay: {\r\n                            type: 'resourceTimeGrid',\r\n                            duration: { days: 2 },\r\n                            buttonText: '2 jours',\r\n                            titleFormat: { month: 'long' }\r\n                        },\r\n                        resourceTimeGridFourDay: {\r\n                            type: 'resourceTimeGrid',\r\n                            duration: { days: 4 },\r\n                            buttonText: '4 jours',\r\n                            titleFormat: { month: 'long' }\r\n                        },\r\n                    },\r\n                    buttonText:{\r\n                        today: \"Aujourd'hui\",\r\n                    },\r\n                    height: \"auto\",\r\n                    \/\/selectable: true,\r\n                    \/\/selectMirror: true,\r\n                    dateClick: (info) => {\r\n\r\n                        var nowDate = moment();\r\n                        var newEvent = new Object();\r\n                        newEvent.title = \"\";\r\n                        newEvent.start = info.date;\r\n                        newEvent.end = moment(info.date).add(parseInt(info.resource.extendedProps.default_length), 'minutes').toDate();\r\n                        newEvent.resourceId = info.resource.id;\r\n                        newEvent.id = info.resource.id + info.date.getTime();\r\n                        \r\n                        var isOverlapEvent = isAnOverlapEvent(calendar, moment(info.date), moment(info.date).add(parseInt(info.resource.extendedProps.default_length), 'minutes'), info.resource.id);\r\n                        var isBusinessHours = inBusinessHours(moment(info.dateStr), moment(info.dateStr).add(parseInt(info.resource.extendedProps.default_length), 'minutes'), calendar.getOption('businessHours'));\r\n                        var isPastEvent = moment(info.dateStr) < nowDate ? true : false;\r\n                        if(!isOverlapEvent && isBusinessHours && !isPastEvent){\r\n                            newEvent.default_length = info.resource.extendedProps.default_length;\r\n                            newEvent.variable_length = info.resource.extendedProps.variable_length;\r\n                            \/\/newEvent.editable = false;\r\n                            if(info.resource.extendedProps.variable_length){\r\n                                newEvent.min_length = info.resource.extendedProps.min_length;\r\n                                newEvent.max_length = info.resource.extendedProps.max_length;\r\n                                \r\n                            }else{\r\n                                newEvent.editable = false;\r\n                            }\r\n                            newEvent.resource_id = info.resource.id;\r\n                            newEvent.color = '#000';\r\n                            newEvent.className = \"fc-event-new-event\";\r\n                            var reservationEvent = calendar.addEvent(newEvent);\r\n                            addReservation(reservationEvent);\r\n                            \/\/$('.fc-event-new-event').addClass('fc-event-selected');\r\n                        }else{\r\n                            newEvent.end = moment(info.date).add(30, 'minutes').toDate();\r\n                            newEvent.color = '#f00';\r\n                            var eventError = calendar.addEvent(newEvent);\r\n                            setTimeout(() => {\r\n                                eventError.remove();\r\n                            }, 1000);\r\n                        }\r\n                    },\r\n                    eventContent: function (arg) {\r\n                        var event = arg.event;\r\n                        var customTime = moment(event.startStr).format('HH:mm')+\" - \"+moment(event.endStr).format('HH:mm');            \r\n                        var customHtml = '<div id=\"'+event.id+'\" class=\"fc-event-main-frame\"><div class=\"fc-event-time\">'+customTime+'<\/div>';\r\n                        customHtml += '<div class=\"fc-event-title-container\"><div class=\"fc-event-title fc-sticky\" style=\"font-size: 0.7em;line-height: 140%;\">';\r\n                        customHtml += event.title;\r\n                        customHtml += '<\/div><\/div><\/div>';\r\n                        return { html: customHtml }\r\n                    },\r\n                    slotEventOverlap: false,\r\n                    eventOverlap: false,\r\n                    allDaySlot: false,\r\n                    eventColor: 'green',\r\n                    defaultTimedEventDuration: '01:30',\r\n                    events: '\/?rest_route=\/beachin-reservation\/v1\/events',\r\n                    lazyFetching: false,\r\n                    dayHeaderFormat: { weekday: 'long', year: 'numeric', month: '2-digit', day: '2-digit', omitCommas: true },\r\n                    titleFormat: { month: 'long' },\r\n                    nowIndicator: true,\r\n                    schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',\r\n                    datesAboveResources: true,\r\n                    resources: fetched_resources,\r\n                    businessHours: [ \/\/ specify an array instead\r\n                        { daysOfWeek: [ 1, 2, 3, 4 ], startTime: '08:00', endTime: '23:00' },\r\n                        { daysOfWeek: [ 5 ], startTime: '08:00', endTime: '24:30' },\r\n                        { daysOfWeek: [ 6 ], startTime: '08:00', endTime: '24:30' },\r\n                        { daysOfWeek: [ 0 ], startTime: '11:00', endTime: '19:00' }\r\n                    ],\r\n                    selectConstraint: \"businessHours\", \r\n                    eventConstraint: \"businessHours\",\r\n                    eventDurationEditable: true, \r\n                    eventResize: function(info) {\r\n                        \/\/alert(info.event.title + \" end is now \" + info.event.end.toISOString());\r\n\r\n                        \/\/if (!confirm(\"is this okay?\")) {\r\n                        \/\/info.revert();\r\n                        \/\/ }\r\n                        if(info.event.extendedProps.min_length && info.event.extendedProps.max_length){\r\n                            var eventLength = moment(info.event.end).diff(moment(info.event.start), 'minutes');\r\n                            if(eventLength < info.event.extendedProps.min_length || eventLength > info.event.extendedProps.max_length){\r\n\r\n                                \/\/setTimeout(() => {\r\n                                \/\/   info.revert();\r\n                                \/\/}, 1000)\r\n\r\n                                info.revert();\r\n                            }else{\r\n                                editReservation(info.event);\r\n                            }\r\n                        }else{\r\n                            editReservation(info.event);\r\n                        }\r\n                    },\r\n                    eventChange: function(info) {\r\n                        \r\n                        var isOverlapEvent = isAnOverlapEvent(calendar, moment(info.event.start), moment(info.event.end), info.event.extendedProps.resource_id, info.event.id);\r\n                        var isBusinessHours = inBusinessHours(moment(info.event.startStr), moment(info.event.endStr), calendar.getOption('businessHours'));\r\n                        \r\n                        if(!isOverlapEvent && isBusinessHours){\r\n                            if(info.event.extendedProps.min_length && info.event.extendedProps.max_length){\r\n                                var eventLength = moment(info.event.end).diff(moment(info.event.start), 'minutes');\r\n                                if(eventLength < info.event.extendedProps.min_length || eventLength > info.event.extendedProps.max_length){\r\n                                    info.revert();\r\n                                    notifiyWrongUserInput(info.event);\r\n                                }else{\r\n                                    editReservation(info.event);\r\n                                }\r\n                            }else{\r\n                                editReservation(info.event);\r\n                            }\r\n                        }else{\r\n                            var substrMin = 0;\r\n                            while(isOverlapEvent || !isBusinessHours){\r\n                                substrMin += 30;\r\n                                \/\/info.event.setEnd( moment(info.event.end) );\r\n                                isOverlapEvent = isAnOverlapEvent(calendar, moment(info.event.start), moment(info.event.end).subtract(substrMin, 'minutes'), info.event.extendedProps.resource_id, info.event.id);\r\n                                isBusinessHours = inBusinessHours(moment(info.event.startStr), moment(info.event.endStr).subtract(substrMin, 'minutes'), calendar.getOption('businessHours'));\r\n                                \r\n                            }  \r\n                            \/\/info.revert();\r\n                            info.event.setEnd( moment(info.event.end).subtract(substrMin, 'minutes').toDate() );\r\n                            notifiyWrongUserInput(info.event);\r\n                            \/\/editReservation(info.event);\r\n                            \r\n                        } \r\n                        \r\n                                             \r\n                    },\r\n                    loading : function (isLoading){\r\n                        var $spinner = $('#calendar-spinner');\r\n                        var $calendarTable = $('#calendar .fc-timegrid').first(); \/\/ name of custom  button in the generated code\r\n                        \r\n                        if(isLoading){\r\n                            $spinner.show();\r\n                        }else{\r\n                            $spinner.hide();\r\n                            \r\n                            if ($spinner.hasClass(\"calendarTable\")){\r\n                               \r\n                            }else{\r\n                                $calendarTable.append($('#calendar-spinner'));\r\n                                $spinner.addClass(\"calendarTable\");\r\n                            }\r\n                        }\r\n                    }\r\n                    \/\/eventLongPressDelay : 0,\r\n                    \/\/longPressDelay: 0\r\n                });\r\n            \r\n                calendar.render();\r\n\r\n                return calendar;\r\n            }\r\n\r\n\r\n            var c = load_calendar();\r\n\r\n            \r\n\r\n        });\r\n    })( jQuery );\r\n<\/script>\r\n\r\n\r\n<script id=\"reservation-template\" type=\"text\/x-custom-template\">\r\n    <div class=\"reservation\" data-product_id=\"991\">\r\n        <h3><span class=\"date\"><\/span><\/h3>\r\n        <p><span class=\"time\"><\/span> h <\/p>\r\n        <div class=\"edit\">\r\n            <p class=\"mb-0\">\r\n                <label>dur\u00e9e:<\/label>\r\n                <span class=\"length\">1<\/span> Heure(s)<br\/>\r\n            <\/p>\r\n            <div class=\"d-flex edit-toolbar\">\r\n                <button class=\"length_less\">-<\/button>\r\n                <input type=\"range\" min=\"1\" max=\"9\" value=\"1\" step=\"0.5\" class=\"input_range\">\r\n                <button class=\"length_more\">+<\/button>\r\n            <\/div>  \r\n        <\/div>\r\n        <p>Site: <span class=\"place\"><\/span><\/p>\r\n                    <div class=\"beachin-option-wrapper\">\r\n                <label>Sport<\/label><br \/>\r\n\r\n                                <select name=\"beachin-option-21957\" class=\"beachin-option beachin-option-21957 active input-text mb-3 form-control\" data-id='21957' data-title='Sport' onchange=\"beachinOptionChanged(this)\">\r\n                                                        <option value=\"Beachvolley\" data-option-value='Beachvolley' data-option-title='Beachvolley'>Beachvolley<\/option>\r\n                                                        <option value=\"Beachsoccer\" data-option-value='Beachsoccer' data-option-title='Beachsoccer'>Beachsoccer<\/option>\r\n                                                        <option value=\"Beachhandball\" data-option-value='Beachhandball' data-option-title='Beachhandball'>Beachhandball<\/option>\r\n                                                        <option value=\"Beachtennis\" data-option-value='Beachtennis' data-option-title='Beachtennis'>Beachtennis<\/option>\r\n                                                        <option value=\"Beachminton\" data-option-value='Beachminton' data-option-title='Beachminton'>Beachminton<\/option>\r\n                                                        <option value=\"Beachfungames\" data-option-value='Beachfungames' data-option-title='Beachfungames'>Beachfungames<\/option>\r\n                                <\/select>\r\n                <\/div>\r\n                    <div class=\"beachin-option-wrapper\">\r\n                <label>Nombre de personnes *<\/label><br \/>\r\n\r\n                                <select name=\"beachin-option-22332\" class=\"beachin-option beachin-option-22332 active input-text mb-3 form-control\" data-id='22332' data-title='Nombre de personnes' onchange=\"beachinOptionChanged(this)\" required>\r\n                                                        <option value=\"\" data-option-value='' data-option-title=''><\/option>\r\n                                                        <option value=\"4\" data-option-value='4' data-option-title='4'>4<\/option>\r\n                                                        <option value=\"5\" data-option-value='5' data-option-title='5'>5<\/option>\r\n                                                        <option value=\"6\" data-option-value='6' data-option-title='6'>6<\/option>\r\n                                                        <option value=\"7\" data-option-value='7' data-option-title='7'>7<\/option>\r\n                                                        <option value=\"8\" data-option-value='8' data-option-title='8'>8<\/option>\r\n                                                        <option value=\"9\" data-option-value='9' data-option-title='9'>9<\/option>\r\n                                                        <option value=\"10\" data-option-value='10' data-option-title='10'>10<\/option>\r\n                                                        <option value=\"11\" data-option-value='11' data-option-title='11'>11<\/option>\r\n                                                        <option value=\"12\" data-option-value='12' data-option-title='12'>12<\/option>\r\n                                                        <option value=\"13\" data-option-value='13' data-option-title='13'>13<\/option>\r\n                                                        <option value=\"14\" data-option-value='14' data-option-title='14'>14<\/option>\r\n                                                        <option value=\"15\" data-option-value='15' data-option-title='15'>15<\/option>\r\n                                                        <option value=\"16\" data-option-value='16' data-option-title='16'>16<\/option>\r\n                                                        <option value=\"17\" data-option-value='17' data-option-title='17'>17<\/option>\r\n                                                        <option value=\"18\" data-option-value='18' data-option-title='18'>18<\/option>\r\n                                                        <option value=\"19\" data-option-value='19' data-option-title='19'>19<\/option>\r\n                                                        <option value=\"20\" data-option-value='20' data-option-title='20'>20<\/option>\r\n                                <\/select>\r\n                <\/div>\r\n                <p><\/p>\r\n        <div class=\"price_wrapper\"><span>Prix: <span class=\"price\"><\/span><\/div>\r\n        <div class=\"price_options_wrapper\"><\/div>\r\n        <div class=\"price_total_wrapper\"><span><b>Total: <\/b><\/span><span class=\"price_total\"><\/span><\/div>\r\n    <\/div>\r\n<\/script>\r\n<!-- end of the loop -->\r\n\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u00c9v\u00e9nements au BeachIN Dans notre calendrier des \u00e9v\u00e9nements, tu trouves toutes les informations concernant les \u00e9v\u00e9nements, les tournois et l\u2019utilisation priv\u00e9e de la salle. Lors de toutes les dates libres, on peut r\u00e9server les terrains comme d&#8217;habitude.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1216,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-17644","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Calendrier des \u00e9v\u00e9nements &#8211; BeachIN Sport, Bar &amp; Hotel<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calendrier des \u00e9v\u00e9nements &#8211; BeachIN Sport, Bar &amp; Hotel\" \/>\n<meta property=\"og:description\" content=\"\u00c9v\u00e9nements au BeachIN Dans notre calendrier des \u00e9v\u00e9nements, tu trouves toutes les informations concernant les \u00e9v\u00e9nements, les tournois et l\u2019utilisation priv\u00e9e de la salle. Lors de toutes les dates libres, on peut r\u00e9server les terrains comme d&#8217;habitude.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/staging.beachin.ch\/events-im-sand\/eventkalender\/\" \/>\n<meta property=\"og:site_name\" content=\"BeachIN Sport, Bar &amp; Hotel\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-12T13:57:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/staging.beachin.ch\\\/events-im-sand\\\/eventkalender\\\/\",\"url\":\"https:\\\/\\\/staging.beachin.ch\\\/events-im-sand\\\/eventkalender\\\/\",\"name\":\"Calendrier des \u00e9v\u00e9nements &#8211; BeachIN Sport, Bar &amp; Hotel\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/staging.beachin.ch\\\/#website\"},\"datePublished\":\"2021-12-23T15:29:19+00:00\",\"dateModified\":\"2025-08-12T13:57:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/staging.beachin.ch\\\/events-im-sand\\\/eventkalender\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/staging.beachin.ch\\\/events-im-sand\\\/eventkalender\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/staging.beachin.ch\\\/events-im-sand\\\/eventkalender\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/staging.beachin.ch\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ev\u00e9nements\",\"item\":\"https:\\\/\\\/staging.beachin.ch\\\/events-im-sand\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Calendrier des \u00e9v\u00e9nements\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/staging.beachin.ch\\\/#website\",\"url\":\"https:\\\/\\\/staging.beachin.ch\\\/\",\"name\":\"BeachIN Sport, Bar &amp; Hotel\",\"description\":\"Strandfeeling das ganze Jahr!\",\"publisher\":{\"@id\":\"https:\\\/\\\/staging.beachin.ch\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/staging.beachin.ch\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/staging.beachin.ch\\\/#organization\",\"name\":\"BeachIN Sport, Bar &amp; Hotel\",\"url\":\"https:\\\/\\\/staging.beachin.ch\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/staging.beachin.ch\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/staging.beachin.ch\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/BeachIN_Logo_cmyk_Claim_Kontur_neu3.png\",\"contentUrl\":\"https:\\\/\\\/staging.beachin.ch\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/BeachIN_Logo_cmyk_Claim_Kontur_neu3.png\",\"width\":311,\"height\":96,\"caption\":\"BeachIN Sport, Bar &amp; Hotel\"},\"image\":{\"@id\":\"https:\\\/\\\/staging.beachin.ch\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calendrier des \u00e9v\u00e9nements &#8211; BeachIN Sport, Bar &amp; Hotel","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"fr_FR","og_type":"article","og_title":"Calendrier des \u00e9v\u00e9nements &#8211; BeachIN Sport, Bar &amp; Hotel","og_description":"\u00c9v\u00e9nements au BeachIN Dans notre calendrier des \u00e9v\u00e9nements, tu trouves toutes les informations concernant les \u00e9v\u00e9nements, les tournois et l\u2019utilisation priv\u00e9e de la salle. Lors de toutes les dates libres, on peut r\u00e9server les terrains comme d&#8217;habitude.","og_url":"https:\/\/staging.beachin.ch\/events-im-sand\/eventkalender\/","og_site_name":"BeachIN Sport, Bar &amp; Hotel","article_modified_time":"2025-08-12T13:57:12+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/staging.beachin.ch\/events-im-sand\/eventkalender\/","url":"https:\/\/staging.beachin.ch\/events-im-sand\/eventkalender\/","name":"Calendrier des \u00e9v\u00e9nements &#8211; BeachIN Sport, Bar &amp; Hotel","isPartOf":{"@id":"https:\/\/staging.beachin.ch\/#website"},"datePublished":"2021-12-23T15:29:19+00:00","dateModified":"2025-08-12T13:57:12+00:00","breadcrumb":{"@id":"https:\/\/staging.beachin.ch\/events-im-sand\/eventkalender\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/staging.beachin.ch\/events-im-sand\/eventkalender\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/staging.beachin.ch\/events-im-sand\/eventkalender\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/staging.beachin.ch\/fr\/"},{"@type":"ListItem","position":2,"name":"Ev\u00e9nements","item":"https:\/\/staging.beachin.ch\/events-im-sand\/"},{"@type":"ListItem","position":3,"name":"Calendrier des \u00e9v\u00e9nements"}]},{"@type":"WebSite","@id":"https:\/\/staging.beachin.ch\/#website","url":"https:\/\/staging.beachin.ch\/","name":"BeachIN Sport, Bar &amp; Hotel","description":"Strandfeeling das ganze Jahr!","publisher":{"@id":"https:\/\/staging.beachin.ch\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/staging.beachin.ch\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/staging.beachin.ch\/#organization","name":"BeachIN Sport, Bar &amp; Hotel","url":"https:\/\/staging.beachin.ch\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/staging.beachin.ch\/#\/schema\/logo\/image\/","url":"https:\/\/staging.beachin.ch\/wp-content\/uploads\/2019\/07\/BeachIN_Logo_cmyk_Claim_Kontur_neu3.png","contentUrl":"https:\/\/staging.beachin.ch\/wp-content\/uploads\/2019\/07\/BeachIN_Logo_cmyk_Claim_Kontur_neu3.png","width":311,"height":96,"caption":"BeachIN Sport, Bar &amp; Hotel"},"image":{"@id":"https:\/\/staging.beachin.ch\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/staging.beachin.ch\/fr\/wp-json\/wp\/v2\/pages\/17644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.beachin.ch\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/staging.beachin.ch\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/staging.beachin.ch\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/staging.beachin.ch\/fr\/wp-json\/wp\/v2\/comments?post=17644"}],"version-history":[{"count":4,"href":"https:\/\/staging.beachin.ch\/fr\/wp-json\/wp\/v2\/pages\/17644\/revisions"}],"predecessor-version":[{"id":30031,"href":"https:\/\/staging.beachin.ch\/fr\/wp-json\/wp\/v2\/pages\/17644\/revisions\/30031"}],"up":[{"embeddable":true,"href":"https:\/\/staging.beachin.ch\/fr\/wp-json\/wp\/v2\/pages\/1216"}],"wp:attachment":[{"href":"https:\/\/staging.beachin.ch\/fr\/wp-json\/wp\/v2\/media?parent=17644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}