{"id":5938,"date":"2026-06-07T22:06:12","date_gmt":"2026-06-07T19:06:12","guid":{"rendered":"https:\/\/book.officetherapy.bg\/?page_id=5938"},"modified":"2026-06-15T12:01:14","modified_gmt":"2026-06-15T09:01:14","slug":"package-contract","status":"publish","type":"page","link":"https:\/\/wo-therapy.truester.win\/en\/package-contract\/","title":{"rendered":"\u0414\u043e\u0433\u043e\u0432\u043e\u0440 \u041f\u0430\u043a\u0435\u0442\u043d\u0438 \u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0438"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5938\" class=\"elementor elementor-5938\">\n\t\t\t\t<div class=\"elementor-element elementor-element-74d9a28 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"74d9a28\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2874996 elementor-widget elementor-widget-heading\" data-id=\"2874996\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0426\u0435\u043d\u0442\u044a\u0440 \u0437\u0430 \u0444\u0438\u0437\u0438\u043e\u0442\u0435\u0440\u0430\u043f\u0438\u044f\n\u0438 \u0440\u0435\u0445\u0430\u0431\u0438\u043b\u0438\u0442\u0430\u0446\u0438\u044f<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8ea5942 elementor-widget-mobile__width-inherit wpr-logo-position-center elementor-widget elementor-widget-wpr-logo\" data-id=\"8ea5942\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wpr-logo.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\n\t\t\t<div class=\"wpr-logo elementor-clearfix\">\n\n\t\t\t\t\t\t\t\t<picture class=\"wpr-logo-image\">\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/wo-therapy.truester.win\/wp-content\/uploads\/2025\/09\/office-therapy-main-logo-optimized.png\" alt=\"\">\n\n\t\t\t\t\t\t\t\t\t\t\t<a class=\"wpr-logo-url\" rel=\"home\" aria-label=\"\" href=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t<\/picture>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a class=\"wpr-logo-url\" rel=\"home\" aria-label=\"\" href=\"\"><\/a>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a0d50c7 elementor-widget elementor-widget-heading\" data-id=\"a0d50c7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u041f\u0410\u041a\u0415\u0422\u041d\u0418 \u0423\u0421\u041b\u0423\u0413\u0418<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b84fc95 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"b84fc95\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b982eb9 elementor-widget elementor-widget-shortcode\" data-id=\"b982eb9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">            <section class=\"pmcs-wrap pmcs-mode-contract\">\r\n                <h2 class=\"pmcs-title\">\u0414\u043e\u0433\u043e\u0432\u043e\u0440 \u0437\u0430 \u043f\u0430\u043a\u0435\u0442<\/h2>\r\n                <div id=\"pmpc-alert\" class=\"pmcs-alert\" hidden><\/div>\r\n\r\n                <div class=\"pmcs-card\">\r\n                    <div class=\"pmcs-grid\">\r\n                        <label class=\"pmcs-field\"><span>\u0418\u043c\u0435 \u0438 \u0424\u0430\u043c\u0438\u043b\u0438\u044f *<\/span><input id=\"pmpc-name\" type=\"text\" \/><\/label>\r\n                        <label class=\"pmcs-field\" id=\"pmpc-email-wrap\"><span>\u0418\u043c\u0435\u0439\u043b *<\/span><input id=\"pmpc-email\" type=\"email\" \/><\/label>\r\n                    <\/div>\r\n\r\n                                        <div id=\"pmpc-contract-only\">\r\n                        <div class=\"pmcs-grid\">\r\n                            <label class=\"pmcs-field\"><span>\u0410\u0434\u0440\u0435\u0441 *<\/span><input id=\"pmpc-address\" type=\"text\" \/><\/label>\r\n                            <label class=\"pmcs-field\"><span>\u0415\u0413\u041d *<\/span><input id=\"pmpc-egn\" type=\"text\" \/><\/label>\r\n                        <\/div>\r\n                        <input id=\"pmpc-terms\" type=\"hidden\" \/>\r\n                        <div class=\"pmcs-field\">\r\n                            <span>\u0423\u0441\u043b\u043e\u0432\u0438\u044f \u043d\u0430 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430<\/span>\r\n                            <div id=\"pmpc-terms-view\" class=\"pmpc-terms-box\"><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    \r\n                    <div class=\"pmcs-checks\">\r\n                        <p><strong>\u041f\u0430\u043a\u0435\u0442:<\/strong> <span id=\"pmpc-package-name\"><\/span><\/p>\r\n                        <p id=\"pmpc-package-sessions-row\"><strong id=\"pmpc-package-sessions-label\">\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0438:<\/strong> <span id=\"pmpc-package-sessions\"><\/span><\/p>\r\n                        <p id=\"pmpc-procedure-name-row\" style=\"display:none;\"><strong>\u0423\u0441\u043b\u0443\u0433\u0430:<\/strong> <span id=\"pmpc-procedure-name\"><\/span><\/p>\r\n                        <p id=\"pmpc-package-price-row\"><strong>\u0426\u0435\u043d\u0430:<\/strong> <span id=\"pmpc-package-price\"><\/span><\/p>\r\n                    <\/div>\r\n\r\n                                        <div id=\"pmpc-contract-sign-block\">\r\n                        <div class=\"pmpc-contract-executor-info\">\r\n                            <h4>&#1048;&#1047;&#1055;&#1066;&#1051;&#1053;&#1048;&#1058;&#1045;&#1051;<\/h4>\r\n                            <p>&quot;&#1040;&#1048;&#1055;&#1057;&#1048;&#1052;&#1055; &#1061;&#1045;&#1051;&#1058; &#1052;&#1045;&#1044; &#1058;&#1045;&#1056;&#1040;&#1055;&#1048;&quot; &#1045;&#1054;&#1054;&#1044;,<br>\r\n                            &#1045;&#1048;&#1050;: 207596213,<br>\r\n                            &#1057;&#1098;&#1089; &#1089;&#1077;&#1076;&#1072;&#1083;&#1080;&#1097;&#1077; &#1080; &#1072;&#1076;&#1088;&#1077;&#1089; &#1085;&#1072; &#1091;&#1087;&#1088;&#1072;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077;: &#1075;&#1088;. &#1057;&#1086;&#1092;&#1080;&#1103;, &#1078;.&#1082;. &#1050;&#1088;&#1072;&#1089;&#1085;&#1086; &#1057;&#1077;&#1083;&#1086;, &#1073;&#1083;. 189, &#1074;&#1093;. &#1045;,<br>\r\n                            &#1055;&#1088;&#1077;&#1076;&#1089;&#1090;&#1072;&#1074;&#1083;&#1103;&#1074;&#1072;&#1085;&#1086; &#1086;&#1090; &#1043;&#1077;&#1086;&#1088;&#1075;&#1080; &#1058;&#1086;&#1076;&#1086;&#1088;&#1086;&#1074;, &#1085;&#1072;&#1088;&#1080;&#1095;&#1072;&#1085;&#1086; &#1087;&#1086;-&#1076;&#1086;&#1083;&#1091; &quot;&#1048;&#1079;&#1087;&#1098;&#1083;&#1085;&#1080;&#1090;&#1077;&#1083;&quot;, &#1080; &#1055;&#1072;&#1094;&#1080;&#1077;&#1085;&#1090;<\/p>\r\n                        <\/div>\r\n                        <div class=\"pmpc-sign-grid\">\r\n                            <div class=\"pmpc-sign-col\">\r\n                                <h4>&#1048;&#1079;&#1087;&#1098;&#1083;&#1085;&#1080;&#1090;&#1077;&#1083;<\/h4>\r\n                                <label class=\"pmcs-field\">\r\n                                    <span>&#1048;&#1079;&#1087;&#1098;&#1083;&#1085;&#1080;&#1090;&#1077;&#1083; *<\/span>\r\n                                    <input id=\"pmpc-center-rep-name\" type=\"text\" \/>\r\n                                <\/label>\r\n                                <div class=\"pmcs-sign\">\r\n                                    <div class=\"pmcs-sign-head\"><strong>&#1055;&#1086;&#1076;&#1087;&#1080;&#1089; &#1085;&#1072; &#1080;&#1079;&#1087;&#1098;&#1083;&#1085;&#1080;&#1090;&#1077;&#1083; *<\/strong><span id=\"pmpc-q-rep\" class=\"pmcs-quality\">\u041d\u044f\u043c\u0430 \u043f\u043e\u0434\u043f\u0438\u0441<\/span><\/div>\r\n                                    <div class=\"pmcs-canvas-wrap\"><canvas id=\"pmpc-canvas-rep\" aria-label=\"\u041f\u043e\u043b\u0435 \u0437\u0430 \u043f\u043e\u0434\u043f\u0438\u0441 \u043d\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\"><\/canvas><\/div>\r\n                                    <div class=\"pmcs-inline-actions\">\r\n                                        <button type=\"button\" class=\"pmcs-btn pmcs-btn-light\" id=\"pmpc-undo-rep\">\u041d\u0430\u0437\u0430\u0434<\/button>\r\n                                        <button type=\"button\" class=\"pmcs-btn pmcs-btn-light\" id=\"pmpc-clear-rep\">\u0418\u0437\u0447\u0438\u0441\u0442\u0438<\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                            <div class=\"pmpc-sign-col pmpc-sign-col-patient\">\r\n                                <h4>\u041f\u0430\u0446\u0438\u0435\u043d\u0442<\/h4>\r\n                                <label class=\"pmcs-field\">\r\n                                    <span>\u0418\u043c\u0435 *<\/span>\r\n                                    <input id=\"pmpc-patient-sign-name\" type=\"text\" \/>\r\n                                <\/label>\r\n                                <div class=\"pmcs-sign\">\r\n                                    <div class=\"pmcs-sign-head\"><strong>\u041f\u043e\u0434\u043f\u0438\u0441 \u043d\u0430 \u043f\u0430\u0446\u0438\u0435\u043d\u0442 *<\/strong><span id=\"pmpc-q\" class=\"pmcs-quality\">\u041d\u044f\u043c\u0430 \u043f\u043e\u0434\u043f\u0438\u0441<\/span><\/div>\r\n                                    <div class=\"pmcs-canvas-wrap\"><canvas id=\"pmpc-canvas\" aria-label=\"\u041f\u043e\u043b\u0435 \u0437\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\"><\/canvas><\/div>\r\n                                    <div class=\"pmcs-inline-actions\">\r\n                                        <button type=\"button\" class=\"pmcs-btn pmcs-btn-light\" id=\"pmpc-undo\">\u041d\u0430\u0437\u0430\u0434<\/button>\r\n                                        <button type=\"button\" class=\"pmcs-btn pmcs-btn-light\" id=\"pmpc-clear\">\u0418\u0437\u0447\u0438\u0441\u0442\u0438<\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <label class=\"pmcs-field\">\r\n                            <span>\u0414\u0430\u0442\u0430 \u043d\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0432\u0430\u043d\u0435 *<\/span>\r\n                            <input id=\"pmpc-contract-date\" type=\"date\" \/>\r\n                        <\/label>\r\n                    <\/div>\r\n                    \r\n                    \r\n                    <div class=\"pmcs-actions\"><button type=\"button\" class=\"pmcs-btn pmcs-btn-primary\" id=\"pmpc-save\">\u0417\u0430\u043f\u0430\u0437\u0438<\/button><\/div>\r\n                <\/div>\r\n            <\/section>\r\n\r\n            <style>\r\n                .pmcs-wrap {\r\n                    --c-bg:#f8fafc;\r\n                    --c-card:#fff;\r\n                    --c-b:#d1d5db;\r\n                    --c-b2:#e5e7eb;\r\n                    --c-t:#111827;\r\n                    --c-m:#6b7280;\r\n                    --c-a:#dc2626;\r\n                    --c-ah:#b91c1c;\r\n                    --c-ring:#fee2e2;\r\n                    max-width:1100px;\r\n                    margin:20px auto;\r\n                    padding:0 12px;\r\n                    color:var(--c-t);\r\n                    font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n                    font-size:15px;\r\n                    line-height:1.5;\r\n                }\r\n                .pmcs-title { margin:0 0 6px; color:#111827; font-size:24px; line-height:1.2; font-weight:800; letter-spacing:0; }\r\n                .pmcs-card { border:1px solid var(--c-b2); border-radius:14px; background:#fff; padding:20px; box-shadow:0 4px 14px rgba(15,23,42,.08); }\r\n                .pmcs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }\r\n                .pmcs-field { display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }\r\n                .pmcs-field span { font-weight:700; font-size:14px; color:#1f2937; }\r\n                .pmcs-field input,\r\n                .pmcs-field textarea {\r\n                    width:100%;\r\n                    box-sizing:border-box;\r\n                    border:1.5px solid var(--c-b);\r\n                    border-radius:10px;\r\n                    padding:11px 13px;\r\n                    font-size:15px;\r\n                    line-height:1.45;\r\n                    color:#111827;\r\n                    background:#fff;\r\n                }\r\n                .pmcs-field input:focus,\r\n                .pmcs-field textarea:focus {\r\n                    outline:none;\r\n                    border-color:var(--c-a);\r\n                    box-shadow:0 0 0 3px var(--c-ring);\r\n                }\r\n                .pmcs-checks {\r\n                    margin:0 0 14px;\r\n                    padding:13px 15px;\r\n                    border:1px solid var(--c-b2);\r\n                    border-radius:12px;\r\n                    background:#f8fafc;\r\n                    color:#334155;\r\n                }\r\n                .pmcs-checks p { margin:0 0 8px; }\r\n                .pmcs-checks p:last-child { margin-bottom:0; }\r\n                .pmcs-sign-head { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:8px; }\r\n                .pmcs-sign-head strong { font-size:16px; color:#111827; }\r\n                .pmcs-quality { display:inline-flex; align-items:center; padding:5px 12px; border-radius:999px; font-size:12px; font-weight:700; background:#f1f5f9; border:1px solid #e2e8f0; color:#334155; }\r\n                .pmcs-quality.good { background:#d1fae5; color:#166534; border-color:#86efac; }\r\n                .pmcs-quality.bad { background:#fee2e2; color:#991b1b; border-color:#fecaca; }\r\n                .pmcs-inline-actions,\r\n                .pmcs-actions { display:flex; gap:10px; flex-wrap:wrap; }\r\n                .pmcs-inline-actions { margin-top:10px; }\r\n                .pmcs-actions { margin-top:14px; justify-content:flex-start; }\r\n                .pmcs-btn {\r\n                    border:1.5px solid #cbd5e1;\r\n                    background:#fff;\r\n                    color:#0f172a;\r\n                    border-radius:10px;\r\n                    padding:11px 18px;\r\n                    min-height:42px;\r\n                    font-size:15px;\r\n                    line-height:1.2;\r\n                    font-weight:700;\r\n                    letter-spacing:0;\r\n                    text-shadow:none;\r\n                    cursor:pointer;\r\n                    box-shadow:0 1px 2px rgba(15,23,42,.10);\r\n                    transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease;\r\n                }\r\n                .pmcs-btn:hover { background:#f8fafc; border-color:#94a3b8; color:#0b1220; }\r\n                .pmcs-btn:focus-visible { outline:none; box-shadow:0 0 0 3px var(--c-ring),0 1px 2px rgba(15,23,42,.10); }\r\n                .pmcs-btn:active { transform:translateY(1px); }\r\n                .pmcs-btn-primary { background:var(--c-a); border-color:var(--c-a); color:#fff; }\r\n                .pmcs-btn-primary:hover { background:var(--c-ah); border-color:var(--c-ah); color:#fff; }\r\n                .pmcs-btn:disabled { opacity:.6; cursor:not-allowed; transform:none; }\r\n                .pmcs-alert { margin-bottom:12px; padding:12px 14px; border-radius:10px; border-left:4px solid; }\r\n                .pmcs-alert.ok { background:#ecfdf5; border-color:#16a34a; color:#14532d; }\r\n                .pmcs-alert.error { background:#fef2f2; border-color:#dc2626; color:#7f1d1d; }\r\n                .pmcs-mode-stage .pmcs-card { max-width: 760px; margin: 0 auto; }\r\n                .pmcs-mode-stage .pmcs-grid { grid-template-columns:1fr; }\r\n                .pmpc-stage-only { margin-bottom:12px; }\r\n                .pmpc-procedure-sign-block { margin-top:8px; }\r\n                .pmpc-sign-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:12px; }\r\n                .pmpc-sign-col { border:1px solid #e5e7eb; border-radius:10px; padding:12px; background:#fff; display:flex; flex-direction:column; }\r\n                .pmpc-sign-col h4 { margin:0 0 8px; font-size:14px; letter-spacing:.02em; }\r\n                .pmpc-sign-col p { margin:0 0 8px; }\r\n                .pmpc-contract-executor-info { border:1px solid #e5e7eb; border-radius:10px; padding:12px; background:#fff; margin:0 0 12px; }\r\n                .pmpc-contract-executor-info h4 { margin:0 0 8px; font-size:14px; letter-spacing:.02em; }\r\n                .pmpc-contract-executor-info p { margin:0; }\r\n                .pmpc-locked-field { background:#f8fafc !important; color:#334155 !important; cursor:not-allowed; }\r\n                #pmpc-stage-only .pmcs-checks { display:block; }\r\n                #pmpc-stage-only .pmcs-checks label { display:flex; align-items:center; gap:8px; margin:8px 0; }\r\n                .pmpc-terms-box { border:1px solid #d1d5db; border-radius:10px; background:#f8fafc; padding:10px 12px; white-space:pre-line; color:#111827; line-height:1.5; }\r\n                .pmcs-sign { border:1px solid #c7d2e5 !important; border-radius:12px !important; background:#f8fbff !important; padding:12px !important; box-shadow:0 1px 0 rgba(15,23,42,.03); }\r\n                .pmcs-canvas-wrap { position:relative !important; border:2px solid #64748b !important; border-radius:10px !important; background:#fff !important; overflow:hidden !important; min-height:220px !important; box-shadow: inset 0 0 0 1px #cbd5e1; }\r\n                .pmcs-canvas-wrap::before { content:'\u041f\u041e\u041b\u0415 \u0417\u0410 \u041f\u041e\u0414\u041f\u0418\u0421'; position:absolute; top:8px; left:10px; font-size:12px; font-weight:700; color:#475569; letter-spacing:.02em; pointer-events:none; }\r\n                body.pm-package-contract-embedded { color-scheme: light !important; background:#fff !important; }\r\n                body.pm-package-contract-embedded,\r\n                body.pm-package-contract-embedded input,\r\n                body.pm-package-contract-embedded select,\r\n                body.pm-package-contract-embedded textarea,\r\n                body.pm-package-contract-embedded button,\r\n                body.pm-package-contract-embedded canvas { color-scheme: light !important; }\r\n                body.pm-package-contract-embedded .skiptranslate,\r\n                body.pm-package-contract-embedded .goog-te-gadget,\r\n                body.pm-package-contract-embedded .goog-te-combo,\r\n                body.pm-package-contract-embedded #google_translate_element,\r\n                body.pm-package-contract-embedded .gtranslate_wrapper,\r\n                body.pm-package-contract-embedded .gt_float_switcher,\r\n                body.pm-package-contract-embedded .trp-language-switcher,\r\n                body.pm-package-contract-embedded .trp-ls-shortcode-current-language,\r\n                body.pm-package-contract-embedded .trp-ls-shortcode-language,\r\n                body.pm-package-contract-embedded .trp_language_switcher_shortcode,\r\n                body.pm-package-contract-embedded .wpml-ls,\r\n                body.pm-package-contract-embedded .pll-switcher-select,\r\n                body.pm-package-contract-embedded .translatepress-language-switcher { display:none !important; visibility:hidden !important; opacity:0 !important; pointer-events:none !important; }\r\n                .pmcs-canvas-wrap canvas { width:100% !important; height:220px !important; display:block !important; touch-action:none !important; background:#fff !important; }\r\n                body.pm-package-contract-embedded,\r\n                body.pm-package-contract-embedded .pmcs-wrap,\r\n                body.pm-package-contract-embedded .pmcs-card,\r\n                body.pm-package-contract-embedded .pmcs-sign,\r\n                body.pm-package-contract-embedded .pmcs-canvas-wrap,\r\n                body.pm-package-contract-embedded .pmcs-canvas-wrap canvas { background:#fff !important; }\r\n                body.pm-package-contract-embedded *,\r\n                body.pm-package-contract-embedded *::before,\r\n                body.pm-package-contract-embedded *::after {\r\n                    -webkit-tap-highlight-color: transparent;\r\n                }\r\n                @media (max-width:900px){ .pmcs-grid,.pmpc-sign-grid { grid-template-columns:1fr; } .pmcs-actions .pmcs-btn{flex:1 1 100%;} }\r\n            <\/style>\r\n\r\n            <script>window.PMPackageContract={\"ajaxUrl\":\"https:\\\/\\\/wo-therapy.truester.win\\\/wp-admin\\\/admin-ajax.php\",\"nonce\":\"25402f8099\",\"stage\":\"contract\",\"prefill\":{\"name\":\"\",\"email\":\"\",\"address\":\"\",\"egn\":\"\"},\"ctx\":{\"package_id\":0,\"package_customer_id\":0,\"package_customer_service_id\":0,\"appointment_id\":0,\"appointment_date\":\"\",\"session_label\":\"\",\"session_index\":0,\"session_total\":0,\"procedure_name\":\"\",\"package_name\":\"\",\"package_price\":\"\",\"package_sessions\":0},\"hideEmail\":false,\"centerRepresentativeDefault\":\"\\u0413\\u0435\\u043e\\u0440\\u0433\\u0438 \\u0422\\u043e\\u0434\\u043e\\u0440\\u043e\\u0432\"};<\/script>\r\n            <script>\r\n            (function(){\r\n                const cfg = window.PMPackageContract || {};\r\n                const q = (s) => document.querySelector(s);\r\n                const a = q('#pmpc-alert');\r\n                const stage = String(cfg.stage || 'contract');\r\n                const isContract = stage === 'contract';\r\n                if (new URLSearchParams(window.location.search || '').get('pmc_embed') === '1') {\r\n                    document.body.classList.add('pm-package-contract-embedded');\r\n                }\r\n                const win1252 = {\r\n                    0x20AC: 0x80, 0x201A: 0x82, 0x0192: 0x83, 0x201E: 0x84, 0x2026: 0x85,\r\n                    0x2020: 0x86, 0x2021: 0x87, 0x02C6: 0x88, 0x2030: 0x89, 0x0160: 0x8A,\r\n                    0x2039: 0x8B, 0x0152: 0x8C, 0x017D: 0x8E, 0x2018: 0x91, 0x2019: 0x92,\r\n                    0x201C: 0x93, 0x201D: 0x94, 0x2022: 0x95, 0x2013: 0x96, 0x2014: 0x97,\r\n                    0x02DC: 0x98, 0x2122: 0x99, 0x0161: 0x9A, 0x203A: 0x9B, 0x0153: 0x9C,\r\n                    0x017E: 0x9E, 0x0178: 0x9F\r\n                };\r\n\r\n                function clean(value) {\r\n                    const input = String(value == null ? '' : value);\r\n                    if (!\/[\\u00c3\\u00c2\\u00d0\\u00d1]\/.test(input) || typeof TextDecoder === 'undefined') {\r\n                        return input;\r\n                    }\r\n                    try {\r\n                        const bytes = [];\r\n                        for (let i = 0; i < input.length; i++) {\r\n                            const code = input.charCodeAt(i);\r\n                            bytes.push(win1252[code] || (code <= 255 ? code : 63));\r\n                        }\r\n                        const decoded = new TextDecoder('utf-8', { fatal: false }).decode(new Uint8Array(bytes));\r\n                        return decoded && !\/[\\u00c3\\u00c2\\u00d0\\u00d1]\/.test(decoded) ? decoded : input;\r\n                    } catch (e) {\r\n                        return input;\r\n                    }\r\n                }\r\n\r\n                function cleanTextNodeTree(root) {\r\n                    if (!root || typeof document.createTreeWalker !== 'function') {\r\n                        return;\r\n                    }\r\n                    const walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT);\r\n                    const nodes = [];\r\n                    let node;\r\n                    while ((node = walker.nextNode())) {\r\n                        nodes.push(node);\r\n                    }\r\n                    nodes.forEach((textNode) => {\r\n                        textNode.nodeValue = clean(textNode.nodeValue);\r\n                    });\r\n                    root.querySelectorAll('[aria-label], [title], [placeholder], input[value]').forEach((nodeWithText) => {\r\n                        ['aria-label', 'title', 'placeholder', 'value'].forEach((attr) => {\r\n                            if (nodeWithText.hasAttribute(attr)) {\r\n                                nodeWithText.setAttribute(attr, clean(nodeWithText.getAttribute(attr)));\r\n                            }\r\n                        });\r\n                    });\r\n                }\r\n\r\n                const el = {\r\n                    n: q('#pmpc-name'),\r\n                    e: q('#pmpc-email'),\r\n                    ew: q('#pmpc-email-wrap'),\r\n                    ad: q('#pmpc-address'),\r\n                    egn: q('#pmpc-egn'),\r\n                    t: q('#pmpc-terms'),\r\n                    tv: q('#pmpc-terms-view'),\r\n                    ack: q('#pmpc-terms-ack'),\r\n                    pn: q('#pmpc-package-name'),\r\n                    psl: q('#pmpc-package-sessions-label'),\r\n                    psr: q('#pmpc-package-sessions-row'),\r\n                    procRow: q('#pmpc-procedure-name-row'),\r\n                    procName: q('#pmpc-procedure-name'),\r\n                    ppr: q('#pmpc-package-price-row'),\r\n                    ps: q('#pmpc-package-sessions'),\r\n                    pp: q('#pmpc-package-price'),\r\n                    repName: q('#pmpc-center-rep-name'),\r\n                    repC: q('#pmpc-canvas-rep'),\r\n                    repQ: q('#pmpc-q-rep'),\r\n                    repU: q('#pmpc-undo-rep'),\r\n                    repCl: q('#pmpc-clear-rep'),\r\n                    patientSignName: q('#pmpc-patient-sign-name'),\r\n                    signDate: q('#pmpc-contract-date'),\r\n                    c: q('#pmpc-canvas'),\r\n                    q: q('#pmpc-q'),\r\n                    u: q('#pmpc-undo'),\r\n                    cl: q('#pmpc-clear'),\r\n                    cs: q('#pmpc-canvas-stage'),\r\n                    qs: q('#pmpc-q-stage'),\r\n                    us: q('#pmpc-undo-stage'),\r\n                    cls: q('#pmpc-clear-stage'),\r\n                    s: q('#pmpc-save')\r\n                };\r\n\r\n                if (!el.s) return;\r\n                [el.repC, el.c, el.cs].forEach(function(canvasEl) {\r\n                    if (!canvasEl) return;\r\n                    canvasEl.style.background = '#ffffff';\r\n                    canvasEl.style.filter = 'none';\r\n                    canvasEl.style.webkitFilter = 'none';\r\n                });\r\n                cleanTextNodeTree(document.querySelector('.pmcs-wrap'));\r\n\r\n                function escapeContractHtml(value) {\r\n                    return String(value || '').replace(\/[&<>\"']\/g, function(ch) {\r\n                        return ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#039;' })[ch];\r\n                    });\r\n                }\r\n                function formatPackagePrice(value) {\r\n                    const raw = clean(value || '');\r\n                    const amountPattern = '([0-9]+(?:[\\\\s\\\\u00a0]*[0-9]{3})*(?:[.,][0-9]+)?|[0-9]+)';\r\n                    const euroMatch = raw.match(new RegExp(amountPattern + '\\\\s*(?:\u20ac|eur|\u0435\u0432\u0440\u043e)', 'i'));\r\n                    const primary = euroMatch\r\n                        ? euroMatch[1]\r\n                        : raw.replace(\/\\s*\\([^)]*\\)\/g, '').replace(\/\\)+\/g, '').trim();\r\n                    const match = primary.match(\/([0-9]+(?:[\\s\\u00a0]*[0-9]{3})*(?:[.,][0-9]+)?|[0-9]+)\/);\r\n                    const euro = match ? parseFloat(match[1].replace(\/[\\s\\u00a0]\/g, '').replace(',', '.')) : NaN;\r\n                    if (!Number.isFinite(euro)) return raw || '-';\r\n                    const formatAmount = function(num, decimals) {\r\n                        let output = Number(num).toFixed(decimals);\r\n                        if (decimals > 0 && decimals !== 2) {\r\n                            output = output.replace(\/\\.?0+$\/, '');\r\n                        }\r\n                        return output.replace('.', ',');\r\n                    };\r\n                    const euroDecimals = Math.abs(euro - Math.round(euro)) < 0.005 ? 0 : 2;\r\n                    return formatAmount(euro, euroDecimals) + ' \\u20ac';\r\n                }\r\n                function renderContractTermsHtml(lines) {\r\n                    const informedConsentUrl = 'https:\/\/officetherapy.bg\/informirano-saglasie-2\/';\r\n                    return lines.map(function(line) {\r\n                        const cleanLine = clean(line);\r\n                        if (cleanLine.indexOf('\u0418\u043d\u0444\u043e\u0440\u043c\u0438\u0440\u0430\u043d\u043e\u0442\u043e \u0441\u044a\u0433\u043b\u0430\u0441\u0438\u0435') !== -1) {\r\n                            return escapeContractHtml(cleanLine).replace(\r\n                                '\u0418\u043d\u0444\u043e\u0440\u043c\u0438\u0440\u0430\u043d\u043e\u0442\u043e \u0441\u044a\u0433\u043b\u0430\u0441\u0438\u0435',\r\n                                '<a href=\"' + informedConsentUrl + '\" target=\"_blank\" rel=\"noopener noreferrer\">\u0418\u043d\u0444\u043e\u0440\u043c\u0438\u0440\u0430\u043d\u043e\u0442\u043e \u0441\u044a\u0433\u043b\u0430\u0441\u0438\u0435<\/a>'\r\n                            );\r\n                        }\r\n                        return escapeContractHtml(cleanLine);\r\n                    }).join('<br>');\r\n                }\r\n                function msg(m, t){\r\n                    a.textContent = clean(m);\r\n                    a.className = 'pmcs-alert ' + (t || 'error');\r\n                    a.hidden = false;\r\n                    a.setAttribute('tabindex', '-1');\r\n                    try {\r\n                        a.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n                        a.focus({ preventScroll: true });\r\n                    } catch (e) {\r\n                        a.scrollIntoView();\r\n                    }\r\n                }\r\n                function clr(){ a.hidden = true; a.textContent = ''; a.className = 'pmcs-alert'; }\r\n                function lockField(node) {\r\n                    if (!node) return;\r\n                    node.readOnly = true;\r\n                    node.setAttribute('readonly', 'readonly');\r\n                    node.setAttribute('aria-readonly', 'true');\r\n                    node.classList.add('pmpc-locked-field');\r\n                }\r\n\r\n                if (cfg.hideEmail && el.ew) el.ew.style.display = 'none';\r\n                if (cfg.prefill) {\r\n                    if (cfg.prefill.name && el.n) el.n.value = clean(cfg.prefill.name);\r\n                    if (cfg.prefill.email && el.e) el.e.value = clean(cfg.prefill.email);\r\n                    if (cfg.prefill.address && el.ad) el.ad.value = clean(cfg.prefill.address);\r\n                    if (cfg.prefill.egn && el.egn) el.egn.value = clean(cfg.prefill.egn);\r\n                }\r\n                if (cfg.prefill && cfg.prefill.name) {\r\n                    lockField(el.n);\r\n                }\r\n                if (cfg.prefill && cfg.prefill.address) {\r\n                    lockField(el.ad);\r\n                }\r\n                if (cfg.prefill && cfg.prefill.egn) {\r\n                    lockField(el.egn);\r\n                }\r\n\r\n                const rawCtx = cfg.ctx || {};\r\n                const ctx = {\r\n                    package_id: rawCtx.package_id || 0,\r\n                    package_customer_id: rawCtx.package_customer_id || 0,\r\n                    package_customer_service_id: rawCtx.package_customer_service_id || 0,\r\n                    appointment_id: rawCtx.appointment_id || 0,\r\n                    appointment_date: clean(rawCtx.appointment_date || ''),\r\n                    session_label: clean(rawCtx.session_label || ''),\r\n                    session_index: rawCtx.session_index || 0,\r\n                    session_total: rawCtx.session_total || 0,\r\n                    procedure_name: clean(rawCtx.procedure_name || ''),\r\n                    package_name: clean(rawCtx.package_name || ''),\r\n                    package_price: clean(rawCtx.package_price || ''),\r\n                    package_sessions: rawCtx.package_sessions || 0\r\n                };\r\n                const contractTermsLines = [\r\n                    'I. \u0423\u0421\u041b\u041e\u0412\u0418\u042f \u0417\u0410 \u041f\u041e\u041b\u0417\u0412\u0410\u041d\u0415',\r\n                    '2. \u0412\u0430\u043b\u0438\u0434\u043d\u043e\u0441\u0442\u0442\u0430 \u043d\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 \u0435 3 (\u0442\u0440\u0438) \u043c\u0435\u0441\u0435\u0446\u0430 \u043e\u0442 \u0434\u0430\u0442\u0430\u0442\u0430 \u043d\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0432\u0430\u043d\u0435.',\r\n                    '3. \u0417\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0447\u0430\u0441 \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430 \u0441 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u043d\u0430 \u0443\u0433\u043e\u0432\u043e\u0440\u043a\u0430.',\r\n                    '4. \u041f\u0440\u043e\u043c\u044f\u043d\u0430 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u0447\u0430\u0441 \u0435 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u0430 \u0441\u0430\u043c\u043e \u0432\u0435\u0434\u043d\u044a\u0436 \u0438 \u043d\u0435 \u043f\u043e-\u043a\u044a\u0441\u043d\u043e \u043e\u0442 48 \u0447\u0430\u0441\u0430 \u043f\u0440\u0435\u0434\u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430\u0442\u0430.',\r\n                    '5. \u0417\u0430\u043a\u044a\u0441\u043d\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043d\u0435\u044f\u0432\u044f\u0432\u0430\u043d\u0435 \u0437\u0430 \u0443\u0433\u043e\u0432\u043e\u0440\u0435\u043d \u0447\u0430\u0441 \u0441\u0435 \u0441\u0447\u0438\u0442\u0430 \u0437\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d \u0447\u0430\u0441 \u043e\u0442 \u043f\u0430\u043a\u0435\u0442\u0430.',\r\n                    '6. \u0422\u0435\u0440\u0430\u043f\u0435\u0432\u0442\u044a\u0442 \u043d\u0435 \u043d\u043e\u0441\u0438 \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u043d\u043e\u0441\u0442 \u0437\u0430 \u043f\u0440\u043e\u043f\u0443\u0441\u043d\u0430\u0442\u0438 \u0447\u0430\u0441\u043e\u0432\u0435.',\r\n                    '',\r\n                    'II. \u041e\u0422\u0413\u041e\u0412\u041e\u0420\u041d\u041e\u0421\u0422\u0418 \u041d\u0410 \u041f\u0410\u0426\u0418\u0415\u041d\u0422\u0410',\r\n                    '7. \u041d\u043e\u0441\u0438 \u043f\u044a\u043b\u043d\u0430 \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u043d\u043e\u0441\u0442 \u0437\u0430 \u0441\u0432\u043e\u044f \u0437\u0434\u0440\u0430\u0432\u043e\u0441\u043b\u043e\u0432\u0435\u043d \u0441\u0442\u0430\u0442\u0443\u0441 \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u0442\u043e\u0447\u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0437\u0430 \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u0442\u043e \u0441\u0438.',\r\n                    '8. \u0423\u0432\u0435\u0434\u043e\u043c\u044f\u0432\u0430 \u0418\u0437\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u044f \u0437\u0430 \u0437\u0430\u0431\u043e\u043b\u044f\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u0438 \u0441\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u043a\u043e\u0438\u0442\u043e \u043c\u043e\u0433\u0430\u0442 \u0434\u0430 \u043f\u043e\u0432\u043b\u0438\u044f\u044f\u0442 \u043d\u0430 \u0442\u0435\u0440\u0430\u043f\u0438\u044f\u0442\u0430.',\r\n                    '9. \u041d\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u043d\u0430 \u0442\u0440\u0435\u0442\u0438 \u043b\u0438\u0446\u0430 \u2013 \u0442\u043e\u0439 \u0435 \u043b\u0438\u0447\u0435\u043d \u0438 \u043d\u0435\u043f\u0440\u0435\u0445\u0432\u044a\u0440\u043b\u044f\u0435\u043c.',\r\n                    '',\r\n                    'III. \u041e\u0422\u0413\u041e\u0412\u041e\u0420\u041d\u041e\u0421\u0422 \u041d\u0410 \u0418\u0417\u041f\u042a\u041b\u041d\u0418\u0422\u0415\u041b\u042f',\r\n                    '10. \u041e\u0441\u0438\u0433\u0443\u0440\u044f\u0432\u0430 \u0443\u0441\u043b\u0443\u0433\u0438 \u0432 \u0441\u044a\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0441 \u043f\u0440\u043e\u0444\u0435\u0441\u0438\u043e\u043d\u0430\u043b\u043d\u0438\u0442\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438.',\r\n                    '11. \u0421\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430 \u043b\u0438\u0447\u043d\u0438 \u0434\u0430\u043d\u043d\u0438 \u0441\u044a\u0433\u043b\u0430\u0441\u043d\u043e GDPR \u0438 \u0417\u0430\u043a\u043e\u043d\u0430 \u0437\u0430 \u0437\u0430\u0449\u0438\u0442\u0430 \u043d\u0430 \u043b\u0438\u0447\u043d\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0438.',\r\n                    '12. \u041d\u0435 \u043d\u043e\u0441\u0438 \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u043d\u043e\u0441\u0442 \u0437\u0430:\u041b\u0438\u0447\u043d\u0438 \u0432\u0435\u0449\u0438, \u0437\u0430\u0431\u0440\u0430\u0432\u0435\u043d\u0438 \u0438\u043b\u0438 \u0438\u0437\u0433\u0443\u0431\u0435\u043d\u0438 \u0432 \u043e\u0431\u0435\u043a\u0442\u0430.\u0420\u0435\u0430\u043a\u0446\u0438\u0438, \u043f\u0440\u043e\u0438\u0437\u0442\u0438\u0447\u0430\u0449\u0438 \u043e\u0442 \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u043d\u0438\u0442\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043f\u0430\u0446\u0438\u0435\u043d\u0442\u0430.\u041d\u0435\u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u0435\u043d\u043e\u0441\u0442, \u0441\u0432\u044a\u0440\u0437\u0430\u043d\u0430 \u0441\u044a\u0441 \u0441\u0443\u0431\u0435\u043a\u0442\u0438\u0432\u043d\u0438 \u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0438\u044f \u0437\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435.',\r\n                    '',\r\n                    'IV. \u041e\u0422\u041a\u0410\u0417, \u041d\u0415\u0423\u0421\u0422\u041e\u0419\u041a\u0418 \u0418 \u041f\u0420\u0415\u041a\u0420\u0410\u0422\u042f\u0412\u0410\u041d\u0415',\r\n                    '13. \u041f\u043b\u0430\u0442\u0435\u043d\u0438\u0442\u0435 \u0441\u0443\u043c\u0438 \u043d\u0435 \u0441\u0435 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u0442, \u043e\u0441\u0432\u0435\u043d \u043f\u0440\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0435\u043d \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u0435\u043d \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0437\u0430 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f.',\r\n                    '14. \u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0438 \u0438\u043b\u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u043d\u0430\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0438 \u043d\u0435 \u043f\u043e\u0434\u043b\u0435\u0436\u0430\u0442 \u043d\u0430 \u0432\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435, \u043e\u0442\u043b\u0430\u0433\u0430\u043d\u0435 \u0438\u043b\u0438 \u043f\u0440\u0435\u0445\u0432\u044a\u0440\u043b\u044f\u043d\u0435.',\r\n                    '15. \u041f\u0440\u0438 \u0435\u0434\u043d\u043e\u0441\u0442\u0440\u0430\u043d\u043d\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u044f\u0432\u0430\u043d\u0435 \u043e\u0442 \u0441\u0442\u0440\u0430\u043d\u0430 \u043d\u0430 \u041f\u0430\u0446\u0438\u0435\u043d\u0442\u0430 \u0441\u0435 \u0434\u044a\u043b\u0436\u0438 \u043d\u0435\u0443\u0441\u0442\u043e\u0439\u043a\u0430 \u0432 \u0440\u0430\u0437\u043c\u0435\u0440 \u043d\u0430 30% \u043e\u0442 \u043e\u0431\u0449\u0430\u0442\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442 \u043d\u0430 \u043f\u0430\u043a\u0435\u0442\u0430.',\r\n                    '',\r\n                    'V. \u0424\u041e\u0420\u0421\u041c\u0410\u0416\u041e\u0420\u041d\u0418 \u041e\u0411\u0421\u0422\u041e\u042f\u0422\u0415\u041b\u0421\u0422\u0412\u0410',\r\n                    '16. \u0418\u0437\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u044f\u0442 \u043c\u043e\u0436\u0435 \u0434\u0430 \u043e\u0442\u043b\u043e\u0436\u0438 \u0438\u043b\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0442\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0438\u0442\u0435 \u043f\u0440\u0438 \u0438\u0437\u0432\u044a\u043d\u0440\u0435\u0434\u043d\u0438 \u043e\u0431\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u0441\u0442\u0432\u0430 (\u0435\u043f\u0438\u0434\u0435\u043c\u0438\u0438, \u043f\u0440\u0438\u0440\u043e\u0434\u043d\u0438 \u0431\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u0438 \u0434\u0440.), \u0431\u0435\u0437 \u0442\u043e\u0432\u0430 \u0434\u0430 \u0441\u0435 \u0441\u0447\u0438\u0442\u0430 \u0437\u0430 \u043d\u0435\u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430.',\r\n                    '',\r\n                    'VI. \u0417\u0410\u0411\u0420\u0410\u041d\u0410 \u0417\u0410 \u0423\u0420\u041e\u041d\u0412\u0410\u041d\u0415 \u041d\u0410 \u0420\u0415\u041f\u0423\u0422\u0410\u0426\u0418\u042f\u0422\u0410',\r\n                    '17. \u041f\u0430\u0446\u0438\u0435\u043d\u0442\u044a\u0442 \u043d\u044f\u043c\u0430 \u043f\u0440\u0430\u0432\u043e \u0434\u0430 \u0440\u0430\u0437\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0432\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e \u043d\u0435\u0432\u044f\u0440\u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0442\u043d\u043e\u0441\u043d\u043e \u0443\u0441\u043b\u0443\u0433\u0438\u0442\u0435, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u044f\u043d\u0438 \u043e\u0442 \u0418\u0437\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u044f. \u041f\u0440\u0438 \u043a\u043e\u043d\u0441\u0442\u0430\u0442\u0438\u0440\u0430\u043d\u0438 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u044f, \u0418\u0437\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u044f\u0442 \u0441\u0438 \u0437\u0430\u043f\u0430\u0437\u0432\u0430 \u043f\u0440\u0430\u0432\u043e\u0442\u043e \u0434\u0430 \u043f\u043e\u0442\u044a\u0440\u0441\u0438 \u0441\u044a\u0434\u0435\u0431\u043d\u0430 \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u043d\u043e\u0441\u0442.',\r\n                    '',\r\n                    'VII. \u0414\u0420\u0423\u0413\u0418 \u0423\u0421\u041b\u041e\u0412\u0418\u042f',\r\n                    '18.\u0412\u0441\u0438\u0447\u043a\u0438 \u0441\u043f\u043e\u0440\u043e\u0432\u0435 \u0441\u0435 \u0440\u0435\u0448\u0430\u0432\u0430\u0442 \u0447\u0440\u0435\u0437 \u043f\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u0438, \u0430 \u043f\u0440\u0438 \u043d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442 \u2013 \u0432 \u041a\u043e\u043c\u043f\u0435\u0442\u0435\u043d\u0442\u043d\u0438\u044f \u0441\u044a\u0434 \u0432 \u0433\u0440. \u0421\u043e\u0444\u0438\u044f.',\r\n                    '19. \u0412\u0441\u0435\u043a\u0438 \u0441\u043b\u0443\u0436\u0438\u0442\u0435\u043b \u043d\u0430 \"\u0410\u0418\u041f\u0421\u0418\u041c\u041f \u0425\u0415\u041b\u0422 \u041c\u0415\u0414 \u0422\u0415\u0420\u0410\u041f\u0418\" \u0415\u041e\u041e\u0414 \u0438\u043c\u0430 \u043f\u0440\u0430\u0432\u043e \u0434\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0432\u0430 \u0442\u043e\u0437\u0438 \u0434\u043e\u0433\u043e\u0432\u043e\u0440 \u043e\u0442 \u0438\u043c\u0435\u0442\u043e \u043d\u0430 \u0444\u0438\u0440\u043c\u0430\u0442\u0430.',\r\n                    '20. \u0412\u0441\u0435\u043a\u0438 \u043f\u0430\u0446\u0438\u0435\u043d\u0442, \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043b \u0442\u043e\u0437\u0438 \u0434\u043e\u0433\u043e\u0432\u043e\u0440, \u043f\u043e\u0442\u0432\u044a\u0440\u0436\u0434\u0430\u0432\u0430, \u0447\u0435 \u0435 \u0437\u0430\u043f\u043e\u0437\u043d\u0430\u0442 \u0441 \u0418\u043d\u0444\u043e\u0440\u043c\u0438\u0440\u0430\u043d\u043e\u0442\u043e \u0441\u044a\u0433\u043b\u0430\u0441\u0438\u0435 \u0438 GDPR \u0444\u043e\u0440\u043c\u0443\u043b\u044f\u0440\u0430, \u043a\u043e\u0438\u0442\u043e \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0435\u043d \u0434\u0430 \u043f\u043e\u0434\u043f\u0438\u0448\u0435.'\r\n                ];\r\n                const contractTerms = contractTermsLines.map(clean).join('\\n');\r\n                if (el.pn) el.pn.textContent = ctx.package_name || '-';\r\n                if (!isContract) {\r\n                    const stageLabel = stage === 'before' ? clean('\u041f\u043e\u0434\u043f\u0438\u0441 \u041f\u0420\u0415\u0414\u0418 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430') : clean('\u041f\u043e\u0434\u043f\u0438\u0441 \u0421\u041b\u0415\u0414 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430');\r\n                    const derivedSessionLabel = ctx.session_label || (ctx.session_index && ctx.session_total ? (String(ctx.session_index) + '\/' + String(ctx.session_total)) : '');\r\n                    const titleNode = document.querySelector('.pmcs-title');\r\n                    if (titleNode) titleNode.textContent = stageLabel + (derivedSessionLabel ? (' ' + derivedSessionLabel) : '');\r\n                    if (el.psl) el.psl.textContent = clean('\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430:');\r\n                    if (el.ps) el.ps.textContent = derivedSessionLabel ? String(derivedSessionLabel) : '-';\r\n                    if (el.procRow) el.procRow.style.display = ctx.procedure_name ? '' : 'none';\r\n                    if (el.procName) el.procName.textContent = ctx.procedure_name || '-';\r\n                    if (el.ppr) el.ppr.style.display = 'none';\r\n                } else {\r\n                    if (el.psl) el.psl.textContent = clean('\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0438:');\r\n                    if (el.ps) el.ps.textContent = ctx.package_sessions ? String(ctx.package_sessions) : '-';\r\n                    if (el.pp) el.pp.textContent = formatPackagePrice(ctx.package_price);\r\n                    if (el.ppr) el.ppr.style.display = '';\r\n                }\r\n                if (isContract && el.t) {\r\n                    el.t.value = contractTerms;\r\n                }\r\n                if (isContract && el.tv) {\r\n                    el.tv.innerHTML = renderContractTermsHtml(contractTermsLines);\r\n                }\r\n                if (isContract && el.repName && !el.repName.value) el.repName.value = clean(cfg.centerRepresentativeDefault || '\u0413\u0435\u043e\u0440\u0433\u0438 \u0422\u043e\u0434\u043e\u0440\u043e\u0432');\r\n                if (isContract && el.patientSignName && el.n && !el.patientSignName.value) el.patientSignName.value = String(el.n.value || '');\r\n                if (isContract && el.patientSignName && el.n && String(el.n.value || '').trim()) {\r\n                    el.patientSignName.value = String(el.n.value || '').trim();\r\n                    lockField(el.patientSignName);\r\n                }\r\n                if (isContract && el.signDate && !el.signDate.value) el.signDate.value = new Date().toISOString().slice(0, 10);\r\n\r\n                function createPad(canvas, qualityEl) {\r\n                    if (!canvas || !qualityEl) {\r\n                        return { resize(){}, clear(){}, undo(){}, metrics(){ return { valid:false, points:0 }; }, dataUrl(){ return ''; } };\r\n                    }\r\n                    const st = { s: [], a: null, d: false, raf: 0, pending: [], rect: null };\r\n                    let x = null;\r\n                    try {\r\n                        x = canvas.getContext('2d', { alpha: false, desynchronized: true });\r\n                    } catch (e) {}\r\n                    if (!x) {\r\n                        try {\r\n                            x = canvas.getContext('2d', { alpha: false });\r\n                        } catch (e) {}\r\n                    }\r\n                    x = x || canvas.getContext('2d');\r\n                    function rr(){ st.rect = canvas.getBoundingClientRect(); return st.rect; }\r\n                    function cr(){ return st.rect && st.rect.width ? st.rect : rr(); }\r\n                    function rs(){ const r = rr(); if(!r.width || !r.height) return; canvas.width = Math.floor(r.width); canvas.height = 220; canvas.style.backgroundColor = '#ffffff'; if (canvas.parentNode && canvas.parentNode.style) { canvas.parentNode.style.backgroundColor = '#ffffff'; } x.imageSmoothingEnabled = false; dr(); }\r\n                    function p(e){ const r = cr(); return { x:e.clientX-r.left, y:e.clientY-r.top, t:Math.round(e.timeStamp || Date.now()) }; }\r\n                    function bg(){ x.save(); x.setTransform(1,0,0,1,0,0); x.globalCompositeOperation='source-over'; x.fillStyle='#ffffff'; x.fillRect(0,0,canvas.width,canvas.height); x.restore(); }\r\n                    function lw(){ x.lineWidth=2.2; x.lineJoin='round'; x.lineCap='round'; x.strokeStyle='#111827'; }\r\n                    function dt(v){ if(!v) return; x.beginPath(); x.arc(v.x,v.y,1.2,0,Math.PI*2); x.fillStyle='#111827'; x.fill(); }\r\n                    function ds(from,to){ if(!from || !to) return; lw(); x.beginPath(); x.moveTo(from.x,from.y); x.lineTo(to.x,to.y); x.stroke(); }\r\n                    function d(s){ if(!s || !s.length) return; lw(); if(s.length===1){ dt(s[0]); return; } x.beginPath(); x.moveTo(s[0].x,s[0].y); for(let i=1;i<s.length;i++) x.lineTo(s[i].x,s[i].y); x.stroke(); }\r\n                    function cancelFrame(){ if(st.raf){ cancelAnimationFrame(st.raf); st.raf = 0; } }\r\n                    function resetPending(){ cancelFrame(); st.pending = []; }\r\n                    function consumePending(){ if(!st.pending.length) return; const pending = st.pending.slice(); st.pending = []; pending.forEach(item => { if(item.type === 'point'){ dt(item.point); return; } ds(item.from,item.to); }); }\r\n                    function queueDraw(){ if(st.raf) return; st.raf = requestAnimationFrame(function(){ st.raf = 0; consumePending(); }); }\r\n                    function flushPending(){ cancelFrame(); consumePending(); }\r\n                    function dr(){ resetPending(); x.clearRect(0,0,canvas.width,canvas.height); bg(); st.s.forEach(d); if(st.a) d(st.a); }\r\n                    function mt(){ let pts=[]; st.s.forEach(s=>pts=pts.concat(s)); if(!pts.length) return {valid:false,points:0}; let minX=pts[0].x,maxX=pts[0].x,minY=pts[0].y,maxY=pts[0].y,minT=pts[0].t,maxT=pts[0].t,l=0; st.s.forEach(s=>{ for(let i=0;i<s.length;i++){ const v=s[i]; minX=Math.min(minX,v.x); maxX=Math.max(maxX,v.x); minY=Math.min(minY,v.y); maxY=Math.max(maxY,v.y); minT=Math.min(minT,v.t); maxT=Math.max(maxT,v.t); if(i>0) l+=Math.hypot(v.x-s[i-1].x,v.y-s[i-1].y); }}); const ok=st.s.length>=1&&pts.length>=16&&(maxX-minX)>=30&&(maxY-minY)>=8&&(maxT-minT)>=120&&l>=45; return {valid:ok,points:pts.length}; }\r\n                    function uq(){ const m=mt(); qualityEl.className='pmcs-quality'; if(!m.points){ qualityEl.textContent=clean('\u041d\u044f\u043c\u0430 \u043f\u043e\u0434\u043f\u0438\u0441'); return; } if(m.valid){ qualityEl.classList.add('good'); qualityEl.textContent=clean('\u041e\u041a'); return; } qualityEl.classList.add('bad'); qualityEl.textContent=clean('\u041a\u0440\u0430\u0442\u044a\u043a'); }\r\n\r\n                    function pushPoint(v){ const l=st.a[st.a.length-1]; if(Math.hypot(v.x-l.x,v.y-l.y)<1.2) return; st.a.push(v); st.pending.push({ type:'segment', from:l, to:v }); }\r\n                    canvas.addEventListener('pointerdown',e=>{ e.preventDefault(); rr(); resetPending(); st.d=true; canvas.style.touchAction='none'; canvas.style.webkitTapHighlightColor='transparent'; canvas.style.userSelect='none'; canvas.style.WebkitUserSelect='none'; canvas.setPointerCapture(e.pointerId); st.a=[p(e)]; }, { passive:false });\r\n                    canvas.addEventListener('pointermove',e=>{\r\n                        if(!st.d||!st.a) return;\r\n                        e.preventDefault();\r\n                        const coalesced = typeof e.getCoalescedEvents === 'function' ? e.getCoalescedEvents() : null;\r\n                        if (coalesced && coalesced.length) {\r\n                            coalesced.forEach(evt => pushPoint(p(evt)));\r\n                        } else {\r\n                            pushPoint(p(e));\r\n                        }\r\n                        queueDraw();\r\n                    }, { passive:false });\r\n                    function end(e){ if(!st.d||!st.a) return; e.preventDefault(); st.d=false; flushPending(); if(st.a.length===1){ lw(); dt(st.a[0]); } if(st.a.length) st.s.push(st.a); st.a=null; uq(); }\r\n                    canvas.addEventListener('pointerup', end, { passive:false }); canvas.addEventListener('pointercancel', end, { passive:false });\r\n\r\n                    rs(); uq();\r\n                    return {\r\n                        resize(){ rs(); uq(); },\r\n                        clear(){ st.s=[]; st.a=null; dr(); uq(); },\r\n                        undo(){ if(st.s.length){ st.s.pop(); dr(); uq(); } },\r\n                        metrics(){ return mt(); },\r\n                        dataUrl(){ flushPending(); return canvas.toDataURL('image\/png'); }\r\n                    };\r\n                }\r\n\r\n                const padRepresentative = createPad(el.repC, el.repQ);\r\n                const padContract = createPad(el.c, el.q);\r\n                const padStage = createPad(el.cs, el.qs);\r\n\r\n                if (el.repU) el.repU.addEventListener('click', () => padRepresentative.undo());\r\n                if (el.repCl) el.repCl.addEventListener('click', () => padRepresentative.clear());\r\n                if (el.u) el.u.addEventListener('click', () => padContract.undo());\r\n                if (el.cl) el.cl.addEventListener('click', () => padContract.clear());\r\n                if (el.us) el.us.addEventListener('click', () => padStage.undo());\r\n                if (el.cls) el.cls.addEventListener('click', () => padStage.clear());\r\n\r\n                window.addEventListener('resize', () => {\r\n                    padRepresentative.resize();\r\n                    padContract.resize();\r\n                    padStage.resize();\r\n                });\r\n\r\n                async function save(payload) {\r\n                    const b = new URLSearchParams();\r\n                    b.set('action', 'pm_package_contract_save_submission');\r\n                    b.set('nonce', String(cfg.nonce || ''));\r\n                    b.set('payload', JSON.stringify(payload));\r\n                    const r = await fetch(String(cfg.ajaxUrl || '\/wp-admin\/admin-ajax.php'), {\r\n                        method: 'POST',\r\n                        credentials: 'same-origin',\r\n                        headers: { 'Content-Type': 'application\/x-www-form-urlencoded; charset=UTF-8' },\r\n                        body: b.toString()\r\n                    });\r\n                    const j = await r.json().catch(() => null);\r\n                    if (!r.ok || !j || !j.success) {\r\n                        throw new Error(clean(j && j.data && j.data.message ? j.data.message : '\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0438\u0441'));\r\n                    }\r\n                    return j.data || {};\r\n                }\r\n\r\n                function notifyParent(type, message, extra) {\r\n                    if (!window.parent || window.parent === window || typeof window.parent.postMessage !== 'function') {\r\n                        return;\r\n                    }\r\n                    const base = {\r\n                        source: 'pm_package_contract_form',\r\n                        type: type,\r\n                        message: String(message || '')\r\n                    };\r\n                    const data = Object.assign(base, extra || {});\r\n                    window.parent.postMessage(data, '*');\r\n                    if (window.top && window.top !== window.parent && typeof window.top.postMessage === 'function') {\r\n                        window.top.postMessage(data, '*');\r\n                    }\r\n                }\r\n\r\n                el.s.addEventListener('click', async () => {\r\n                    clr();\r\n                    if (!el.n || !String(el.n.value || '').trim()) return msg('\u0418\u043c\u0435\u0442\u043e \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e.', 'error');\r\n                    if (!el.e || !String(el.e.value || '').trim()) return msg('\u0418\u043c\u0435\u0439\u043b\u044a\u0442 \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u0435\u043d.', 'error');\r\n\r\n                    const termsAcknowledged = !isContract && !!(el.ack && el.ack.checked);\r\n                    const repMetrics = isContract ? padRepresentative.metrics() : { valid: true, points: 0 };\r\n                    const m = isContract ? padContract.metrics() : padStage.metrics();\r\n\r\n                    if (isContract) {\r\n                        if (!String(el.ad && el.ad.value || '').trim() || !String(el.egn && el.egn.value || '').trim()) {\r\n                            return msg('\u0410\u0434\u0440\u0435\u0441 \u0438 \u0415\u0413\u041d \u0441\u0430 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438.', 'error');\r\n                        }\r\n                        if (!String(el.repName && el.repName.value || '').trim()) {\r\n                            return msg('\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044f \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e.', 'error');\r\n                        }\r\n                        if (!repMetrics.valid) {\r\n                            return msg('\u041f\u043e\u0434\u043f\u0438\u0441\u044a\u0442 \u043d\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044f \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u0435\u043d.', 'error');\r\n                        }\r\n                        if (!String(el.patientSignName && el.patientSignName.value || '').trim()) {\r\n                            return msg('\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u043f\u0430\u0446\u0438\u0435\u043d\u0442\u0430 \u0432 \u0441\u0435\u043a\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u043f\u043e\u0434\u043f\u0438\u0441 \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e.', 'error');\r\n                        }\r\n                        if (!String(el.signDate && el.signDate.value || '').trim()) {\r\n                            return msg('\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0434\u0430\u0442\u0430 \u043d\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0432\u0430\u043d\u0435.', 'error');\r\n                        }\r\n                        if (!m.valid) return msg('\u041f\u043e\u0434\u043f\u0438\u0441\u044a\u0442 \u043d\u0430 \u043f\u0430\u0446\u0438\u0435\u043d\u0442\u0430 \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u0435\u043d.', 'error');\r\n                    } else {\r\n                        if (!termsAcknowledged) return msg('\u041f\u043e\u0442\u0432\u044a\u0440\u0434\u0435\u0442\u0435, \u0447\u0435 \u0441\u0442\u0435 \u0437\u0430\u043f\u043e\u0437\u043d\u0430\u0442\u0438 \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0442\u0430 \u043f\u043e \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430.', 'error');\r\n                        if (!m.valid) return msg('\u041f\u043e\u0434\u043f\u0438\u0441\u044a\u0442 \u0435 \u0437\u0430\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u0435\u043d.', 'error');\r\n                    }\r\n\r\n                    const payload = {\r\n                        stage: String(cfg.stage || 'contract'),\r\n                        full_name: String(el.n.value || '').trim(),\r\n                        email: String(el.e.value || '').trim(),\r\n                        address: String((el.ad && el.ad.value) || '').trim(),\r\n                        egn: String((el.egn && el.egn.value) || '').trim(),\r\n                        contract_text: String((el.t && el.t.value) || '').trim(),\r\n                        center_representative_name: String((el.repName && el.repName.value) || '').trim(),\r\n                        center_representative_signature: isContract ? padRepresentative.dataUrl() : '',\r\n                        center_representative_signature_metrics: repMetrics,\r\n                        patient_sign_name: String((el.patientSignName && el.patientSignName.value) || '').trim(),\r\n                        contract_signed_on: String((el.signDate && el.signDate.value) || '').trim(),\r\n                        package_id: parseInt(ctx.package_id || 0, 10) || 0,\r\n                        package_customer_id: parseInt(ctx.package_customer_id || 0, 10) || 0,\r\n                        package_customer_service_id: parseInt(ctx.package_customer_service_id || 0, 10) || 0,\r\n                        appointment_id: parseInt(ctx.appointment_id || 0, 10) || 0,\r\n                        appointment_scheduled_at: String(ctx.appointment_date || '').trim(),\r\n                        session_label: String(ctx.session_label || '').trim(),\r\n                        package_name: String(ctx.package_name || ''),\r\n                        package_price: String(ctx.package_price || ''),\r\n                        package_sessions: parseInt(ctx.package_sessions || 0, 10) || 0,\r\n                        no_show: false,\r\n                        no_show_confirmed: false,\r\n                        terms_acknowledged: termsAcknowledged,\r\n                        signature_metrics: m,\r\n                        signature_strokes: [],\r\n                        signature_png_data_url: isContract ? padContract.dataUrl() : padStage.dataUrl()\r\n                    };\r\n\r\n                    const old = el.s.textContent;\r\n                    el.s.disabled = true;\r\n                    el.s.textContent = clean('\u0417\u0430\u043f\u0438\u0441...');\r\n                    try {\r\n                        const result = await save(payload);\r\n                        msg('\u0417\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e.', 'ok');\r\n                        notifyParent('pm_package_contract_submission_saved', clean('\u0417\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e.'), {\r\n                            stage: payload.stage,\r\n                            package_customer_id: payload.package_customer_id,\r\n                            package_id: payload.package_id,\r\n                            package_customer_service_id: payload.package_customer_service_id,\r\n                            appointment_id: payload.appointment_id,\r\n                            submission_id: result && result.id ? Number(result.id) : 0\r\n                        });\r\n                    } catch (e) {\r\n                        const errMsg = clean(e && e.message ? e.message : '\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0438\u0441.');\r\n                        msg(errMsg, 'error');\r\n                        notifyParent('pm_package_contract_submission_error', errMsg, {\r\n                            stage: payload.stage,\r\n                            package_customer_id: payload.package_customer_id,\r\n                            package_id: payload.package_id,\r\n                            package_customer_service_id: payload.package_customer_service_id,\r\n                            appointment_id: payload.appointment_id\r\n                        });\r\n                    } finally {\r\n                        el.s.disabled = false;\r\n                        el.s.textContent = old;\r\n                    }\r\n                });\r\n            })();\r\n            <\/script>\r\n            <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u0426\u0435\u043d\u0442\u044a\u0440 \u0437\u0430 \u0444\u0438\u0437\u0438\u043e\u0442\u0435\u0440\u0430\u043f\u0438\u044f \u0438 \u0440\u0435\u0445\u0430\u0431\u0438\u043b\u0438\u0442\u0430\u0446\u0438\u044f \u041f\u0410\u041a\u0415\u0422\u041d\u0418 \u0423\u0421\u041b\u0423\u0413\u0418<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-5938","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/wo-therapy.truester.win\/en\/wp-json\/wp\/v2\/pages\/5938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wo-therapy.truester.win\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wo-therapy.truester.win\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wo-therapy.truester.win\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wo-therapy.truester.win\/en\/wp-json\/wp\/v2\/comments?post=5938"}],"version-history":[{"count":7,"href":"https:\/\/wo-therapy.truester.win\/en\/wp-json\/wp\/v2\/pages\/5938\/revisions"}],"predecessor-version":[{"id":6008,"href":"https:\/\/wo-therapy.truester.win\/en\/wp-json\/wp\/v2\/pages\/5938\/revisions\/6008"}],"wp:attachment":[{"href":"https:\/\/wo-therapy.truester.win\/en\/wp-json\/wp\/v2\/media?parent=5938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}