Bendrinti naudojant


Darbo valandų kalendorių redagavimas naudojant API sąsajas

Organizacijos dažnai turi programiškai kurti, redaguoti arba panaikinti darbo valandas savo išteklių kalendoriuose. Kalendoriuose rodomos darbo valandos, ne darbo laikas ir pertraukos, kurie nustato ištekliaus pasiekiamumą planuojant darbą. Šiuos išteklius reikia planuoti konkrečiose laiko juostose, jie gali atsižvelgti į įmonių ne darbo laiką arba ne ir jų pajėgumas gali kisti. Norėdami gauti informacijos apie darbo valandų apibrėžimą programoje "Field Service", eikite į Darbo valandų įtraukimas į rezervuojamus išteklius.

Galite ne tik naudoti programą „Field Service“, bet ir toliau nurodytas API, kad galėtumėte modifikuoti pasirinktų įrašų tipų kalendoriaus taisykles.

  • Įrašymo kalendoriaus API (msdyn_SaveCalendar) sukuria arba atnaujina pasirinkto objekto kalendoriaus įrašus pagal įvestis, perduotas kaip užklausa.
  • Naikinimo kalendoriaus API (msdyn_DeleteCalendar) panaikina visas pasirinkto objekto kalendoriaus vidines kalendoriaus taisykles , atsižvelgiant į įvestis, perduotas kaip užklausa.
  • Įrašymo / naikinimo kalendoriaus API V2 (msdyn_SaveCalendar/msdyn_DeleteCalendar, leidimo vėliavėlė UseV2) leidžia vienu metu kartoti kelias darbo valandas, pakeisdama persidengiančių taisyklių logiką. Norėdami gauti daugiau informacijos, žiūrėkite Kas nutiks, jei bus persidengiančių taisyklių?.

Šiame straipsnyje pateikiama išsami informacija apie kiekvienos API įvestį (užklausą) ir išvestį (atsakymas) bei jų naudojimą su pavyzdžiais.

Būtinosios sąlygos

  • Platformos versija 9.2.21055 arba naujesnė su "Universal Resource Scheduling" versija 3.12.45.7.
  • Vieno iš šių įrašų tipų naudojimas:
    • Rezervuojami ištekliai (bookableresource)
    • Išteklių poreikis (msdyn_resourcerequirement)
    • Darbo valandos šablonas (msdyn_workhourtemplate)
    • Projektas (msdyn_project)

Kalendoriaus įvykių tipai

Kai kuriate kalendorių, nustatote, kiek kartų bus naudojamas darbo valandos tipas – vieną, visą dieną, kiekvieną savaitę ar kiekvieną dieną, arba galite sukurti pasirinktinį pasikartojimą. Norėdami gauti daugiau informacijos apie šiuos kalendoriaus įvykius, skaitykite toliau šiame straipsnyje pateiktus pavyzdžius.

Atvejis

Kai darbo valandos tipas objekto kalendoriuje atsiranda tik vieną kartą, jis vadinamas įvykiu.

Pavyzdžiui, įsivaizduokite, kad išteklius 2021 m. gegužės 26 d. dirba nuo 05.00 iki 10.00. Šios API palaiko tik šio tipo atvejį, kuris prasideda ir baigiasi tą pačią dieną. Kitas pavyzdys: įsivaizduokite, kad išteklius dirba nuo 2021 m. gegužės 26 d. 20.00 val. iki 2021 m. gegužės 27 d. 10.00 val. Negalite sukurti šio įvykio naudodami tik vieną API skambutį msdyn_SaveCalendar ; vietoj to turite atlikti du skambučius.

Visos dienos įvykis

Kai darbo valandos tipas atsiranda vieną ar daugiau ištisų dienų, pradedant nuo pradžios datos vidurnakčio (12:00 val.), tai yra visos dienos įvykis. Maksimali visos dienos įvykio trukmė yra penkeri metai.

Pavyzdžiui, išteklius dirba visą dieną nuo 2021 m. gegužės 26 d. iki 2021 m. gegužės 30 d. pabaigos. Tai yra visos dienos įvykis, kuris trunka penkias dienas.

Pasikartojimas kas savaitę

Kai darbo valandos tipas atsiranda tuo pačiu metu pasirinktomis kiekvienos savaitės dienomis, tai vadinama savaitės pasikartojimu .

Pavyzdžiui, išteklius dirba nuo 05.00 iki 10.00 val. kiekvieną pirmadienį, antradienį ir trečiadienį.

Pasikartojimas kasdien

Kai darbo valandos tipas atsiranda kiekvieną dieną tuo pačiu metu, tai vadinama dienos pasikartojimu .

Pavyzdžiui, išteklius dirba nuo 05.00 iki 10.00 val. kiekvieną savaitės dieną.

Pasirinktinis pasikartojimas

Kai darbo valandos tipas atsiranda tam tikru metu tam tikromis savaitės dienomis, bet skirtingomis dienomis laikas skiriasi, galite sukurti pasirinktinį pasikartojimą.

Pavyzdžiui, išteklius dirba nuo 05.00 iki 10.00 val. kiekvieną pirmadienį ir nuo 12.00 iki 15.00 val. kiekvieną trečiadienį.

Darbo valandų tipai

Šios API palaiko toliau nurodytų darbo valandų tipų kūrimo, naujinimo ir naikinimo operacijas.

Darbo valandos

Darbo valandos yra laikas, kai objektas gali atlikti darbą.

Naudodami šias API galite atlikti toliau nurodytus veiksmus.

  • Kurti, redaguoti arba panaikinti darbo valandų įvykį.
  • Kurti, redaguoti arba panaikinti darbo valandų pasikartojimą kasdien.
  • Kurti, redaguoti arba panaikinti darbo valandų pasikartojimą kas savaitę.
  • Kurti, redaguoti arba panaikinti darbo valandų pasirinktinį pasikartojimą.
  • Kurti, redaguoti arba panaikinti visos dienos darbo valandas.
  • Kurti arba redaguoti darbo valandų pajėgumą.
  • Redaguoti vieną darbo valandų atvejį pasikartojime.
  • Redaguokite šį ir Po pasikartojančių įvykių .
  • Pakeisti darbo valandų atvejį į pasikartojimą.
  • Pakeisti kalendoriaus taisyklės laiko juostą.

Naudodami šią API negalite atlikti toliau nurodytų veiksmų.

  • Panaikinti vieną darbo valandų atvejį iš pasikartojimo.
  • Sukurti atvejį, kuris trunka 24 valandas, bet neprasideda ir nesibaigia vidurnaktį (24.00 val.).
  • Kurti, redaguoti arba panaikinti visos dienos pasikartojimą.

Ne darbo valanda

Tai yra laikas, kai dėl nenurodytos priežasties objektas negali dirbti.

Naudodami šias API galite atlikti toliau nurodytus veiksmus.

  • Kurkite arba redaguokite visos dienos ne darbo valandas.
  • Sukurkite arba redaguokite ne darbo valandos įvykį.
  • Pakeisti kalendoriaus taisyklės laiko juostą.

Naudodami šias API negalite atlikti toliau nurodytų veiksmų.

  • Sukurkite arba redaguokite ne darbo valandos pasikartojimą.

Pertrauktis

Tai yra darbo dienos laikas, kai objektas daro pertrauką ir jis nepasiekiamas darbui. Pertraukų negali būti be darbo valandų; jos turi vykti tarp dviejų darbo valandų per dieną. Pertraukos negali persidengti su darbo valandomis.

Naudodami šias API galite atlikti toliau nurodytus veiksmus.

  • Kurti arba redaguoti pertraukas darbo valandų metu.

Naudodami šias API negalite atlikti toliau nurodytų veiksmų.

  • Panaikinti tik darbo valandų atvejo arba pasikartojimo pertraukas.

Ne darbo laikas

Tai yra laikas, kai dėl atostogų objektas negali dirbti. Galima nurodyti ne darbo laiko priežastį.

Naudodami šias API galite atlikti toliau nurodytus veiksmus.

  • Kurti arba redaguoti ne darbo laiką su žyma.
  • Pakeisti kalendoriaus taisyklės laiko juostą.

Naudodami šias API negalite atlikti toliau nurodytų veiksmų.

  • Kurti arba redaguoti ne darbo laiko valandų pasikartojimą.

Įmonės ne darbo laikas

Galite kurti įmonės uždarymo objektus , kurie apibrėžia įmonės uždarymo laiką. msdyn_SaveCalendar Naudodami API galite nustatyti, kad kiekvienas objektas stebėtų arba nepaisytų organizacijos verslo uždarymo laiko, naudodami pasirinktinį raktą StebėtiUždarymą . Kai jie nustatyti stebėti šiuos uždarymus, objektai nepasiekiami darbui.

Kalendoriaus API įrašymas

Įvestis

Užklausoje yra tik vienas atributas – CalendarEventInfo, kuris yra eilutės tipas. Jame yra keli kiti atributai, kurie visi įdėti į šią eilutę.

Pastaba.

Šioje lentelėje "Type " nurodo formatą, kurio tikimasi norint pateikti sėkmingą užklausą. Tačiau visos užklausos sintaksė analizuojama kaip viena eilutė.

CalendarEventInfo

Pavadinimas Tipas Reikalingas Aprašas
EntityLogicalName String Taip Šis raktas aprašo objektą, iš kurio iškviečiama API. Šio objekto kalendorius turi būti kuriamas arba redaguojamas.
CalendarId GUID Taip Šiame rakte yra kalendoriaus ID, susijęs su pirmiau aprašytu objektu. Sukūrus bet kurį iš šių objektų automatiškai sukuriamas kalendoriaus įrašas. Šios API redaguoja kalendoriaus įrašą įtraukdamos taisyklių arba redaguodamos esamas taisykles.
RulesAndRecurrences RulesAndRecurrences Taip Šis raktas yra masyvas, o kiekviename elemente yra keli atributai, išvardyti kitame skyriuje pateiktoje lentelėje. Masyvo dydis turi būti bent vienas.
IsVaried Bulio logikos No Šis raktas turėtų būti nustatytas kaip true pasirinktiniams pasikartojimo scenarijams.
IsEdit Bulio logikos No Šis raktas turėtų būti nustatytas esamoms true taisyklėms redaguoti.
TimeZoneCode Integer No Šis raktas naudoja sveikojo skaičiaus reikšmę, atitinkančią kalendoriaus taisyklių laiko juostą. Norėdami gauti susiejimas, eikite į Laiko juostų kodai, toliau šiame straipsnyje. Numatytoji reikšmė yra vartotojo laiko juosta.
InnerCalendarDescription String No Šis raktas reikalingas, tik jei kalendoriaus taisyklė skirta ne darbo laikui. Jame turi būti nurodyta ne darbo laiko priežastis.
ObserveClosure Bulio logikos No Šis raktas skirtas pasikartojimams. Jei nustatyta true, objektas stebi įmonės uždarymą.
RecurrenceEndDate Data ir laikas No Šis raktas skirtas pasikartojimams. Jame nurodyta pasikartojimo pabaigos data. Jei laiko žyma yra 08:00:00 ar ankstesnė, pasikartojimo pabaigos data yra viena diena prieš nurodytą datą. Jei laiko žyma yra 08:00:01 ar vėlesnė, data laikoma tokia, kokia yra. Numatytoji atvejų reikšmė yra null. Numatytoji pasikartojimų reikšmė yra 30 Dec 9999, 23:59:59 hours, UTC.
RecurrenceSplit Bulio logikos No Šis raktas skirtas pasikartojimams. Jis nustatytas redaguoti true pasikartojimo "Tai ir tolesni įvykiai".
ResourceId GUID No Šiame rakte yra SystemUserId arba ResourceId ir jis turi būti perduotas tik tada, kai su šiuo iškvietimu susietas objektas yra rezervuojamas SystemUser tipoišteklius. Tai būtina norint patikrinti, ar skirtuke Aptarnavimo valdymas yra "OwnCalendar" teisių .
NaudojimasV2 Vėliavėlė No Perdavus šią vėliavėlę, įgalinama darbo valandų kalendoriaus V2 versija su patobulinta persidengiančių taisyklių logika, leidžiančia kartotis kelis kartus. Norėdami gauti daugiau informacijos, žiūrėkite Kas nutiks, jei bus persidengiančių taisyklių?.

RulesAndRecurrences

Pavadinimą Tipas Privalomas Aprašą
Taisyklės Taisyklės Taip Šis raktas yra masyvas, o kiekviename elemente yra keli atributai, išvardyti kitame skyriuje pateiktoje lentelėje. Masyvo dydis turi būti bent vienas.
RecurrencePattern String No Šis raktas skirtas pasikartojimams. Šiuo metu mes palaikome tik šį modelį: FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA BYDAY gali būti pakeistas, kad būtų įtraukta mažiau dienų; FREQ tačiau ir INTERVAL negali būti pakeistas.
InnerCalendarId GUID No Šis raktas skirtas redaguoti. Jei taisyklė redaguojama, čia reikia perduoti InnerCalendarId . Jei InnerCalendarId neperduodamas, API sukuria naują taisyklę, net jei klavišas IsEdit nustatytas kaip teisingas.
Veiksmas Integer No Šis raktas skirtas pasirinktiniams pasikartojimams. Jei kuriamas arba redaguojamas pasirinktinis pasikartojimas, reikia įvesti vieną iš toliau nurodytų skaičių.
  • (1) Dienos įtraukimas į pasikartojimą
  • (2) Dienos ištrynimas iš pasikartojimo
  • (3) Tik pradžios arba pabaigos datų arba laikų redagavimas arba pajėgumo redagavimas
  • (4) Kitų elementų, išskyrus (3) punkte nurodytus raktus, redagavimas

Taisyklės

Pavadinimas / vardas ir pavardė Tipas Privaloma Aprašymas
StartTime Data ir laikas Taip Šiame rakte yra datos ir laiko įrašas ISO formatu. Pavyzdžiui, \"2021-05-15T12:00:00.000Z\". Laiko dalis nustato darbo valandos pradžios laiką pirmiau nurodytoje laiko juostoje. Datos dalis nustato darbo valandos pradžios datą. Čia 2021 m. gegužės 15 d. yra atvejo data arba pasikartojimo pradžios data. Jei šablonas buvo BYDAY=TU,WE, bet data yra gegužės 15 d. (šeštadienis), API automatiškai sukurs arba redaguos visų antradienių ir trečiadienių, einančių po gegužės 15 d., taisykles. Tai yra atvejis, kai taisyklei nereikia nurodyti datos, atitinkančios dieną.
EndTime Data ir laikas Taip Jame yra datos laiko įrašas ISO formatu. Pavyzdžiui, \"2021-05-15T12:00:00.000Z\". Laiko dalis nustato darbo valandos pabaigos laiką pirmiau nurodytoje laiko juostoje. Datos dalyje turi būti ta pati data kaip ir pradžios laiko datos dalyje. Taikomos tik tolesnės išimtys.
  • Jei tai visos dienos atvejis. Tokiu atveju datos dalis turi atspindėti visos dienos atvejo pabaigos datą.
  • Atvejis baigiasi dienos pabaigoje, t. y., kitos dienos 00.00 val. Tokiu atveju data turėtų būti \"2021-05-16T00:00:00.000Z\". Norėdami nurodyti pasikartojimo pabaigos datą, modifikuokite atributą RecurrenceEndDate .
WorkHourType Integer Taip Šiame rakte yra skaičius, atitinkantis vieną iš tolesnių parinkčių.
  • (0) Darbas
  • (1) Pertrauka
  • (2) Nedirbantis
  • (3) Ne darbo laikas
Pastangos Integer No Šis raktas nustato objekto pajėgumą. Jis turi būti sveikasis skaičius. Numatytoji vertė yra 1.

Išvestis

Ši POST API kuria arba modifikuoja pasirinkto objekto kalendoriaus taisyklės įrašus. Ji taip pat generuoja tolesnę išvestį.

Pavadinimas Tipas Aprašas
InnerCalendarIds String InnerCalendarIds GUID masyvas , kuris yra POST operacijos rezultatas.

Kalendoriaus API naikinimas

Įvestis

Pavadinimas Tipas Reikalingas Aprašas
EntityLogicalName String Taip Šiame lauke aprašomas objektas, kurio kalendoriaus taisyklės turi būti panaikinamos.
InnerCalendarId GUID Taip Šiame lauke aprašomas InnerCalendarId ID , kurį reikia panaikinti. Jei yra keli InnerCalendarId, susieti su viena taisykle, čia pakanka bet kurio vieno ID. Daugiau informacijos apie vidinius ir išorinius kalendorius: Kalendoriaus objektai
CalendarId GUID Taip Šiame lauke aprašomas objekto CalendarId .
IsVaried Bulio logikos No Šis laukas būdingas pasikartojimams ir yra nustatytas yes , jei naikinama pasirinktinė pasikartojimo taisyklė.
NaudojimasV2 Vėliavėlė No Perdavus šią vėliavėlę, įgalinama darbo valandų kalendoriaus V2 versija su patobulinta persidengiančių taisyklių logika, leidžiančia kartotis kelis kartus. Norėdami gauti daugiau informacijos, žiūrėkite Kas nutiks, jei bus persidengiančių taisyklių?.

Išvestis

Ši POST API panaikina pasirinkto objekto kalendoriaus taisyklės įrašus. Be to, ji generuoja tolesnę išvestį.

Pavadinimas / vardas ir pavardė Tipas Aprašymas
InnerCalendarIds String InnerCalendarIds GUID masyvas , kuris yra POST operacijos rezultatas.

Įkelti kalendoriaus API

Įvestis

Pavadinimas: msdyn_LoadCalendars
Tipas: Veiksmas
Aprašas: pateikia nurodyto LoadCalendarsInput kalendorius.

Pavadinimas: msdyn_LoadCalendars.LoadCalendarsInput
Tipas: parametras
Aprašas: eilutė tokiu JSON formatu:

{
   StartDate: string,
   EndDate: string,
   CalendarIds: string[]
}

Pavadinimas: msdyn_LoadCalendarsResponse
Tipas: ComplexType
Aprašas: pateikiamas veiksmo msdyn_loadCalendars atsakymas.

Pavadinimas: msdyn_LoadCalendarsResponse.CalendarEvents
Tipas: Nekilnojamasis turtas
Aprašas: eilutė tokiu JSON formatu:

{
"calendarId": CalendarEventSlot[]
}

Kur calendarId yra tinkamas guidas, vaizduojantis Kalendoriaus ir CalendarEventSlot yra tokio formato objektas:

{
  CalendarId: string,
  InnerCalendarId: string,
  Start: string,
  End: string,
  Effort: double
}

Kaip iškviesti API sąsajas

Šias API galima iškviesti naudojant naršyklę.

  1. Atidarykite naršyklę ir organizaciją, kurioje turite atlikti šiuos kalendoriaus pakeitimus.
  2. Atidarykite kūrėjo įrankius (pasirinkite "Ctrl+Shift+I Microsoft Edge", "Google Chrome" pasirinkite F12 ).
  3. Konsolėje įveskite šią funkciją, pakeitę [org-name] organizacijos informacija (pavyzdžiui): http://your_org.crm.dynamics.com
       function CalendarAction(action, data) {
           let req = new XMLHttpRequest();
           req.open("POST", "**[org-name]**/api/data/v9.0/" + action, true);
           req.setRequestHeader("OData-MaxVersion", "4.0");
           req.setRequestHeader("OData-Version", "4.0");
           req.setRequestHeader("Accept", "application/json");
           req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
           req.setRequestHeader("Prefer", 'odata.include-annotations="*"');
           req.onreadystatechange = function () {
               if (this.readyState === 4) {
                   req.onreadystatechange = null;
                   if(this.status == 200) {
                       console.log(JSON.parse(this.response));
                   } else {
                       console.error(JSON.parse(this.response));
                   }
               }
           };
           req.send(JSON.stringify(data));
       }
  1. Nustatę šią funkciją, galite ją iškviesti ir, naudodami API sąsajas, kurti, redaguoti ar naikinti kalendorius. Norėdami išsaugoti kalendorių, įveskite šį skambutį:
       CalendarAction("msdyn_SaveCalendar",{
           "CalendarEventInfo":"{
               \"CalendarId\":\"df0857c4-50f5-4576-8e89-f236670ad2d5\",
               \"EntityLogicalName\":\"bookableresource\",
               \"TimeZoneCode\":92,\"StartDate\":\"2021-04-25T00:00:00.000Z\",
               \"IsVaried\":false,
               \"RulesAndRecurrences\":[{
                   \"Rules\":[{
                       \"StartTime\":\"2021-04-25T08:00:00.000Z\",
                       \"EndTime\":\"2021-04-25T17:00:00.000Z\",
                       \"Duration\":540,
                       \"Effort\":1
                   }]
               }]
           }"
       })

Norėdami panaikinti kalendorių, įveskite šį raginimą:

       CalendarAction("msdyn_DeleteCalendar", {
           "CalendarEventInfo":"{
               \"CalendarId\":\"8390358c-77d0-430f-b176-f27adadac8eb\",
               \"EntityLogicalName\":\"bookableresource\",
               \"InnerCalendarId\":\"cf508c2c-5c55-485c-be1e-d2ebcb385441\"
           }"
       })
       

Toliau esančiame skyriuje rasite pavyzdžių, kaip pagal savo poreikius atlikti įvairias iškvietas. 3 action veiksmas funkcijos iškvietimą pakeiskite msdyn_SaveCalendar atitinkamu arba msdyn_DeleteCalendar ir pakeiskite data atitinkamu CalendarEventInfo.

Taip pat žiūrėkite šią raginimo Power Automate veikti ekrano kopiją msdyn_SaveCalendar : Power Automate raginti imtis msdyn_SaveCalendar veiksmų.

API naudojimo scenarijų pavyzdžiai

Peržiūrėkime kelis scenarijus, kuriems galite naudoti šias API.

Bobas ir Timas yra pristatymo sunkvežimių vairuotojai, dirbantys „Contoso Enterprises“ Belvju, Vašingtone. Jų dispečerė Debbie yra atsakinga už jų darbo valandų kalendorių pakeitimus. Debbie atlieka šiuos pakeitimus naudodama msdyn_SaveCalendar ir msdyn_DeleteCalendar API.

Sukurkite darbo valandų atvejį.

Pagal grafiką Bobas turi sunkvežimiu pristatyti paketus nuo 09.00 iki 17.00 val. 2021 m. gegužės 15 d. Debbie naudoja API msdyn_SaveCalendar .

Užklausa

{
 "CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-15T09:00:00.000Z\",\"EndTime\":\"2021-05-15T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}]}]}"
}

Response

{
  "InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}

Redaguokite darbo valandų atvejį.

Tada Bobo grafikas pasikeičia: jis pradeda dirbti 10.00 val. 2021 m. gegužės 15 d. Debbie naudoja API msdyn_SaveCalendar .

Užklausa

{
 "CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"IsEdit\":\"true\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-15T10:00:00.000Z\",\"EndTime\":\"2021-05-15T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}], \"InnerCalendarId\":\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"}]}"
}

Response

{
  "InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}

Panaikinkite darbo valandų atvejį.

Iškyla ekstremali situacija šeimoje, ir Bobui reikia atšaukti visą darbo dieną. Debbie naudoja API msdyn_DeleteCalendar .

Užklausa

{
 "CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"}"
}

Response

{
  "InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}

Darbo valandų pasikartojimo kasdien sukūrimas

Nuo 2021 m. gegužės 20 d. Bobas nusprendžia dirbti su "Contoso" visą savaitę nuo 8:00 iki 17:00 ir nustos ten dirbti 2021 m. liepos 15 d.

Užklausa

{
 "CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RecurrenceEndDate\":\"2021-07-15T00:00:00.000Z\",\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-20T08:00:00.000Z\",\"EndTime\":\"2021-05-20T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA\"}]}"
}

Response

{
  "InnerCalendarIds": "[\"20f6cfa7-cfbe-eb11-a81d-000d3a6e4359\"]"
}

Darbo valandų pasikartojimo kasdien su didesniu pajėgumu redagavimas

Bobas nusprendžia nustoti dirbti visai 2021 m. birželio 15 d. savaitei, kad padarytų pertrauką. Iki tol Bobas tęs visos savaitės tvarkaraštį, kaip buvo sutarta anksčiau. Debbie atlieka šiuos pakeitimus naudodama msdyn_SaveCalendar API.

Užklausa

{
 "CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RecurrenceEndDate\":\"2021-06-15T00:00:00.000Z\",\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-20T08:00:00.000Z\",\"EndTime\":\"2021-05-20T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"InnerCalendarId\":\"20f6cfa7-cfbe-eb11-a81d-000d3a6e4359\",\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA\"}]}"
}

Response

{
  "InnerCalendarIds": "[\"867a2461-cdbe-eb11-a81d-000d3a6e4359\"]"
}

Darbo valandų pasikartojimo kas savaitę sukūrimas

Nuo 2021 m. birželio 16 d. Bobas trečiadieniais ir penktadieniais dirbs nuo 8:00 iki 17:00, o pietums padarys pertrauką nuo 12:00 iki 12:30. Debbie naudoja msdyn_SaveCalendar API, tačiau padaro klaidą ir suplanuoja pertrauką nuo 12:00 iki 13:00.

Užklausa

{
  "CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-06-16T08:00:00.000Z\",\"EndTime\":\"2021-06-16T12:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}, {\"StartTime\":\"2021-06-16T12:00:00.000Z\",\"EndTime\":\"2021-06-16T13:00:00.000Z\",\"Effort\":null,\"WorkHourType\":1}, {\"StartTime\":\"2021-06-16T13:00:00.000Z\",\"EndTime\":\"2021-06-16T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=WE,TH,FR\"}]}"
}

Response

{
  "InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}

Darbo valandų pasikartojimo kas savaitę pertraukos redagavimas

Tada Debbie ištaiso klaidą ir pakeičia pertrauką, kad ji įvyktų nuo 12:00 iki 12:30, naudojant msdyn_SaveCalendar API.

Užklausa

{
  "CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"IsEdit\":\"true\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-06-15T08:00:00.000Z\",\"EndTime\":\"2021-06-15T12:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}, {\"StartTime\":\"2021-06-15T12:00:00.000Z\",\"EndTime\":\"2021-06-15T12:30:00.000Z\",\"Effort\":null,\"WorkHourType\":1}, {\"StartTime\":\"2021-06-15T12:30:00.000Z\",\"EndTime\":\"2021-06-15T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"InnerCalendarId\":\"1f894441-d0be-eb11-a81d-000d3a6e4359\",\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=WE,TH,FR\"}]}"
}

Response

{
  "InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}

Darbo valandų pasirinktinio pasikartojimo sukūrimas

Timas įmonėje „Contoso“ dirba pirmadieniais nuo 8:00 iki 17:00 val. ir trečiadieniais nuo 11:00 iki 15:00 val. Timas pradėjo dirbti "Contoso" 16 m. gegužės 2021 d. Debbie naudoja API, msdyn_SaveCalendar kad sukurtų Timo darbo valandas.

Užklausa

{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"IsVaried\":true,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-16T08:00:00.000Z\",\"EndTime\":\"2021-05-16T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"Action\":1,\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=MO\"},{\"Rules\":[{\"StartTime\":\"2021-05-16T11:00:00.000Z\",\"EndTime\":\"2021-05-16T15:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"Action\":1,\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=WE\"}]}"
}

Response

{
  "InnerCalendarIds": "[\"9fb8c199-d1be-eb11-a81d-000d3a6e4359\", \"a2b8c199-d1be-eb11-a81d-000d3a6e4359\"]"
}

Darbo valandų pasirinktinio pasikartojimo redagavimas

Tada Timo tvarkaraštis pasikeičia į darbo valandas nuo trečiadienių 17:00 iki 20:00 ir ketvirtadienį nuo 10:00 iki 12:00. Pirmadienis išbrauktas iš Timo tvarkaraščio. Debbie naudoja API, msdyn_SaveCalendar kad tai pasiektų.

Užklausa

{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"IsVaried\":true,\"IsEdit\":true,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-16T08:00:00.000Z\",\"EndTime\":\"2021-05-16T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"Action\":2,\"InnerCalendarId\":\"9fb8c199-d1be-eb11-a81d-000d3a6e4359\",\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=MO\"},{\"Rules\":[{\"StartTime\":\"2021-05-16T17:00:00.000Z\",\"EndTime\":\"2021-05-16T20:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"Action\":3,\"InnerCalendarId\":\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\",\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=WE\"}, {\"Rules\":[{\"StartTime\":\"2021-05-16T10:00:00.000Z\",\"EndTime\":\"2021-05-16T12:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"Action\":1,\"InnerCalendarId\":null,\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=TH\"}]}"
}

Response

{
  "InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}

Darbo valandų atvejo pasikartojime redagavimas

2021 m. gegužės 26 d. Timas gali dirbti tik nuo 13.00 iki 19.00 val. Debbie čia naudoja msdyn_SaveCalendar API.

Užklausa

{
 "CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-26T13:00:00.000Z\",\"EndTime\":\"2021-05-26T19:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}], \"InnerCalendarId\":\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\"}]}"
}

Response

{
  "InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\"]"
}

Darbo valandų pasirinktinio pasikartojimo panaikinimas

Timas nusprendė palikti įmonę ir turi ištrinti visą jų tvarkaraštį. Debbie čia naudoja msdyn_DeleteCalendar API.

Užklausa

{
 "CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"34d2210c-9fb6-eb11-a820-000d3afb1dba\",\"IsVaried\":true}"
}

Response

{
  "InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}

Ne darbo laiko kūrimas

Timas tris dienas atostogaus su šeima nuo 2021 m. birželio 9 d.

Užklausa

{
 "CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"InnerCalendarDescription\":\"Family Vacation\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-06-15T00:00:00.000Z\",\"EndTime\":\"2021-06-17T00:00:00.000Z\",\"Effort\":1,\"WorkHourType\":3}]}]}"
}

Response

{
  "InnerCalendarIds": "[\"266c434e-d5be-eb11-a81d-000d3a6e4359\"]"
}

Visos dienos darbo valandų kūrimas

Timui 2021 m. gegužės 20 d. prasideda 72 valandų pamaina. Debbie naudoja API, msdyn_SaveCalendar kad sukurtų Timo darbo valandas.

Užklausa

{
 "CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-20T00:00:00.000Z\",\"EndTime\":\"2021-05-22T00:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}]}]}"
}

Response

{
  "InnerCalendarIds": "[\"6e160a8e-d5be-eb11-a81d-000d3a6e4359\"]"
}

DUK apie „“

Gaunu klaidos pranešimą: "StartTime negali būti didesnis arba lygus EndTime".

Įsitikinkite, kad nepersidengia skirtingų kalendoriaus taisyklių laiko atkarpos. Patikrinkite datas, kad įsitikintumėte, jog "StartTime " nėra vėlesnė nei "EndTime". Be to, patikrinkite, ar laikas nurodomas 24 valandų formatu.

Ar API galima naudoti norint atnaujinti objektą "Darbo valandų šablonai"?

Taip, naudodami šią API galite kurti ir naujinti darbo valandų šablonus kartu su išteklių darbo valandomis.

Gaunu klaidos pranešimą: "Įvyko klaida deserializuojant Microsoft.Dynamics.UCICalendar.Plugins.SaveCalendarContract+CalendarEventInfo objektą. Įvesties šaltinis netinkamai suformatuotas.
or
Besilaukianti valstybė "Elementas".. Susidūrė su 'Tekstas' su pavadinimu '', vardų sritis ''."

Patikrinkite, ar eilutės sintaksė išanalizuota tinkamai. Gali trūkti skliaustelių, kablelių ar kabliataškių.

Gaunu klaidos pranešimą "Neteisingas pasikartojimo modelis. Peržiūrėkite palaikomų modelių dokumentaciją."

Šiuo metu mes palaikome tik šį modelį: FREQ=DAILY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA BYDAY gali būti pakeistas, kad būtų įtraukta mažiau dienų; FREQ tačiau ir INTERVAL negali būti pakeistas. Įsitikinkite, kad modelyje nėra tarpų.

Kaip mes gauname informaciją apie CalendarId ir InnerCalendarId šaltinį?

Galima CalendarId gauti iš išteklių atributų. Paskambinkite šiuo klausimu, kad gautumėte šią informaciją: [org-url]/api/data/v9.1/bookableresources([bookableresourceGUID])

Ankstesnio kvietimo pavyzdys būtų [org-url]/api/data/v9.1/bookableresources(7bb0224b-6712-ec11-94f9-000d3a6d888e).

InnerCalendarId galima gauti iš kalendoriaus atributų. Paskambinkite šiuo klausimu, kad gautumėte šią informaciją: [org-url]/api/data/v9.1/calendars([calendar-id-from-above-call])?$expand=calendar_calendar_rules

Ankstesnio kvietimo pavyzdys yra [org-url]/api/data/v9.1/calendars(02481736-1b6a-4d49-9ebd-a5bd041c1c99)?$expand=calendar_calendar_rules.

Kas atsitinka, jei yra sutampančių taisyklių?

Yra pora skirtingų taisyklėms taikomų įvertinimų.

  • 1 vieta - kasdienis įvykis (darbinis / nedirbantis) ir laisvas laikas.
  • 0 rangas - savaitinis pasikartojimas (darbinis / neveikiantis).

V2 persidengiančios taisyklės

  • 1 įvertinimo taisyklių prioritetas yra didesnis nei 0 įvertinimo taisyklių. Jei tą pačią dieną galioja dvi taisyklės (po vieną iš kiekvieno rango), pirmenybė teikiama dienos įvykiui arba ne darbo laikui, o ne savaitės pasikartojimui.
  • Kai per tą patį datų laikotarpį yra kelios 0 rango taisyklės:
    • Jei laikai nesikerta, jie abu liks kalendoriuje.
    • Jei laikai susikerta, vėliausiai sukurta / modifikuota taisyklė yra ta, į kurią atsižvelgiama ištekliaus kalendoriuje. Visos kitos susikertančios datos intervalo taisyklės pašalinamos. Jei kai kuriose 0 rango taisyklėse kai kuriomis datomis yra sankirtos, bet ne kitose, taisyklė sujungiama, kad būtų išlaikytos nesikertančios sekcijos, o susikertančios dalys pašalinamos.

V2 kalendoriaus veikimo pavyzdžiai:

1 pavyzdys – pasikartojančios darbo valandos: persidengiančios datos be persidengiančių dienų / laikų

Tam tikrą datos laikotarpį technikas dirba ryto, popietės ar nakties pamainomis skirtingomis dienomis.

  1. Sukurkite pirmąją pasikartojančio kalendoriaus taisyklę nurodytam dienų diapazonui. Pavyzdžiui: Repeat Mon, Tue; 1.1-4.1; 8–5 val. ET.

  2. Sukurkite antrą pasikartojančią kalendoriaus taisyklę, skirtą susikertančiai datų sekai, kartu užtikrindami, kad darbo valandos nesikirstų su ankstesnėmis dienomis ar laikais. Pavyzdžiui: Repeat Wed, Thu; 1.1-4.1; 8am-5pm ET arba Repeat Mon, Tue; 1.1-4.1; 5-8pm ET.

Rezultatas: Abi kalendoriaus taisyklės išlieka ir egzistuoja kartu viena su kita.

2 pavyzdys – pasikartojančios darbo valandos: kai kurios persidengiančios datos su visomis persidengiančiomis dienomis ir antroji taisyklė prasideda / baigiasi prieš pirmąją taisyklę arba po jos

Technikas gauna naują darbo grafiką, kuris pakeičia keletą savaičių senojo grafiko. Pagal sutartį jie visada dirba tomis pačiomis dienomis kiekvieną savaitę.

  1. Sukurkite pirmąją pasikartojančio kalendoriaus taisyklę nurodytam dienų diapazonui. Pavyzdžiui: Repeat Mon, Tue; 2.1-4.1; 8–5 val. ET.

  2. Sukurkite antrą pasikartojančią kalendoriaus taisyklę persidengiančiam datų diapazonui, kai visomis dienomis yra persidengiančių darbo valandų. Pasirinkite šios naujos taisyklės pradžios / pabaigos datas, kurios yra prieš arba po kumščio taisyklės pradžios / pabaigos datos. Pavyzdžiui: Repeat Mon, Tue; 3.1-5.1; 13-8 val. ET.

Rezultatas: pirmoji taisyklė sutrumpinama, kad tilptų į antrosios taisyklės pradžios / pabaigos datą. Pavyzdžiui: Repeat Mon, Tue; 2.1-2.28; 8am-5pm ET IR Repeat Mon, Tue; 3.1-5.1; 13-8 val. ET.

3 pavyzdys – pasikartojančios darbo valandos: visos persidengiančios datos su kai kuriomis persidengiančiomis dienomis / laikais

Technikas yra pagal sutartį dirbantis darbuotojas nustatytam 2 mėnesių laikotarpiui. Jie sutarė kai kuriomis dienomis imtis papildomų darbų. Jie nori perkelti antradienio darbo valandas į ankstesnį / vėlesnį laiką.

  1. Sukurkite keletą pasikartojančių kalendoriaus taisyklių nurodytam dienų diapazonui. Pavyzdžiui: Repeat Mon, Tue; 2.1-4.1; 8-12 val. ET IR Repeat Tue, Wed; 2.1-4.1, 13-5 val. ET.

  2. Sukurkite naują pasikartojančio kalendoriaus taisyklę tam pačiam dienų diapazonui. Pasirinkite dienas / laikus, kurie iš dalies sutampa su pradinėmis taisyklėmis. Pavyzdžiui: Pakartokite Tue, Thurs ; 2.1-4.1; 10-2 val. ET.

Rezultatas: Naujoji taisyklė perrašo senąją ten, kur yra persidengimų, o kitas palieka nepakeistas. Pavyzdžiui: Repeat Mon; 2.1-4.1; 8am-12pm ET AND Repeat Wed; 2.1-4.1; 13-5pm ET AND Repeat Tue, Thurs ; 2.1-4.1; 10am-2pm ET.

4 pavyzdys – pasikartojančios darbo valandos: naujos taisyklės datos, esančios senoje taisyklėje, kai kurios persidengiančios dienos / laikai

Technikas dirba kiekvieną savaitę 8–17 val., pirmadieniais–penktadieniais. Vos dvi savaites jie vykdys specialų avarinį projektą kiekvieną pirmadienį-trečiadienį su skirtingomis darbo valandomis 6–6 val.

  1. Sukurkite pirmąją pasikartojančio kalendoriaus taisyklę nurodytam dienų diapazonui. Pavyzdžiui: Repeat Mon, Tue,Wed,Thu,Fri; 1.1-No End Date; 8am-5pm ET.

  2. Sukurkite antrą pasikartojančią kalendoriaus taisyklę, esančią anksčiau pateiktame dienų diapazone, pasirinkite darbo valandas, kurios kai kuriomis dienomis persidengia. Pavyzdžiui: Repeat Mon, Tue,Wed; 5.1-5.14; 6am-6pm ET.

Rezultatas: Iki šio pratimo pabaigos kalendoriuje turėtų būti keturios pasikartojančios taisyklės:

  • Sutrumpinti pirmąją taisyklę iki antrosios taisyklės pradžios datos
  • Antroji kalendoriaus taisyklė
  • Sukurkite naują taisyklę, panašią į pirmąją, bet su nepersidengiančių dienų antrosios taisyklės datomis
  • Sutrumpinti pirmąją taisyklę, kad ji prasidėtų nuo antrosios taisyklės pabaigos datos, be pabaigos datos

Pavyzdžiui: Pakartokite pirmadienį, antradienį, trečiadienį, ketvirtadienį, penktadienį; 1,1–4,30 val.; 8.00–17.00 ET IR Pakartokite pirmadienį, antradienį, trečiadienį; 5.1-5.14; 6.00–18.00 ET IR Pakartokite ketvirtadienį, penktadienį, 5.1-5.14; 8.00–17.00 ET IR Pakartokite pirmadienį, antradienį, trečiadienį, ketvirtadienį, penktadienį; 5.15 – nėra pabaigos datos; 8–17 val. ET

5 pavyzdys – nesikartojančios darbo valandos (įvykis, 1 rango taisyklė)

Technikas turi keletą komandos darnos dienų, kurios turi viršenybę prieš visus kitus tos dienos darbo valandų atvejus.

  1. Sukurkite pasikartojančią kalendoriaus taisyklę tam tikrai dienų sekai. Pavyzdžiui: Repeat Mon, Tue,Wed,Thu,Fri; 1.1-No End Date; 8am-5pm ET.

  2. Sukurkite nesikartojančią kalendoriaus taisyklę aukščiau nurodytoje dienų sekoje. Pasirinkite darbo valandas, kurios kai kuriomis dienomis sutampa. Pavyzdžiui: Nepasikartoja; 6,21; 7–13 val. ET.

Rezultatas: iki pratimo pabaigos kalendoriuje turi būti 1 nesikartojanti taisyklė (įvykis). Nesikartojimo taisyklė nepaiso persidengiančio pasikartojimo visą dieną. Pavyzdžiui: Pakartokite pirmadienį, antradienį, trečiadienį, ketvirtadienį, penktadienį; 1.1 – Pabaigos datos nėra išskyrus 6.21; nesikartojantis; 6,21; 7–13 val. ET.

V1 sutampančios taisyklės

  • 1 įvertinimo taisyklių prioritetas yra didesnis nei 0 įvertinimo taisyklių. Taigi, jei tą pačią dieną buvo dvi taisyklės (po vieną iš kiekvieno rango), kasdienis įvykis arba laisvalaikio įvykis turi pirmenybę prieš savaitinį pasikartojimą.
  • Jei yra dvi to paties įvertinimo taisyklės, vėliausiai sukurta / modifikuota taisyklė bus taikoma ištekliaus kalendoriuje.
  • Atminkite, kad visos dienos įvykiai yra 1 įvertinimo, todėl galbūt norėsite pakeisti juos į kassavaitinį įvykį, kad galėtumėte įtraukti įvykio darbo valandas ir kad jų būtų paisoma.
  • Kai nustatyta darbo valanda ir sukuriamas su ja parsidengiantis ne laiko įvykis, jis persidengia, taisyklės padalijamos taip, kad būtų užtikrinama, jog bus paisoma nedarbo laiko, o visas likęs laikas kaip darbo valandos liks nepakitęs. Pavyzdžiui, jei yra darbo valandų nuo 8:00 iki 17:00 val. rugsėjo 21 d., o nedarbo laiko įvykis pridedamas nuo 15:00 iki 19:00 rugspėjo 21 d., tai bus išspręsta kaip darbo valandos nuo 8:00 iki 15:00 val. ir nedarbo laikas nuo 15:00 iki 19:00 val. Tačiau, jei taisyklės buvo sukurtos naudojant atvirkštinę tvarką (nedarbo laikas sukurtas pirmiau, o tada sukurtos darbo valandos), nepriklausomai nuo laiko intervalo, iš naujo bus pažymėta tik darbo valanda. Nedarbo laiko bus nepaisoma.

Laiko juostų kodai

Išvardijimas Laiko juosta
0 (GMT-12:00) Vakarinė datos keitimosi linija
1 (GMT+13:00) Samoa
2 (GMT-10:00) Havajai
3 (GMT-09:00) Aliaska
4 (GMT-08:00) Ramiojo vandenyno laikas (JAV ir Kanada)
5 (GMT-08:00) Žemutinė Kalifornija
6 (GMT-11:00) Universalusis laikas-11
7 (GMT-10:00) Aleutų salos
8 (GMT-09:30) Markizo salos
9 (GMT-09:00) Universalusis laikas - 09
10 (GMT-07:00) Kalnų laikas (JAV ir Kanada)
11 (GMT-08:00) Universalusis laikas - 08
12 (GMT-07:00) Čichuachua, La Pasas, Mazatlanas
15 (GMT-07:00) Arizona
20 (GMT-06:00) Centrinis laikas (JAV ir Kanada)
25 (GMT-06:00) Saskačevanas
29 (GMT-06:00) Gvadalachara, Meksikas, Monterėjus
33 (GMT-06:00) Centrinė Amerika
34 (GMT-06:00) Velykų sala
35 (GMT-05:00) Rytų laikas (JAV ir Kanada)
40 (GMT-05:00) Indiana (Rytų)
43 (GMT-05:00) Haitis
44 (GMT-05:00) Havana
45 (GMT-05:00) Bogota, Lima, Kitas, Rio Brankas
47 (GMT-04:00) Karakasas
50 (GMT-04:00) Atlanto laikas (Kanada)
51 (GMT-05:00) Terksas ir Kaikosas
55 (GMT-04:00) Džordžtaunas, La Pasas, San Chuanas
56 (GMT-04:00) Santjagas
58 (GMT-04:00) Kujaba
59 (GMT-04:00) Asunsjonas
60 (GMT-03:30) Niūfaundlendas
65 (GMT-03:00) Brazilija
69 (GMT-03:00) Buenos Airės
70 (GMT-03:00) Kajenas, Fortaleza
71 (GMT-03:00) Salvadoras
72 (GMT-03:00) Sen Pjeras ir Mikelonas
73 (GMT-03:00) Grenlandija
74 (GMT-03:00) Montevidėjas
75 (GMT-02:00) Vidurio Atlanto
76 (GMT-02:00) Universalusis laikas - 02
77 (GMT-03:00) Aragvaina
80 (GMT-01:00) Azorai
83 (GMT-01:00) Žaliojo Kyšulio Salos
84 (GMT+01:00) Kasablanka
85 (GMT+00:00) Dublinas, Edinburgas, Lisabona, Londonas
90 (GMT+00:00) Monrovija, Reikjavikas
92 (GMT) Universalusis laikas
95 (GMT+01:00) Belgradas, Bratislava, Budapeštas, Liubliana, Praha
100 (GMT+01:00) Sarajevas, Skopjė, Varšuva, Zagrebas
105 (GMT+01:00) Briuselis, Kopenhaga, Madridas, Paryžius
110 (GMT+01:00) Amsterdamas, Berlynas, Bernas, Roma, Stokholmas, Viena
113 (GMT+01:00) Vakarų centrinė Afrika
115 (GMT+02:00) Kišiniovas
120 (GMT+02:00) Kairas
125 (GMT+02:00) Helsinkis, Kijevas, Ryga, Sofija, Talinas, Vilnius
129 (GMT+02:00) Amanas
130 (GMT+02:00) Atėnai, Bukareštas
131 (GMT+02:00) Beirutas
133 (GMT+02:00) Damaskas
134 (GMT+03:00) Stambulas
135 (GMT+02:00) Jeruzalė
140 (GMT+02:00) Hararė, Pretorija
141 (GMT+02:00) Vindhukas
142 (GMT+02:00) Gaza, Hibronas
145 (GMT+03:00) Maskva, Sankt Peterburgas
150 (GMT+03:00) Kuveitas, Rijadas
151 (GMT+03:00) Minskas
155 (GMT+03:00) Nairobis
158 (GMT+03:00) Bagdadas
159 (GMT+02:00) Kaliningradas
160 (GMT+03:30) Teheranas
165 (GMT+04:00) Abu Dabis, Muskatas
169 (GMT+04:00) Baku
170 (GMT+04:00) Jerevanas
172 (GMT+04:00) Port Luisas
173 (GMT+04:00) Tbilisis
174 (GMT+04:00) Iževskas, Samara
175 (GMT+04:30) Kabulas
176 (GMT+04:00) Astrachane, Uljanovskas
180 (GMT+05:00) Jekaterinburgas
184 (GMT+05:00) Islamabadas, Karačis
185 (GMT+05:00) Taškentas
190 (GMT+05:30) Čenajus (Madrasas), Kolkata (Kalkuta), Mumbajus (Bombėjus), Naujasis Delis
193 (GMT+05:45) Katmandu
195 (GMT+06:00) Astana
196 (GMT+06:00) Daka
197 (GMT+06:00) Omskas
200 (GMT+05:30) Šri Džajavardenepūra
201 (GMT+07:00) Novosibirskas
203 (GMT+06:30) Jangonas (Rangūnas)
205 (GMT+07:00) Bankokas, Hanojus, Džakarta
207 (GMT+07:00) Krasnojarskas
208 (GMT+07:00) Barnaulas, Gorno-Altaiskas
209 (GMT+07:00) Kobdas
210 (GMT+08:00) Pekinas, Čongčingas, Honkongas, Urumčis
211 (GMT+07:00) Tomskas
215 (GMT+08:00) Kuala Lumpūras, Singapūras
220 (GMT+08:00) Taipėjus
225 (GMT+08:00) Pertas
227 (GMT+08:00) Irkutskas
228 (GMT+08:00) Ulan Batoras
229 (GMT+09:00) Pchenjanas
230 (GMT+09:00) Seulas
231 (GMT+08:45) Eukla
235 (GMT+09:00) Osaka, Saporas, Tokijas
240 (GMT+09:00) Jakutskas
241 (GMT+09:00) Čita
245 (GMT+09:30) Darvinas
250 (GMT+09:30) Adelaidė
255 (GMT+10:00) Kanbera, Melburnas, Sidnėjus
260 (GMT+10:00) Brisbanas
265 (GMT+10:00) Hobartas
270 (GMT+10:00) Vladivostokas
274 (GMT+10:30) Lordo Hau sala
275 (GMT+10:00) Guamas, Port Morsbis
276 (GMT+11:00) Bugenvilio sala
277 (GMT+11:00) Norfolko sala
278 (GMT+11:00) Sachalinas
279 (GMT+11:00) Čokurdachas
280 (GMT+11:00) Saliamono salos, Naujoji Kaledonija
281 (GMT+11:00) Magadanas
284 (GMT+12:00) Universalusis laikas + 12
285 (GMT+12:00) Fidžis
290 (GMT+12:00) Oklendas, Velingtonas
295 (GMT+12:00) Anadyris, Petropavlovskas-Kamčatskas
299 (GMT+12:45) Čatamo salos
300 (GMT+13:00) Nukualofa
301 (GMT-05:00) Četumalis
302 (UTC+02:00) Chartumas
303 (GMT-03:00) Punta Arenasas
304 (GMT+04:00) Volgogradas
305 (GMT-07:00) Jukonas