{"id":274,"date":"2026-05-15T17:15:04","date_gmt":"2026-05-15T23:15:04","guid":{"rendered":"https:\/\/sospuravida.com\/CCI\/?page_id=274"},"modified":"2026-05-15T17:15:05","modified_gmt":"2026-05-15T23:15:05","slug":"contrato-digital","status":"publish","type":"page","link":"https:\/\/sospuravida.com\/CCI\/contrato-digital\/","title":{"rendered":"CONTRATO DIGITAL"},"content":{"rendered":"        <div class=\"contrato-shell no-print\">\n            <div class=\"contrato-hero\">\n                <div>\n                    <span class=\"contrato-eyebrow\">Contrato digital institucional<\/span>\n                    <h1>Contrato Marco de Servicios<\/h1>\n                    <p>Lea el reglamento, complete sus datos, adjunte la documentaci\u00f3n y firme en pantalla.<\/p>\n                <\/div>\n                <div class=\"contrato-hero-brand\" aria-label=\"Logo institucional\">\n                    <img decoding=\"async\" src=\"https:\/\/sospuravida.com\/CCI\/wp-content\/uploads\/2026\/03\/LOGO-DOS.png\" alt=\"Logo Centro Cultural de Idiomas\" class=\"contrato-hero-logo\">\n                <\/div>\n            <\/div>\n\n            <div class=\"contrato-layout\">\n                <section class=\"contrato-card contrato-document-card\">\n                    <div class=\"section-head\">\n                        <span class=\"step-number\">01<\/span>\n                        <div>\n                            <h2>Reglamento interno<\/h2>\n                            <p>Documento editable desde el panel de administraci\u00f3n del plugin.<\/p>\n                        <\/div>\n                    <\/div>\n                    <div class=\"contrato-body contrato-scroll\">\n                        <h2>Contrato de Servicios Educativos<\/h2><p>CENTRO CULTURAL DE IDIOMAS\r\nSEDE SAN RAM\u00d3N\r\nREGLAMENTO INTERNO PARA ESTUDIANTES\r\nC\u00e9dula Jur\u00eddica # 3-102-922757\r\n \r\nEl estudiante deber\u00e1 respetar el reglamento interno creado para una mejor relaci\u00f3n con la instituci\u00f3n.\r\n1.\tS\u00f3lo permanecen en las aulas los estudiantes debidamente matriculados.\r\n2.\t La mensualidad se cancela el d\u00eda de inicio de clases. Despu\u00e9s del d\u00eda 5 de esa fecha se cobrar\u00e1 un 10% de recargo por demora. (Salvo previo aviso en oficina).\r\n3.\tToda constancia tendr\u00e1 un valor de \u00a22.500 y deber\u00e1 solicitarse con ocho d\u00edas de anticipaci\u00f3n.\r\n4.\t Los da\u00f1os causados por los estudiantes a la Instituci\u00f3n ser\u00e1n asumidos por el responsable.\r\n5.\tLos celulares deben permanecer apagados o en modo silencioso durante la clase.\r\n6.\tSi el estudiante necesita retirarse del curso debe seguir los pasos para congelar y llenar el formulario de \u201ccongelados\u201d. De lo contrario se le pueden seguir generando cobros. Adem\u00e1s, deber\u00e1 dar aviso a la docente y a la secretaria en administraci\u00f3n, ya sea de manera presencial o por un mensaje de WhatsApp al 6166 5655. Si el estudiante asiste d\u00edas extra despu\u00e9s de su fecha de pago, se le cobrar\u00e1 la mensualidad completa.\r\n7.\t Los ex\u00e1menes de reposici\u00f3n para los alumnos aplazados tendr\u00e1n un valor de \u00a25.000 y se cancelar\u00e1n por adelantado, la nota m\u00ednima es 75 por cada nivel y 80 en el nivel 4.\r\n8.\tEl examen final de graduaci\u00f3n tendr\u00e1 un costo de \u00a230.000 virtual  y \u00a240.000 presencial. Cada uno de estos pagos deber\u00e1n ser cancelados por anticipado (incluye certificado, examen oral, escrito y cena de graduaci\u00f3n para el estudiante).  Si desea llevar un acompa\u00f1ante deber\u00e1 cancelar \u00a210.000 m\u00e1s por cada acompa\u00f1ante. Aunado a ello, si desea que se le entregue portat\u00edtulo, deber\u00e1 cancelar \u00a25.000 adicionales. Cabe mencionar que la nota m\u00ednima del examen final es 80.\r\n9.\tLa mensualidad de diciembre, semana santa y d\u00edas feriados obligatorios se cancela en su totalidad, sin excepci\u00f3n. Debido a que hay meses que tienen 5 semanas y la mensualidad solo considera el cobro de 4 semanas, lo que hace que se nivele.\r\n10.\t Cuando el estudiante cambie de nivel deber\u00e1 cancelar el monto de matricula y el monto de libro (al cancelarlo incluye el t\u00edtulo del nivel)\r\n11.\tTodas las mensualidades se deben cancelar por efectivo, transferencia, dep\u00f3sito o SINPE.\r\n12.\tSe deber\u00e1 enviar siempre el comprobante de transacci\u00f3n cuando se pague v\u00eda dep\u00f3sito o SINPE mediante el n\u00famero de WhatsApp de la oficina (6166 5655). \u00c9ste debe indicar el nombre y apellidos del estudiante, adem\u00e1s del mes que est\u00e1 cancelando.\r\n13.\tTodos los pagos est\u00e1n gravados con el impuesto al valor agregado correspondiente al 2%.\r\n14.\tLa duraci\u00f3n aproximada de cada nivel del curso para adultos de ingl\u00e9s semi intensivo es de 6 meses y la del curso intensivo es de 4 meses y medio. Sin embargo, se pueden extender dependiendo del avance del grupo y situaciones externas a la instituci\u00f3n. El curso de ingl\u00e9s para ni\u00f1os tiene una duraci\u00f3n  de 6 meses por nivel, en total son 6 niveles.\r\n15.\t El grupo se mantendr\u00e1 abierto siempre y cuando cumpla con el cupo m\u00ednimo de estudiantes, el cual es de cinco estudiantes. De lo contrario se le brindar\u00e1n opciones al alumnado, para que cambie de grupo (contemplando los ajustes necesarios y horarios variados), ya que el curso deber\u00e1 cerrarse si no cumple con la condici\u00f3n de cupo m\u00ednimo.\r\n16.\tUna vez realizada la matr\u00edcula, no se devolver\u00e1 el dinero por los tr\u00e1mites administrativos realizados. Solamente  se har\u00e1 un reembolso a lo correspondiente al libro, siempre y cuando se devuelva a la instituci\u00f3n, en excelente estado, sin haber sido utilizado, rayado y sin haber ingresado a la plataforma. \r\n17.\tSi la instituci\u00f3n mantiene la oferta del curso y el estudiante opta por retirarse de manera voluntaria, no se efectuar\u00e1 ning\u00fan tipo de reembolso.\r\n18.\tEl estudiante deber\u00e1 ser sumamente respetuoso con sus compa\u00f1eros y compa\u00f1eras, velando por una buena relaci\u00f3n grupal.\r\n19.\t Cuando se requiera realizar cambio de nivel, se deber\u00e1 avisar con una semana de anticipaci\u00f3n a administraci\u00f3n, esto con el fin de solicitar y tener los libros a su disposici\u00f3n en la fecha requerida.\r\n20.\t Cuando el estudiante es menor de 12 a\u00f1os, se debe coordinar con la docente a cargo qui\u00e9n ser\u00e1 la persona encargada de retirar a los ni\u00f1os y ni\u00f1as de la instituci\u00f3n. Esta deber\u00e1 estar a tiempo a la hora de salida con el fin de evitar inconvenientes.\r\n21.\tEl costo de env\u00edo por correos de Costa Rica(de un libro o certificado) es de 3500 colones. Sin considerar el destino. Esto debido a las gestiones administrativas ejecutadas para el env\u00edo. Cuando sean m\u00e1s de dos libros el precio ser\u00e1 mayor y se deber\u00e1 conversar con administraci\u00f3n el costo del mismo.\r\n22.\tEl parqueo de la instituci\u00f3n es de 3 espacios, quienes requieran usarlo deben procurar llegar temprano. \r\n23.\tLos padres y madres de familia que traen a sus hijos o hijas a clase, deben ser puntuales con la hora de salida establecida. Si lo retira alguien m\u00e1s lo deben notificar a administraci\u00f3n ya sea de manera presencial o por un msj de WhatsApp al 61665655.\r\n\r\nRecibo y apruebo el reglamento\r\n\r\n<\/p>                    <\/div>\n                <\/section>\n\n                <section class=\"contrato-card contrato-form-card\">\n                    <div class=\"section-head\">\n                        <span class=\"step-number\">02<\/span>\n                        <div>\n                            <h2>Datos y aceptaci\u00f3n<\/h2>\n                            <p>La firma quedar\u00e1 vinculada al consecutivo del contrato.<\/p>\n                        <\/div>\n                    <\/div>\n\n                    <form method=\"post\" class=\"contrato-form\" id=\"formContrato\">\n                        <input type=\"hidden\" id=\"_wpnonce\" name=\"_wpnonce\" value=\"53e30b2a93\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/CCI\/wp-json\/wp\/v2\/pages\/274\" \/>\n                        <div class=\"form-grid two-cols\">\n                            <div class=\"kv\">\n                                <label for=\"estudiante_nombre\">Nombre completo del estudiante<\/label>\n                                <input id=\"estudiante_nombre\" type=\"text\" name=\"estudiante_nombre\" autocomplete=\"name\" required>\n                            <\/div>\n                            <div class=\"kv\">\n                                <label for=\"estudiante_cedula\">C\u00e9dula \/ identificaci\u00f3n<\/label>\n                                <input id=\"estudiante_cedula\" type=\"text\" name=\"estudiante_cedula\" autocomplete=\"off\" required>\n                            <\/div>\n                        <\/div>\n\n                        <div class=\"kv\">\n                            <label>Fecha de firma<\/label>\n                            <input type=\"text\" readonly value=\"2026-05-18 06:04:35\">\n                        <\/div>\n\n                        <div class=\"biometria-section\">\n                            <div class=\"section-mini-head\">\n                                <h3>Documentaci\u00f3n fotogr\u00e1fica<\/h3>\n                                <p>Use c\u00e1mara o suba los archivos desde el dispositivo.<\/p>\n                            <\/div>\n\n                            <div class=\"upload-grid\">\n                                <div class=\"upload-card\">\n                                    <div class=\"upload-icon\">\ud83d\udc64<\/div>\n                                    <h4>Foto de perfil<\/h4>\n                                    <p>Rostro claro del estudiante.<\/p>\n                                    <div class=\"upload-actions\">\n                                        <button type=\"button\" class=\"btn-camara\" onclick=\"startCamera('perfil', 'user')\">Usar c\u00e1mara<\/button>\n                                        <label class=\"file-label\">Subir archivo <input type=\"file\" id=\"inputPerfil\" accept=\"image\/*\"><\/label>\n                                    <\/div>\n                                    <div id=\"wrapper-perfil\" class=\"cam-wrapper\">\n                                        <video id=\"video-perfil\" class=\"cam-video\" autoplay playsinline><\/video>\n                                        <button type=\"button\" class=\"btn-capturar\" onclick=\"takeSnapshot('perfil')\">Capturar foto<\/button>\n                                    <\/div>\n                                    <img id=\"preview-perfil\" class=\"preview-img\" alt=\"Vista previa de foto de perfil\">\n                                    <input type=\"hidden\" name=\"foto_perfil_base64\" id=\"hiddenPerfil\">\n                                <\/div>\n\n                                <div class=\"upload-card\">\n                                    <div class=\"upload-icon\">\ud83e\udeaa<\/div>\n                                    <h4>Foto de identificaci\u00f3n<\/h4>\n                                    <p>C\u00e9dula o documento visible.<\/p>\n                                    <div class=\"upload-actions\">\n                                        <button type=\"button\" class=\"btn-camara\" onclick=\"startCamera('id', 'environment')\">Usar c\u00e1mara<\/button>\n                                        <label class=\"file-label\">Subir archivo <input type=\"file\" id=\"inputID\" accept=\"image\/*\"><\/label>\n                                    <\/div>\n                                    <div id=\"wrapper-id\" class=\"cam-wrapper\">\n                                        <video id=\"video-id\" class=\"cam-video\" autoplay playsinline><\/video>\n                                        <button type=\"button\" class=\"btn-capturar\" onclick=\"takeSnapshot('id')\">Capturar c\u00e9dula<\/button>\n                                    <\/div>\n                                    <img id=\"preview-id\" class=\"preview-img\" alt=\"Vista previa de identificaci\u00f3n\">\n                                    <input type=\"hidden\" name=\"foto_identificacion_base64\" id=\"hiddenID\">\n                                <\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div class=\"firma-box\">\n                            <div class=\"section-mini-head\">\n                                <h3>Firma t\u00e1ctil<\/h3>\n                                <p>Firme con el dedo, l\u00e1piz t\u00e1ctil o mouse dentro del recuadro.<\/p>\n                            <\/div>\n                            <canvas id=\"firmaPad\" width=\"900\" height=\"260\" aria-label=\"\u00c1rea de firma digital\"><\/canvas>\n                            <div class=\"firma-actions\">\n                                <button type=\"button\" id=\"clearFirma\">Limpiar firma<\/button>\n                            <\/div>\n                            <input type=\"hidden\" name=\"firma_png_base64\" id=\"firmaData\">\n                        <\/div>\n\n                        <div class=\"accept-box\">\n                            <strong>Declaraci\u00f3n:<\/strong> Confirmo que he le\u00eddo el reglamento interno y acepto firmarlo digitalmente.\n                        <\/div>\n\n                        <button class=\"btn-firmar\" id=\"btnFirmar\" name=\"contratos_firmar\" value=\"1\">Aceptar y firmar contrato<\/button>\n                    <\/form>\n                <\/section>\n            <\/div>\n\n            <footer class=\"contrato-mini-footer\">\n                <div class=\"contrato-mini-footer-text\">\n                    <strong>Centro Cultural de Idiomas \u00b7 Sede San Ram\u00f3n<\/strong>\n                    <span>Documento digital respaldado por plataforma Campus.<\/span>\n                <\/div>\n                <img decoding=\"async\" src=\"https:\/\/sospuravida.com\/CCI\/wp-content\/uploads\/2026\/02\/CAMPUS.png\" alt=\"Campus\" class=\"contrato-footer-logo\">\n            <\/footer>\n        <\/div>\n\n        <script>\n        let streams = { perfil: null, id: null };\n\n        function startCamera(type, mode) {\n            const wrapper = document.getElementById('wrapper-' + type);\n            const video = document.getElementById('video-' + type);\n            const constraints = {\n                video: {\n                    facingMode: mode,\n                    width: { ideal: 1280 },\n                    height: { ideal: 720 }\n                }\n            };\n\n            wrapper.style.display = 'block';\n\n            navigator.mediaDevices.getUserMedia(constraints)\n                .then(function(stream) {\n                    streams[type] = stream;\n                    video.srcObject = stream;\n                })\n                .catch(function(err) {\n                    console.error('Error c\u00e1mara: ', err);\n                    alert('No se pudo acceder a la c\u00e1mara. Verifique permisos o use la opci\u00f3n de subir archivo.');\n                    wrapper.style.display = 'none';\n                });\n        }\n\n        function takeSnapshot(type) {\n            const video = document.getElementById('video-' + type);\n            const canvas = document.createElement('canvas');\n            const hidden = document.getElementById('hidden' + (type === 'perfil' ? 'Perfil' : 'ID'));\n            const preview = document.getElementById('preview-' + type);\n            const wrapper = document.getElementById('wrapper-' + type);\n\n            canvas.width = video.videoWidth;\n            canvas.height = video.videoHeight;\n\n            const ctx = canvas.getContext('2d');\n            ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n\n            const MAX_WIDTH = 1000;\n            if (canvas.width > MAX_WIDTH) {\n                const scale = MAX_WIDTH \/ canvas.width;\n                const tempCanvas = document.createElement('canvas');\n                tempCanvas.width = MAX_WIDTH;\n                tempCanvas.height = canvas.height * scale;\n                tempCanvas.getContext('2d').drawImage(canvas, 0, 0, tempCanvas.width, tempCanvas.height);\n                saveCompressed(tempCanvas, hidden, preview);\n            } else {\n                saveCompressed(canvas, hidden, preview);\n            }\n\n            if (streams[type]) {\n                streams[type].getTracks().forEach(track => track.stop());\n            }\n            wrapper.style.display = 'none';\n        }\n\n        document.addEventListener('DOMContentLoaded', function(){\n            function handleFileSelect(inputType, hiddenId, previewId, maxWidth) {\n                const input = document.getElementById(inputType);\n                if(!input) return;\n\n                input.addEventListener('change', function(e){\n                    const file = e.target.files[0];\n                    if (!file) return;\n                    if (!file.type || file.type.indexOf('image\/') !== 0) {\n                        alert('Seleccione un archivo de imagen v\u00e1lido.');\n                        input.value = '';\n                        return;\n                    }\n\n                    const reader = new FileReader();\n                    reader.onload = function(event) {\n                        const img = new Image();\n                        img.onload = function() {\n                            const canvas = document.createElement('canvas');\n                            let width = img.width;\n                            let height = img.height;\n\n                            if (width > maxWidth) {\n                                height = height * (maxWidth \/ width);\n                                width = maxWidth;\n                            }\n                            canvas.width = width;\n                            canvas.height = height;\n                            canvas.getContext('2d').drawImage(img, 0, 0, width, height);\n                            saveCompressed(canvas, document.getElementById(hiddenId), document.getElementById(previewId));\n                        };\n                        img.src = event.target.result;\n                    };\n                    reader.readAsDataURL(file);\n                });\n            }\n\n            handleFileSelect('inputPerfil', 'hiddenPerfil', 'preview-perfil', 600);\n            handleFileSelect('inputID', 'hiddenID', 'preview-id', 1000);\n\n            const form = document.getElementById('formContrato');\n            if (form) {\n                form.addEventListener('submit', function(e){\n                    if(!document.getElementById('hiddenPerfil').value || !document.getElementById('hiddenID').value){\n                        e.preventDefault();\n                        alert('Faltan las fotograf\u00edas obligatorias. Use la c\u00e1mara o suba los archivos.');\n                        return;\n                    }\n                    if(!document.getElementById('firmaData').value){\n                        const canvas = document.getElementById('firmaPad');\n                        if(canvas) document.getElementById('firmaData').value = canvas.toDataURL('image\/png');\n                    }\n                });\n            }\n        });\n\n        function saveCompressed(canvas, hiddenInput, previewImg) {\n            const dataUrl = canvas.toDataURL('image\/jpeg', 0.72);\n            hiddenInput.value = dataUrl;\n            previewImg.src = dataUrl;\n            previewImg.style.display = 'block';\n        }\n        <\/script>\n        \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-274","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sospuravida.com\/CCI\/wp-json\/wp\/v2\/pages\/274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sospuravida.com\/CCI\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sospuravida.com\/CCI\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sospuravida.com\/CCI\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sospuravida.com\/CCI\/wp-json\/wp\/v2\/comments?post=274"}],"version-history":[{"count":1,"href":"https:\/\/sospuravida.com\/CCI\/wp-json\/wp\/v2\/pages\/274\/revisions"}],"predecessor-version":[{"id":276,"href":"https:\/\/sospuravida.com\/CCI\/wp-json\/wp\/v2\/pages\/274\/revisions\/276"}],"wp:attachment":[{"href":"https:\/\/sospuravida.com\/CCI\/wp-json\/wp\/v2\/media?parent=274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}