{"id":61480,"date":"2025-03-06T12:14:16","date_gmt":"2025-03-06T12:14:16","guid":{"rendered":"https:\/\/skyplanner.ai\/docs\/tidslogger\/"},"modified":"2025-10-07T11:25:42","modified_gmt":"2025-10-07T11:25:42","password":"","slug":"tidslogger","status":"publish","type":"docs","link":"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/","title":{"rendered":"Tidslogger"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Skyplanner-datastruktur<\/h4>\n\n<p>F\u00f8r vi g\u00e5r n\u00e6rmere inn p\u00e5 tidsloggene, m\u00e5 vi snakke litt om datastrukturen i Skyplanner og hvordan ting fungerer under panseret. Alt dette kommer vi tilbake til senere. <\/p>\n\n<p>Hvis du har integrert ordre-\/arbeidsordre-\/jobbdata i Skyplanner, har du sannsynligvis brukt minst disse API-endepunktene:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>phaser-ordrer<\/li>\n\n\n\n<li>phaser-order-rader<\/li>\n\n\n\n<li>phaser-jobs<\/li>\n<\/ul>\n\n<p>Data som legges inn i disse endepunktene, vises p\u00e5 denne m\u00e5ten i Skyplanner-brukergrensesnittet:<\/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>  Bestilling (phaser-bestillinger)<\/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>  Bestillingselementer (phaser-order-rader (r\u00f8d)), Prosesstrinn (phaser-jobber (gr\u00f8nn))<\/figcaption><\/figure>\n\n<p>Etter at du har lagt inn ordrene dine i Skyplanner, vil du <strong>eksportere dem<\/strong> (dette kan gj\u00f8res via brukergrensesnittet eller \/phaser-orders\/export-endpoint) til produksjonsplanleggingsmodulen:<\/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>  Eksportere gjennom brukergrensesnittet<\/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>  Eksportert ordre i Produksjonsplanlegging<\/figcaption><\/figure>\n\n<p>N\u00e5r du eksporterer bestillinger, kopierer Skyplanner i praksis bestillingsdataene fra \u00e9n databasetabell til en annen. S\u00e5 hvis du for eksempel endrer noe gjennom \/phaser-orders -endepunktet, m\u00e5 du eksportere dataene p\u00e5 nytt for \u00e5 oppdatere dem i Produksjonsplanlegging. Dette betyr ogs\u00e5 at du m\u00e5 bruke forskjellige API-endepunkter for \u00e5 f\u00e5 tilgang til ordrene du ser i produksjonsplanleggingsvinduet!  <\/p>\n\n<p>De &laquo;endrede&raquo; endepunktene ser slik ut:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>\/phaser-ordrer \u2192 \/ordrer<\/li>\n\n\n\n<li>\/phaser-order-rader \u2192 \/order-rader<\/li>\n\n\n\n<li>\/phaser-jobs \u2192 \/jobs<\/li>\n<\/ul>\n\n<p>Dette er viktig \u00e5 vite, for n\u00e5r du bruker \/timelogs -endepunktet til \u00e5 logge produksjonshendelser osv., <strong>m\u00e5 du bruke de relaterte entitetene som finnes i Production Scheduling -endepunktene!<\/strong><\/p>\n\n<p>Du trenger for eksempel <strong>production_planning_job_id <\/strong>(for \u00e5 gjenta: production_planning_jobs er entitetene du f\u00e5r tilgang til fra \/jobs -endepunktet) for \u00e5 legge inn en ny timelogg:<\/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>  POST-foresp\u00f8rsel om tidslogg<\/figcaption><\/figure>\n\n<p>Du finner production_planning_job_id du trenger fra enten \/phaser-jobs -endepunktet:<\/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> Phaser jobb GET-foresp\u00f8rsel (r\u00f8d er phaser_job_id, <strong>IKKE BRUK DEN I TIMELOGS<\/strong>)<\/figcaption><\/figure>\n\n<p>Eller fra \/job-sluttpunktet:<\/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>  \/job GET-foresp\u00f8rsel<\/figcaption><\/figure>\n\n<h4 class=\"wp-block-heading\">Opprette tidslogger ved hjelp av REST-API<\/h4>\n\n<p>N\u00e5r du lager tidslogger til Skyplanner via API-et, brukes de samme reglene og systemene som i brukergrensesnittet. Det kan derfor v\u00e6re en fordel \u00e5 sette seg inn i hvordan systemet fungerer i brukergrensesnittet f\u00f8r du pr\u00f8ver \u00e5 bruke det via API-et. <\/p>\n\n<h5 class=\"wp-block-heading\">Grunnleggende om tidslogg<\/h5>\n\n<p>Skyplanner har fire typer tidslogghendelser:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>shift_begin<\/li>\n\n\n\n<li>satt p\u00e5 pause<\/li>\n\n\n\n<li>fortsatt<\/li>\n\n\n\n<li>shift_end<\/li>\n<\/ul>\n\n<p>Shift_begin-event sendes n\u00e5r jobben startes for f\u00f8rste gang.  <strong>Send aldri mer enn \u00e9n shift_begin-hendelse for hver jobb!<\/strong><\/p>\n\n<p>Paused-hendelsen setter jobben p\u00e5 pause.<\/p>\n\n<p>Continued-event gjenopptar en jobb som er satt p\u00e5 pause.<\/p>\n\n<p>Shift_end fullf\u00f8rer jobben.  <strong>Send aldri mer enn \u00e9n shift_end-hendelse for hver jobb!<\/strong><\/p>\n\n<p>N\u00f8dvendige data for tidslogger:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>person_id\n<ul class=\"wp-block-list\">\n<li>Finnes fra \/people-sluttpunktet<\/li>\n\n\n\n<li>Ikke det samme som user_id!<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>planned_workstation_id\n<ul class=\"wp-block-list\">\n<li>Arbeidsstasjonen der jobben utf\u00f8res<\/li>\n\n\n\n<li>Finnes fra \/workstations-endpoint<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>dato_tid\n<ul class=\"wp-block-list\">\n<li>Tidspunktet for n\u00e5r hendelsen er utf\u00f8rt<\/li>\n\n\n\n<li>Format: 2024-01-01 10:30:11<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n<p>For \u00e5 spesifisere hvilken Skyplanner-tidslogg som er knyttet til tidsloggen fra det eksterne systemet du bruker, kan du bruke feltet <strong>external_id <\/strong>. Du kan da for eksempel gj\u00f8re GET-foresp\u00f8rsler ved hjelp av denne id-en for \u00e5 finne en spesifikk tidslogg fra 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>  Ekstern_id i tidslogger<\/figcaption><\/figure>\n\n<h4 class=\"wp-block-heading\">Begynner i jobb<\/h4>\n\n<p>Du kan starte jobber ved \u00e5 sende en POST-foresp\u00f8rsel som dette til API-et:<\/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>  Shift_begin tidslogg<\/figcaption><\/figure>\n\n<p>N\u00e5r du angir POST-dataene for tidsloggene, setter du <strong>workshift_id <\/strong>til 0 og <strong>timelog_finalized <\/strong>til <strong>true<\/strong><\/p>\n\n<h4 class=\"wp-block-heading\">Sette en jobb p\u00e5 pause<\/h4>\n\n<p>Sett jobber p\u00e5 pause ved \u00e5 sende en POST-foresp\u00f8rsel p\u00e5 denne m\u00e5ten:<\/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>  Pauset tidslogg<\/figcaption><\/figure>\n\n<p>I tidslogger av typen pauset kan du angi <strong>bel\u00f8p <\/strong>og <strong>faulty_amount<\/strong>. Legg ogs\u00e5 merke til <strong>tidsloggtypen <\/strong>og <strong>date_time<\/strong>. <\/p>\n\n<h4 class=\"wp-block-heading\">Fortsette i jobb<\/h4>\n\n<p>Slik fortsetter du en tidslogg som er satt p\u00e5 pause:<\/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>  Fortsatt tidslogg<\/figcaption><\/figure>\n\n<p>Merk at hvis du pr\u00f8ver \u00e5 fortsette en jobb som har blitt avsluttet av en shift_end-hendelse, vil du f\u00e5 en feilmelding.<\/p>\n\n<h4 class=\"wp-block-heading\">\u00c5 avslutte en jobb<\/h4>\n\n<p>Slik avslutter du en jobb med en shift_end timelog:<\/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>  Skift_slutt timelog<\/figcaption><\/figure>\n\n<p>I shift_end-events kan du oppgi <strong>bel\u00f8p <\/strong>og <strong>faulty_amount-verdier <\/strong>p\u00e5 samme m\u00e5te som i paused-events. Merk at hvis du pr\u00f8ver \u00e5 utf\u00f8re en shift_end-hendelse p\u00e5 en jobb som ikke kj\u00f8rer, vil du f\u00e5 en feilmelding. <\/p>\n\n<h4 class=\"wp-block-heading\">Oppdatering av tidslogger<\/h4>\n\n<p>Du kan oppdatere tidsloggdata ved \u00e5 sende PUT-foresp\u00f8rsler til \/timelogs-endepunktet, slik som dette:<\/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>  Redigere tidslogger<\/figcaption><\/figure>\n\n<p>Merk at du m\u00e5 ha b\u00e5de <strong>beginTimelog- <\/strong>og <strong>endTimelog-data <\/strong>angitt for \u00e5 kunne gj\u00f8re en oppdatering. Tidslogger i Skyplanner lagres p\u00e5 denne m\u00e5ten: Hver &laquo;full&raquo; (tidslogg som har b\u00e5de start og slutt (f.eks. skift_begin\/fortsatt og paused\/skift_slutt)) tidslogg har en egen enhet for start og slutt. <\/p>\n\n<p>Disse er paret med <strong>begin_id-verdien <\/strong>som finnes i endlog. I eksempelet ovenfor har beginTimelog id-verdien 1, og dermed har endTimelog <strong>begin_id-verdien <\/strong>1. <\/p>\n\n<p>Du m\u00e5 ogs\u00e5 oppgi <strong>person_id- <\/strong>og <strong>endTimelog-verdiene <\/strong>for hver gang du gj\u00f8r en oppdateringsforesp\u00f8rsel, selv om du ikke endrer dem.<\/p>\n\n<h4 class=\"wp-block-heading\">Alternative m\u00e5ter \u00e5 lage tidslogger p\u00e5<\/h4>\n\n<p>Her er noen alternative m\u00e5ter du kan logge p\u00e5 jobbene dine ved hjelp av API-et.<\/p>\n\n<h5 class=\"wp-block-heading\">Logfull<\/h5>\n\n<p>Hvis du vil sende b\u00e5de start- og sluttidsloggen i \u00e9n enkelt foresp\u00f8rsel, kan du bruke <strong>\/timelogs\/log-full<\/strong> -endpoint, slik:<\/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>  Loggfull foresp\u00f8rsel<\/figcaption><\/figure>\n\n<p>Legg merke til hvordan bel\u00f8pene sendes her: Den f\u00f8rste &laquo;amount&raquo;-verdien angir <strong>feilbel\u00f8pet<\/strong> og den andre <strong>bel\u00f8pet<\/strong>. Denne foresp\u00f8rselen oppretter entitetene beginlog og endlog i \u00e9n og samme foresp\u00f8rsel. <\/p>\n\n<h5 class=\"wp-block-heading\">Quicklog<\/h5>\n\n<p>&laquo;Quicklogging&raquo; til en jobb fullf\u00f8rer den i en enkelt foresp\u00f8rsel, og setter det fullf\u00f8rte antallet produkter til \u00e5 samsvare med verdien som er angitt i bestillingselementet. Quicklogging gj\u00f8res ved \u00e5 bruke <strong>\/timelogs\/quick-log<\/strong> -endepunktet: <\/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>Merk at du her bare trenger \u00e5 oppgi <strong>production_planning_job_id<\/strong>, <strong>planned_workstation_id <\/strong>og <strong>person_id<\/strong>. Verdiene for tid og bel\u00f8p fylles ut automatisk. V\u00e6r ogs\u00e5 oppmerksom p\u00e5 at quickloggede jobber alltid avsluttes med shift_end-hendelsen, s\u00e5 det er ikke mulig \u00e5 logge videre etter quicklog!  <\/p>\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Skyplanner-datastruktur F\u00f8r vi g\u00e5r n\u00e6rmere inn p\u00e5 tidsloggene, m\u00e5 vi snakke litt om datastrukturen i Skyplanner og hvordan ting fungerer under panseret. Alt dette kommer vi tilbake til senere. Hvis du har integrert ordre-\/arbeidsordre-\/jobbdata i Skyplanner, har du sannsynligvis brukt minst disse API-endepunktene: Data som legges inn i disse endepunktene, vises p\u00e5 denne m\u00e5ten i &#8230; <a title=\"Tidslogger\" class=\"read-more\" href=\"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/\" aria-label=\"Read more about Tidslogger\">Les mer<\/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":[655],"doc_tag":[656,1525],"class_list":["post-61480","docs","type-docs","status-publish","hentry","doc_category-integrasjoner","doc_tag-api-no","doc_tag-integrering"],"acf":[],"year_month":"2026-04","word_count":938,"total_views":"157","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Sami","author_nicename":"sami","author_url":"https:\/\/skyplanner.ai\/no\/author\/sami\/"},"doc_category_info":[{"term_name":"Integrasjoner","term_url":"https:\/\/skyplanner.ai\/no\/docs-category\/integrasjoner\/"}],"doc_tag_info":[{"term_name":"API","term_url":"https:\/\/skyplanner.ai\/no\/docs-tag\/api-no\/"},{"term_name":"Integrering","term_url":"https:\/\/skyplanner.ai\/no\/docs-tag\/integrering\/"}],"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>Tidslogger &#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\/no\/docs\/tidslogger\/\" \/>\n<meta property=\"og:locale\" content=\"nb_NO\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tidslogger\" \/>\n<meta property=\"og:description\" content=\"Skyplanner-datastruktur F\u00f8r vi g\u00e5r n\u00e6rmere inn p\u00e5 tidsloggene, m\u00e5 vi snakke litt om datastrukturen i Skyplanner og hvordan ting fungerer under panseret. Alt dette kommer vi tilbake til senere. Hvis du har integrert ordre-\/arbeidsordre-\/jobbdata i Skyplanner, har du sannsynligvis brukt minst disse API-endepunktene: Data som legges inn i disse endepunktene, vises p\u00e5 denne m\u00e5ten i ... Les mer\" \/>\n<meta property=\"og:url\" content=\"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/\" \/>\n<meta property=\"og:site_name\" content=\"SkyPlanner\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-07T11:25:42+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=\"Ansl. lesetid\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/\",\"url\":\"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/\",\"name\":\"Tidslogger &#8211; SkyPlanner\",\"isPartOf\":{\"@id\":\"https:\/\/skyplanner.ai\/no\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/#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:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/#breadcrumb\"},\"inLanguage\":\"nb-NO\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nb-NO\",\"@id\":\"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/#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\/no\/docs\/tidslogger\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/skyplanner.ai\/no\/forsiden\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docs\",\"item\":\"https:\/\/skyplanner.ai\/no\/docs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Tidslogger\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/skyplanner.ai\/no\/#website\",\"url\":\"https:\/\/skyplanner.ai\/no\/\",\"name\":\"SkyPlanner\",\"description\":\"AI-powered production scheduling and planning software\",\"publisher\":{\"@id\":\"https:\/\/skyplanner.ai\/no\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/skyplanner.ai\/no\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nb-NO\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/skyplanner.ai\/no\/#organization\",\"name\":\"SkyPlanner APS\",\"url\":\"https:\/\/skyplanner.ai\/no\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nb-NO\",\"@id\":\"https:\/\/skyplanner.ai\/no\/#\/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\/no\/#\/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":"Tidslogger &#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\/no\/docs\/tidslogger\/","og_locale":"nb_NO","og_type":"article","og_title":"Tidslogger","og_description":"Skyplanner-datastruktur F\u00f8r vi g\u00e5r n\u00e6rmere inn p\u00e5 tidsloggene, m\u00e5 vi snakke litt om datastrukturen i Skyplanner og hvordan ting fungerer under panseret. Alt dette kommer vi tilbake til senere. Hvis du har integrert ordre-\/arbeidsordre-\/jobbdata i Skyplanner, har du sannsynligvis brukt minst disse API-endepunktene: Data som legges inn i disse endepunktene, vises p\u00e5 denne m\u00e5ten i ... Les mer","og_url":"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/","og_site_name":"SkyPlanner","article_modified_time":"2025-10-07T11:25:42+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":{"Ansl. lesetid":"5 minutter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/","url":"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/","name":"Tidslogger &#8211; SkyPlanner","isPartOf":{"@id":"https:\/\/skyplanner.ai\/no\/#website"},"primaryImageOfPage":{"@id":"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/#primaryimage"},"image":{"@id":"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/#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:42+00:00","breadcrumb":{"@id":"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/#breadcrumb"},"inLanguage":"nb-NO","potentialAction":[{"@type":"ReadAction","target":["https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/"]}]},{"@type":"ImageObject","inLanguage":"nb-NO","@id":"https:\/\/skyplanner.ai\/no\/docs\/tidslogger\/#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\/no\/docs\/tidslogger\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/skyplanner.ai\/no\/forsiden\/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https:\/\/skyplanner.ai\/no\/docs\/"},{"@type":"ListItem","position":3,"name":"Tidslogger"}]},{"@type":"WebSite","@id":"https:\/\/skyplanner.ai\/no\/#website","url":"https:\/\/skyplanner.ai\/no\/","name":"SkyPlanner","description":"AI-powered production scheduling and planning software","publisher":{"@id":"https:\/\/skyplanner.ai\/no\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/skyplanner.ai\/no\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nb-NO"},{"@type":"Organization","@id":"https:\/\/skyplanner.ai\/no\/#organization","name":"SkyPlanner APS","url":"https:\/\/skyplanner.ai\/no\/","logo":{"@type":"ImageObject","inLanguage":"nb-NO","@id":"https:\/\/skyplanner.ai\/no\/#\/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\/no\/#\/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\/no\/author\/sami\/"},"uagb_comment_info":0,"uagb_excerpt":"Skyplanner-datastruktur F\u00f8r vi g\u00e5r n\u00e6rmere inn p\u00e5 tidsloggene, m\u00e5 vi snakke litt om datastrukturen i Skyplanner og hvordan ting fungerer under panseret. Alt dette kommer vi tilbake til senere. Hvis du har integrert ordre-\/arbeidsordre-\/jobbdata i Skyplanner, har du sannsynligvis brukt minst disse API-endepunktene: Data som legges inn i disse endepunktene, vises p\u00e5 denne m\u00e5ten i&hellip;","knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/skyplanner.ai\/no\/wp-json\/wp\/v2\/docs\/61480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skyplanner.ai\/no\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/skyplanner.ai\/no\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/skyplanner.ai\/no\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/skyplanner.ai\/no\/wp-json\/wp\/v2\/comments?post=61480"}],"version-history":[{"count":0,"href":"https:\/\/skyplanner.ai\/no\/wp-json\/wp\/v2\/docs\/61480\/revisions"}],"wp:attachment":[{"href":"https:\/\/skyplanner.ai\/no\/wp-json\/wp\/v2\/media?parent=61480"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/skyplanner.ai\/no\/wp-json\/wp\/v2\/doc_category?post=61480"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/skyplanner.ai\/no\/wp-json\/wp\/v2\/doc_tag?post=61480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}