{"id":61508,"date":"2025-03-06T12:14:16","date_gmt":"2025-03-06T12:14:16","guid":{"rendered":"https:\/\/skyplanner.ai\/docs\/cronogramas\/"},"modified":"2025-10-07T11:23:06","modified_gmt":"2025-10-07T11:23:06","password":"","slug":"cronogramas","status":"publish","type":"docs","link":"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/","title":{"rendered":"Cronogramas"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Estructura de datos del Skyplanner<\/h4>\n\n<p>Antes de sumergirnos en los registros temporales, tenemos que hablar un poco de la estructura de datos de Skyplanner y de c\u00f3mo funcionan las cosas bajo el cap\u00f3. Todo esto entrar\u00e1 en juego m\u00e1s adelante. <\/p>\n\n<p>Si has integrado tus datos de pedidos\/\u00f3rdenes de trabajo\/trabajos en Skyplanner, lo m\u00e1s probable es que hayas utilizado al menos estos API-endpoints:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>phaser-pedidos<\/li>\n\n\n\n<li>phaser-orden-filas<\/li>\n\n\n\n<li>phaser-jobs<\/li>\n<\/ul>\n\n<p>Efectivamente, los datos insertados en estos puntos finales se representan en la interfaz de usuario de Skyplanner de la siguiente manera:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-large\"><img decoding=\"async\" width=\"1024\" height=\"714\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png\" alt=\"\" class=\"wp-image-55194\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png 1024w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-300x209.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-768x535.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-360x251.png 360w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25.png 1142w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 1.<\/strong>  Pedido (phaser-pedidos)<\/figcaption><\/figure>\n<\/div>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"715\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-26-1024x715.png\" alt=\"\" class=\"wp-image-55228\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-26-1024x715.png 1024w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-26-300x210.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-26-768x536.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-26-360x251.png 360w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-26.png 1144w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 2.<\/strong>  Elementos de pedido (phaser-order-rows (rojo)), Pasos de proceso (phaser-jobs (verde))<\/figcaption><\/figure>\n\n<p>Despu\u00e9s de insertar tus pedidos en Skyplanner, querr\u00e1s <strong>exportarlos<\/strong> (esto puede hacerse a trav\u00e9s de la interfaz de usuario o del punto final \/phaser-orders\/export-endpoint) al m\u00f3dulo de Programaci\u00f3n de la Producci\u00f3n:<\/p>\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"596\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-27-1024x596.png\" alt=\"\" class=\"wp-image-55288\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-27-1024x596.png 1024w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-27-300x175.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-27-768x447.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-27-360x209.png 360w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-27.png 1074w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 3.<\/strong>  Exportar a trav\u00e9s de la IU<\/figcaption><\/figure>\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"597\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-28-1024x597.png\" alt=\"\" class=\"wp-image-55326\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-28-1024x597.png 1024w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-28-300x175.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-28-768x448.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-28-360x210.png 360w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-28.png 1074w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 4.<\/strong>  Pedido exportado en Programaci\u00f3n de la Producci\u00f3n<\/figcaption><\/figure>\n\n<p>Al exportar pedidos, Skyplanner copia efectivamente los datos del pedido de una tabla de la base de datos a otra. As\u00ed que si cambias algo, por ejemplo, a trav\u00e9s del punto final \/phaser-orders, tienes que exportar los datos de nuevo para actualizarlos en la Programaci\u00f3n de la producci\u00f3n. Esto tambi\u00e9n significa que, para acceder a los pedidos que ves en la ventana de Programaci\u00f3n de la producci\u00f3n, \u00a1tienes que utilizar diferentes puntos finales de la API!  <\/p>\n\n<p>Los puntos finales \u00abmodificados\u00bb son as\u00ed:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>\/pedidos-faser \u2192 \/pedidos<\/li>\n\n\n\n<li>\/faser-orden-filas \u2192 \/orden-filas<\/li>\n\n\n\n<li>\/faser-empleos \u2192 \/empleos<\/li>\n<\/ul>\n\n<p>Es importante que lo sepas, porque cuando utilices el punto final \/timelogs para registrar tus eventos de producci\u00f3n, etc. <strong>, \u00a1tienes que utilizar las entidades relacionadas que se encuentran en los puntos finales de Programaci\u00f3n de la Producci\u00f3n!<\/strong><\/p>\n\n<p>Por ejemplo, necesitas el <strong>production_planning_job_id <\/strong>(para reiterar: production_planning_jobs son las entidades a las que se accede desde el -endpoint \/jobs) para POSTAR un nuevo registro de tiempo:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"867\" height=\"603\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-29.png\" alt=\"\" class=\"wp-image-55407\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-29.png 867w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-29-300x209.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-29-768x534.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-29-360x250.png 360w\" sizes=\"(max-width: 867px) 100vw, 867px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 5.<\/strong>  Solicitud POST de registro de tiempo<\/figcaption><\/figure>\n\n<p>Puedes encontrar el production_planning_job_id que necesitas en el -endpoint \/phaser-jobs:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"924\" height=\"870\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-30.png\" alt=\"\" class=\"wp-image-55455\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-30.png 924w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-30-300x282.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-30-768x723.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-30-360x339.png 360w\" sizes=\"(max-width: 924px) 100vw, 924px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 6.<\/strong> Petici\u00f3n GET de trabajo Phaser (rojo es phaser_job_id, <strong>NO LO UTILICES EN LOS CRONOGRAMAs<\/strong>)<\/figcaption><\/figure>\n\n<p>O desde el punto final \/job:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"926\" height=\"872\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-31.png\" alt=\"\" class=\"wp-image-55490\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-31.png 926w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-31-300x283.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-31-768x723.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-31-360x339.png 360w\" sizes=\"(max-width: 926px) 100vw, 926px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 7.<\/strong>  \/trabajo Solicitud GET<\/figcaption><\/figure>\n\n<h4 class=\"wp-block-heading\">Crear registros cronol\u00f3gicos utilizando la REST-API<\/h4>\n\n<p>Hacer registros de tiempo en Skyplanner a trav\u00e9s de la API utiliza las mismas reglas y sistemas que en la IU. As\u00ed que puede ser beneficioso que te familiarices con el funcionamiento del sistema en la IU antes de intentar utilizarlo a trav\u00e9s de la API. <\/p>\n\n<h5 class=\"wp-block-heading\">Conceptos b\u00e1sicos del registro cronol\u00f3gico<\/h5>\n\n<p>Skyplanner tiene cuatro tipos de eventos de registro de tiempo:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>inicio_de_turno<\/li>\n\n\n\n<li>en pausa<\/li>\n\n\n\n<li>contin\u00faa<\/li>\n\n\n\n<li>shift_end<\/li>\n<\/ul>\n\n<p>El evento Shift_begin se env\u00eda cuando el trabajo se inicia por primera vez.  <strong>\u00a1Nunca env\u00edes m\u00e1s de un evento shift_begin por cada trabajo!<\/strong><\/p>\n\n<p>El evento Pausado pausa el trabajo.<\/p>\n\n<p>El evento continuado reanuda un trabajo pausado.<\/p>\n\n<p>Shift_end completa el trabajo.  <strong>\u00a1Nunca env\u00edes m\u00e1s de un evento shift_end por cada trabajo!<\/strong><\/p>\n\n<p>Datos necesarios para los registros cronol\u00f3gicos:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>persona_id\n<ul class=\"wp-block-list\">\n<li>Se puede encontrar desde el punto final \/people<\/li>\n\n\n\n<li>\u00a1No es lo mismo que user_id!<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>id_puesto_trabajo_planificado\n<ul class=\"wp-block-list\">\n<li>El puesto de trabajo en el que se realiza el trabajo<\/li>\n\n\n\n<li>Se puede encontrar desde el \/workstations-endpoint<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>fecha_hora\n<ul class=\"wp-block-list\">\n<li>El momento en que se realiza el evento<\/li>\n\n\n\n<li>Formato: 2024-01-01 10:30:11<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n<p>Para especificar qu\u00e9 registro de tiempo de Skyplanner est\u00e1 vinculado al registro de tiempo de cualquier sistema externo que est\u00e9s utilizando, puedes utilizar el campo <strong>external_id <\/strong>. Entonces puedes, por ejemplo, hacer peticiones GET utilizando este id para encontrar un registro de tiempo espec\u00edfico de Skyplanner. <\/p>\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"438\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-32-1024x438.png\" alt=\"\" class=\"wp-image-55587\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-32-1024x438.png 1024w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-32-300x128.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-32-768x328.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-32-360x154.png 360w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-32.png 1415w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 8.<\/strong>  External_id en los registros de tiempo<\/figcaption><\/figure>\n\n<h4 class=\"wp-block-heading\">Empezar a trabajar<\/h4>\n\n<p>Puedes iniciar trabajos enviando una solicitud POST como \u00e9sta a la API:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"624\" height=\"766\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-33.png\" alt=\"\" class=\"wp-image-55638\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-33.png 624w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-33-244x300.png 244w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-33-360x442.png 360w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 9.<\/strong>  Registro de tiempo de inicio de turno<\/figcaption><\/figure>\n\n<p>Al configurar los datos POST para los registros de tiempo, establece <strong>workshift_id <\/strong>como 0 y <strong>timelog_finalized <\/strong>como <strong>true<\/strong><\/p>\n\n<h4 class=\"wp-block-heading\">Pausar un trabajo<\/h4>\n\n<p>Pausa los trabajos enviando una petici\u00f3n POST como \u00e9sta:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"697\" height=\"760\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-34.png\" alt=\"\" class=\"wp-image-55676\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-34.png 697w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-34-275x300.png 275w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-34-360x393.png 360w\" sizes=\"(max-width: 697px) 100vw, 697px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 10.<\/strong>  Registro de tiempo en pausa<\/figcaption><\/figure>\n\n<p>En los registros de tiempo de tipo pausa puedes establecer la <strong>cantidad <\/strong>y la <strong>cantidad_defectuosa<\/strong>. Ten en cuenta tambi\u00e9n el <strong>tipo de <\/strong>registro de tiempo y <strong>la fecha\/hora<\/strong>. <\/p>\n\n<h4 class=\"wp-block-heading\">Continuar un trabajo<\/h4>\n\n<p>As\u00ed es como se contin\u00faa un registro de tiempo en pausa:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"713\" height=\"722\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-35.png\" alt=\"\" class=\"wp-image-55715\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-35.png 713w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-35-296x300.png 296w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-35-360x365.png 360w\" sizes=\"(max-width: 713px) 100vw, 713px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 11.<\/strong>  Continuaci\u00f3n del registro cronol\u00f3gico<\/figcaption><\/figure>\n\n<p>Ten en cuenta que si intentas continuar un trabajo que ha finalizado por un evento shift_end, obtendr\u00e1s un error.<\/p>\n\n<h4 class=\"wp-block-heading\">Terminar un trabajo<\/h4>\n\n<p>As\u00ed es como se termina un trabajo mediante un registro de tiempo shift_end:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"711\" height=\"764\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-36.png\" alt=\"\" class=\"wp-image-55761\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-36.png 711w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-36-279x300.png 279w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-36-360x387.png 360w\" sizes=\"(max-width: 711px) 100vw, 711px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 12.<\/strong>  Registro de tiempo de fin de turno<\/figcaption><\/figure>\n\n<p>En shift_end-events puedes dar los valores <strong>amount <\/strong>y <strong>faulty_amount <\/strong>igual que en paused-events. Ten en cuenta que si intentas hacer un evento shift_end a un trabajo que no se est\u00e1 ejecutando, obtendr\u00e1s un error. <\/p>\n\n<h4 class=\"wp-block-heading\">Actualizar registros cronol\u00f3gicos<\/h4>\n\n<p>Puedes actualizar los datos del registro de tiempo enviando solicitudes PUT al punto final \/timelogs, de esta forma:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"694\" height=\"757\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-37.png\" alt=\"\" class=\"wp-image-55796\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-37.png 694w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-37-275x300.png 275w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-37-360x393.png 360w\" sizes=\"(max-width: 694px) 100vw, 694px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 13.<\/strong>  Editar registros de tiempo<\/figcaption><\/figure>\n\n<p>Ten en cuenta que debes tener configurados los datos de <strong>beginTimelog <\/strong>y <strong>endTimelog <\/strong>para poder realizar una actualizaci\u00f3n. Los registros de tiempo en Skyplanner se almacenan as\u00ed: cada registro de tiempo \u00abcompleto\u00bb (que tiene un inicio y un final (por ejemplo, inicio_turno\/continuado y pausado\/final_turno) tiene una entidad separada para el inicio y el final. <\/p>\n\n<p>Se emparejan por el valor <strong>begin_id <\/strong>que se encuentra en el endlog. En el ejemplo anterior, beginTimelog tiene el valor id 1 y, por tanto, endTimelog tiene el valor <strong>begin_id <\/strong>1. <\/p>\n\n<p>Tambi\u00e9n debes dar los valores <strong>person_id <\/strong>y <strong>endTimelog <\/strong>cada vez que hagas una petici\u00f3n de actualizaci\u00f3n, aunque no los est\u00e9s cambiando.<\/p>\n\n<h4 class=\"wp-block-heading\">Formas alternativas de hacer registros cronol\u00f3gicos<\/h4>\n\n<p>Aqu\u00ed tienes algunas formas alternativas de acceder a tus trabajos utilizando la API.<\/p>\n\n<h5 class=\"wp-block-heading\">Tronco lleno<\/h5>\n\n<p>Si quieres enviar los registros de tiempo inicial y final en una sola petici\u00f3n, puedes utilizar el -punto <strong>\/timelogs\/log-full<\/strong>, as\u00ed<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"691\" height=\"721\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-38.png\" alt=\"\" class=\"wp-image-55828\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-38.png 691w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-38-288x300.png 288w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-38-360x376.png 360w\" sizes=\"(max-width: 691px) 100vw, 691px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 14.<\/strong>  Solicitud de registro<\/figcaption><\/figure>\n\n<p>Observa c\u00f3mo se env\u00edan aqu\u00ed las cantidades: el primer valor \u00abcantidad\u00bb indica la <strong>cantidad defectuosa<\/strong> y el segundo la <strong>cantidad<\/strong>. Esta petici\u00f3n crea las entidades beginlog y endlog en una sola petici\u00f3n. <\/p>\n\n<h5 class=\"wp-block-heading\">Registro r\u00e1pido<\/h5>\n\n<p>\u00abQuicklogging\u00bb a un trabajo lo completa en una sola petici\u00f3n, establece la cantidad completada de productos para que coincida con el valor establecido en el elemento del pedido. El Quicklogging se realiza utilizando el -endpoint <strong>\/timelogs\/quick-log<\/strong>: <\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"695\" height=\"723\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-39.png\" alt=\"\" class=\"wp-image-55857\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-39.png 695w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-39-288x300.png 288w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-39-360x375.png 360w\" sizes=\"(max-width: 695px) 100vw, 695px\" \/><figcaption class=\"wp-element-caption\"><strong>Fig. 15.<\/strong>  Quicklogging<\/figcaption><\/figure>\n\n<p>Ten en cuenta que aqu\u00ed s\u00f3lo necesitas dar <strong>el production_planning_job_id<\/strong>, <strong>planned_workstation_id <\/strong>y <strong>person_id<\/strong>. Los valores de tiempo e importe se rellenan autom\u00e1ticamente. Ten en cuenta tambi\u00e9n que los trabajos quicklogged siempre se completan con el evento shift_end-event, \u00a1as\u00ed que no es posible ning\u00fan otro registro despu\u00e9s del quicklog!  <\/p>\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Estructura de datos del Skyplanner Antes de sumergirnos en los registros temporales, tenemos que hablar un poco de la estructura de datos de Skyplanner y de c\u00f3mo funcionan las cosas bajo el cap\u00f3. Todo esto entrar\u00e1 en juego m\u00e1s adelante. Si has integrado tus datos de pedidos\/\u00f3rdenes de trabajo\/trabajos en Skyplanner, lo m\u00e1s probable es &#8230; <a title=\"Cronogramas\" class=\"read-more\" href=\"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/\" aria-label=\"Leer m\u00e1s sobre Cronogramas\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","footnotes":""},"doc_category":[649],"doc_tag":[650,1536],"class_list":["post-61508","docs","type-docs","status-publish","hentry","doc_category-integraciones","doc_tag-api-es","doc_tag-integracion"],"acf":[],"year_month":"2026-04","word_count":1157,"total_views":"161","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Sami","author_nicename":"sami","author_url":"https:\/\/skyplanner.ai\/es\/author\/sami\/"},"doc_category_info":[{"term_name":"Integraciones","term_url":"https:\/\/skyplanner.ai\/es\/docs-category\/integraciones\/"}],"doc_tag_info":[{"term_name":"API","term_url":"https:\/\/skyplanner.ai\/es\/docs-tag\/api-es\/"},{"term_name":"Integraci\u00f3n","term_url":"https:\/\/skyplanner.ai\/es\/docs-tag\/integracion\/"}],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Cronogramas &#8211; SkyPlanner<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cronogramas\" \/>\n<meta property=\"og:description\" content=\"Estructura de datos del Skyplanner Antes de sumergirnos en los registros temporales, tenemos que hablar un poco de la estructura de datos de Skyplanner y de c\u00f3mo funcionan las cosas bajo el cap\u00f3. Todo esto entrar\u00e1 en juego m\u00e1s adelante. Si has integrado tus datos de pedidos\/\u00f3rdenes de trabajo\/trabajos en Skyplanner, lo m\u00e1s probable es ... Leer m\u00e1s\" \/>\n<meta property=\"og:url\" content=\"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/\" \/>\n<meta property=\"og:site_name\" content=\"SkyPlanner\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-07T11:23:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1142\" \/>\n\t<meta property=\"og:image:height\" content=\"796\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/\",\"url\":\"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/\",\"name\":\"Cronogramas &#8211; SkyPlanner\",\"isPartOf\":{\"@id\":\"https:\/\/skyplanner.ai\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png\",\"datePublished\":\"2025-03-06T12:14:16+00:00\",\"dateModified\":\"2025-10-07T11:23:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/#primaryimage\",\"url\":\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png\",\"contentUrl\":\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/skyplanner.ai\/es\/pagina-de-inicio\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docs\",\"item\":\"https:\/\/skyplanner.ai\/es\/docs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cronogramas\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/skyplanner.ai\/es\/#website\",\"url\":\"https:\/\/skyplanner.ai\/es\/\",\"name\":\"SkyPlanner\",\"description\":\"AI-powered production scheduling and planning software\",\"publisher\":{\"@id\":\"https:\/\/skyplanner.ai\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/skyplanner.ai\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/skyplanner.ai\/es\/#organization\",\"name\":\"SkyPlanner APS\",\"url\":\"https:\/\/skyplanner.ai\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/skyplanner.ai\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2022\/05\/Skyplanner-logo-2.svg\",\"contentUrl\":\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2022\/05\/Skyplanner-logo-2.svg\",\"width\":223,\"height\":43,\"caption\":\"SkyPlanner APS\"},\"image\":{\"@id\":\"https:\/\/skyplanner.ai\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/skyplanner-aps\/\",\"https:\/\/www.youtube.com\/@SkyPlannerAPS\",\"https:\/\/www.capterra.com\/p\/265911\/SkyPlanner-APS\/\",\"https:\/\/www.trustradius.com\/products\/skyplanner-aps\/reviews\",\"https:\/\/www.saasworthy.com\/product\/skyplanner-aps\",\"https:\/\/sourceforge.net\/software\/product\/SkyPlanner-APS\/\",\"https:\/\/www.g2.com\/products\/skyplanner-aps\/\",\"https:\/\/www.getapp.com\/project-management-planning-software\/a\/skyplanner-aps\/\",\"https:\/\/www.softwareadvice.com\/cmms\/skyplanner-aps-profile\/\"],\"description\":\"AI-powered production scheduling and planning software for manufacturing\",\"foundingDate\":\"1997\",\"legalName\":\"Skycode Oy\",\"alternateName\":\"SkyPlanner\",\"knowsAbout\":[\"Production Scheduling\",\"Advanced Planning and Scheduling\",\"Manufacturing AI\",\"Finite Capacity Scheduling\",\"ERP Integration\"],\"areaServed\":\"Worldwide\",\"contactPoint\":{\"@type\":\"ContactPoint\",\"contactType\":\"sales\",\"url\":\"https:\/\/skyplanner.ai\/trial\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cronogramas &#8211; SkyPlanner","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/","og_locale":"es_ES","og_type":"article","og_title":"Cronogramas","og_description":"Estructura de datos del Skyplanner Antes de sumergirnos en los registros temporales, tenemos que hablar un poco de la estructura de datos de Skyplanner y de c\u00f3mo funcionan las cosas bajo el cap\u00f3. Todo esto entrar\u00e1 en juego m\u00e1s adelante. Si has integrado tus datos de pedidos\/\u00f3rdenes de trabajo\/trabajos en Skyplanner, lo m\u00e1s probable es ... Leer m\u00e1s","og_url":"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/","og_site_name":"SkyPlanner","article_modified_time":"2025-10-07T11:23:06+00:00","og_image":[{"width":1142,"height":796,"url":"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/","url":"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/","name":"Cronogramas &#8211; SkyPlanner","isPartOf":{"@id":"https:\/\/skyplanner.ai\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/#primaryimage"},"image":{"@id":"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/#primaryimage"},"thumbnailUrl":"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png","datePublished":"2025-03-06T12:14:16+00:00","dateModified":"2025-10-07T11:23:06+00:00","breadcrumb":{"@id":"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/#primaryimage","url":"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png","contentUrl":"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png"},{"@type":"BreadcrumbList","@id":"https:\/\/skyplanner.ai\/es\/docs\/cronogramas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/skyplanner.ai\/es\/pagina-de-inicio\/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https:\/\/skyplanner.ai\/es\/docs\/"},{"@type":"ListItem","position":3,"name":"Cronogramas"}]},{"@type":"WebSite","@id":"https:\/\/skyplanner.ai\/es\/#website","url":"https:\/\/skyplanner.ai\/es\/","name":"SkyPlanner","description":"AI-powered production scheduling and planning software","publisher":{"@id":"https:\/\/skyplanner.ai\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/skyplanner.ai\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/skyplanner.ai\/es\/#organization","name":"SkyPlanner APS","url":"https:\/\/skyplanner.ai\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/skyplanner.ai\/es\/#\/schema\/logo\/image\/","url":"https:\/\/skyplanner.ai\/wp-content\/uploads\/2022\/05\/Skyplanner-logo-2.svg","contentUrl":"https:\/\/skyplanner.ai\/wp-content\/uploads\/2022\/05\/Skyplanner-logo-2.svg","width":223,"height":43,"caption":"SkyPlanner APS"},"image":{"@id":"https:\/\/skyplanner.ai\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/skyplanner-aps\/","https:\/\/www.youtube.com\/@SkyPlannerAPS","https:\/\/www.capterra.com\/p\/265911\/SkyPlanner-APS\/","https:\/\/www.trustradius.com\/products\/skyplanner-aps\/reviews","https:\/\/www.saasworthy.com\/product\/skyplanner-aps","https:\/\/sourceforge.net\/software\/product\/SkyPlanner-APS\/","https:\/\/www.g2.com\/products\/skyplanner-aps\/","https:\/\/www.getapp.com\/project-management-planning-software\/a\/skyplanner-aps\/","https:\/\/www.softwareadvice.com\/cmms\/skyplanner-aps-profile\/"],"description":"AI-powered production scheduling and planning software for manufacturing","foundingDate":"1997","legalName":"Skycode Oy","alternateName":"SkyPlanner","knowsAbout":["Production Scheduling","Advanced Planning and Scheduling","Manufacturing AI","Finite Capacity Scheduling","ERP Integration"],"areaServed":"Worldwide","contactPoint":{"@type":"ContactPoint","contactType":"sales","url":"https:\/\/skyplanner.ai\/trial\/"}}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"betterdocs-category-thumb":false},"uagb_author_info":{"display_name":"Sami","author_link":"https:\/\/skyplanner.ai\/es\/author\/sami\/"},"uagb_comment_info":0,"uagb_excerpt":"Estructura de datos del Skyplanner Antes de sumergirnos en los registros temporales, tenemos que hablar un poco de la estructura de datos de Skyplanner y de c\u00f3mo funcionan las cosas bajo el cap\u00f3. Todo esto entrar\u00e1 en juego m\u00e1s adelante. Si has integrado tus datos de pedidos\/\u00f3rdenes de trabajo\/trabajos en Skyplanner, lo m\u00e1s probable es&hellip;","knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/skyplanner.ai\/es\/wp-json\/wp\/v2\/docs\/61508","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skyplanner.ai\/es\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/skyplanner.ai\/es\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/skyplanner.ai\/es\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/skyplanner.ai\/es\/wp-json\/wp\/v2\/comments?post=61508"}],"version-history":[{"count":0,"href":"https:\/\/skyplanner.ai\/es\/wp-json\/wp\/v2\/docs\/61508\/revisions"}],"wp:attachment":[{"href":"https:\/\/skyplanner.ai\/es\/wp-json\/wp\/v2\/media?parent=61508"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/skyplanner.ai\/es\/wp-json\/wp\/v2\/doc_category?post=61508"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/skyplanner.ai\/es\/wp-json\/wp\/v2\/doc_tag?post=61508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}