Jagamisviis:


Töötunni kalendrite redigeerimine API-sid kasutades

Organisatsioonid peavad sageli oma ressursside kalendrites töötunde programmiliselt looma, redigeerima või kustutama. Kalendrites kuvatakse tööaeg, vaba aeg ja pausid, mis määratlevad ressursi saadavuse planeerimisel. Need ressursid peavad olema ajastatud kindlates ajavööndites, võivad või ei pruugi järgida ettevõtte sulgemisaega ja neil võib olla muutuv jõudlus. Lisateavet töötundide määratlemise kohta rakenduses Field Service leiate teemast Töötundide lisamine broneeritavale ressursile.

Lisaks rakenduse Field Service kasutamisele saate valitud kirjete tüüpide kalendrireeglite muutmiseks kasutada järgmisi API-sid.

  • Save Calendar API (msdyn_SaveCalendar) loob või värskendab kalendrikirjeid valitud olemis, tuginedes taotlusena edastatud sisenditele.
  • Kustuta kalendri API (msdyn_DeleteCalendar) kustutab kõik valitud olemi kalendri sisemised kalendrireeglid , mis põhinevad taotlusena edastatud sisenditel.
  • Salvesta/kustuta kalendri API V2 (msdyn_SaveCalendar/msdyn_DeleteCalendar, läbib lipu UseV2) võimaldab korraga mitut töötunni kordumist, muutes kattuvate reeglite loogikat. Lisateavet leiate teemast Mis juhtub kattuvate reeglite korral?.

See artikkel sisaldab üksikasju iga API sisendi (taotluse) ja väljundi (vastus) ning nende kasutamise kohta koos näidetega.

eeltingimused

  • Platvormi versioon 9.2.21055 või uuem koos universaalse ressursiplaneerimise versiooniga 3.12.45.7.
  • Ühe järgmise kirjetüübi kasutamine.
    • Broneeritav ressurss (bookableresource)
    • Ressursivajadus (msdyn_resourcerequirement)
    • Töötunni mall (msdyn_workhourtemplate)
    • Projekt (msdyn_project)

Kalendri sündmuse tüübid

Kalendri loomisel saate määratleda, mitu korda töötunni tüüp esineb – üks kord, kogu päev, iga nädal või iga päev, või saate luua kohandatud korduvuse. Lisateavet nende kalendrisündmuste kohta leiate selle artikli allpool toodudnäidetest.

Esinemiskord

Kui töötunni tüüp esineb olemi kalendris ainult üks kord, nimetatakse seda toimumiskorraks .

Näiteks mõelge ressurssi peale, kes töötab 26. mail 2021 ajavahemikul 5.00–10.00. Need API-d toetavad ainult seda tüüpi esinemist, mis algavad ja lõpevad samal päeval. Teise näitena mõelge ressursi peale, mis töötab alates 26. maist 2021 kell 20.00 kuni 10.00 27. mail 2021. Seda esinemiskorda ei saa luua, kasutades ainult ühte API kõnet msdyn_SaveCalendar ; selle asemel peate tegema kaks kõnet.

Kogupäevane esinemine

Kui töötunni tüüp esineb ühe või mitme täispäeva jooksul alates alguskuupäeva keskööst (12:00 AM), on see kogu päeva toimuv sündmus. Kogu päeva toimumise maksimaalne kestus on viis aastat.

Näiteks töötab ressurss kogu päeva alates 26. maist 2021 kuni päeva lõpuni 30. mail 2021. See on kogu päeva kestev sündmus, mis kestab viis päeva.

Iga-nädalane korduvus

Kui töötunni tüüp esineb iga nädala valitud päevadel samal ajal, nimetatakse seda iganädalaseks kordumiseks.

Näiteks töötab ressurss igal esmaspäeval, teisipäeval ja kolmapäeval ajavahemikul 5.00–10.00.

Igapäevane korduvus

Kui töötunni tüüp esineb iga päev samal kellaajal, nimetatakse seda igapäevaseks kordumiseks.

Näiteks töötab ressurss igal nädalapäeval ajavahemikul 5.00–10.00.

Kohandatud kordumine

Kui töötunni tüüp ilmneb teatud kellaaegadel teatud nädalapäevadel, kuid kellaajad on erinevatel päevadel erinevad, saate luua kohandatud korduse.

Näiteks ressurss töötab igal esmaspäeval kell 5.00–10.00 ja igal kolmapäeval kell 12.00–15.00.

Töötundide tüübid

Need API-d toetavad järgmiste töötunnitüüpide toimingute loomist, värskendamist ja kustutamist.

Töötunnid

Tööaeg on aeg, mille jooksul olem on töö tegemiseks saadaval.

Nende API-de abil saate teha järgmist.

  • Luua, redigeerida või kustutada tööaja esinemiskorra.
  • Luua, redigeerida või kustutada tööaja igapäevast korduvust.
  • Luua, redigeerida või kustutada tööaja iganädalast korduvust.
  • Luua, redigeerida või kustutada tööaja kohandatud korduvust.
  • Luua, redigeerida või kustutada kogupäevased töötunnid.
  • Luua või muuta töötundide jõudlust.
  • Muuta korduvuses ühekordset tööaja esinemiskorda.
  • Redigeerige seda ja järgnevaid esinemisi korduvalt.
  • Muuta tööaja esinemiskorra kordumiseks.
  • Muuta kalendri reegli ajavööndit.

Selle API abil te järgmist teha ei saa.

  • Kustutada korduvusest ühekordse tööaja esinemiskorra.
  • Luua esinemiskorra, mis kestab 24 tundi, kuid ei käivitu ega lõpe keskööl (00.00).
  • Luua, redigeerida või kustutada kogu päeva kestva korduvuse.

Tööväline tund

Need on ajad, mil olem ei ole määratlemata põhjusel töötamiseks kättesaadav.

Nende API-de abil saate teha järgmist.

  • Kogu päeva mittetöötundide loomine või redigeerimine.
  • Mittetöötava tunni esinemiskorra loomine või redigeerimine.
  • Muuta kalendri reegli ajavööndit.

Nende API-de ei saa te teha järgmist.

  • Mittetöötava tunni korduvuse loomine või redigeerimine.

Klahv Break

Need on ajad tööpäeva jooksul, millal üksus teeb pausi ja ei ole tööks kättesaadav. Pausid ei saa eksisteerida ilma tööajata; need peavad toimuma kahe tööaja vahel päevas. Pausid ei tohi kattuda tööajaga.

Nende API-de abil saate teha järgmist.

  • Luua või redigeerida tööajal pause.

Nende API-de ei saa te teha järgmist.

  • Kustutada pausid ainult tööaja esinemiskorrast või korduvusest.

Eemalolekuaeg

Need on ajad, mil olem ei ole puhkuse tõttu töötamiseks kättesaadav. Määrata saab vaba aja põhjuse.

Nende API-de abil saate teha järgmist.

  • Luua või muuta vaba aega sildiga.
  • Muuta kalendri reegli ajavööndit.

Nende API-de ei saa te teha järgmist.

  • Luua või redigeerida vaba aja korduvust.

Äri lõpetamine

Saate luua ettevõtte sulgemise olemeid , mis määratlevad ettevõtte sulgemise ajad. msdyn_SaveCalendar API abil saate seadistada iga olemi jälgima või ignoreerima organisatsiooni äritegevuse sulgemise aegu, kasutades valikulist võtit JälgimineSulgemine . Kui need sulgemised on seatud jälgima, pole olemid töö jaoks saadaval.

Kalendri API salvestamine

Sisend

Taotlus sisaldab ainult ühte atribuuti – CalendarEventInfo, mis on stringitüüp . See sisaldab mitmeid teisi atribuute, mis kõik on sellesse stringi manustatud.

Märkus.

Järgmises tabelis tähistab tüüp vormingut, mille puhul eeldatakse, et taotlus õnnestub. Kogu taotlus sõelutakse samas ühe stringina.

CalendarEventInfo

Nimi Tüüp Nõutav Kirjeldus
EntityLogicalName String Ja See võti kirjeldab olemit, kust API-d kutsutakse. Selle olemi kalender tuleb luua või seda redigeerida.
KalendriID GUID Ja See võti sisaldab ülalkirjeldatud olemiga seotud kalendri ID-d. Kui mõni neist olemitest on loodud, luuakse automaatselt ka kalendrikirje. Need API-d redigeerivad seda kalendrikirjet, lisades reegleid või redigeerides olemasolevaid reegleid.
RulesAndRecurrences RulesAndRecurrences Ja See võti on massiiv ja iga element sisaldab mitut järgmise jaotise tabelis loetletud atribuuti. Massiivi suurus peaks olema vähemalt üks.
IsVaried Loogiline No See võti peaks olema seatud kohandatud kordumise stsenaariumide jaoks true .
IsEdit Loogiline No See võti peaks olema seatud olemasolevate true reeglite redigeerimiseks.
TimeZoneCode Integer No See võti võtab täisarvulise väärtuse, mis vastab kalendrireeglite ajavööndile. Vastendamine leiate selle artikli lõpust jaotisest Ajavööndikoodid. Vaikeväärtus on kasutaja ajavöönd.
InnerCalendarDescription String No Seda võtit on vaja ainult siis, kui kalendrireegel on ette nähtud vaba aja jaoks. See peaks sisaldama vaba aja põhjust.
ObserveClosure Loogiline No See võti on omane kordumistele. Kui see on seatud väärtusele true, jälgib (majandus)üksus ettevõtte sulgemist.
RecurrenceEndDate DateTime No See võti on omane kordumistele. See sisaldab kordumise lõpukuupäeva. Kui ajatempel on 08.00.00 või varasem, on kordumise lõpukuupäev üks päev enne määratud kuupäeva. Kui ajatempel on 08.00.01 või hilisem, järgitakse kuupäeva järgmiselt. Esinemiskordade vaikeväärtus on tühi. Korduste vaikeväärtus on 30 Dec 9999, 23:59:59 hours, UTC.
RecurrenceSplit Loogiline No See võti on omane kordumistele. See on seatud redigeerimiseks true "See ja järgnevad sündmused" kordumise korral.
ResourceId GUID No See võti sisaldab süsteemi SystemUserId või ResourceId ja see tuleb edastada ainult siis, kui selle kõnega seotud olem on broneeritav ressurss, mille tüüp on SystemUser. See on vajalik vahekaardil Teenusehaldus OwnCalendari õiguste kontrollimiseks.
UseV2 Lipp No Selle lipu läbimine lubab töötundide kalendri V2-versiooni, täiustatud kattuvate reeglite loogikaga, mis võimaldab mitut kordumist. Lisateavet leiate teemast Mis juhtub kattuvate reeglite korral?.

RulesAndRecurrences

Nimetus Tüüp Nõutav Kirjeldus
Reeglid Reeglid Ja See võti on massiiv ja iga element sisaldab mitut järgmise jaotise tabelis loetletud atribuuti. Massiivi suurus peaks olema vähemalt üks.
RecurrencePattern String No See võti on omane kordumistele. Praegu me ainult toetame seda mustrit: FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA BYDAY saab muuta, et lisada vähem päevi; FREQ aga ja INTERVAL seda ei saa muuta.
InnerCalendarId GUID No See võti on omane redigeerimisele. Kui reeglit redigeeritakse, tuleb InnerCalendarId siia edastada. Kui InnerCalendarId ei ole läbitud, loob API uue reegli, isegi kui võti IsEdit on seatud väärtusele tõene.
Tegevus Integer No See võti on omane kohandatud kordumistele. Kohandatud kordumise loomisel või redigeerimisel tuleb sisestada üks järgmistest numbritest.
  • (1) Kordumise päeva lisamine
  • (2) Päeva kustutamine kordumisest
  • (3) Ainult algus- või lõpukuupäevade või -kellaaegade muutmine või redigeerimismaht
  • (4) Muude kui punktis (3) nimetatud võtmete redigeerimine

Reeglid

Nimetus Tüüp Nõutav Kirjeldus
StartTime DateTime Ja See võti sisaldab kuupäeva ja kellaaja kirjet ISO-vormingus. Näiteks,. \"2021-05-15T12:00:00.000Z\" Ajaosa määratleb tööaja algusaja varem määratud ajavööndis. Kuupäeva osa määratleb tööaja alguskuupäeva. Siin on 15. mai 2021 toimumise kuupäev või kordumise alguskuupäev. Kui muster oli BYDAY=TU,WE, kuid kuupäevaks on 15. mai (laupäev), loob või redigeerib API automaatselt reegleid kõigi 15. maile järgnevate teisipäevade ja kolmapäevade jaoks. See on nii juhul, kui reeglil ei pea olema päevale vastavat kuupäeva.
EndTime DateTime Ja See sisaldab kuupäeva ja kellaaja kirjet ISO-vormingus. Näiteks,. \"2021-05-15T12:00:00.000Z\" Ajaosa määratleb tööaja lõpuaja varem määratud ajavööndis. Kuupäevaosa peab sisaldama sama kuupäeva, mis alguskellaaja kuupäevaosa. Ainsad erandid on järgmised.
  • Kui see on kogu päeva kestev sündmus. Sel juhul peaks kuupäevaosa kajastama kogu päeva toimumise lõpukuupäeva.
  • Esinemiskord lõpeb päeva lõpus, st järgmisel päeval kell 00.00. Sel juhul peaks kuupäev olema \"2021-05-16T00:00:00.000Z\". Kordumise lõppkuupäeva määramiseks muutke atribuuti RecurrenceEndDate .
WorkHourType Integer Ja See võti sisaldab numbrit, mis vastab ühele järgmistest suvanditest.
  • (0) Töötamine
  • (1) Paus
  • (2) Mittetöötamine
  • (3) Eemalolekuaeg
Tööpanus Integer No See võti määratleb olemi võimsuse. See peab olema täisarv. Vaikeväärtus on 1.

Väljund

See POST-i API loob või muudab valitud olemi kalendrireegli kirjeid. See annab ka järgmise väljundi.

Nimi Tüüp Kirjeldus
InnerCalendarIds String Massiiv InnerCalendarIds GUID-sid, mis tulenevad operatsioonist POST.

Kalendri API kustutamine

Sisend

Nimi Tüüp Nõutav Kirjeldus
EntityLogicalName String Ja Sellel väljal kirjeldatakse olemit, mille kalendrireeglid tuleb kustutada.
InnerCalendarId GUID Ja See väli kirjeldab kustutatava InnerCalendarID ID-d. Kui ühe reegliga on seotud mitu InnerCalendarID-d , piisab siin ühest ID-st. Lisateave sise- ja väliskalendrite kohta: kalendriolemid
KalendriID GUID Ja See väli kirjeldab olemi kalendri-ID-d .
IsVaried Loogiline No See väli on seotud kordustega ja on seatud väärtusele yes , kui kohandatud kordusreegel kustutatakse.
UseV2 Lipp No Selle lipu läbimine lubab töötundide kalendri V2-versiooni, täiustatud kattuvate reeglite loogikaga, mis võimaldab mitut kordumist. Lisateavet leiate teemast Mis juhtub kattuvate reeglite korral?.

Väljund

See POST-i API kustutab valitud olemi kalendrireegli kirjeid. Lisaks annab see ka järgmise väljundi.

Nimetus Tüüp Kirjeldus
InnerCalendarIds String Massiiv InnerCalendarIds GUID-sid, mis tulenevad operatsioonist POST.

Kalendri API laadimine

Sisend

Nimi: msdyn_LoadCalendars
Tüüp: Tegevus
Kirjeldus: tagastab antud LoadCalendarsInputi kalendrid.

Nimi: msdyn_LoadCalendars.LoadCalendarsInput
Tüüp: Parameeter
Kirjeldus: string järgmises JSON-vormingus:

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

Nimi: msdyn_LoadCalendarsResponse
Tüüp: ComplexType
Kirjeldus: sisaldab toimingu msdyn_loadCalendars vastus.

Nimi: msdyn_LoadCalendarsResponse.CalendarEvents
Tüüp: Omadus
Kirjeldus: string järgmises JSON-vormingus:

{
"calendarId": CalendarEventSlot[]
}

Kus calendarId on kalendri ja CalendarEventSloti guidi tähistav õige guid on järgmise vormingu objekt:

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

Kuidas API-sid kutsuda?

Neid API-sid saab kutsuda brauseri abil.

  1. Avage brauser ja organisatsioon, kus peate neid kalendri muudatusi tegema.
  2. Avage Arendaja tööriistad (valige Ctrl+Shift+I in Microsoft Edge, valige Google Chrome’is F12 ).
  3. Sisestage konsoolis järgmine funktsioon pärast [org-name] asendamist organisatsiooni üksikasjadega (näiteks): 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. Pärast selle funktsiooni määratlemist saate seda kutsuda kalendrite loomiseks, redigeerimiseks või kustutamiseks API-de abil. Sisestage kalendri salvestamiseks järgmine kõne:
       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
                   }]
               }]
           }"
       })

Sisestage kalendri kustutamiseks järgmine kutse:

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

Vaadake järgmist jaotist, et näha näiteid selle kohta, kuidas teha erinevaid kutseid vastavalt oma vajadustele. Asendage action samm 3 funktsioonikõne funktsioonikõnega msdyn_SaveCalendar või msdyn_DeleteCalendar ja asendage data asjakohasega CalendarEventInfo.

Vaadake ka järgmist ekraanipilti üleskutse Power Automate kohta msdyn_SaveCalendar : Power Automate kutsuda üles msdyn_SaveCalendar tegutsema.

API kasutuse näidisstsenaariumid

Vaatame läbi mõned stsenaariumid, mille jaoks saate neid API-sid kasutada.

Bob ja Tim on veoautojuhid ettevõttes Contoso Enterprises, Bellevue linnas Washingtoni osariigis. Nende dispetšer Debbie vastutab muudatuste tegemise eest nende töögraafikutes. Debbie teeb need muudatused, msdyn_SaveCalendar kasutades API-sid msdyn_DeleteCalendar .

Tööaja esinemiskorra loomine.

Bob sõidab ringi, et toimetada pakke 15. mail 2021 kella 9.00-st kuni 17.00-ni. Debbie kasutab API-d msdyn_SaveCalendar .

Taotlus

{
 "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}]}]}"
}

Tagasiside

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

Tööaja esinemiskorra muutmine.

Bobi ajakava seejärel muutub, et alustada 15. mail 2021 kell 10.00. Debbie kasutab API-d msdyn_SaveCalendar .

Taotlus

{
 "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\"}]}"
}

Tagasiside

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

Tööaja esinemiskorra kustutamine.

Tuleb perekondlik hädaolukord ja Bob peab tühistama terve tööpäeva. Debbie kasutab API-d msdyn_DeleteCalendar .

Taotlus

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

Tagasiside

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

Tööaja igapäevase korduvuse loomine

Alates 20. maist 2021 otsustab Bob töötada Contosoga kogu nädala kella 8.00–17.00 ja lõpetab seal töötamise 15. juulil 2021.

Taotlus

{
 "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\"}]}"
}

Tagasiside

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

Tööaja igapäevase korduvuse muutmine suurenenud jõudlusega

Bob otsustab pausi tegemiseks lõpetada töötamise terveks 15. juuni 2021. aasta nädalaks. Kuni selle ajani jätkab Bob kogu nädala ajakava, nagu varem kokku lepitud. Debbie teeb need muudatused API abil msdyn_SaveCalendar .

Taotlus

{
 "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\"}]}"
}

Tagasiside

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

Tööaja iganädalase korduvuse loomine

Alates 16. juunist 2021 töötab Bob kolmapäeviti ja reedeti kella 8.00–17.00 ning teeb lõunasöögiks pausi kella 12.00–12.30. Debbie kasutab API-d msdyn_SaveCalendar , kuid teeb vea ja planeerib pausi kella 12.00-st 13.00-ni.

Taotlus

{
  "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\"}]}"
}

Tagasiside

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

Pausi muutmine tööaja iganädalase korduvuse jaoks

Seejärel parandab Debbie vea ja muudab pausi nii, et see toimuks API abil msdyn_SaveCalendar kella 12.00-st 12.30-ni.

Taotlus

{
  "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\"}]}"
}

Tagasiside

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

Tööaja kohandatud korduvuse loomine

Tim töötab Contosos esmaspäeviti kell 8:00 kuni 17:00 ja kolmapäeviti kell 11:00 kuni 15:00. Tim alustas Contoso tööd 16. mail 2021. Debbie kasutab Timi töötundide loomiseks API-d msdyn_SaveCalendar .

Taotlus

{
"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\"}]}"
}

Tagasiside

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

Tööaja kohandatud korduvuse muutmine

Seejärel muutub Timi ajakava tööajaks kolmapäeviti kell 17.00–20.00 ja neljapäeval kell 10.00–12.00. Esmaspäev eemaldatakse Timi ajakavast. Debbie kasutab selle saavutamiseks API-d msdyn_SaveCalendar .

Taotlus

{
"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\"}]}"
}

Tagasiside

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

Korduvuses tööaja esinemiskorra muutmine

26. mail 2021 saab Tim töötada ainult kell 13.00–17.00. Debbie kasutab API-d msdyn_SaveCalendar siin.

Taotlus

{
 "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\"}]}"
}

Tagasiside

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

Tööaja kohandatud korduvuse kustutamine

Tim on otsustanud ettevõttest lahkuda ja peab kogu oma ajakava kustutama. Debbie kasutab API-d msdyn_DeleteCalendar siin.

Taotlus

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

Tagasiside

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

Eemalolekuaja loomine

Tim võtab kolm vaba päeva perepuhkuseks alates 9. juunist 2021.

Taotlus

{
 "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}]}]}"
}

Tagasiside

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

Kogu päeva kestvate töötundide loomine

Timil on 72-tunnine vahetus alates 20. maist 2021. Debbie kasutab Timi töötundide loomiseks API-d msdyn_SaveCalendar .

Taotlus

{
 "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}]}]}"
}

Tagasiside

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

i KKK-d

Kuvatakse tõrketeade "StartTime ei saa olla suurem ega võrdne lõpuajaga."

Veenduge, et erinevate kalendrireeglite ajapesad ei kattuks. Kontrollige kuupäevi ja veenduge, et StartTime ei oleks hilisem kui EndTime. Samuti veenduge, et kellaajad järgiksid 24-tunnist vormingut.

Kas API-sid saab kasutada olemi "Töötunni mallid" värskendamiseks?

Jah, saate kasutada seda API-d tööajamallide loomiseks ja värskendamiseks lisaks ressursi tööajale.

Kuvatakse tõrketeade "Microsoft.Dynamics.UCICalendar.Plugins.SaveCalendarContract+CalendarEventInfo objekti deserialiseerimisel ilmnes tõrge. Sisendallikas pole õigesti vormindatud.
or
Oodates olekut ’Element’.. Kohatud ’Tekst’ nimega ’’, nimeruum ’’."

Veenduge, et string oleks õigesti sõelutud. Seal võib olla puuduvaid sulge, komasid või semikooloneid.

Kuvatakse tõrketeade "Kehtetu kordumismuster. Vaadake toetatud mustrite dokumentatsiooni."

Praegu me ainult toetame seda mustrit: FREQ=DAILY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA BYDAY saab muuta, et lisada vähem päevi; FREQ aga ja INTERVAL seda ei saa muuta. Veenduge, et mustris pole tühikuid.

Kuidas me saame teavet ressursi CalendarId ja InnerCalendarId kohta?

Neid CalendarId saab tuua ressursiatribuutidest. Selle teabe saamiseks helistage järgmiselt: [org-url]/api/data/v9.1/bookableresources([bookableresourceGUID])

Eelmise kõne näide oleks [org-url]/api/data/v9.1/bookableresources(7bb0224b-6712-ec11-94f9-000d3a6d888e).

Neid InnerCalendarId saab tuua kalendriatribuutidest. Selle teabe saamiseks helistage järgmiselt: [org-url]/api/data/v9.1/calendars([calendar-id-from-above-call])?$expand=calendar_calendar_rules

Eelmise kõne näide on [org-url]/api/data/v9.1/calendars(02481736-1b6a-4d49-9ebd-a5bd041c1c99)?$expand=calendar_calendar_rules.

Mis juhtub, kui eeskirjad kattuvad?

Reeglid kuuluvad paari erineva järjestuse alla.

  • 1 . koht - igapäevane esinemine (töötamine / mittetöötamine) ja vaba aeg.
  • 0. koht - iganädalane kordumine (töötav/mittetöötav).

V2 kattuvad eeskirjad

  • 1. järgi reeglite prioriteet on suurem kui 0. järgu reeglitel. Kui samal päeval on kaks reeglit (üks igast auastmest), on igapäevane esinemine või vaba aja esinemine iganädalase kordumise ees prioriteetne.
  • Kui sama kuupäevavahemiku jooksul on mitu 0-asetuse reeglit:
    • Kui ajad ei ristu, jäävad need mõlemad kalendrisse.
    • Kui ajad ristuvad, on viimati loodud/muudetud reegel see, mida ressursi kalendris arvestatakse. Kõik muud ristuvad reeglid kuupäevavahemikus eemaldatakse. Kui mõnel 0-järgu reeglil on mõnel kuupäeval ristmikud, kuid teistel mitte, ühendatakse reegel, et mittelõikuvad lõigud säiliksid, samal ajal kui ristuvad osad eemaldatakse.

Näited V2 kalendri käitumisest:

Näide 1: korduvad töötunnid: kattuvad kuupäevad, ilma kattuvate päevade/kellaaegadeta

Teatud kuupäevavahemikus töötab tehnik hommikustes, pärastlõunastes või öistes vahetustes erinevatel päevadel.

  1. Looge antud kuupäevavahemiku jaoks esimene korduv kalendrireegel. Näiteks: Korda E, T; 1.1-4.1; kell 8-17 ET.

  2. Looge lõikuva kuupäevavahemiku jaoks teine korduv kalendrireegel, tagades samal ajal, et töötunnid ei lõikuks eelmiste päevade ega kellaaegadega. Näiteks: Korda K, N; 1.1-4.1; 8-5 ET või Korda E, T; 1.1-4.1; 5-8pm ET.

Tulemus: Mõlemad kalendrireeglid jäävad ja eksisteerivad kõrvuti.

Näide 2: korduvad töötunnid: mõned kattuvad kuupäevad, kus kõik kattuvad päevad ja teine reegel algab/lõpeb enne või pärast esimest reeglit

Tehnik saab uue töögraafiku, mis asendab mõned nädalad nende vanast graafikust. Lepingu alusel töötavad nad alati igal nädalal samadel päevadel.

  1. Looge antud kuupäevavahemiku jaoks esimene korduv kalendrireegel. Näiteks: Korda E, T; 2.1-4.1; kell 8-17 ET.

  2. Looge teine korduv kalendrireegel kattuva kuupäevavahemiku jaoks, kus kõigil päevadel on kattuvad töötunnid. Valige selle uue reegli algus-/lõppkuupäevad, mis on rusikareegli algus-/lõppkuupäevast varasemad või hilisemad. Näiteks: Korda E, T; 3.1-5.1; 1pm-8pm ET.

Tulemus: esimest reeglit kärbitakse, et mahutada teise reegli algus- ja lõppkuupäev. Näiteks: Korda E, T; 2.1-2.28; 8-5pm ET JA Korda E, T; 3.1-5.1; 1pm-8pm ET.

Näide 3 – korduvad töötunnid: kõik kattuvad kuupäevad, mõned kattuvad päevad/kellaajad

Tehnik on lepinguline töötaja tähtajaliselt 2 kuud. Nad on kokku leppinud, et võtavad mõnel päeval lisatööd. Nad soovivad nihutada teisipäevase tööaja varasemale/hilisemale ajale.

  1. Looge antud kuupäevavahemiku jaoks mõned korduvad kalendrireeglid. Näiteks: Korda E, T; 2.1-4.1; 8-12pm ET JA Korda T, K; 2.1-4.1, kell 13-17 ET.

  2. Looge sama kuupäevavahemiku jaoks uus korduv kalendrireegel. Valige päevad/kellaajad, mis osaliselt kattuvad algsete reeglitega. Näiteks: Korda Tue, Thurs ; 2.1-4.1; kell 10-14 ET.

Tulemus: Uus reegel kirjutab üle vana, kus on kattuvusi, ja jätab teised muutmata. Näiteks: Korda E; 2.1-4.1; 8-12pm ET JA korrake K; 2.1-4.1; 1pm-5pm ET JA Korda T, Thurs ; 2.1-4.1; kell 10-14 ET.

Näide 4 – töötundide kordamine: vanas reeglis sisalduvad uue reegli kuupäevad, mõned kattuvad päevad/kellaajad

Tehnik töötab iga nädal kell 8-17, E-R. Vaid kaks nädalat tegelevad nad spetsiaalse hädaabiprojektiga igal esmaspäeval, erineva tööajaga kell 6–6.

  1. Looge antud kuupäevavahemiku jaoks esimene korduv kalendrireegel. Näiteks:Korrake E, T,K,N,R; 1.1-Lõppkuupäev puudub; Kell 8-17 ET.

  2. Looge ülaltoodud kuupäevavahemikus teine korduv kalendrireegel, valige mõnel päeval kattuvad töötunnid. Näiteks: Korda E, T,K; 5.1-5.14; 6-18 ET.

Tulemus: Kalendris peaks selle harjutuse lõpuks olema neli korduvat reeglit:

  • Esimese reegli kärpimine teise reegli alguskuupäevani
  • Teine kalendrireegel
  • Looge uus reegel, mis sarnaneb esimese reegliga, kuid millel on mittekattuvate päevade jaoks teise reegli kuupäevad
  • Esimese reegli kärpimine nii, et see algaks teise reegli lõppkuupäevast ilma lõppkuupäevata

Näiteks: Korda E, T,K,N,R; 1,1–4.30; 8–5 ET JA korrake E, T,K; 5.1-5.14; 6–6 ET JA korrake N, R, 5.1-5.14; 8–5 ET JA korrake E, T,K,N,R; 5.15–lõppkuupäev puudub; Kell 8–5 ET

Näide 5: mittekorduv tööaeg (esinemine, 1. järgu reegel)

Tehnikul on mitu meeskonna ühtekuuluvuspäeva, mis on ülimuslikud kõigi teiste päeva töötundide eksemplaride suhtes.

  1. Looge antud kuupäevavahemiku jaoks korduv kalendrireegel. Näiteks:Korrake E, T,K,N,R; 1.1-Lõppkuupäev puudub; Kell 8-17 ET.

  2. Saate luua ülaltoodud kuupäevavahemikus mittekorduva kalendrireegli. Valige tööaeg, mis mõnel päeval kattub. Näiteks: Mittekorduv; 6.21; kell 7-13 ET.

Tulemus: Kalendris peaks harjutuse lõpuks olema 1 mittekorduv reegel (esinemine). Mittekorduv reegel alistab kogu päeva kattuva kordussündmuse. Näiteks:Korda E, T,K,N,R; 1.1-Lõppkuupäev puudub, välja arvatud 6.21; mittekorduv; 6.21; kell 7-13 ET.

V1 kattuvad eeskirjad

  • 1. järgi reeglite prioriteet on suurem kui 0. järgu reeglitel. Nii et kui samal päeval oli kaks reeglit (üks igast auastmest), on igapäevane esinemine või vaba aja esinemine prioriteetne iganädalase kordumise ees.
  • Kui sama järgu jaoks on kaks reeglit, siis viimati loodud/muudetud reegel on see, mida käsitletakse ressursi kalendris.
  • Pidage meeles, et kogu päeva esinemised on 1. järk, seega võiksite kaaluda selle muutmist iganädalase esinemise peale, et oleks võimalik lisada esinemise tööaega ja neist kinni pidada.
  • Kui tööaeg on olemas ja luuakse sellega kattuv eemalolekuaeg, tükeldatakse reeglid nii, et on tagatud eemaloleku aja arvestamine ja mistahes järelejäänud tööaeg jääb samaks. Näiteks kui 21. septembril on tööaeg 8:00 kuni 17:00 ja lisatakse 21. septembrile eemaloleku aeg kell 15:00 kuni 19:00, lahendatakse see nii, et tööaeg on 8:00 kuni 15:00 ja eemaloleku aeg 15:00 kuni 19:00. Kui aga reeglid luuakse vastupidises järjekorras (esmalt luuakse eemalolekuaeg ja seejärel tööaeg) siis valitakse olenemata ajapesadest uuesti ainult tööaeg. Eemaloleku aeg alistatakse.

Ajavööndi koodid

Loetelu Ajavöönd
0 (GMT-12:00) Kuupäevaraja, lääs
1 (GMT+13:00) Samoa
2 (GMT-10:00) Hawaii
3 (GMT-09:00) Alaska
4 (GMT-08:00) Vaikse ookeani aeg (USA ja Kanada)
5 (GMT-08:00) Baja California
6 (GMT-11:00) Koordineeritud universaalaeg-11
7 (GMT-10:00) Aleuudid
8 (GMT-09:30) Markiisaared
9 (GMT-09:00) Koordineeritud universaalaeg-09
10 (GMT-07:00) Kaljumäestiku aeg (USA ja Kanada)
11 (GMT-08:00) Koordineeritud universaalaeg-08
12 (GMT-07:00) Chihuahua, La Paz, Mazatlan
15 (GMT-07:00) Arizona
20 (GMT-06:00) Kesk-Ameerika aeg (USA ja Kanada)
25 (GMT-06:00) Saskatchewan
29 (GMT-06:00) Guadalajara, México, Monterrey
33 (GMT-06:00) Kesk-Ameerika
34 (GMT-06:00) Lihavõttesaar
35 (GMT-05:00) Idaranniku aeg (USA ja Kanada)
40 (GMT-05:00) Indiana (Ida)
43 (GMT-05:00) Haiti
44 (GMT-05:00) Havanna
45 (GMT-05:00) Bogota, Lima, Quito, Rio Branco
47 (GMT-04:00) Caracas
50 (GMT-04:00) Atlandi ookeani aeg (Kanada)
51 (GMT-05:00) Turks ja Caicos
55 (GMT-04:00) Georgetown, La Paz, San Juan
56 (GMT-04:00) Santiago
58 (GMT-04:00) Cuiaba
59 (GMT-04:00) Asuncion
60 (GMT-03:30) Newfoundland
65 (GMT-03:00) Brasiilia
69 (GMT-03:00) Buenos Aires
70 (GMT-03:00) Cayenne, Fortaleza
71 (GMT-03:00) Salvador
72 (GMT-03:00) Saint-Pierre ja Miquelon
73 (GMT-03:00) Gröönimaa
74 (GMT-03:00) Montevideo
75 (GMT-02:00) Kesk-Atlandi
76 (GMT-02:00) Koordineeritud universaalaeg-02
77 (GMT-03:00) Araguaina
80 (GMT-01:00) Assoorid
83 (GMT-01:00) Cabo Verde
84 (GMT+01:00) Casablanca
85 (GMT+00:00) Dublin, Edinburgh, Lissabon, London
90 (GMT+00:00) Monrovia, Reykjavik
92 (GMT) Koordineeritud maailmaaeg
95 (GMT+01:00) Belgrad, Bratislava, Budapest, Ljubljana, Praha
100 (GMT+01:00) Sarajevo, Skopje, Varssavi, Zagreb
105 (GMT+01:00) Brüssel, Kopenhaagen, Madrid, Pariis
110 (GMT+01:00) Amsterdam, Berliin, Bern, Rooma, Stockholm, Viin
113 (GMT+01:00) Lääne-Kesk-Aafrika
115 (GMT+02:00) Chisinau
120 (GMT+02:00) Kairo
125 (GMT+02:00) Helsingi, Kiiev, Riia, Sofia, Tallinn, Vilnius
129 (GMT+02:00) Amman
130 (GMT+02:00) Ateena, Bukarest
131 (GMT+02:00) Beirut
133 (GMT+02:00) Damaskus
134 (GMT+03:00) Istanbul
135 (GMT+02:00) Jeruusalemm
140 (GMT+02:00) Harare, Pretoria
141 (GMT+02:00) Windhoek
142 (GMT+02:00) Gaza, Hebron
145 (GMT+03:00) Moskva, Peterburi
150 (GMT+03:00) Kuveit, Ar-Riyad
151 (GMT+03:00) Minsk
155 (GMT+03:00) Nairobi
158 (GMT+03:00) Bagdad
159 (GMT+02:00) Kaliningrad
160 (GMT+03:30) Teheran
165 (GMT+04:00) Abu Dhabi, Masqat
169 (GMT+04:00) Bakuu
170 (GMT+04:00) Jerevan
172 (GMT+04:00) Port Louis
173 (GMT+04:00) Thbilisi
174 (GMT+04:00) Izhevsk, Samara
175 (GMT+04:30) Kabul
176 (GMT+04:00) Astrakhan, Ulyanovsk
180 (GMT+05:00) Jekaterinburg
184 (GMT+05:00) Islamabad, Karachi
185 (GMT+05:00) Taškent
190 (GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi
193 (GMT+05:45) Katmandu
195 (GMT+06:00) Astana
196 (GMT+06:00) Dhaka
197 (GMT+06:00) Omsk
200 (GMT+05:30) Sri Jayawardenepura
201 (GMT+07:00) Novosibirsk
203 (GMT+06:30) Yangon (Rangoon)
205 (GMT+07:00) Bangkok, Hanoi, Jakarta
207 (GMT+07:00) Krasnojarsk
208 (GMT+07:00) Barnaul, Gorno-Altaisk
209 (GMT+07:00) Hovd
210 (GMT+08:00) Peking, Chongqing, Hongkong, Ürümqi
211 (GMT+07:00) Tomsk
215 (GMT+08:00) Kuala Lumpur, Singapur
220 (GMT+08:00) Taipei
225 (GMT+08:00) Perth
227 (GMT+08:00) Irkutsk
228 (GMT+08:00) Ulaanbaatar
229 (GMT+09:00) Pyongyang
230 (GMT+09:00) Soul
231 (GMT+08:45) Eucla
235 (GMT+09:00) Osaka, Sapporo, Tokyo
240 (GMT+09:00) Jakutsk
241 (GMT+09:00) Chita
245 (GMT+09:30) Darwin
250 (GMT+09:30) Adelaide
255 (GMT+10:00) Canberra, Melbourne, Sydney
260 (GMT+10:00) Brisbane
265 (GMT+10:00) Hobart
270 (GMT+10:00) Vladivostok
274 (GMT+10:30) Lord Howe'i saar
275 (GMT+10:00) Guam, Port Moresby
276 (GMT+11:00) Bougainville'i saar
277 (GMT+11:00) Norfolki saar
278 (GMT+11:00) Sahhalini
279 (GMT+11:00) Chokurdakh
280 (GMT+11:00) Saalomoni Saared, Uus-Kaledoonia
281 (GMT+11:00) Magadan
284 (GMT+12:00) Koordineeritud universaalaeg+12
285 (GMT+12:00) Fidži
290 (GMT+12:00) Auckland, Wellington
295 (GMT+12:00) Anadyr, Petropavlovsk-Kamchatsky
299 (GMT+12:45) Chathami saared
300 (GMT+13:00) Nuku'alofa
301 (GMT-05:00) Chetumal
302 (UTC+02:00) Hartum
303 (GMT-03:00) Punta Arenas
304 (GMT+04:00) Volgograd
305 (GMT-07:00) Yukon