{"id":19,"date":"2026-03-24T18:12:26","date_gmt":"2026-03-24T17:12:26","guid":{"rendered":"https:\/\/sandboxtest.es\/index.php\/generar-contrato-profesional\/"},"modified":"2026-03-24T18:12:26","modified_gmt":"2026-03-24T17:12:26","slug":"generar-contrato-profesional","status":"publish","type":"page","link":"https:\/\/sandboxtest.es\/index.php\/generar-contrato-profesional\/","title":{"rendered":"Generar Contrato Profesional"},"content":{"rendered":"\n\n<script>\n    window.cdjIsReadOnly = false;\n<\/script>\n\n<div class=\"cdj-container\">\n    <div class=\"cdj-form-wrapper\">\n        <h2 style=\"margin-bottom: 5px;\">Generar Contrato de Servicio<\/h2>\n\n                \n        <form id=\"cdj-contract-form\" >\n            <input type=\"hidden\" id=\"cdj_nonce_field\" name=\"cdj_nonce_field\" value=\"a8809838d4\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/index.php\/wp-json\/wp\/v2\/pages\/19\" \/>            \n            <div class=\"cdj-form-section\">\n                <h3>Informaci\u00f3n del Cliente<\/h3>\n\n                                \n                <div class=\"cdj-form-group\">\n                    <label for=\"client_name\">Nombre Completo del Cliente *<\/label>\n                    <input type=\"text\" id=\"client_name\" name=\"client_name\" value=\"\" required>\n                <\/div>\n                \n                <div class=\"cdj-form-group\">\n                    <label for=\"client_dni\">DNI\/NIF del Cliente *<\/label>\n                    <input type=\"text\" id=\"client_dni\" name=\"client_dni\"  required>\n                <\/div>\n\n                                <div class=\"cdj-wedding-highlight-box\">\n                    <div class=\"cdj-form-group cdj-wedding-toggle-group\">\n                        <label class=\"cdj-checkbox-label\">\n                            <input type=\"checkbox\" id=\"is_wedding\" name=\"is_wedding\" value=\"1\" >\n                            <span class=\"cdj-checkbox-checkmark\"><\/span>\n                            <span class=\"cdj-check-text\">\ud83d\udc8d \u00bfEs una Boda? (Activar Planificador y Galer\u00eda)<\/span>\n                        <\/label>\n                    <\/div>\n                <\/div>\n                \n                <div id=\"cdj-wedding-fields\" style=\"display: none;\">\n                    <div class=\"cdj-form-separator\" style=\"margin: 20px 0; border-top: 1px dashed #ddd;\"><\/div>\n                    \n                    <div class=\"cdj-form-row\">\n                        <div class=\"cdj-form-group\">\n                            <label for=\"couple_name_1\">Nombre Novio\/a 1 *<\/label>\n                            <input type=\"text\" id=\"couple_name_1\" name=\"couple_name_1\" placeholder=\"Ej: Mar\u00eda\" >\n                        <\/div>\n                        <div class=\"cdj-form-group\">\n                            <label for=\"couple_name_2\">Nombre Novio\/a 2 *<\/label>\n                            <input type=\"text\" id=\"couple_name_2\" name=\"couple_name_2\" placeholder=\"Ej: Juan\" >\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            <div class=\"cdj-form-section\">\n                <h3>Detalles del Evento<\/h3>\n                \n                <div class=\"cdj-form-group\">\n                    <label for=\"package_select\">Paquete de Servicio *<\/label>\n                    <select id=\"package_select\" name=\"package_select\" required>\n                        <option value=\"\">Selecciona un paquete<\/option>\n                                                    <option value=\"pack1\" \n                                    data-price=\"500\"\n                                    data-name=\"Servicio Profesional Est\u00e1ndar\"\n                                    >\n                                Servicio Profesional Est\u00e1ndar - 500\u20ac + IVA\n                            <\/option>\n                                                <option value=\"custom\" data-price=\"0\" data-name=\"Precio Personalizado\" >\n                            \ud83d\udcb0 Precio Personalizado (Sin paquete)\n                        <\/option>\n                    <\/select>\n                                    <\/div>\n                \n                <!-- Campos para precio personalizado -->\n                <div id=\"cdj-custom-price-section\" style=\"display: none; background: #f8f9fa; padding: 20px; border-radius: 10px; margin-bottom: 20px; border-left: 4px solid #667eea;\">\n                    <h4 style=\"margin-top: 0; color: #667eea;\">\ud83d\udcb0 Configuraci\u00f3n de Precio Personalizado<\/h4>\n                    \n                    <div class=\"cdj-form-group\">\n                        <label for=\"custom_price\">Precio del Servicio (\u20ac) *<\/label>\n                        <input type=\"number\" id=\"custom_price\" name=\"custom_price\" min=\"0\" step=\"1\" placeholder=\"Ej: 300\">\n                        <p class=\"description\" style=\"font-size: 12px; color: #666; margin-top: 5px;\">Introduce el precio acordado para este servicio.<\/p>\n                    <\/div>\n                    \n                    <div class=\"cdj-form-group\">\n                        <label for=\"custom_services\">Descripci\u00f3n del Servicio *<\/label>\n                        <textarea id=\"custom_services\" name=\"custom_services\" rows=\"4\" placeholder=\"Ej: DJ set completo sin equipamiento propio. El cliente proporciona sonido e iluminaci\u00f3n.\"><\/textarea>\n                        <p class=\"description\" style=\"font-size: 12px; color: #666; margin-top: 5px;\">Describe los servicios incluidos en este precio personalizado.<\/p>\n                    <\/div>\n                <\/div>\n                \n                <script>\n                document.addEventListener('DOMContentLoaded', function() {\n                    var packageSelect = document.getElementById('package_select');\n                    var customSection = document.getElementById('cdj-custom-price-section');\n                    var customPriceInput = document.getElementById('custom_price');\n                    var customServicesInput = document.getElementById('custom_services');\n                    \n                    packageSelect.addEventListener('change', function() {\n                        if (this.value === 'custom') {\n                            customSection.style.display = 'block';\n                            customPriceInput.required = true;\n                            customServicesInput.required = true;\n                        } else {\n                            customSection.style.display = 'none';\n                            customPriceInput.required = false;\n                            customServicesInput.required = false;\n                        }\n                    });\n                });\n                <\/script>\n                \n                <div class=\"cdj-form-group\">\n                    <label for=\"event_date\">Fecha del Evento *<\/label>\n                    <input type=\"date\" id=\"event_date\" name=\"event_date\"  required>\n                <\/div>\n                \n                <div class=\"cdj-form-row\">\n                    <div class=\"cdj-form-group\">\n                        <label for=\"start_time\">Hora de Inicio *<\/label>\n                        <select id=\"start_time\" name=\"start_time\" required>\n                            <option value=\"\">Seleccionar hora<\/option>\n                                                            <option value=\"00:00\">00:00<\/option>\n                                                            <option value=\"01:00\">01:00<\/option>\n                                                            <option value=\"02:00\">02:00<\/option>\n                                                            <option value=\"03:00\">03:00<\/option>\n                                                            <option value=\"04:00\">04:00<\/option>\n                                                            <option value=\"05:00\">05:00<\/option>\n                                                            <option value=\"06:00\">06:00<\/option>\n                                                            <option value=\"07:00\">07:00<\/option>\n                                                            <option value=\"08:00\">08:00<\/option>\n                                                            <option value=\"09:00\">09:00<\/option>\n                                                            <option value=\"10:00\">10:00<\/option>\n                                                            <option value=\"11:00\">11:00<\/option>\n                                                            <option value=\"12:00\">12:00<\/option>\n                                                            <option value=\"13:00\">13:00<\/option>\n                                                            <option value=\"14:00\">14:00<\/option>\n                                                            <option value=\"15:00\">15:00<\/option>\n                                                            <option value=\"16:00\">16:00<\/option>\n                                                            <option value=\"17:00\">17:00<\/option>\n                                                            <option value=\"18:00\">18:00<\/option>\n                                                            <option value=\"19:00\">19:00<\/option>\n                                                            <option value=\"20:00\">20:00<\/option>\n                                                            <option value=\"21:00\">21:00<\/option>\n                                                            <option value=\"22:00\">22:00<\/option>\n                                                            <option value=\"23:00\">23:00<\/option>\n                                                    <\/select>\n                    <\/div>\n                    \n                    <div class=\"cdj-form-group\">\n                        <label for=\"end_time\">Hora de Fin *<\/label>\n                        <select id=\"end_time\" name=\"end_time\" required>\n                            <option value=\"\">Seleccionar hora<\/option>\n                                                            <option value=\"00:00\">00:00<\/option>\n                                                            <option value=\"01:00\">01:00<\/option>\n                                                            <option value=\"02:00\">02:00<\/option>\n                                                            <option value=\"03:00\">03:00<\/option>\n                                                            <option value=\"04:00\">04:00<\/option>\n                                                            <option value=\"05:00\">05:00<\/option>\n                                                            <option value=\"06:00\">06:00<\/option>\n                                                            <option value=\"07:00\">07:00<\/option>\n                                                            <option value=\"08:00\">08:00<\/option>\n                                                            <option value=\"09:00\">09:00<\/option>\n                                                            <option value=\"10:00\">10:00<\/option>\n                                                            <option value=\"11:00\">11:00<\/option>\n                                                            <option value=\"12:00\">12:00<\/option>\n                                                            <option value=\"13:00\">13:00<\/option>\n                                                            <option value=\"14:00\">14:00<\/option>\n                                                            <option value=\"15:00\">15:00<\/option>\n                                                            <option value=\"16:00\">16:00<\/option>\n                                                            <option value=\"17:00\">17:00<\/option>\n                                                            <option value=\"18:00\">18:00<\/option>\n                                                            <option value=\"19:00\">19:00<\/option>\n                                                            <option value=\"20:00\">20:00<\/option>\n                                                            <option value=\"21:00\">21:00<\/option>\n                                                            <option value=\"22:00\">22:00<\/option>\n                                                            <option value=\"23:00\">23:00<\/option>\n                                                    <\/select>\n                    <\/div>\n                    \n                    <div class=\"cdj-form-group\">\n                        <label>Total de Horas<\/label>\n                        <input type=\"text\" id=\"total_hours\" name=\"total_hours\" readonly>\n                    <\/div>\n                <\/div>\n                \n                <div class=\"cdj-form-group\">\n                    <label for=\"venue\">Lugar del Evento *<\/label>\n                    <input type=\"text\" id=\"venue\" name=\"venue\" placeholder=\"Ej: Hotel NH Collection Marbella\"  required>\n                <\/div>\n\n                <div class=\"cdj-form-group\">\n                    <label for=\"event_city\">Ciudad del Evento *<\/label>\n                    <input type=\"text\" id=\"event_city\" name=\"event_city\" placeholder=\"Ej: Marbella\"  required>\n                <\/div>\n                \n                <div class=\"cdj-form-row\">\n                    <div class=\"cdj-form-group\">\n                        <label for=\"attendance\">P\u00fablico Estimado *<\/label>\n                        <input type=\"number\" id=\"attendance\" name=\"attendance\" placeholder=\"Ej: 70\"  required>\n                    <\/div>\n                    \n                    <div class=\"cdj-form-group\">\n                        <label for=\"client_email\">Email del Cliente (para enviar copia)<\/label>\n                        <input type=\"email\" id=\"client_email\" name=\"client_email\" placeholder=\"cliente@email.com\" >\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            \n            <div class=\"cdj-form-section\">\n                <h3>Firma del Contrato<\/h3>\n                \n                <div class=\"cdj-form-group\">\n                    <label for=\"signing_city\">Ciudad de Firma del Contrato *<\/label>\n                    <input type=\"text\" id=\"signing_city\" name=\"signing_city\" placeholder=\"Ej: M\u00e1laga\"  required>\n                <\/div>\n\n                <div class=\"cdj-form-group\">\n                    <label for=\"signing_date\">Fecha de Firma del Contrato *<\/label>\n                    <input type=\"date\" id=\"signing_date\" name=\"signing_date\"  required>\n                <\/div>\n                \n                <div class=\"cdj-signature-row\">\n                    <div class=\"cdj-signature-group\">\n                        <label>Firma del Cliente *<\/label>\n                        <canvas id=\"client_signature\" class=\"cdj-signature-pad\"><\/canvas>\n                        <button type=\"button\" class=\"cdj-clear-signature\" data-target=\"client_signature\">Limpiar Firma<\/button>\n                    <\/div>\n                    \n                    <div class=\"cdj-signature-group\">\n                        <label>Firma del Proveedor *<\/label>\n                                                    <canvas id=\"dj_signature\" class=\"cdj-signature-pad\"><\/canvas>\n                            <button type=\"button\" class=\"cdj-clear-signature\" data-target=\"dj_signature\">Limpiar Firma<\/button>\n                                            <\/div>\n                <\/div>\n            <\/div>\n            \n                        <div class=\"cdj-form-actions\">\n                <button type=\"button\" id=\"preview_contract\" class=\"cdj-button cdj-button-secondary\">Vista Previa<\/button>\n                <button type=\"button\" id=\"send_email\" class=\"cdj-button cdj-button-email\">\ud83d\udce7 Enviar por Email<\/button>\n            <\/div>\n                    <\/form>\n    <\/div>\n    \n    <div id=\"cdj-preview-wrapper\" class=\"cdj-preview-wrapper\" style=\"display: none;\">\n        <div class=\"cdj-preview-header\">\n            <h3>Vista Previa del Contrato<\/h3>\n            <button type=\"button\" id=\"close_preview\" class=\"cdj-button-close\">\u2715<\/button>\n        <\/div>\n        <div id=\"contract_preview\" class=\"cdj-contract-preview\"><\/div>\n    <\/div>\n    \n    <!-- Modal de firma para m\u00f3viles y tablets -->\n    <div id=\"cdj-signature-modal\" class=\"cdj-signature-modal\" style=\"display: none;\">\n        <div class=\"cdj-signature-modal-container\">\n            <div class=\"cdj-signature-modal-header\">\n                <h3 id=\"cdj-signature-modal-title\">Firma aqu\u00ed<\/h3>\n                <button type=\"button\" id=\"close_signature_modal\" class=\"cdj-button-close\">\u2715<\/button>\n            <\/div>\n            <div class=\"cdj-signature-modal-body\">\n                <canvas id=\"modal_signature_canvas\" class=\"cdj-modal-signature-canvas\"><\/canvas>\n            <\/div>\n            <div class=\"cdj-signature-modal-footer\">\n                <button type=\"button\" id=\"clear_modal_signature\" class=\"cdj-button cdj-button-secondary\">Limpiar<\/button>\n                <button type=\"button\" id=\"save_modal_signature\" class=\"cdj-button cdj-button-primary\">Guardar Firma<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n    \n    <!-- Modal de di\u00e1logo personalizado -->\n    <div id=\"cdj-dialog-modal\" class=\"cdj-dialog-modal\" style=\"display: none;\">\n        <div class=\"cdj-dialog-overlay\"><\/div>\n        <div class=\"cdj-dialog-container\">\n            <div class=\"cdj-dialog-icon\" id=\"cdj-dialog-icon\">\u2705<\/div>\n            <h3 class=\"cdj-dialog-title\" id=\"cdj-dialog-title\">T\u00edtulo<\/h3>\n            <p class=\"cdj-dialog-message\" id=\"cdj-dialog-message\">Mensaje<\/p>\n            <div class=\"cdj-dialog-buttons\">\n                <button type=\"button\" id=\"cdj-dialog-cancel\" class=\"cdj-button cdj-button-secondary\" style=\"display: none;\">Cancelar<\/button>\n                <button type=\"button\" id=\"cdj-dialog-confirm\" class=\"cdj-button cdj-button-primary\">Aceptar<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n    \n    <!-- Footer con branding -->\n    <div class=\"cdj-footer\" style=\"text-align: center; padding: 30px 20px; margin-top: 30px; border-top: 1px solid #e0e0e0; color: #888; font-size: 13px;\">\n        Powered by <a href=\"https:\/\/erwinchacin.com\/herramientas-djs\/\" target=\"_blank\" style=\"color: #3498db; text-decoration: none; font-weight: 600;\">Erwin Chacin<\/a> \u00a9 2026\n    <\/div>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","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":"","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-19","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/sandboxtest.es\/index.php\/wp-json\/wp\/v2\/pages\/19","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sandboxtest.es\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sandboxtest.es\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sandboxtest.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sandboxtest.es\/index.php\/wp-json\/wp\/v2\/comments?post=19"}],"version-history":[{"count":0,"href":"https:\/\/sandboxtest.es\/index.php\/wp-json\/wp\/v2\/pages\/19\/revisions"}],"wp:attachment":[{"href":"https:\/\/sandboxtest.es\/index.php\/wp-json\/wp\/v2\/media?parent=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}