{"id":61471,"date":"2025-03-06T12:14:16","date_gmt":"2025-03-06T12:14:16","guid":{"rendered":"https:\/\/skyplanner.ai\/docs\/timelogrammi\/"},"modified":"2025-10-07T11:25:55","modified_gmt":"2025-10-07T11:25:55","password":"","slug":"timelogrammi","status":"publish","type":"docs","link":"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/","title":{"rendered":"Timelogrammi"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Struttura dati Skyplanner<\/h4>\n\n<p>Prima di immergerci nei timelogrammi, dobbiamo parlare un po&#8217; della struttura dei dati di Skyplanner e di come funzionano le cose sotto il cofano. Tutto questo entrer\u00e0 in gioco pi\u00f9 avanti. <\/p>\n\n<p>Se hai integrato i dati dei tuoi ordini\/lavori\/commesse in Skyplanner, molto probabilmente hai utilizzato almeno questi punti API:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>ordini di phaser<\/li>\n\n\n\n<li>phaser-order-rows<\/li>\n\n\n\n<li>phaser-lavori<\/li>\n<\/ul>\n\n<p>In effetti, i dati inseriti in questi endpoint sono rappresentati nell&#8217;interfaccia utente di Skyplanner in questo modo:<\/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>Figura 1.<\/strong>  Ordine (phaser-ordini)<\/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>Figura 2.<\/strong>  Voci dell&#8217;ordine (phaser-order-rows (rosso)), Fasi del processo (phaser-jobs (verde))<\/figcaption><\/figure>\n\n<p>Dopo aver inserito gli ordini in Skyplanner, dovrai <strong>esportarli<\/strong> (questo pu\u00f2 essere fatto tramite l&#8217;interfaccia utente o il punto finale \/phaser-orders\/export) nel modulo di programmazione della produzione:<\/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>Figura 3.<\/strong>  Esportazione attraverso l&#8217;interfaccia utente<\/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>Figura 4.<\/strong>  Ordine esportato in Pianificazione della produzione<\/figcaption><\/figure>\n\n<p>Quando si esportano gli ordini, Skyplanner copia effettivamente i dati dell&#8217;ordine da una tabella del database a un&#8217;altra. Quindi, se cambi qualcosa, ad esempio attraverso l&#8217;endpoint \/phaser-orders, devi esportare nuovamente i dati per aggiornarli in Production Scheduling. Questo significa anche che per accedere agli ordini che vedi nella finestra di Production Scheduling devi utilizzare diversi endpoint API!  <\/p>\n\n<p>Gli endpoint &#8220;modificati&#8221; sono i seguenti:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>\/phaser-ordini \u2192 \/ordini<\/li>\n\n\n\n<li>\/phaser-order-rows \u2192 \/order-rows<\/li>\n\n\n\n<li>\/phaser-jobs \u2192 \/jobs<\/li>\n<\/ul>\n\n<p>Questo \u00e8 importante da sapere, perch\u00e9 quando utilizzi l&#8217;endpoint \/timelogs per registrare gli eventi di produzione, ecc. <strong>devi utilizzare le entit\u00e0 correlate che si trovano negli endpoint Production Scheduling!<\/strong><\/p>\n\n<p>Ad esempio, hai bisogno del <strong>production_planning_job_id <\/strong>(per ribadire: i production_planning_jobs sono le entit\u00e0 a cui si accede dall&#8217;endpoint \/jobs) per POSTARE un nuovo timelog:<\/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>Figura 5.<\/strong>  Richiesta POST del timelog<\/figcaption><\/figure>\n\n<p>Puoi trovare il production_planning_job_id che ti serve dal punto finale \/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>Figura 6.<\/strong> Richiesta GET di un lavoro Phaser (il rosso \u00e8 phaser_job_id, <strong>NON USARLO NEI TIMELOGS<\/strong>)<\/figcaption><\/figure>\n\n<p>Oppure dal punto finale \/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>Figura 7.<\/strong>  Richiesta GET di \/lavoro<\/figcaption><\/figure>\n\n<h4 class=\"wp-block-heading\">Creare timelog usando la REST-API<\/h4>\n\n<p>L&#8217;inserimento di timelogrammi in Skyplanner attraverso l&#8217;API utilizza le stesse regole e gli stessi sistemi presenti nell&#8217;interfaccia utente. Per questo motivo potrebbe essere utile familiarizzare con il funzionamento del sistema nell&#8217;interfaccia utente prima di provare a usarlo attraverso l&#8217;API. <\/p>\n\n<h5 class=\"wp-block-heading\">Nozioni di base del timelog<\/h5>\n\n<p>Skyplanner ha quattro tipi di eventi timelog:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>shift_begin<\/li>\n\n\n\n<li>in pausa<\/li>\n\n\n\n<li>continua<\/li>\n\n\n\n<li>fine turno<\/li>\n<\/ul>\n\n<p>L&#8217;evento Shift_begin viene inviato quando il lavoro viene avviato per la prima volta.  <strong>Non inviare mai pi\u00f9 di un evento shift_begin per ogni lavoro!<\/strong><\/p>\n\n<p>L&#8217;evento Pausa mette in pausa il lavoro.<\/p>\n\n<p>Continued-event riprende un lavoro in pausa.<\/p>\n\n<p>Shift_end completa il lavoro.  <strong>Non inviare mai pi\u00f9 di un evento shift_end per ogni lavoro!<\/strong><\/p>\n\n<p>Dati richiesti per i timelogrammi:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>persona_id\n<ul class=\"wp-block-list\">\n<li>Pu\u00f2 essere trovato dall&#8217;endpoint \/people<\/li>\n\n\n\n<li>Non \u00e8 la stessa cosa di user_id!<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>workstation_prevista_id\n<ul class=\"wp-block-list\">\n<li>La postazione di lavoro in cui viene svolto il lavoro<\/li>\n\n\n\n<li>Pu\u00f2 essere trovato dall&#8217;endpoint \/workstations<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>data_ora\n<ul class=\"wp-block-list\">\n<li>Il momento in cui l&#8217;evento viene realizzato<\/li>\n\n\n\n<li>Formato: 2024-01-01 10:30:11<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n<p>Per specificare quale timelog di Skyplanner \u00e8 legato al timelog del sistema esterno che stai utilizzando, puoi utilizzare il campo <strong>external_id <\/strong>. Potrai quindi, ad esempio, fare richieste GET utilizzando questo id per trovare un timelog specifico da 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>Figura 8.<\/strong>  External_id nei timelog<\/figcaption><\/figure>\n\n<h4 class=\"wp-block-heading\">Iniziare un lavoro<\/h4>\n\n<p>Puoi avviare i lavori inviando una richiesta POST come questa all&#8217;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>Figura 9.<\/strong>  Shift_begin timelog<\/figcaption><\/figure>\n\n<p>Quando si impostano i dati POST per i timelog, impostare <strong>workshift_id <\/strong>come 0 e <strong>timelog_finalized <\/strong>come <strong>true<\/strong>.<\/p>\n\n<h4 class=\"wp-block-heading\">Mettere in pausa un lavoro<\/h4>\n\n<p>Metti in pausa i lavori inviando una richiesta POST come questa:<\/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>Figura 10.<\/strong>  Timelog in pausa<\/figcaption><\/figure>\n\n<p>Nei timelog di tipo pausa puoi impostare l&#8217;<strong>importo <\/strong>e l&#8217;<strong>importo_guasto<\/strong>. Nota anche il <strong>tipo di <\/strong>timelog e la <strong>data_ora<\/strong>. <\/p>\n\n<h4 class=\"wp-block-heading\">Continuare a lavorare<\/h4>\n\n<p>Ecco come continuare un timelog in 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>Figura 11.<\/strong>  Cronologia continua<\/figcaption><\/figure>\n\n<p>Nota che se cerchi di continuare un lavoro che \u00e8 stato terminato da un evento shift_end, otterrai un errore.<\/p>\n\n<h4 class=\"wp-block-heading\">Terminare un lavoro<\/h4>\n\n<p>Ecco come terminare un lavoro con un timelog 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>Figura 12.<\/strong>  Timelog Shift_end<\/figcaption><\/figure>\n\n<p>In shift_end-events puoi indicare i valori <strong>amount <\/strong>e <strong>faulty_amount <\/strong>proprio come in paused-events. Nota che se provi a fare uno shift_end-event a un lavoro che non \u00e8 in esecuzione, otterrai un errore. <\/p>\n\n<h4 class=\"wp-block-heading\">Aggiornamento dei timelogrammi<\/h4>\n\n<p>Puoi aggiornare i dati del timelog inviando richieste PUT all&#8217;endpoint \/timelogs, in questo modo:<\/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>Figura 13.<\/strong>  Modifica dei timelogrammi<\/figcaption><\/figure>\n\n<p>Nota che per effettuare un aggiornamento \u00e8 necessario che siano impostati sia i dati di <strong>beginTimelog <\/strong>che di <strong>endTimelog <\/strong>. I timelog in Skyplanner sono memorizzati in questo modo: ogni timelog &#8220;completo&#8221; (timelog che ha sia un inizio che una fine (es. shift_begin\/continued &amp; paused\/shift_end) ha un&#8217;entit\u00e0 separata per l&#8217;inizio e la fine. <\/p>\n\n<p>Questi sono accoppiati dal valore <strong>begin_id <\/strong>trovato nell&#8217;endlog. Nell&#8217;esempio precedente il beginTimelog ha il valore id 1 e quindi il suo endTimelog ha il valore <strong>begin_id <\/strong>1. <\/p>\n\n<p>Devi anche indicare i valori <strong>person_id <\/strong>e <strong>endTimelog <\/strong>ogni volta che fai una richiesta di aggiornamento, anche se non li stai modificando.<\/p>\n\n<h4 class=\"wp-block-heading\">Modi alternativi per fare i timelogrammi<\/h4>\n\n<p>Ecco alcuni modi alternativi per accedere ai tuoi lavori utilizzando l&#8217;API.<\/p>\n\n<h5 class=\"wp-block-heading\">Logfull<\/h5>\n\n<p>Se vuoi inviare sia il timelog iniziale che quello finale in un&#8217;unica richiesta, puoi utilizzare il punto <strong>\/timelogs\/log-full<\/strong> -end, in questo modo:<\/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>Figura 14.<\/strong>  Richiesta di logfull<\/figcaption><\/figure>\n\n<p>Nota come vengono inviati gli importi: il primo valore &#8220;amount&#8221; indica l&#8217;<strong>importo difettoso<\/strong> e il secondo l&#8217;<strong>importo<\/strong>. Questa richiesta crea le entit\u00e0 beginlog e endlog in un&#8217;unica richiesta. <\/p>\n\n<h5 class=\"wp-block-heading\">Registro rapido<\/h5>\n\n<p>Il &#8220;Quicklogging&#8221; di un lavoro lo completa in un&#8217;unica richiesta e imposta la quantit\u00e0 di prodotti completati in modo che corrisponda al valore impostato nell&#8217;articolo dell&#8217;ordine. Il quicklogging si effettua utilizzando l&#8217;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>Figura 15.<\/strong>  Quicklogging<\/figcaption><\/figure>\n\n<p>Nota che in questo caso devi indicare solo i dati <strong>production_planning_job_id<\/strong>, <strong>planned_workstation_id <\/strong>e <strong>person_id<\/strong>. I valori di tempo e importo vengono compilati automaticamente. Tieni inoltre presente che i lavori in quicklogger vengono sempre completati con l&#8217;evento shift_end, quindi non \u00e8 possibile effettuare ulteriori registrazioni dopo il quicklog!  <\/p>\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Struttura dati Skyplanner Prima di immergerci nei timelogrammi, dobbiamo parlare un po&#8217; della struttura dei dati di Skyplanner e di come funzionano le cose sotto il cofano. Tutto questo entrer\u00e0 in gioco pi\u00f9 avanti. Se hai integrato i dati dei tuoi ordini\/lavori\/commesse in Skyplanner, molto probabilmente hai utilizzato almeno questi punti API: In effetti, i &#8230; <a title=\"Timelogrammi\" class=\"read-more\" href=\"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/\" aria-label=\"Per saperne di pi\u00f9 su Timelogrammi\">Leggi tutto<\/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":[639],"doc_tag":[640,1521],"class_list":["post-61471","docs","type-docs","status-publish","hentry","doc_category-integrazioni","doc_tag-api-it","doc_tag-integrazione"],"acf":[],"year_month":"2026-04","word_count":961,"total_views":"181","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Sami","author_nicename":"sami","author_url":"https:\/\/skyplanner.ai\/it\/author\/sami\/"},"doc_category_info":[{"term_name":"Integrazioni","term_url":"https:\/\/skyplanner.ai\/it\/docs-category\/integrazioni\/"}],"doc_tag_info":[{"term_name":"API","term_url":"https:\/\/skyplanner.ai\/it\/docs-tag\/api-it\/"},{"term_name":"Integrazione","term_url":"https:\/\/skyplanner.ai\/it\/docs-tag\/integrazione\/"}],"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>Timelogrammi &#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\/it\/docs\/timelogrammi\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Timelogrammi\" \/>\n<meta property=\"og:description\" content=\"Struttura dati Skyplanner Prima di immergerci nei timelogrammi, dobbiamo parlare un po&#8217; della struttura dei dati di Skyplanner e di come funzionano le cose sotto il cofano. Tutto questo entrer\u00e0 in gioco pi\u00f9 avanti. Se hai integrato i dati dei tuoi ordini\/lavori\/commesse in Skyplanner, molto probabilmente hai utilizzato almeno questi punti API: In effetti, i ... Leggi tutto\" \/>\n<meta property=\"og:url\" content=\"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/\" \/>\n<meta property=\"og:site_name\" content=\"SkyPlanner\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-07T11:25:55+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=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/\",\"url\":\"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/\",\"name\":\"Timelogrammi &#8211; SkyPlanner\",\"isPartOf\":{\"@id\":\"https:\/\/skyplanner.ai\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/#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:25:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/#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\/it\/docs\/timelogrammi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/skyplanner.ai\/it\/pagina-iniziale\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docs\",\"item\":\"https:\/\/skyplanner.ai\/it\/docs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Timelogrammi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/skyplanner.ai\/it\/#website\",\"url\":\"https:\/\/skyplanner.ai\/it\/\",\"name\":\"SkyPlanner\",\"description\":\"AI-powered production scheduling and planning software\",\"publisher\":{\"@id\":\"https:\/\/skyplanner.ai\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/skyplanner.ai\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/skyplanner.ai\/it\/#organization\",\"name\":\"SkyPlanner APS\",\"url\":\"https:\/\/skyplanner.ai\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/skyplanner.ai\/it\/#\/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\/it\/#\/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":"Timelogrammi &#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\/it\/docs\/timelogrammi\/","og_locale":"it_IT","og_type":"article","og_title":"Timelogrammi","og_description":"Struttura dati Skyplanner Prima di immergerci nei timelogrammi, dobbiamo parlare un po&#8217; della struttura dei dati di Skyplanner e di come funzionano le cose sotto il cofano. Tutto questo entrer\u00e0 in gioco pi\u00f9 avanti. Se hai integrato i dati dei tuoi ordini\/lavori\/commesse in Skyplanner, molto probabilmente hai utilizzato almeno questi punti API: In effetti, i ... Leggi tutto","og_url":"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/","og_site_name":"SkyPlanner","article_modified_time":"2025-10-07T11:25:55+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":{"Tempo di lettura stimato":"5 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/","url":"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/","name":"Timelogrammi &#8211; SkyPlanner","isPartOf":{"@id":"https:\/\/skyplanner.ai\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/#primaryimage"},"image":{"@id":"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/#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:25:55+00:00","breadcrumb":{"@id":"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/skyplanner.ai\/it\/docs\/timelogrammi\/#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\/it\/docs\/timelogrammi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/skyplanner.ai\/it\/pagina-iniziale\/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https:\/\/skyplanner.ai\/it\/docs\/"},{"@type":"ListItem","position":3,"name":"Timelogrammi"}]},{"@type":"WebSite","@id":"https:\/\/skyplanner.ai\/it\/#website","url":"https:\/\/skyplanner.ai\/it\/","name":"SkyPlanner","description":"AI-powered production scheduling and planning software","publisher":{"@id":"https:\/\/skyplanner.ai\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/skyplanner.ai\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/skyplanner.ai\/it\/#organization","name":"SkyPlanner APS","url":"https:\/\/skyplanner.ai\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/skyplanner.ai\/it\/#\/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\/it\/#\/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\/it\/author\/sami\/"},"uagb_comment_info":0,"uagb_excerpt":"Struttura dati Skyplanner Prima di immergerci nei timelogrammi, dobbiamo parlare un po&#8217; della struttura dei dati di Skyplanner e di come funzionano le cose sotto il cofano. Tutto questo entrer\u00e0 in gioco pi\u00f9 avanti. Se hai integrato i dati dei tuoi ordini\/lavori\/commesse in Skyplanner, molto probabilmente hai utilizzato almeno questi punti API: In effetti, i&hellip;","knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/skyplanner.ai\/it\/wp-json\/wp\/v2\/docs\/61471","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skyplanner.ai\/it\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/skyplanner.ai\/it\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/skyplanner.ai\/it\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/skyplanner.ai\/it\/wp-json\/wp\/v2\/comments?post=61471"}],"version-history":[{"count":0,"href":"https:\/\/skyplanner.ai\/it\/wp-json\/wp\/v2\/docs\/61471\/revisions"}],"wp:attachment":[{"href":"https:\/\/skyplanner.ai\/it\/wp-json\/wp\/v2\/media?parent=61471"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/skyplanner.ai\/it\/wp-json\/wp\/v2\/doc_category?post=61471"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/skyplanner.ai\/it\/wp-json\/wp\/v2\/doc_tag?post=61471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}