{"id":50,"date":"2017-10-29T08:32:49","date_gmt":"2017-10-29T08:32:49","guid":{"rendered":"http:\/\/stretchingtherapy.ca\/?page_id=50"},"modified":"2025-10-26T23:54:55","modified_gmt":"2025-10-27T03:54:55","slug":"reserve","status":"publish","type":"page","link":"https:\/\/stretchingtherapy.ca\/zh\/reserve\/","title":{"rendered":"\u8ab2\u5802\u9810\u7d04"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Guidelines<\/h2>\n\n\n\n<p>Please read the following rules before making a reservation:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>All classes must be booked in advance.<\/li>\n\n\n\n<li>If you need to cancel, please notify us at least 24 hours before the class to release your spot. <\/li>\n\n\n\n<li>Accumulating 3 no-shows or late cancellations will result in a 7-day suspension of your booking privileges.<\/li>\n\n\n\n<li>Class spots are limited and offered on a first-come, first-served basis. Please book early.<\/li>\n\n\n\n<li>Missed classes are considered forfeited and cannot be made up or carried forward to the next month.<\/li>\n\n\n\n<li>Classes are for personal use only and may not be transferred, shared, or attended on someone else&#8217;s behalf. Violations may result in loss of membership.<\/li>\n\n\n\n<li>Due to possible instructor or venue changes, class times or formats (e.g., online) may be adjusted. Advance notice will be provided.<\/li>\n\n\n\n<li>Please wear appropriate workout attire. Light Fitness classes require clean indoor athletic shoes; entry may be denied otherwise.<\/li>\n\n\n\n<li>No Class on Public Holiday.<\/li>\n\n\n\n<li>Open for Reservation on the 25th of each month.<\/li>\n\n\n\n<li>To retain the discounted rate while pausing attendance for the month, you may choose to pay a $20 + tax monthly holding fee. This fee is non-refundable and does not include any make-up classes.<br><\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"797\" height=\"652\" src=\"https:\/\/stretchingtherapy.ca\/wp-content\/uploads\/2025\/10\/Time-Slot-2025-Nov-1.jpg\" alt=\"\" class=\"wp-image-941\" style=\"width:745px;height:auto\" srcset=\"https:\/\/stretchingtherapy.ca\/wp-content\/uploads\/2025\/10\/Time-Slot-2025-Nov-1.jpg 797w, https:\/\/stretchingtherapy.ca\/wp-content\/uploads\/2025\/10\/Time-Slot-2025-Nov-1-300x245.jpg 300w, https:\/\/stretchingtherapy.ca\/wp-content\/uploads\/2025\/10\/Time-Slot-2025-Nov-1-768x628.jpg 768w, https:\/\/stretchingtherapy.ca\/wp-content\/uploads\/2025\/10\/Time-Slot-2025-Nov-1-15x12.jpg 15w\" sizes=\"auto, (max-width: 797px) 100vw, 797px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"gcb-calendar-container\" id=\"app\" v-cloak>\r\n    <div class=\"header\">\r\n        <div class=\"gcb-admin-filters\">\r\n                <input type=\"hidden\" name=\"page\" value=\"gcb-holiday\">\r\n                \r\n                <div class=\"filter-row\" style=\"display: flex; align-items:center; gap:10px\">\r\n                    <label for=\"instructor\">Instructor:<\/label>\r\n                    <select id=\"instructor\" v-model=\"filter.instructor\" name=\"instructor\" style=\"width:80px\"><option value=\"\">All<\/option><option value=\"112\" >King I Tang<\/option><option value=\"107\" >Patrick Hui<\/option><option value=\"63\" >wilson Tam<\/option><option value=\"7\" >Yuk Fung yuki Cheng<\/option><\/select>\r\n                    <label for=\"instructor\">Location:<\/label>\r\n                    <td>\r\n                        <select id=\"location\" v-model=\"filter.location\" name=\"location\"  style=\"width:80px\"><option value=\"\">All<\/option><option value=\"28 South Unionville; #2089,Unionville\" >28 South Unionville; #2089,Unionville<\/option><option value=\"\u6c99\u7530\u6e90\u79be\u8def\u9ad4\u80b2\u9928\u5f8c\u9f8d\u821f\u4ead\" >\u6c99\u7530\u6e90\u79be\u8def\u9ad4\u80b2\u9928\u5f8c\u9f8d\u821f\u4ead<\/option><option value=\"\u4e0a\u74b0\u4e2d\u5c71\u516c\u5712\u9ad4\u80b2\u9928\u5f8c\" >\u4e0a\u74b0\u4e2d\u5c71\u516c\u5712\u9ad4\u80b2\u9928\u5f8c<\/option><option value=\"\u9752\u8863\u904b\u52d5\u5834\" >\u9752\u8863\u904b\u52d5\u5834<\/option><option value=\"\u89c0\u5858\u6d77\u6ff1\u516c\u5712(\u8fd1\u89c0\u5858\u78bc\u982d)\" >\u89c0\u5858\u6d77\u6ff1\u516c\u5712(\u8fd1\u89c0\u5858\u78bc\u982d)<\/option><option value=\"\u5c6f\u9580\u9127\u8087\u5805\u904b\u52d5\u5834\" >\u5c6f\u9580\u9127\u8087\u5805\u904b\u52d5\u5834<\/option><option value=\"\u6c99\u7530\u904b\u52d5\u5834\" >\u6c99\u7530\u904b\u52d5\u5834<\/option><option value=\"\u5c07\u8ecd\u6fb3\u904b\u52d5\u5834\" >\u5c07\u8ecd\u6fb3\u904b\u52d5\u5834<\/option><option value=\"\u6e2f\u5cf6\u6771\u9ad4\u80b2\u9928\u5916\" >\u6e2f\u5cf6\u6771\u9ad4\u80b2\u9928\u5916<\/option><\/select>                        <\/td>\r\n                    <\/td>\r\n                    \r\n                    <button type=\"default\" class=\"btn-submit\" data-loading-text=\"Loading...\" data-value=\"filter\" @click=\"getDataList\">Filter<\/button>\r\n                <\/div>\r\n        <\/div>\r\n        <div class=\"right\">\r\n            <div>{{current_month}}<\/div>\r\n            <div class=\"ico\" @click=\"filterDate('prev')\">\r\n                <svg t=\"1749022931399\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" p-id=\"8196\" width=\"20\" height=\"20\"><path d=\"M689.92 192a47.36 47.36 0 0 1 0 64l-256 256 256 256a47.36 47.36 0 0 1-64 64L334.08 545.92A50.56 50.56 0 0 1 320 512a47.36 47.36 0 0 1 14.08-33.28L622.72 192a47.36 47.36 0 0 1 67.2 0z\" p-id=\"8197\" fill=\"#666\"><\/path><\/svg>\r\n            <\/div>\r\n            <div class=\"ico\" @click=\"filterDate('next')\">\r\n                <svg t=\"1749022959912\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" p-id=\"9471\" width=\"20\" height=\"20\"><path d=\"M334.08 192a47.36 47.36 0 0 0 0 64l256 256-256 256a47.36 47.36 0 1 0 64 64l288.64-288.64A50.56 50.56 0 0 0 704 512a47.36 47.36 0 0 0-14.08-33.28L401.28 192a47.36 47.36 0 0 0-67.2 0z\" p-id=\"9472\" fill=\"#666\"><\/path><\/svg>\r\n            <\/div>\r\n            <div class=\"this-week\" @click=\"filterDate('this_week')\">This week<\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"booking-list\">\r\n        <div class=\"loading\" v-if=\"isLoading\">\r\n            <svg t=\"1749030293419\" class=\"icon rotate\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" p-id=\"13669\" width=\"30\" height=\"30\"><path d=\"M626.34496 121.8304c0 53.15072-43.07968 96.2304-96.2304 96.2304-53.1456 0-96.2304-43.07968-96.2304-96.2304C433.88928 68.67968 476.96896 25.6 530.11456 25.6c53.1456 0 96.2304 43.0848 96.2304 96.2304zM530.11456 833.9968c-46.50496 0-84.1984 37.69856-84.1984 84.1984s37.69856 84.1984 84.1984 84.1984 84.1984-37.69856 84.1984-84.1984-37.69344-84.1984-84.1984-84.1984z m398.18752-253.83936c-33.21856 0-60.14464-26.92096-60.14464-60.14464 0-33.21856 26.92608-60.14464 60.14464-60.14464 33.22368 0 60.14464 26.92608 60.14464 60.14464-0.00512 33.21856-26.9312 60.14464-60.14464 60.14464zM228.15744 520.0128c0-53.1456-43.07968-96.2304-96.2304-96.2304-53.1456 0-96.2304 43.07968-96.2304 96.2304 0 53.1456 43.07968 96.2304 96.2304 96.2304 53.15072 0 96.2304-43.0848 96.2304-96.2304z m88.448-349.59872c37.5808 37.5808 37.5808 98.5088 0 136.08448-37.5808 37.5808-98.5088 37.5808-136.0896 0s-37.5808-98.5088 0-136.0896 98.5088-37.5808 136.0896 0.00512z m444.03712 580.12672c-28.1856 28.1856-28.1856 73.8816-0.00512 102.0672 28.1856 28.1856 73.8816 28.1856 102.0672 0 28.1856-28.1856 28.1856-73.8816 0-102.0672-28.18048-28.19072-73.87648-28.19072-102.06208 0z m85.05856-478.06464c-18.7904 18.7904-49.25952 18.7904-68.03968 0-18.79552-18.79552-18.79552-49.25952 0-68.0448a48.09728 48.09728 0 0 1 68.03968 0c18.7904 18.7904 18.7904 49.25952 0 68.0448zM316.60544 733.52704c-37.5808-37.5808-98.5088-37.5808-136.0896 0s-37.5808 98.5088 0 136.08448c37.5808 37.5808 98.5088 37.5808 136.08448 0 37.5808-37.57568 37.5808-98.50368 0.00512-136.08448z\" fill=\"#272536\" p-id=\"13670\"><\/path><\/svg>\r\n        <\/div>\r\n        <div class=\"booking-group-item\" v-for=\"(item,key) in list\" :key=\"key\">\r\n            <div class=\"booking-group-title\">{{key}}<\/div>\r\n            <div class=\"list\">\r\n                <div class=\"item\" :class=\"{disabled:ite.is_expired}\" v-for=\"(ite,i) in item\" :key=\"i\">\r\n                    <div class=\"left\">\r\n                        <div class=\"time\">{{ite.time}}<\/div>\r\n                        <div class=\"avatar\">\r\n                            <img class=\"img\" :src=\"ite.instructor.avatar\" alt=\"\">\r\n                        <\/div>\r\n                        <div class=\"instructor\">{{ite.instructor.name}}<\/div>\r\n                        <div class=\"class-name\">{{ite.course_name}}<\/div>\r\n                        <div class=\"location\">{{ite.location}}<\/div>\r\n                        \r\n                    <\/div>\r\n                    <div class=\"right\">\r\n                        <div class=\"users-count\">\r\n                            <div class=\"users\">\r\n                                <svg t=\"1749024554993\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" p-id=\"12532\" width=\"20\" height=\"20\"><path d=\"M261.7 522.6h0.2c19.3 0 35-15.7 35-35s-15.7-35-35-35c-31.9 0-58.8-37.7-58.8-82.4s26.9-82.4 58.8-82.4c19.3 0 35-15.7 35-35s-15.7-35-35-35c-35.4 0-69.5 17.3-93.7 47.5-22.6 28.4-35.1 65.6-35.1 104.9s12.5 76.5 35.1 104.9c0.6 0.8 1.3 1.6 2 2.4-22.9 13.2-43.4 31-61.1 53.2-38.3 48-59.5 111.4-59.5 178.4 0 19.3 15.7 35 35 35s35-15.7 35-35c0-51.2 15.7-99.1 44.1-134.7 26.6-33.3 61.3-51.7 97.7-51.7 0.2 0 0.3-0.1 0.3-0.1zM914.8 530.7c-17.7-22.2-38.2-40-61.1-53.2 0.7-0.8 1.3-1.6 2-2.4 22.6-28.4 35.1-65.6 35.1-104.9s-12.5-76.5-35.1-104.9c-24.1-30.2-58.3-47.5-93.7-47.5-19.3 0-35 15.7-35 35s15.7 35 35 35c31.9 0 58.8 37.7 58.8 82.4s-26.9 82.4-58.8 82.4c-19.3 0-35 15.7-35 35s15.7 35 35 35H762.3c36.4 0 71.1 18.4 97.7 51.7 28.5 35.6 44.1 83.5 44.1 134.7 0 19.3 15.7 35 35 35s35-15.7 35-35c0.2-67-21-130.3-59.3-178.3z\" fill=\"#CCCCCC\" p-id=\"12533\"><\/path><path d=\"M747.4 541c-30.9-30.8-66.9-54.7-106.1-70.8 40.3-34.7 65.8-86 65.8-143.2 0-104.2-84.8-188.9-188.9-188.9-104.2 0-188.9 84.8-188.9 188.9 0 57 25.4 108.2 65.4 142.9C355.2 486 318.9 510 287.8 541c-61.2 61.1-95.1 142.4-95.5 228.9V850.8c0 19.3 15.7 35 35 35h580.5c19.3 0 35-15.7 35-35v-80.2-0.8c-0.3-86.4-34.2-167.6-95.4-228.8zM518.2 208.1c65.6 0 118.9 53.4 118.9 118.9s-53.4 118.9-118.9 118.9S399.3 392.6 399.3 327s53.4-118.9 118.9-118.9z m254.7 607.8H262.3v-44.6-0.6c0.2-140.5 114.8-254.8 255.3-254.8s255 114.3 255.3 254.8v45.2z\" fill=\"#CCCCCC\" p-id=\"12534\"><\/path><\/svg>\r\n                            <\/div>\r\n                            <div class=\"count\">{{ite.amount}}\/{{ite.max_capacity}}<\/div>\r\n                            <div v-if=\"ite.amount >= ite.max_capacity\" class=\"full\">Full<\/div>\r\n                        <\/div>\r\n                        <div class=\"\" v-if=\"!ite.is_booked\">\r\n                            <div class=\"btn btn-booking\" :class=\"{disabled:ite.is_expired}\" v-if=\"ite.amount < ite.max_capacity\" @click=\"booking(ite)\">Book now<\/div>\r\n                            <div v-else>\r\n                                <div v-if=\"ite.expired\" class=\"btn btn-booking disabled\">Expired<\/div>\r\n                                <div v-else>\r\n                                    <div v-if=\"ite.is_waiting_list\">\r\n                                        <div class=\"btn btn-booking btn-cancel\" @click=\"cancelWait(ite)\">Cancel wait<\/div>\r\n                                    <\/div>\r\n                                    <div v-else class=\"btn btn-booking\" title=\"Click to join the waiting list\" style=\"font-size: 10px;\" @click=\"joinWaitingList(ite)\">Join waiting list<\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class=\"btn btn-booking btn-cancel\" v-else @click=\"cancel(ite)\">Cancel<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <div style=\"text-align: center;\">\r\n        <a style=\"color: #0d6efd;\" href=\"\/my_gcb_bookings\">reservation record ><\/a>\r\n    <\/div>\r\n<\/div>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/vue@2.7.16\"><\/script>\r\n<script>\r\n    jQuery(document).ready(function($) {\r\n        window.$ = $;\r\n    })\r\n<\/script>\r\n<script>\r\n    jQuery(document).ready(function($) {\r\n    var app = new Vue({\r\n        el:'#app',\r\n        data:{\r\n            list:[],\r\n            filter:{\r\n                instructor:'',\r\n                location:'',\r\n                start_time:'',\r\n                end_time:''\r\n            },\r\n            current_month:'',\r\n            filter_date:{},\r\n            isLoading:false\r\n        },\r\n        mounted() {\r\n            this.getDataList();\r\n        },\r\n        methods:{\r\n            getDataList() {\r\n                if (this.isLoading)  return;\r\n                this.isLoading = true\r\n                console.log(this.filter)\r\n                $.ajax({\r\n                    url: gcb_ajax.ajax_url,\r\n                    data: {\r\n                        action: 'gcb_get_classes',\r\n                        nonce: gcb_ajax.nonce,\r\n                        instructor: $('#instructor').val(),\r\n                        location: $('#location').val(),\r\n                        start_time: this.filter.start_time,\r\n                        end_time: this.filter.end_time\r\n                    },\r\n                    success:(res=>{\r\n                        this.isLoading = false\r\n                        this.list = res.list\r\n                        this.filter_date = res.filter_date\r\n                        this.current_month = res.filter_date.current_month\r\n                    }),\r\n                    error: (error=>{\r\n                        this.isLoading = false\r\n                    })\r\n                });\r\n            },\r\n            booking(row){\r\n                if (row.is_expired) {\r\n                    return; \r\n                }\r\n                if (!confirm('Do you really want to make a reservation?')) return\r\n                if (this.isLoading) return;\r\n                this.isLoading = true\r\n                $.post(gcb_ajax.ajax_url, {\r\n                    action: 'gcb_book_class',\r\n                    class_id: row.id,\r\n                    start_time: row.start,\r\n                    end_time: row.end,\r\n                    nonce: gcb_ajax.nonce,\r\n                    url: window.location.href\r\n                }, (response)=> {\r\n                    this.isLoading = false\r\n                    if (response.success) {\r\n                        this.getDataList()\r\n                        alert(response.data.message);\r\n                        \r\n                    } else {\r\n                        alert(response.data.message);\r\n                        if (response.data.is_login === false) {\r\n                            window.location.href = response.data.login_url;\r\n                            return; \r\n                        }\r\n                        \r\n                    }\r\n                }).fail(()=> {\r\n                    this.isLoading = false\r\n                });\r\n            },\r\n            joinWaitingList(row){\r\n                if (row.is_expired) {\r\n                    return; \r\n                }\r\n                if (!confirm('Do you really want to join the waiting list?')) return\r\n                if (this.isLoading) return;\r\n                this.isLoading = true\r\n                $.post(gcb_ajax.ajax_url, {\r\n                    action: 'gcb_join_waiting_list',\r\n                    class_id: row.id,\r\n                    start_time: row.start,\r\n                    end_time: row.end,\r\n                    nonce: gcb_ajax.nonce,\r\n                    url: window.location.href\r\n                }, (response)=> {\r\n                    this.isLoading = false\r\n                    if (response.success) {\r\n                        this.getDataList()\r\n                        alert(response.data.message);\r\n                        \r\n                    } else {\r\n                        alert(response.data.message);\r\n                        if (response.data.is_login === false) {\r\n                            window.location.href = response.data.login_url;\r\n                            return; \r\n                        }\r\n                        \r\n                    }\r\n                }).fail(()=> {\r\n                    this.isLoading = false\r\n                });\r\n            },\r\n            cancel(row) {\r\n                if (!confirm('Are you sure you want to cancel this reservation?')) return;\r\n                if (isLoading) return;\r\n                this.isLoading = true;\r\n                $.post(gcb_ajax.ajax_url, {\r\n                    action: 'gcb_cancel_booking',\r\n                    booking_id: row.booking_id,\r\n                    start_time: row.start,\r\n                    end_time: row.end,\r\n                    nonce: gcb_ajax.nonce \r\n                }, (response)=> {\r\n                    this.isLoading = false\r\n                    if (response.success) {\r\n                        this.getDataList()\r\n                        alert(response.data.message);\r\n                        \r\n                    } else {\r\n                        alert(response.data.message);\r\n                    }\r\n                }).fail(()=> {\r\n                    this.isLoading = false\r\n                });\r\n            },\r\n            cancelWait(row) {\r\n                if (!confirm('Are you sure you want to cancel this waiting list?')) return;\r\n                if (this.isLoading) return;\r\n                this.isLoading = true;\r\n                $.post(gcb_ajax.ajax_url, {\r\n                    action: 'gcb_cancel_booking_wait',\r\n                    wait_id: row.wait_id,\r\n                    start_time: row.start,\r\n                    end_time: row.end,\r\n                    nonce: gcb_ajax.nonce \r\n                }, (response)=> {\r\n                    this.isLoading = false\r\n                    if (response.success) {\r\n                        this.getDataList()\r\n                        alert(response.data.message);\r\n                        \r\n                    } else {\r\n                        alert(response.data.message);\r\n                    }\r\n                }).fail(()=> {\r\n                    this.isLoading = false\r\n                });\r\n\r\n            },\r\n            filterDate(type){\r\n                 const date = Object.assign({},this.filter_date)\r\n                 switch (type) {\r\n                    case 'prev':\r\n                        this.filter.start_time = date.last_month_start\r\n                        this.filter.end_time = date.last_month_end\r\n                        break;\r\n                    case 'next':\r\n                        this.filter.start_time = date.next_month_start\r\n                        this.filter.end_time = date.next_month_end\r\n                        break;\r\n\r\n                    default:\r\n                        this.filter.start_time = date.this_week.start\r\n                        this.filter.end_time = date.this_week.end \r\n                        break;\r\n                 }\r\n                this.getDataList()\r\n            }\r\n        }\r\n    })\r\n    })\r\nvar isLoading = false;\r\njQuery(document).ready(function($) {\r\n    \/\/ \u5224\u65ad\u662f\u5426\u662f\u624b\u673a\u7aef\r\n    function isMobile() {\r\n        return \/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini\/i.test(navigator.userAgent);\r\n    }\r\n    \r\n   \r\n    \/\/ let eventClick = function(info) {\r\n    \/\/     if (info.event.extendedProps.is_expired) {\r\n    \/\/         alert('Expired');\r\n    \/\/         return;\r\n    \/\/     }\r\n    \/\/     if (info.event.extendedProps.available_slots > 0) {\r\n    \/\/         if (confirm('time of appointment:' + info.event.start + ' - ' + info.event.end + ',instructor:' + info.event.title + ', Do you really want to make a reservation?')) {\r\n    \/\/                 \/\/                 alert('Please log in first');\r\n    \/\/                 window.location.href = \"\/login?redirect_to=\/gcb_appointment\/\";\r\n    \/\/                 return;\r\n    \/\/                 \/\/             $.post(gcb_ajax.ajax_url, {\r\n    \/\/                 action: 'gcb_book_class',\r\n    \/\/                 class_id: info.event.id,\r\n    \/\/                 nonce: gcb_ajax.nonce\r\n    \/\/             }, function(response) {\r\n    \/\/                 if (response.success) {\r\n    \/\/                     alert(response.data.message);\r\n    \/\/                     calendar.refetchEvents();\r\n    \/\/                     window.location.href = '\/my_gcb_bookings';\r\n    \/\/                 } else {\r\n    \/\/                     alert(response.data.message);\r\n    \/\/                 }\r\n    \/\/             }).fail(function() {\r\n    \/\/                 alert('Failed to book class');\r\n    \/\/                 window.location.reload();\r\n    \/\/             });\r\n    \/\/         }\r\n    \/\/     }\r\n    \/\/     info.jsEvent.preventDefault();\r\n    \/\/ }\r\n});\r\n\r\n\/\/ \u4fee\u6b63\u540e\u7684\u70b9\u51fb\u4e8b\u4ef6\r\n\r\n\/\/ $('.btn-submit').on('click', function() {\r\n\/\/     if (isLoading) return;\r\n\/\/     $(this).val($(this).data('loading-text'));\r\n  \r\n\/\/ });\r\n<\/script>\r\n<style>\r\n    [v-cloak] {\r\n        display: none;\r\n    }\r\n    * {\r\n        font-family: Arial, Helvetica, sans-serif,Bold;\r\n    }\r\n    .rotate {\r\n        animation: rotation 1.5s infinite linear;\r\n        }\r\n\r\n        @keyframes rotation {\r\n        0% {\r\n            transform: rotate(0deg);\r\n        }\r\n        100% {\r\n            transform: rotate(360deg);\r\n        }\r\n    }\r\n    .booking-list {\r\n        min-height: 500px;\r\n        position: relative;\r\n        margin-top: 20px;\r\n    }\r\n    .loading {\r\n        position: fixed;\r\n        top: 0;\r\n        left: 0;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        text-align: center;\r\n        padding: 20px;\r\n        width: 100%;\r\n        height: 100%;\r\n        z-index: 1;\r\n        background-color: rgba(255, 255, 255, 0.5);\r\n    }\r\n    .booking-list .booking-group-item {\r\n        padding: 20px 0;\r\n    }\r\n    .booking-list .booking-group-item .booking-group-title {\r\n        font-size: 16px;\r\n        font-weight: bold;\r\n    }\r\n    .booking-list .booking-group-item .list .item {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: space-between;\r\n        font-size: 14px;\r\n        padding: 10px 0;\r\n    }\r\n    .btn-booking {\r\n        transition: all 0.5s;\r\n        width: 85px;\r\n        text-align: center;\r\n        cursor: pointer;\r\n        color: #fff;\r\n        font-size: 12px;\r\n        background-color: #0d6efd;\r\n        border: 1px solid #0d6efd;\r\n        border-radius: 20px;\r\n        padding: 5px 0px;\r\n        margin-left: 20px;\r\n        white-space: nowrap;\r\n    }\r\n    .btn-booking:hover {\r\n        background-color: #0b5ed7;\r\n        border-color: #0a58ca;\r\n        color: #fff;\r\n    }\r\n    .btn-booking.disabled {\r\n        background-color: #f2f2f2;\r\n        color: #fff;\r\n        border-color: #f2f2f2;\r\n        cursor: not-allowed\r\n    }\r\n    .btn-cancel {\r\n        background: none;\r\n        color: #0d6efd;\r\n    }\r\n    .location {\r\n        background-color: #999;\r\n        border-radius: 20px;\r\n        padding: 0px 10px;\r\n        font-size: 12px;\r\n        color: #fff;\r\n        white-space: nowrap;\r\n    }\r\n    .users {\r\n        margin-left: 30px;\r\n        font-size: 0;\r\n        margin-right: 5px;\r\n    }\r\n    .avatar {\r\n        font-size: 0;\r\n        width: 30px;\r\n        height: 30px;\r\n        border-radius: 50%;\r\n    }\r\n    .avatar .img {\r\n        border: 1px solid #999;\r\n        font-size: 0;\r\n        width: 30px;\r\n        height: 30px;\r\n        border-radius: 50%;\r\n    }\r\n    .booking-list .booking-group-item .list .item .right {\r\n        display: flex;\r\n        align-items: center;\r\n    }\r\n    .booking-list .booking-group-item .list .item .right .users {\r\n        \r\n    }\r\n    .booking-list .booking-group-item .list .item .left {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 5px;\r\n    }\r\n    .booking-list .booking-group-item .list .item .left .time {\r\n        width: 40px;\r\n        font-weight: bold;\r\n    }\r\n    .booking-list .booking-group-item .list .item .left .instructor {\r\n        width: 80px;\r\n        font-size: 12px;\r\n        line-height: 1.2;\r\n    }\r\n    .booking-list .booking-group-item .list .item .left .class-name {\r\n        white-space: nowrap;\r\n        padding: 0 5px;\r\n        font-weight: bold;\r\n        margin-left: 5px;\r\n        color: #0d6efd;\r\n    }\r\n    .booking-list .booking-group-item .list .item.disabled {\r\n        color: #999;\r\n    }\r\n    .booking-list .booking-group-item .list .item.disabled .class-name {\r\n        color: #999;\r\n    }\r\n    .booking-list .booking-group-item .list .item.disabled .btn-booking {\r\n        background-color: #f2f2f2;\r\n        color: #fff;\r\n        border-color: #f2f2f2;\r\n    }\r\n    .header {\r\n        user-select: none;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: space-between;\r\n        border-bottom: 1px solid #f2f2f2;\r\n        padding-bottom: 10px ;\r\n    }\r\n    .header .right {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: flex-end;\r\n        gap: 10px;\r\n        flex: 1;\r\n    }\r\n    .this-week {\r\n        cursor: pointer;\r\n        color: #000;\r\n        border: 1px solid #999;\r\n        border-radius: 20px;\r\n        padding: 3px 10px;\r\n        font-size: 12px;\r\n    }\r\n    .ico {\r\n        cursor: pointer;\r\n        font-size: 0;\r\n    }\r\n    .gcb-admin-filters {\r\n        font-size: 14px;\r\n        \r\n    }\r\n    .gcb-admin-filters select {\r\n        color: #333;\r\n        border: 1px solid #999;\r\n        border-radius: 20px;\r\n        padding: 3px 10px;\r\n        font-size: 12px;\r\n    }\r\n    .btn-submit {\r\n        padding: 5px 10px;\r\n        border-radius: 20px;\r\n        background-color: #0d6efd;\r\n        line-height: 1;\r\n        font-size: 14px;\r\n        text-transform: none;\r\n        outline: none;\r\n        box-shadow: none;\r\n    }\r\n    .users-count {\r\n        display: flex;\r\n        align-items: center;\r\n        position: relative;\r\n    }\r\n    .full {\r\n        position: absolute;\r\n        right: -17px;\r\n        top: -9px;\r\n        border-radius: 20px;\r\n        background-color: #ff5722;\r\n        color: #fff;\r\n        font-size: 10px;\r\n        line-height: 1;\r\n        text-align: center;\r\n        padding: 3px 5px;\r\n    }\r\n    \/* \u9002\u914d\u624b\u673a\u7248 *\/\r\n    @media (max-width: 768px) {\r\n        .header {\r\n            display: block;\r\n            text-align: left;\r\n            align-items: flex-start;\r\n        }\r\n        .fc .fc-toolbar {\r\n            flex-direction: column;\r\n            align-items: center;\r\n        }\r\n        .gcb-calendar-container {\r\n            padding: 0;\r\n        }\r\n        .content-wrapper {\r\n            padding: 0;\r\n        }\r\n        select {\r\n            width: 60px !important;\r\n        }\r\n        .header .right {\r\n            margin-top: 10px;\r\n            align-items: flex-start;\r\n            justify-content: flex-start;\r\n        }\r\n        .booking-list .booking-group-item .list .item {\r\n            display: block;\r\n            border-bottom: 1px solid #f2f2f2;\r\n        }\r\n        .avatar,.time,.booking-list .booking-group-item .list .item .left .instructor {\r\n            display: inline-block;\r\n            vertical-align: middle;\r\n\r\n        }\r\n        .booking-group-item .list .item .left .instructor {\r\n            margin-left: 5px;\r\n        }\r\n         .booking-list .booking-group-item .list .item .left {\r\n            display: block;\r\n         }\r\n        .booking-list .booking-group-item .list .item .right {\r\n            justify-content: space-between;\r\n            margin-left: 42px;\r\n        }\r\n        .booking-list .booking-group-item .list .item .left .class-name {\r\n            display: inline-block;\r\n            vertical-align: middle;\r\n            color: #333;\r\n            float: right;\r\n            margin-left: 0;\r\n            padding: 5px 0;\r\n        }\r\n        .location {\r\n            padding: 10px 0;\r\n            margin-left: 45px;\r\n            display: block;\r\n            vertical-align: middle;\r\n            background:none;\r\n            color: #333;\r\n        }\r\n        .booking-list .booking-group-item .list .item.disabled .location {\r\n            color: #999;\r\n        }\r\n\r\n        .users-count {\r\n            justify-content: flex-start;\r\n        }\r\n        .users {\r\n            margin-left: 0;\r\n        }\r\n    }\r\n<\/style>\n","protected":false},"excerpt":{"rendered":"<p>Guidelines Please read the following rules before making a reservation:<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"templates\/full-width-page.php","meta":{"footnotes":""},"class_list":["post-50","page","type-page","status-publish","hentry","without-featured-image"],"_links":{"self":[{"href":"https:\/\/stretchingtherapy.ca\/zh\/wp-json\/wp\/v2\/pages\/50","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stretchingtherapy.ca\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/stretchingtherapy.ca\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/stretchingtherapy.ca\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stretchingtherapy.ca\/zh\/wp-json\/wp\/v2\/comments?post=50"}],"version-history":[{"count":131,"href":"https:\/\/stretchingtherapy.ca\/zh\/wp-json\/wp\/v2\/pages\/50\/revisions"}],"predecessor-version":[{"id":969,"href":"https:\/\/stretchingtherapy.ca\/zh\/wp-json\/wp\/v2\/pages\/50\/revisions\/969"}],"wp:attachment":[{"href":"https:\/\/stretchingtherapy.ca\/zh\/wp-json\/wp\/v2\/media?parent=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}