{"id":2771,"date":"2026-07-21T22:12:50","date_gmt":"2026-07-21T20:12:50","guid":{"rendered":"https:\/\/www.arts-yoga.com\/index.php\/my-booking\/"},"modified":"2026-07-21T22:12:50","modified_gmt":"2026-07-21T20:12:50","slug":"my-booking","status":"publish","type":"page","link":"https:\/\/www.arts-yoga.com\/index.php\/my-booking\/","title":{"rendered":"Mes R\u00e9servations"},"content":{"rendered":"<style>#bookwellab_customer_panel_app[v-cloak],#bookwellab_customer_panel_app[v-cloak] *{display:none !important;}<\/style>\n<div id=\"bookwellab_customer_panel_app\" class=\"bw-cp-app bw-force-fullwidth alignwide alignfull\" dir=\"ltr\" v-cloak>\n    <div v-if=\"!isLoggedIn\" class=\"bw-cp-login-card\">\n        <el-form v-if=\"!showForgot\" label-position=\"top\" class=\"bw-cp-login-form\" @submit.prevent=\"doLogin\">\n            <h3 class=\"bw-cp-login-title\">{{ labels.login_title }}<\/h3>\n            <el-form-item :label=\"labels.login_username\" required>\n                <el-input\n                    v-model=\"loginForm.username\"\n                    :placeholder=\"labels.login_username_placeholder\"\n                    :class=\"{ 'bw-cp-input-error': loginErrors.username }\"\n                    @input=\"loginErrors.username = false\"\n                    @keyup.enter=\"doLogin\"><\/el-input>\n            <\/el-form-item>\n            <el-form-item :label=\"labels.login_password\" required>\n                <el-input\n                    v-model=\"loginForm.password\"\n                    type=\"password\"\n                    show-password\n                    :placeholder=\"labels.login_password_placeholder\"\n                    :class=\"{ 'bw-cp-input-error': loginErrors.password }\"\n                    @input=\"loginErrors.password = false\"\n                    @keyup.enter=\"doLogin\"><\/el-input>\n            <\/el-form-item>\n            <el-checkbox v-model=\"loginForm.remember\" class=\"bw-cp-login-remember\">{{ labels.login_remember }}<\/el-checkbox>\n            <el-button type=\"primary\" class=\"bw-cp-login-submit\" :loading=\"loggingIn\" @click=\"doLogin\">{{ labels.login_submit }}<\/el-button>\n            <a href=\"#\" class=\"bw-cp-login-lost\" @click.prevent=\"openForgot\">{{ labels.login_lost_password }}<\/a>\n        <\/el-form>\n\n        <el-form v-else label-position=\"top\" class=\"bw-cp-login-form\" @submit.prevent=\"doLostPassword\">\n            <h3 class=\"bw-cp-login-title\">{{ labels.forgot_title }}<\/h3>\n            <el-form-item :label=\"labels.forgot_username\" required>\n                <el-input\n                    v-model=\"forgotForm.user_login\"\n                    :placeholder=\"labels.forgot_placeholder\"\n                    :class=\"{ 'bw-cp-input-error': forgotError }\"\n                    @input=\"forgotError = false\"\n                    @keyup.enter=\"doLostPassword\"><\/el-input>\n            <\/el-form-item>\n            <el-button type=\"primary\" class=\"bw-cp-login-submit\" :loading=\"sendingForgot\" @click=\"doLostPassword\">{{ labels.forgot_submit }}<\/el-button>\n            <a href=\"#\" class=\"bw-cp-login-lost\" @click.prevent=\"closeForgot\">{{ labels.forgot_back }}<\/a>\n        <\/el-form>\n    <\/div>\n\n    <div v-else class=\"bw-cp-shell\">\n        <div class=\"bw-cp-topbar\">\n            <div class=\"bw-cp-topbar-title\">{{ labels.my_bookings }}<\/div>\n            <div class=\"bw-cp-topbar-menu\">\n                <button type=\"button\" class=\"bw-cp-topbar-toggle\" :class=\"{ 'is-open': mobileMenuOpen }\" @click=\"toggleMobileMenu\">\n                    <span class=\"bw-cp-topbar-avatar\" aria-hidden=\"true\">\n                        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M12 12C14.7614 12 17 9.76142 17 7C17 4.23858 14.7614 2 12 2C9.23858 2 7 4.23858 7 7C7 9.76142 9.23858 12 12 12Z\" stroke=\"currentColor\" stroke-width=\"1.5\"\/>\n                            <path d=\"M4 21C4 17.134 7.13401 14 11 14H13C16.866 14 20 17.134 20 21\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\/>\n                        <\/svg>\n                    <\/span>\n                <\/button>\n                <div class=\"bw-cp-topbar-dropdown\" v-show=\"mobileMenuOpen\">\n                    <button type=\"button\" class=\"bw-cp-nav-item\" :class=\"{ active: activeTab === 'my_appointments' }\" @click=\"setTab('my_appointments'); closeMobileMenu()\">\n                        <span class=\"bw-cp-nav-icon\" aria-hidden=\"true\">\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <path d=\"M8 2v3M16 2v3M3.5 9.5h17M4 6h16a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1Z\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                            <\/svg>\n                        <\/span>\n                        <span>{{ labels.my_appointments }}<\/span>\n                    <\/button>\n                    <button type=\"button\" class=\"bw-cp-nav-item\" :class=\"{ active: activeTab === 'edit_account' }\" @click=\"setTab('edit_account'); closeMobileMenu()\">\n                        <span class=\"bw-cp-nav-icon\" aria-hidden=\"true\">\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <path d=\"M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z\" stroke=\"currentColor\" stroke-width=\"1.6\"\/>\n                                <path d=\"M4 21c0-3.87 3.58-7 8-7s8 3.13 8 7\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\"\/>\n                            <\/svg>\n                        <\/span>\n                        <span>{{ labels.edit_account }}<\/span>\n                    <\/button>\n                    <button type=\"button\" class=\"bw-cp-nav-item\" :class=\"{ active: activeTab === 'change_password' }\" @click=\"setTab('change_password'); closeMobileMenu()\">\n                        <span class=\"bw-cp-nav-icon\" aria-hidden=\"true\">\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <path d=\"M6 10V8a6 6 0 0 1 12 0v2M5 10h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1Z\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                <path d=\"M12 14v3\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\"\/>\n                            <\/svg>\n                        <\/span>\n                        <span>{{ labels.change_password }}<\/span>\n                    <\/button>\n                    <a class=\"bw-cp-nav-item\" :href=\"logoutUrl\">\n                        <span class=\"bw-cp-nav-icon\" aria-hidden=\"true\">\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <path d=\"M15 12H4M4 12l3.5-3.5M4 12l3.5 3.5\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                <path d=\"M9 4h9a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H9\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                            <\/svg>\n                        <\/span>\n                        <span>{{ labels.logout }}<\/span>\n                    <\/a>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <aside class=\"bw-cp-sidebar\">\n            <div class=\"bw-cp-profile\">\n                <div class=\"bw-cp-avatar\" aria-hidden=\"true\">\n                    <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <path d=\"M12 12C14.7614 12 17 9.76142 17 7C17 4.23858 14.7614 2 12 2C9.23858 2 7 4.23858 7 7C7 9.76142 9.23858 12 12 12Z\" stroke=\"currentColor\" stroke-width=\"1.5\"\/>\n                        <path d=\"M4 21C4 17.134 7.13401 14 11 14H13C16.866 14 20 17.134 20 21\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\/>\n                    <\/svg>\n                <\/div>\n                <div class=\"bw-cp-profile-name\">{{ profile.display_name }}<\/div>\n                <div class=\"bw-cp-profile-email\">{{ profile.email }}<\/div>\n            <\/div>\n\n            <nav class=\"bw-cp-nav\">\n                <button type=\"button\" class=\"bw-cp-nav-item\" :class=\"{ active: activeTab === 'my_appointments' }\" @click=\"setTab('my_appointments')\">\n                    <span class=\"bw-cp-nav-icon\" aria-hidden=\"true\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M8 2v3M16 2v3M3.5 9.5h17M4 6h16a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1Z\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                        <\/svg>\n                    <\/span>\n                    <span>{{ labels.my_appointments }}<\/span>\n                <\/button>\n                <button type=\"button\" class=\"bw-cp-nav-item\" :class=\"{ active: activeTab === 'edit_account' }\" @click=\"setTab('edit_account')\">\n                    <span class=\"bw-cp-nav-icon\" aria-hidden=\"true\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z\" stroke=\"currentColor\" stroke-width=\"1.6\"\/>\n                            <path d=\"M4 21c0-3.87 3.58-7 8-7s8 3.13 8 7\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\"\/>\n                        <\/svg>\n                    <\/span>\n                    <span>{{ labels.edit_account }}<\/span>\n                <\/button>\n                <button type=\"button\" class=\"bw-cp-nav-item\" :class=\"{ active: activeTab === 'change_password' }\" @click=\"setTab('change_password')\">\n                    <span class=\"bw-cp-nav-icon\" aria-hidden=\"true\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M6 10V8a6 6 0 0 1 12 0v2M5 10h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1Z\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                            <path d=\"M12 14v3\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\"\/>\n                        <\/svg>\n                    <\/span>\n                    <span>{{ labels.change_password }}<\/span>\n                <\/button>\n                <a class=\"bw-cp-nav-item bw-cp-nav-logout\" :href=\"logoutUrl\">\n                    <span class=\"bw-cp-nav-icon\" aria-hidden=\"true\">\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M15 12H4M4 12l3.5-3.5M4 12l3.5 3.5\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                            <path d=\"M9 4h9a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H9\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                        <\/svg>\n                    <\/span>\n                    <span>{{ labels.logout }}<\/span>\n                <\/a>\n            <\/nav>\n        <\/aside>\n\n        <main class=\"bw-cp-main\">\n            <section v-if=\"activeTab === 'my_appointments'\" class=\"bw-cp-section\">\n                <h2 class=\"bw-cp-title\">{{ labels.my_bookings }}<\/h2>\n\n                <div class=\"bw-cp-filters\">\n                    <el-date-picker\n                        v-model=\"filters.date_range\"\n                        type=\"daterange\"\n                        value-format=\"YYYY-MM-DD\"\n                        :start-placeholder=\"labels.select_date\"\n                        :end-placeholder=\"labels.select_date\"\n                        :teleported=\"true\"\n                    ><\/el-date-picker>\n                    <el-input v-model=\"filters.search\" :placeholder=\"labels.search_appointments\" clearable @keyup.enter=\"loadAppointments(1)\" @clear=\"loadAppointments(1)\"><\/el-input>\n                    <el-button type=\"primary\" @click=\"loadAppointments(1)\" :loading=\"loadingAppointments\">{{ labels.apply }}<\/el-button>\n                <\/div>\n\n                <div class=\"bw-cp-table-wrap\" v-loading=\"loadingAppointments\">\n                    <div class=\"bw-cp-table\" v-if=\"appointments.length\">\n                        <div class=\"bw-cp-table-row bw-cp-table-row--head\">\n                            <div class=\"bw-cp-table-cell bw-cp-table-cell--toggle\" aria-hidden=\"true\"><\/div>\n                            <div class=\"bw-cp-table-cell bw-cp-table-cell--id\">{{ labels.id }}<\/div>\n                            <div class=\"bw-cp-table-cell bw-cp-table-cell--service\">{{ labels.service }}<\/div>\n                            <div class=\"bw-cp-table-cell bw-cp-table-cell--date\">{{ labels.date }}<\/div>\n                            <div class=\"bw-cp-table-cell bw-cp-table-cell--status\">{{ labels.status }}<\/div>\n                            <div class=\"bw-cp-table-cell bw-cp-table-cell--payment\">{{ labels.payment }}<\/div>\n                        <\/div>\n\n                        <template v-for=\"(item, index) in appointments\" :key=\"item.id\">\n                            <div\n                                class=\"bw-cp-table-row\"\n                                :class=\"{ 'is-expanded': expandedAppointmentId === item.id, 'is-striped': index % 2 === 1 }\"\n                                @click=\"toggleAppointmentExpand(item.id)\"\n                            >\n                                <div class=\"bw-cp-table-cell bw-cp-table-cell--toggle\">\n                                    <span class=\"bw-cp-expand-icon\" :class=\"{ 'is-open': expandedAppointmentId === item.id }\" aria-hidden=\"true\"><\/span>\n                                <\/div>\n                                <div class=\"bw-cp-table-cell bw-cp-table-cell--id\">#{{ item.id }}<\/div>\n                                <div class=\"bw-cp-table-cell bw-cp-table-cell--service\">\n                                    <div class=\"bw-cp-service-name\">{{ item.service_name }}<\/div>\n                                    <div v-if=\"item.zoom_join_url\" class=\"bw-cp-zoom-link-wrap\" @click.stop>\n                                        <el-tooltip\n                                            effect=\"dark\"\n                                            placement=\"top\"\n                                            :content=\"labels.join_zoom_meeting\"\n                                            :show-after=\"100\">\n                                            <a\n                                                class=\"bw-cp-zoom-icon-link\"\n                                                :href=\"item.zoom_join_url\"\n                                                target=\"_blank\"\n                                                rel=\"noopener noreferrer\"\n                                                :aria-label=\"labels.join_zoom_meeting\">\n                                                <svg class=\"bw-cp-zoom-icon\" viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" aria-hidden=\"true\" focusable=\"false\">\n                                                    <path fill=\"currentColor\" d=\"M17 10.5V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-3.5l3.45 2.59c.48.36 1.17.02 1.17-.58V8.49c0-.6-.69-.94-1.17-.58L17 10.5z\"\/>\n                                                <\/svg>\n                                            <\/a>\n                                        <\/el-tooltip>\n                                    <\/div>\n                                    <template v-for=\"link in (item.extra_meeting_links || [])\" :key=\"link.key\">\n                                        <div v-if=\"link.url\" class=\"bw-cp-zoom-link-wrap\" @click.stop>\n                                            <el-tooltip\n                                                effect=\"dark\"\n                                                placement=\"top\"\n                                                :content=\"link.label || labels.join_google_meet || ''\"\n                                                :show-after=\"100\">\n                                                <a\n                                                    class=\"bw-cp-zoom-icon-link\"\n                                                    :href=\"link.url\"\n                                                    target=\"_blank\"\n                                                    rel=\"noopener noreferrer\"\n                                                    :aria-label=\"link.label || labels.join_google_meet || ''\">\n                                                    <svg class=\"bw-cp-zoom-icon\" viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" aria-hidden=\"true\" focusable=\"false\">\n                                                        <path fill=\"currentColor\" d=\"M17 10.5V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-3.5l3.45 2.59c.48.36 1.17.02 1.17-.58V8.49c0-.6-.69-.94-1.17-.58L17 10.5z\"\/>\n                                                    <\/svg>\n                                                <\/a>\n                                            <\/el-tooltip>\n                                        <\/div>\n                                    <\/template>\n                                <\/div>\n                                <div class=\"bw-cp-table-cell bw-cp-table-cell--date\">\n                                    <div class=\"bw-cp-service-date\">{{ item.date_label }}<\/div>\n                                    <div class=\"bw-cp-duration\" v-if=\"item.duration_label\">\n                                        <svg class=\"bw-cp-duration-icon\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\">\n                                            <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.6\"\/>\n                                            <path d=\"M12 7.5V12l3 2\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                        <\/svg>\n                                        <span>{{ item.duration_label }}<\/span>\n                                    <\/div>\n                                <\/div>\n                                <div class=\"bw-cp-table-cell bw-cp-table-cell--status\">\n                                    <el-tag :type=\"statusTagType(item.status)\" size=\"small\">{{ item.status_label }}<\/el-tag>\n                                <\/div>\n                                <div class=\"bw-cp-table-cell bw-cp-table-cell--payment\">{{ item.price_label }}<\/div>\n                            <\/div>\n\n                            <div class=\"bw-cp-table-expand\" v-show=\"expandedAppointmentId === item.id\" @click.stop>\n                                <div class=\"bw-cp-expand\">\n                                    <div class=\"bw-cp-expand-head\">\n                                        <span class=\"bw-cp-expand-id\">{{ labels.booking_id }}: #{{ item.id }}<\/span>\n                                        <el-tag :type=\"statusTagType(item.status)\" size=\"small\">{{ item.status_label }}<\/el-tag>\n                                    <\/div>\n                                    <h4 class=\"bw-cp-expand-service\">{{ item.service_name }}<\/h4>\n                                    <div class=\"bw-cp-expand-row\">\n                                        <div class=\"bw-cp-expand-cell\">\n                                            <span class=\"bw-cp-expand-label\">{{ labels.date }}:<\/span>\n                                            <span class=\"bw-cp-expand-value\">{{ item.date_only_label || item.date_label }}<\/span>\n                                        <\/div>\n                                        <div class=\"bw-cp-expand-cell\" v-if=\"item.time_range\">\n                                            <span class=\"bw-cp-expand-label\">{{ labels.time }}:<\/span>\n                                            <span class=\"bw-cp-expand-value\">{{ item.time_range }}<\/span>\n                                        <\/div>\n                                    <\/div>\n\n                                    <div class=\"bw-cp-expand-section\">\n                                        <div class=\"bw-cp-expand-section-title\">{{ labels.payment_details }}:<\/div>\n                                        <div class=\"bw-cp-expand-line\">\n                                            <span class=\"bw-cp-expand-label\">{{ labels.payment_method }}:<\/span>\n                                            <span class=\"bw-cp-expand-value\">{{ item.payment_gateway_label }}<\/span>\n                                        <\/div>\n                                        <div class=\"bw-cp-expand-line\">\n                                            <span class=\"bw-cp-expand-label\">{{ labels.status }}:<\/span>\n                                            <span class=\"bw-cp-expand-value\" :class=\"'bw-cp-status--' + statusTagType(item.payment_status)\">{{ item.payment_status_label }}<\/span>\n                                        <\/div>\n                                        <div class=\"bw-cp-expand-total\">\n                                            <span class=\"bw-cp-expand-label\">{{ labels.total_amount }} :<\/span>\n                                            <span class=\"bw-cp-expand-price\">{{ item.price_label }}<\/span>\n                                        <\/div>\n                                    <\/div>\n\n                                    <div class=\"bw-cp-expand-actions\">\n                                        <a\n                                            v-if=\"item.zoom_join_url\"\n                                            class=\"bw-cp-btn-outline\"\n                                            :href=\"item.zoom_join_url\"\n                                            target=\"_blank\"\n                                            rel=\"noopener noreferrer\">\n                                            {{ labels.join_zoom_meeting }}\n                                        <\/a>\n                                        <template v-for=\"link in (item.extra_meeting_links || [])\" :key=\"'action-' + link.key\">\n                                            <a\n                                                v-if=\"link.url\"\n                                                class=\"bw-cp-btn-outline\"\n                                                :href=\"link.url\"\n                                                target=\"_blank\"\n                                                rel=\"noopener noreferrer\">\n                                                {{ link.label || labels.join_google_meet }}\n                                            <\/a>\n                                        <\/template>\n                                        <el-popconfirm\n                                            :title=\"labels.cancel_confirm\"\n                                            :width=\"260\"\n                                            popper-class=\"bw-cp-popconfirm\"\n                                            icon-color=\"#f59e0b\"\n                                            :confirm-button-text=\"labels.yes\"\n                                            :cancel-button-text=\"labels.no\"\n                                            confirm-button-type=\"primary\"\n                                            @confirm=\"cancelAppointment(item.id)\"\n                                            v-if=\"item.can_cancel\">\n                                            <template #reference>\n                                                <button type=\"button\" class=\"bw-cp-btn-outline bw-cp-btn-outline--danger\">\n                                                    {{ labels.cancel_appointment }}\n                                                <\/button>\n                                            <\/template>\n                                        <\/el-popconfirm>\n                                    <\/div>\n                                <\/div>\n                            <\/div>\n                        <\/template>\n                    <\/div>\n\n                    <div class=\"bw-cp-empty\" v-if=\"!loadingAppointments && appointments.length === 0\">{{ labels.no_appointments }}<\/div>\n                <\/div>\n\n                <div class=\"bw-cp-pagination\" v-if=\"shouldShowPagination()\">\n                    <el-pagination\n                        background\n                        layout=\"prev, pager, next\"\n                        :total=\"totalAppointments\"\n                        :page-size=\"perPage\"\n                        :current-page=\"currentPage\"\n                        @current-change=\"loadAppointments\"\n                    ><\/el-pagination>\n                <\/div>\n            <\/section>\n\n            <section v-else-if=\"activeTab === 'edit_account'\" class=\"bw-cp-section\">\n                <h2 class=\"bw-cp-title\">{{ labels.edit_account }}<\/h2>\n                <el-form label-position=\"top\" class=\"bw-cp-form\" @submit.prevent=\"saveProfile\">\n                    <el-row :gutter=\"16\">\n                        <el-col :span=\"12\" v-if=\"!accountFields.first_name.hidden\">\n                            <el-form-item :label=\"accountFieldLabel('first_name')\" :required=\"accountFields.first_name.required\">\n                                <el-input v-model=\"profileForm.first_name\" :placeholder=\"accountFields.first_name.placeholder\"><\/el-input>\n                                <div class=\"bw-cp-field-error\" v-if=\"profileErrors.first_name\">{{ profileErrors.first_name }}<\/div>\n                            <\/el-form-item>\n                        <\/el-col>\n                        <el-col :span=\"12\" v-if=\"!accountFields.last_name.hidden\">\n                            <el-form-item :label=\"accountFieldLabel('last_name')\" :required=\"accountFields.last_name.required\">\n                                <el-input v-model=\"profileForm.last_name\" :placeholder=\"accountFields.last_name.placeholder\"><\/el-input>\n                                <div class=\"bw-cp-field-error\" v-if=\"profileErrors.last_name\">{{ profileErrors.last_name }}<\/div>\n                            <\/el-form-item>\n                        <\/el-col>\n                    <\/el-row>\n                    <el-form-item :label=\"accountFieldLabel('email')\">\n                        <el-input v-model=\"profileForm.email\" disabled><\/el-input>\n                    <\/el-form-item>\n                    <el-form-item :label=\"accountFieldLabel('phone')\" :required=\"accountFields.phone.required\" v-if=\"!accountFields.phone.hidden\">\n                        <el-input v-model=\"profileForm.phone\" :placeholder=\"accountFields.phone.placeholder\"><\/el-input>\n                        <div class=\"bw-cp-field-error\" v-if=\"profileErrors.phone\">{{ profileErrors.phone }}<\/div>\n                    <\/el-form-item>\n                    <el-button type=\"primary\" :loading=\"savingProfile\" @click=\"saveProfile\">{{ labels.save }}<\/el-button>\n                <\/el-form>\n            <\/section>\n\n            <section v-else-if=\"activeTab === 'change_password'\" class=\"bw-cp-section\">\n                <h2 class=\"bw-cp-title\">{{ labels.change_password }}<\/h2>\n                <el-form label-position=\"top\" class=\"bw-cp-form bw-cp-form-narrow\" @submit.prevent=\"savePassword\">\n                    <el-form-item :label=\"labels.current_password\">\n                        <el-input v-model=\"passwordForm.current_password\" type=\"password\" show-password :class=\"{ 'bw-cp-input-error': passwordErrors.current_password }\" @input=\"passwordErrors.current_password = false\"><\/el-input>\n                    <\/el-form-item>\n                    <el-form-item :label=\"labels.new_password\">\n                        <el-input v-model=\"passwordForm.new_password\" type=\"password\" show-password :class=\"{ 'bw-cp-input-error': passwordErrors.new_password }\" @input=\"passwordErrors.new_password = false\"><\/el-input>\n                    <\/el-form-item>\n                    <el-form-item :label=\"labels.confirm_password\">\n                        <el-input v-model=\"passwordForm.confirm_password\" type=\"password\" show-password :class=\"{ 'bw-cp-input-error': passwordErrors.confirm_password }\" @input=\"passwordErrors.confirm_password = false\"><\/el-input>\n                    <\/el-form-item>\n                    <el-button type=\"primary\" :loading=\"savingPassword\" @click=\"savePassword\">{{ labels.save }}<\/el-button>\n                <\/el-form>\n            <\/section>\n        <\/main>\n    <\/div>\n<\/div>\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":{"footnotes":""},"class_list":["post-2771","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mes R\u00e9servations - Arts-Yoga<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.arts-yoga.com\/index.php\/my-booking\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mes R\u00e9servations - Arts-Yoga\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.arts-yoga.com\/index.php\/my-booking\/\" \/>\n<meta property=\"og:site_name\" content=\"Arts-Yoga\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/stageartsyoga\/\" \/>\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:\\\/\\\/www.arts-yoga.com\\\/index.php\\\/my-booking\\\/\",\"url\":\"https:\\\/\\\/www.arts-yoga.com\\\/index.php\\\/my-booking\\\/\",\"name\":\"Mes R\u00e9servations - Arts-Yoga\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.arts-yoga.com\\\/#website\"},\"datePublished\":\"2026-07-21T20:12:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.arts-yoga.com\\\/index.php\\\/my-booking\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.arts-yoga.com\\\/index.php\\\/my-booking\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.arts-yoga.com\\\/index.php\\\/my-booking\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.arts-yoga.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mes R\u00e9servations\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.arts-yoga.com\\\/#website\",\"url\":\"https:\\\/\\\/www.arts-yoga.com\\\/\",\"name\":\"ARTS-YOGA\",\"description\":\"Stages et retraites Art &amp; Yoga\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.arts-yoga.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.arts-yoga.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.arts-yoga.com\\\/#organization\",\"name\":\"arts yoga\",\"url\":\"https:\\\/\\\/www.arts-yoga.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.arts-yoga.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.arts-yoga.com\\\/wp-content\\\/uploads\\\/2017\\\/10\\\/cropped-cropped-om-41993_1280-2.png\",\"contentUrl\":\"https:\\\/\\\/www.arts-yoga.com\\\/wp-content\\\/uploads\\\/2017\\\/10\\\/cropped-cropped-om-41993_1280-2.png\",\"width\":249,\"height\":250,\"caption\":\"arts yoga\"},\"image\":{\"@id\":\"https:\\\/\\\/www.arts-yoga.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/stageartsyoga\\\/\",\"https:\\\/\\\/instagram.com\\\/arts.yoga\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mes R\u00e9servations - Arts-Yoga","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.arts-yoga.com\/index.php\/my-booking\/","og_locale":"fr_FR","og_type":"article","og_title":"Mes R\u00e9servations - Arts-Yoga","og_url":"https:\/\/www.arts-yoga.com\/index.php\/my-booking\/","og_site_name":"Arts-Yoga","article_publisher":"https:\/\/www.facebook.com\/stageartsyoga\/","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.arts-yoga.com\/index.php\/my-booking\/","url":"https:\/\/www.arts-yoga.com\/index.php\/my-booking\/","name":"Mes R\u00e9servations - Arts-Yoga","isPartOf":{"@id":"https:\/\/www.arts-yoga.com\/#website"},"datePublished":"2026-07-21T20:12:50+00:00","breadcrumb":{"@id":"https:\/\/www.arts-yoga.com\/index.php\/my-booking\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.arts-yoga.com\/index.php\/my-booking\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.arts-yoga.com\/index.php\/my-booking\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.arts-yoga.com\/"},{"@type":"ListItem","position":2,"name":"Mes R\u00e9servations"}]},{"@type":"WebSite","@id":"https:\/\/www.arts-yoga.com\/#website","url":"https:\/\/www.arts-yoga.com\/","name":"ARTS-YOGA","description":"Stages et retraites Art &amp; Yoga","publisher":{"@id":"https:\/\/www.arts-yoga.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.arts-yoga.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.arts-yoga.com\/#organization","name":"arts yoga","url":"https:\/\/www.arts-yoga.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.arts-yoga.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.arts-yoga.com\/wp-content\/uploads\/2017\/10\/cropped-cropped-om-41993_1280-2.png","contentUrl":"https:\/\/www.arts-yoga.com\/wp-content\/uploads\/2017\/10\/cropped-cropped-om-41993_1280-2.png","width":249,"height":250,"caption":"arts yoga"},"image":{"@id":"https:\/\/www.arts-yoga.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/stageartsyoga\/","https:\/\/instagram.com\/arts.yoga"]}]}},"_links":{"self":[{"href":"https:\/\/www.arts-yoga.com\/index.php\/wp-json\/wp\/v2\/pages\/2771","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arts-yoga.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.arts-yoga.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.arts-yoga.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.arts-yoga.com\/index.php\/wp-json\/wp\/v2\/comments?post=2771"}],"version-history":[{"count":0,"href":"https:\/\/www.arts-yoga.com\/index.php\/wp-json\/wp\/v2\/pages\/2771\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.arts-yoga.com\/index.php\/wp-json\/wp\/v2\/media?parent=2771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}