{"id":491,"date":"2026-06-22T17:14:23","date_gmt":"2026-06-22T17:14:23","guid":{"rendered":"https:\/\/pklawfinn.fi\/index.php\/booking\/"},"modified":"2026-08-09T19:00:24","modified_gmt":"2026-08-09T19:00:24","slug":"booking","status":"publish","type":"page","link":"https:\/\/koiraparkki.fi\/index.php\/booking\/","title":{"rendered":"Booking"},"content":{"rendered":"\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-8f761849 wp-block-group-is-layout-flex\"><div id=\"koiraparkki-booking-choice-root\" data-ajax-url=\"https:\/\/koiraparkki.fi\/wp-admin\/admin-ajax.php\" data-nonce=\"1e2608ebe1\"><div class=\"koiraparkki-existing-booking\" style=\"display:none;\" aria-hidden=\"true\">        <div id=\"kp-booking-app\" class=\"kp-theme-dark\" >\n            \n            <!-- Login View -->\n            <div id=\"kp-login-view\" class=\"kp-view active\">\n                <div class=\"kp-card\">\n                    <h2 data-i18n=\"loginTitle\">Koiraparkin asiakas-osio<\/h2>\n                    <p data-i18n=\"loginDesc\">Kirjaudu sis\u00e4\u00e4n koirasi nimell\u00e4 ja 6-numeroisella tunnuksella.<\/p>\n                    <div class=\"kp-form-group\">\n                        <label data-i18n=\"dogName\">Koiran nimi<\/label>\n                        <input type=\"text\" id=\"kp_login_name\" placeholder=\"Esim. Max\">\n                    <\/div>\n                    <div class=\"kp-form-group\">\n                        <label data-i18n=\"digitId\">6-numeroinen tunnus<\/label>\n                        <input type=\"text\" id=\"kp_login_id\" placeholder=\"000000\" maxlength=\"6\">\n                    <\/div>\n                    <button type=\"button\" id=\"kp_btn_login\" class=\"kp-btn kp-btn-primary\" data-i18n=\"btnLogin\">Kirjaudu sis\u00e4\u00e4n<\/button>\n                    <div id=\"kp_login_error\" class=\"kp-error\" style=\"display:none;\"><\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Dashboard View -->\n            <div id=\"kp-dashboard-view\" class=\"kp-view\" style=\"display:none;\">\n                <div class=\"kp-header\">\n                    <h2><span data-i18n=\"welcome\">Tervetuloa<\/span>, <span id=\"kp_dash_dog_name\"><\/span>!<\/h2>\n                    <button type=\"button\" id=\"kp_btn_logout\" class=\"kp-btn kp-btn-secondary\" data-i18n=\"btnLogout\">Kirjaudu ulos<\/button>\n                <\/div>\n                \n                <div class=\"kp-card kp-profile-summary\">\n                    <p><strong data-i18n=\"breed\">Rotu:<\/strong> <span id=\"kp_dash_breed\"><\/span> | <strong data-i18n=\"owner\">Omistaja:<\/strong> <span id=\"kp_dash_surname\"><\/span><\/p>\n                <\/div>\n\n                <div class=\"kp-service-selector\">\n                    <h3 data-i18n=\"makeNewBooking\">Tee uusi varaus<\/h3>\n                    <div style=\"display:flex; gap:10px;\">\n                        <button type=\"button\" class=\"kp-btn kp-btn-primary kp-svc-btn\" data-type=\"daycare\" data-i18n=\"btnDaycare\">P\u00e4iv\u00e4hoito<\/button>\n                        <button type=\"button\" class=\"kp-btn kp-btn-primary kp-svc-btn\" data-type=\"doghotel\" data-i18n=\"btnDoghotel\">Koirahotelli<\/button>\n                    <\/div>\n                <\/div>\n\n                <div class=\"kp-card kp-bookings-list\">\n                    <h3 data-i18n=\"yourBookings\">Varauksesi<\/h3>\n                    <table id=\"kp_bookings_table\">\n                        <thead>\n                            <tr>\n                                <th data-i18n=\"thService\">Palvelu<\/th>\n                                <th data-i18n=\"thLocation\">Toimipiste<\/th>\n                                <th data-i18n=\"thIn\">Sis\u00e4\u00e4n<\/th>\n                                <th data-i18n=\"thOut\">Ulos<\/th>\n                                <th data-i18n=\"thStatus\">Tila<\/th>\n                                <th data-i18n=\"thAction\">Toiminto<\/th>\n                            <\/tr>\n                        <\/thead>\n                        <tbody><\/tbody>\n                    <\/table>\n                <\/div>\n            <\/div>\n\n            <!-- Booking Flow View -->\n            <div id=\"kp-booking-flow-view\" class=\"kp-view\" style=\"display:none;\">\n                <div class=\"kp-header\">\n                    <h2 id=\"kp_booking_title\"><\/h2>\n                    <button type=\"button\" class=\"kp-btn kp-btn-secondary\" id=\"kp_btn_back_dash\" data-i18n=\"btnBackDash\">Takaisin hallintaan<\/button>\n                <\/div>\n\n                <div class=\"kp-card\">\n                    <div class=\"kp-form-group\">\n                        <label data-i18n=\"lblLocation\">Toimipiste<\/label>\n                        <select id=\"kp_book_location\">\n                            <!-- Options populated via JS depending on service -->\n                        <\/select>\n                    <\/div>\n\n                    <div class=\"kp-form-group\" id=\"kp_book_start_group\">\n                        <label data-i18n=\"lblDateIn\">Alkamisp\u00e4iv\u00e4<\/label>\n                        <div style=\"display: flex; gap: 10px;\">\n                            <input type=\"date\" id=\"kp_book_start\" style=\"flex: 2;\">\n                            <input type=\"time\" id=\"kp_book_time_in\" style=\"flex: 1;\">\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"kp-form-group\" id=\"kp_book_end_group\" style=\"display:none;\">\n                        <label data-i18n=\"lblDateOut\">P\u00e4\u00e4ttymisp\u00e4iv\u00e4<\/label>\n                        <div style=\"display: flex; gap: 10px;\">\n                            <input type=\"date\" id=\"kp_book_end\" style=\"flex: 2;\">\n                            <input type=\"time\" id=\"kp_book_time_out\" style=\"flex: 1;\">\n                        <\/div>\n                    <\/div>\n\n                    <button type=\"button\" id=\"kp_btn_check_avail\" class=\"kp-btn kp-btn-primary\" data-i18n=\"btnCheckAvail\">Tarkista saatavuus<\/button>\n                    \n                    <div id=\"kp_calendar_results\" style=\"margin-top:20px; display:none;\">\n                        <h3 data-i18n=\"availabilityTitle\">Saatavuus<\/h3>\n                        <div id=\"kp_calendar_grid\" class=\"kp-calendar\"><\/div>\n                        <div id=\"kp_booking_actions\" style=\"margin-top:15px; display:none;\">\n                            <p id=\"kp_booking_msg\" style=\"margin-bottom:10px;\"><\/p>\n                            <button type=\"button\" id=\"kp_btn_confirm_book\" class=\"kp-btn kp-btn-success\" data-i18n=\"btnConfirmBook\">VARAA<\/button>\n                            <button type=\"button\" id=\"kp_btn_exit_book\" class=\"kp-btn kp-btn-danger\" data-i18n=\"btnExitBook\">POISTU<\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Booking Success & Send Confirmation View -->\n            <div id=\"kp-confirmation-view\" class=\"kp-view\" style=\"display:none;\">\n                <div class=\"kp-card\" style=\"text-align: left;\">\n                    <h3 style=\"color: #4caf50; margin-top: 0;\" data-i18n=\"confirmHeader\">Varaus vahvistettu!<\/h3>\n                    <div id=\"kp_confirmation_notice\" class=\"kp-card\" style=\"background: rgba(255,255,255,0.05); padding: 15px; margin: 15px 0; border-left: 4px solid #4caf50; font-size: 15px; line-height: 1.5;\">\n                        <!-- Text populated dynamically via JS -->\n                    <\/div>\n                    \n                    <div style=\"margin-top: 20px;\">\n                        <label style=\"display:block; margin-bottom: 8px; font-weight: bold;\" data-i18n=\"sendNoticeLabel\">Sy\u00f6t\u00e4 s\u00e4hk\u00f6postiosoite tai puhelinnumero vahvistuksen l\u00e4hett\u00e4mist\u00e4 varten:<\/label>\n                        <div style=\"display: flex; gap: 10px; flex-wrap: wrap;\">\n                            <input type=\"text\" id=\"kp_confirm_contact\" style=\"flex: 1; min-width: 200px;\" placeholder=\"s\u00e4hk\u00f6posti tai puhelinnumero\">\n                            <button type=\"button\" id=\"kp_btn_send_confirmation\" class=\"kp-btn kp-btn-primary\" data-i18n=\"btnSend\">L\u00e4het\u00e4<\/button>\n                        <\/div>\n                        <div id=\"kp_send_confirmation_msg\" style=\"margin-top: 10px; display:none;\"><\/div>\n                    <\/div>\n\n                    <div style=\"margin-top: 25px; text-align: right;\">\n                        <button type=\"button\" class=\"kp-btn kp-btn-secondary\" id=\"kp_btn_confirm_done\" data-i18n=\"btnReturnDash\">Palaa hallintaan<\/button>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n        <\/div>\n        <\/div><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Koiraparkki varauskalenteri <br>Booking calendar<\/h2>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Kuinka varata: <br>Anna koirasi nimi ja sen j\u00e4lkeen sinulle l\u00e4hetetty 6 numeroidin ID koodi.<br>Sen j\u00e4lkeen valitse joko p\u00e4iv\u00e4koti tai hotelli.<br>Varauksen voi perua tai muuttaa my\u00f6s online<\/summary>\n<p class=\"wp-block-paragraph\"><\/p>\n<\/details>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><\/summary>\n<p class=\"wp-block-paragraph\"><\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><\/summary>\n<p class=\"wp-block-paragraph\"><\/p>\n<\/details>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Koiraparkki varauskalenteri Booking calendar<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-491","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/koiraparkki.fi\/index.php\/wp-json\/wp\/v2\/pages\/491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/koiraparkki.fi\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/koiraparkki.fi\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/koiraparkki.fi\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/koiraparkki.fi\/index.php\/wp-json\/wp\/v2\/comments?post=491"}],"version-history":[{"count":0,"href":"https:\/\/koiraparkki.fi\/index.php\/wp-json\/wp\/v2\/pages\/491\/revisions"}],"wp:attachment":[{"href":"https:\/\/koiraparkki.fi\/index.php\/wp-json\/wp\/v2\/media?parent=491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}