Deli z drugimi prek


Urejanje koledarjev delovnega časa z API-ji

Organizacije morajo pogosto programsko ustvarjati, urejati ali brisati delovni čas v koledarjih svojih virov. Koledarji prikazujejo delovni čas, prosti čas in odmore, ki določajo razpoložljivost vira, ko se načrtuje delo. Ti viri morajo biti razporejeni v določenih časovnih pasovih, lahko upoštevajo zaprtje podjetja ali ne in imajo lahko različne zmogljivosti. Za informacije o določanju delovnih ur v aplikaciji Field Service pojdite na Dodajanje delovnih ur v vir, ki ga je mogoče rezervirati.

Poleg uporabe aplikacije Field Service lahko za spreminjanje pravil koledarja za izbrane vrste zapisov uporabite tudi naslednje API-je:

  • API za shranjevanje koledarja (msdyn_SaveCalendar) ustvari ali posodobi koledarske zapise na izbrani entiteti na podlagi vnosov, posredovanih kot zahteva.
  • API za brisanje koledarja (msdyn_DeleteCalendar) izbriše vsa notranja koledarska pravila koledarja v izbrani entiteti na podlagi vnosov, posredovanih kot zahteva.
  • API za shranjevanje/brisanje koledarja V2 (msdyn_SaveCalendar/msdyn_DeleteCalendar, prehodna zastavica UseV2) omogoča istočasno ponavljanje več delovnih ur s spreminjanjem logike prekrivajočih se pravil. Za več informacij glejte Kaj se zgodi, če obstajajo pravila, ki se prekrivajo?.

Ta članek vsebuje podrobnosti o vnosu (zahtevi) in izhodu vsakega API-ja (odgovor) ter njihovi uporabi s primeri.

Zahteve

  • Različica platforme 9.2.21055 ali novejša z različico univerzalnega razporejanja virov 3.12.45.7.
  • Uporaba ene od naslednjih vrst zapisov:
    • Vir, ki ga je mogoče rezervirati (bookableresource)
    • Zahteva po sredstvih (msdyn_resourcerequirement)
    • Predloga delovnega časa (msdyn_workhourtemplate)
    • Projekt (msdyn_project)

Vrste dogodkov koledarja

Ko ustvarite koledar, določite, kolikokrat se vrsta delovne ure pojavi – enkrat, ves dan, vsak teden ali vsak dan, ali pa lahko ustvarite ponovitev po meri. Za več informacij o teh koledarskih dogodkih pojdite na primere v nadaljevanju tega članka.

Pojavitev

Ko se vrsta delovne ure pojavi samo enkrat v koledarju entitete, se to imenuje pojav.

Poglejmo si na primer vir, ki 26. maja 2021 dela od 5.00 do 10.00. Ti API-ji podpirajo samo to vrsto pojavitve, ki se začne in konča isti dan. Za drug primer si oglejte vir, ki dela od 20. ure 26. maja 2021 do 10. ure 27. maja 2021. Tega pojava ne morete ustvariti z uporabo samo enega klica msdyn_SaveCalendar API; namesto tega morate opraviti dva klica.

Celodnevna pojavitev

Ko se tip delovne ure pojavi za enega ali več celih dni, z začetkom ob polnoči (12.00) na začetni datum, je to cel dan. Najdaljše trajanje celodnevne pojavitve je pet let.

Vir na primer dela ves dan od 26. maja 2021 do konca dne 30. maja 2021. To je celodnevna pojavitev, ki traja pet dni.

Tedenska ponovitev

Če se vrsta delovne ure pojavi ob istem času na izbrane dneve vsakega tedna, se imenuje tedenska ponovitev.

Vir na primer dela od 5.00 do 10.00 vsak ponedeljek, torek in sredo.

Dnevna ponovitev

Če se vrsta delovne ure pojavi vsak dan ob istem času, se to imenuje dnevno ponavljanje.

Vir na primer dela od 5.00 do 10.00 vsak dan v tednu.

Ponovitev po meri

Ko se vrsta delovne ure pojavlja ob določenih urah v določenih dneh v tednu, vendar so ure ob različnih dnevih drugačne, lahko ustvarite ponovitev po meri.

Vir na primer dela vsak ponedeljek od 5.00 do 10.00 in vsako sredo od 12.00 do 15.00.

Vrste delovnega časa

Ti API-ji podpirajo operacije ustvarjanja, posodabljanja in brisanja za naslednje vrste delovnega časa:

Delovni čas

Delovni čas je čas, v katerem je entiteta na voljo za opravljanje dela.

S pomočjo teh API-jev lahko storite naslednje:

  • Ustvarite, uredite ali izbrišete enkratno pojavitev delovnega časa.
  • Ustvarite, uredite ali izbrišete dnevno ponovitev delovnega časa.
  • Ustvarite, uredite ali izbrišete tedensko ponovitev delovnega časa.
  • Ustvarite, uredite ali izbrišete tedensko ponovitev delovnega časa po meri.
  • Ustvarite, uredite ali izbrišete celodnevni delovni čas.
  • Ustvarite ali uredite zmogljivost v delovnem času.
  • Uredite enkratno pojavitev delovnega časa v ponovitvi.
  • Uredi Ta in Naslednja pojavitev v ponovitvi.
  • Spremenite pojavitev delovnega časa v ponovitev.
  • Spremenite časovni pas koledarskega pravila.

S tem API-jem ne morete storiti naslednjega:

  • Izbrisati enkratno pojavitev delovnega časa iz ponovitve.
  • Ustvarite pojavitev, ki traja 24 ur, vendar se ne začne in konča ob polnoči (00:00).
  • Ustvariti, urediti ali izbrisati celodnevno ponovitev.

Nedelovni čas

To je čas, v katerem entiteta zaradi neopredeljenega razloga ni na voljo za delo.

S pomočjo teh API-jev lahko storite naslednje:

  • Ustvarite ali uredite celodnevni prosti čas.
  • Ustvarite ali uredite pojav nedelovne ure.
  • Spremenite časovni pas koledarskega pravila.

S temi API-ji ne morete storiti naslednjega:

  • Ustvarite ali uredite ponovitev nedelovne ure.

Odmor

To je čas v delovnem dnevu, v katerem si entiteta vzame odmor in ni na voljo za delo. Odmori ne morejo obstajati brez delovnega časa; pojavljati se morajo med dvema delovnima urama na dan. Odmori se ne morejo prekrivati z delovnim časom.

S pomočjo teh API-jev lahko storite naslednje:

  • Ustvariti ali urediti odmore med delovnim časom.

S temi API-ji ne morete storiti naslednjega:

  • Izbrisati samo odmore iz pojavitve ali ponovitve delovnega časa.

Prosti čas

To je čas, v katerem entiteta zaradi dopusta ni na voljo za delo. Razlog za prosti čas lahko navedete.

S pomočjo teh API-jev lahko storite naslednje:

  • Ustvariti ali urediti prosti čas z oznako.
  • Spremenite časovni pas koledarskega pravila.

S temi API-ji ne morete storiti naslednjega:

  • Ustvariti ali urediti ponovitev ure prostega časa.

Zaprtje podjetja

Lahko ustvarite subjekte zaprtja podjetja , ki določajo čase zaprtja podjetja. Z uporabo API-ja msdyn_SaveCalendar lahko nastavite vsako entiteto, da opazuje ali prezre čas zaprtja podjetja z uporabo izbirne tipke ObserveClosure . Ko so nastavljene za opazovanje teh zaprtij, entitete niso na voljo za delo.

Shranjevanje API-ja koledarja

Vnos

Zahteva vsebuje samo en atribut—CalendarEventInfo, ki je vrste String . Ta vsebuje več drugih atributov, ki so vdelani v ta niz.

opomba,

V naslednji tabeli Vrsta predstavlja obliko, za katero se pričakuje, da bo zahteva uspešna. Vendar pa je celotna zahteva razčlenjena kot en niz.

CalendarEventInfo

Ime Vrsta Obvezno Opis
EntityLogicalName String Da Ta ključ opisuje entiteto, iz katere se kliče API. Koledar te entitete je treba ustvariti ali urediti.
CalendarId GUID Da Ta ključ vsebuje ID koledarja, povezanega z zgoraj opisano entiteto. Ko se katera od teh entitet ustvari, se samodejno ustvari tudi koledarski zapis. Ti API-ji urejajo ta koledarski zapis, tako da dodajo pravila ali uredijo obstoječa pravila.
RulesAndRecurrences RulesAndRecurrences Da Ta ključ je matrika in vsak element vsebuje več atributov, kot je navedeno v tabeli v naslednjem razdelku. Velikost matrike mora biti vsaj ena.
IsVaried Logično No Ta ključ mora biti nastavljen na true za scenarije ponavljanja po meri.
IsEdit Logično No Ta ključ mora biti nastavljen na true za urejanje obstoječih pravil.
TimeZoneCode Integer No Ta ključ ima celoštevilčno vrednost, ki ustreza časovnemu pasu za pravila koledarja. Za preslikava pojdite na Kode časovnih pasov, kasneje v tem članku. Privzeta vrednost je uporabnikov časovni pas.
InnerCalendarDescription String No Ta ključ je potreben le, če je pravilo koledarja nastavljeno na prosti čas. Vsebovati mora razlog za prosti čas.
ObserveClosure Logično No Ta ključ je značilen za ponovitve. Če je nastavljen na true, subjekt opazuje zaprtje podjetja.
RecurrenceEndDate Datum/ura No Ta ključ je značilen za ponovitve. Vsebuje končni datum ponovitve. Če je časovni žig 08:00:00 ali prej, je končni datum ponovitve en dan pred navedenim datumom. Če je časovni žig 08:00:01 ali pozneje, se datum upošteva takšen, kot je. Privzeta vrednost za pojavitve je nič (null). Privzeta vrednost za ponovitve je 30. december 9999, 23:59:59 ure, UTC.
RecurrenceSplit Logično No Ta ključ je značilen za ponovitve. Nastavljeno je na true za urejanje »Ta in naslednjih pojavitev« ponovitve.
ResourceId GUID No Ta ključ vsebuje SystemUserId ali ResourceId in ga je treba posredovati le, če je entiteta, povezana s tem klicem, vir, ki ga je mogoče rezervirati, vrste SystemUser. To je potrebno za preverjanje privilegijev OwnCalendar na zavihku Service Management .
Uporabi V2 Zastavica No Posredovanje te zastavice omogoči različico V2 koledarja delovnih ur z izboljšano logiko pravil prekrivanja, ki omogoča več ponovitev. Za več informacij glejte Kaj se zgodi, če obstajajo pravila, ki se prekrivajo?.

RulesAndRecurrences

Imenu Vnesi Zahtevano Description
Pravila Pravila Da Ta ključ je matrika in vsak element vsebuje več atributov, kot je navedeno v tabeli v naslednjem razdelku. Velikost matrike mora biti vsaj ena.
RecurrencePattern String No Ta ključ je značilen za ponovitve. Trenutno podpiramo samo ta vzorec: FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA. BYDAY lahko spremenite tako, da vključuje manj dni; vendar FREQ in INTERVAL ni mogoče spremeniti.
InnerCalendarId GUID No Ta ključ je značilen za urejanje. Če se pravilo ureja, je treba tukaj posredovati InnerCalendarId . Če InnerCalendarId ni podan, API ustvari novo pravilo, tudi če je nastavljen ključ IsEdit do res.
Dejanje Integer No Ta ključ je značilen za ponovitve po meri. Če se ustvarja ali ureja ponovitev po meri, je treba vnesti eno od naslednjih številk:
  • (1) Dodajanje dneva ponovitvi
  • (2) Brisanje dneva iz ponovitve
  • (3) Urejanje samo začetnega ali končnega datuma ali časa ali urejanje zmogljivosti
  • (4) Urejanje vsega ostalega razen ključev, omenjenih v (3)

Pravila

Imenu Vnesi Zahtevano Opis
StartTime Datum/ura Da Ta ključ vsebuje vnos datuma in časa v formatu ISO. Na primer \"2021-05-15T12:00:00.000Z\". Časovni del določa začetni čas delovnega časa v prej določenem časovnem pasu. Datumski del določa začetni datum delovnega časa. Tu je 15. maj 2021 datum pojavitve začetnega datuma ponovitve. Če je bil vzorec BYDAY=TU,WE, vendar je datum 15. maj (sobota), bo API samodejno ustvaril ali uredil pravila za vse torke in srede po 15. maju. To je primer, ko pravilu ni treba imeti datuma, ki ustreza dnevu.
EndTime Datum/ura Da To vsebuje vnos datuma in časa v formatu ISO. Na primer \"2021-05-15T12:00:00.000Z\". Časovni del določa čas zaključka delovnega časa v prej določenem časovnem pasu. Datumski del mora vsebovati isti datum kot datumski del Začetnega časa. Izjeme so le naslednje:
  • Če gre za celodnevno pojavitev. V tem primeru mora datumski del odražati končni datum celodnevne pojavitve.
  • Pojavitev se konča ob koncu dneva, to je ob 00:00 naslednjega dne. V tem primeru mora biti datum \"2021-05-16T00:00:00.000Z\". Če želite določiti končni datum ponovitve, spremenite atribut RecurrenceEndDate .
WorkHourType Integer Da Ta ključ vsebuje številko, ki ustreza eni od naslednjih možnosti:
  • (0) Delovni čas
  • (1) Odmor
  • (2) Nedeluje
  • (3) Prosti čas
Obseg dela Integer No Ta ključ določa zmogljivost entitete. Mora biti celo število. Privzeta vrednost je 1.

Rezultat

Ta API zahteve POST ustvari ali spremeni zapise pravil koledarja za izbrano entiteto. Zagotavlja tudi naslednje rezultate.

Ime Vrsta Opis
InnerCalendarIds String Matrika InnerCalendarIds GUID-jev, ki so rezultat operacije POST.

Brisanje API-ja koledarja

Vnos

Ime Vrsta Obvezno Opis
EntityLogicalName String Da To polje opisuje entiteto, katere pravila koledarja je treba izbrisati.
InnerCalendarId GUID Da To polje opisuje ID InnerCalendarId ki ga je treba izbrisati. Če je več InnerCalendarIds povezanih z enim pravilom, tukaj zadostuje kateri koli ID. Več informacij o notranjih in zunanjih koledarjih: Entitete koledarja
CalendarId GUID Da To polje opisuje CalendarId entitete.
IsVaried Logično No To polje je specifično za ponovitve in je nastavljeno na yes če se briše pravilo ponavljanja po meri.
Uporabi V2 Zastavica No Posredovanje te zastavice omogoči različico V2 koledarja delovnih ur z izboljšano logiko pravil prekrivanja, ki omogoča več ponovitev. Za več informacij glejte Kaj se zgodi, če obstajajo pravila, ki se prekrivajo?.

Rezultat

Ta API zahteve POST izbriše zapise pravil koledarja za izbrano entiteto. Zagotavlja tudi naslednje rezultate.

Imenu Vnesi Opis
InnerCalendarIds String Matrika InnerCalendarIds GUID-jev, ki so rezultat operacije POST.

Naloži API za koledar

Vnos

Ime: msdyn_LoadCalendars
Tip: Akcija
Opis: vrne koledarje za dani LoadCalendarsInput.

Ime: msdyn_LoadCalendars.LoadCalendarsInput
Vrsta: Parameter
Opis: niz v naslednji obliki JSON:

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

Ime: msdyn_LoadCalendarsResponse
Vrsta: ComplexType
Opis: vsebuje odgovor iz dejanja msdyn_loadCalendars.

Ime: msdyn_LoadCalendarsResponse.CalendarEvents
Tip: Nepremičnina
Opis: niz v naslednji obliki JSON:

{
"calendarId": CalendarEventSlot[]
}

Kjer je calendarId ustrezen GUID, ki predstavlja GUID koledarja, CalendarEventSlot pa je predmet naslednje oblike:

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

Navodila za klicanje API-jev

Te API-je je mogoče poklicati z brskalnikom.

  1. Odprite brskalnik in organizacijo, v kateri morate spremeniti te koledarje.
  2. Odprite orodja za razvijalce (izberite Ctrl+Shift+I in Microsoft Edge, izberite F12 v brskalniku Google Chrome).
  3. V konzolo vnesite naslednjo funkcijo, potem ko [ime-org-ime] zamenjate s podrobnostmi o organizaciji (na primer 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. Ko je ta funkcija definirana, jo lahko pokličete prek API-jev za ustvarjanje, urejanje ali brisanje koledarjev. Vnesite naslednji klic, da shranite koledar:
       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
                   }]
               }]
           }"
       })

Za brisanje koledarja vnesite naslednji klic:

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

V naslednjem razdelku najdete primere, kako opravljati različne klice glede na vaše potrebe. Zamenjajte action klica funkcije v korak 3 z msdyn_SaveCalendar ali msdyn_DeleteCalendarin zamenjajte data z ustreznim CalendarEventInfo.

Oglejte si tudi naslednji posnetek zaslona za Power Automate poziv k msdyn_SaveCalendar akciji: Power Automate pokličite dejanje msdyn_SaveCalendar.

Primeri scenarijev za uporabo API-ja

Poglejmo si nekaj scenarijev, v katerih lahko uporabite te API-je.

Bob in Tim sta voznika dostavnih vozil za podjetje Contoso Enterprises v Bellevueju v Washingtonu. Njihova odpraviteljica Debbie je odgovorna za spreminjanje koledarjev delovnega časa. Debbie naredi te spremembe z uporabo API-jev msdyn_SaveCalendar in msdyn_DeleteCalendar .

Ustvarite pojavitev delovnega časa.

Bob naj bi dostavljal pakete 15. maja 2021 od 9.00 do 17.00. Debbie uporablja msdyn_SaveCalendar API.

Zahteva

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

Odziv

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

Uredite pojavitev delovnega časa.

Bobov urnik se nato spremeni, tako da začne 15. maja 2021 ob 10.00. Debbie uporablja msdyn_SaveCalendar API.

Zahteva

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

Odziv

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

Izbrišite pojavitev delovnega časa.

Pojavi se nujna družinska situacija in Bob mora odpovedati cel delovni dan. Debbie uporablja msdyn_DeleteCalendar API.

Zahteva

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

Odziv

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

Ustvarjanje vsakodnevne ponovitve delovnega časa

Od 20. maja 2021 se Bob odloči, da bo delal s Contosom ves teden od 8.00 do 17.00 in bo tam prenehal delati 15. julija 2021.

Zahteva

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

Odziv

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

Urejanje dnevne ponovitve delovnega časa s povečano zmogljivostjo

Bob se odloči prenehati delati za ves teden od 15. junija 2021, da bi si vzel odmor. Do takrat bo Bob nadaljeval s celotedenskim urnikom, kot je bilo predhodno dogovorjeno. Debbie naredi te spremembe z uporabo msdyn_SaveCalendar API-ja.

Zahteva

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

Odziv

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

Ustvarjanje vsakotedenske ponovitve delovnega časa

Od 16. junija 2021 bo Bob ob sredah in petkih delal od 8.00 do 17.00 ure, za kosilo pa si bo vzel odmor od 12.00 do 12.30 ure. Debbie uporablja msdyn_SaveCalendar API, vendar se zmoti in načrtuje odmor od 12.00 do 13.00.

Zahteva

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

Odziv

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

Urejanje odmora v tedenski ponovitvi delovnega časa

Debbie nato popravi napako in spremeni odmor z 12.00 na 12.30 z uporabo msdyn_SaveCalendar API-ja.

Zahteva

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

Odziv

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

Ustvarjanje ponovitve delovnega časa po meri

Tim dela za Contoso ob ponedeljkih od 8.00 do 17.00 in ob sredah od 11.00 do 15.00. Tim je začel delati za Contoso 16. maja 2021. Debbie uporablja msdyn_SaveCalendar API za ustvarjanje Timovega delovnega časa.

Zahteva

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

Odziv

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

Urejanje ponovitve delovnega časa po meri

Timov urnik se nato spremeni v delovni čas od srede od 17.00 do 20.00 ure in v četrtek od 10.00 do 12.00 ure. Ponedeljek je odstranjen iz Timovega urnika. Debbie uporablja msdyn_SaveCalendar API, da to doseže.

Zahteva

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

Odziv

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

Urejanje pojavitve delovnega časa v ponovitvi

26. maja 2021 lahko Tim dela samo od 13.00 do 19.00. Debbie tukaj uporablja msdyn_SaveCalendar API.

Zahteva

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

Odziv

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

Brisanje ponovitve delovnega časa po meri

Tim se je odločil zapustiti podjetje in mora izbrisati njihov celoten urnik. Debbie tukaj uporablja msdyn_DeleteCalendar API.

Zahteva

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

Odziv

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

Ustvarjanje prostega časa

Tim si bo vzel tri dni dopusta za družinske počitnice z začetkom 9. junija 2021.

Zahteva

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

Odziv

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

Ustvarjanje celodnevnega delovnega časa

Timu se 20. maja 2021 začne 72-urna izmena. Debbie uporablja msdyn_SaveCalendar API za ustvarjanje Timovega delovnega časa.

Zahteva

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

Odziv

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

Pogosta vprašanja o storitvi

Pojavlja se napaka »Začetni čas ne more biti večji ali enak Končnemu času«.

Prepričajte se, da se časovne reže različnih pravil koledarja ne prekrivajo. Preverite datume in se prepričajte, da Začetni čas ni poznejši od Končni čas. Preverite tudi, da so časi zapisani v 24-urni obliki.

Ali je mogoče API-je uporabiti za posodobitev entitete "Predloge delovnega časa"?

Da, s tem API-jem lahko poleg delovnih ur virov ustvarite in posodobite tudi predloge delovnih ur.

Dobivam sporočilo o napaki: »Pri deserializaciji predmeta vrste Microsoft.Dynamics.UCICalendar.Plugins.SaveCalendarContract+CalendarEventInfo je prišlo do napake. Vhodni vir ni pravilno formatiran.
or
Pričakuje se stanje 'Element'.. Naletel na 'Besedilo' z imenom '', imenski prostor ''."

Prepričajte se, da je niz pravilno razčlenjen. Morda manjkajo oklepaji, vejice ali podpičja.

Dobivam napako »Neveljaven vzorec ponavljanja. Za podprte vzorce glejte dokumentacijo."

Trenutno podpiramo samo ta vzorec: FREQ=DAILY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA. BYDAY lahko spremenite tako, da vključuje manj dni; vendar FREQ in INTERVAL ni mogoče spremeniti. Prepričajte se, da v vzorcu ni presledkov.

Kako dobimo informacije o CalendarId in InnerCalendarId vira?

CalendarId je mogoče pridobiti iz atributov vira. Za te informacije pokličite: [org-url]/api/data/v9.1/bookableresources([bookableresourceGUID]).

Primer prejšnjega klica bi bil [org-url]/api/data/v9.1/bookableresources(7bb0224b-6712-ec11-94f9-000d3a6d888e).

InnerCalendarId je mogoče pridobiti iz atributov koledarja. Za te informacije pokličite: [org-url]/api/data/v9.1/calendars([calendar-id-from-above-call])?$expand=calendar_calendar_rules.

Primer prejšnjega klica je [org-url]/api/data/v9.1/calendars(02481736-1b6a-4d49-9ebd-a5bd041c1c99)?$expand=calendar_calendar_rules.

Kaj se zgodi, če se pravila prekrivajo?

Obstaja nekaj različnih stopenj, pod katera padejo pravila:

  • Rang 1 - dnevna pojavnost (delovno/nedelovno) in pojavnost odsotnosti.
  • Rang 0 - tedenska ponovitev (delujoče/nedelujoče).

Pravila prekrivanja V2

  • Pravila stopnje 1 imajo višjo prioriteto kot pravila stopnje 0. če sta na isti dan dve pravili (eno vsakega ranga), ima dnevni pojav ali pojav odmora prednost pred tedenskim ponavljanjem.
  • Če obstaja več pravil stopnje 0 znotraj istega časovnega obdobja:
    • Če se časa ne sekata, bosta oba ostala na koledarju.
    • Če se časi sekajo, je pravilo, ki je bilo nazadnje ustvarjeno/spremenjeno tisto, ki se upošteva za koledar vira. Vsa druga pravila, ki se sekajo v časovnem razponu, so odstranjena. Če imajo nekatera pravila ranga 0 presečišča na nekatere datume, na druge pa ne, se pravilo spoji, da obdrži odseke, ki se ne sekajo, medtem ko se sekajoči deli odstranijo.

Primeri obnašanja koledarja V2:

Primer 1 – Ponavljajoči se delovni čas: prekrivajoči se datumi brez prekrivajočih se dni/ur

Za določeno časovno obdobje tehnik dela v jutranji, popoldanski ali nočni izmeni v različnih dneh.

  1. Ustvarite prvo ponavljajoče se koledarsko pravilo za določeno časovno obdobje. Na primer: Ponovi pon, tor; 1.1-4.1; 8.00-17.00 ET.

  2. Ustvarite drugo ponavljajoče se koledarsko pravilo za časovno obdobje, ki se seka, pri tem pa zagotovite, da se delovne ure ne sekajo s prejšnjimi dnevi ali časi. Na primer: Ponovi sre, čet; 1.1-4.1; 8.00–17.00 ET ali Ponovite pon, tor; 1.1-4.1; 17.00–20.00 ET.

Rezultat: Obe koledarski pravili ostaneta in sobivata drug ob drugem.

Primer 2 – Ponavljajoči se delovni čas: nekaj prekrivajočih se datumov, z vsemi prekrivajočimi se dnevi in ​​drugo pravilo se začne/konča pred ali po prvem pravilu

Tehnik dobi nov urnik dela, ki nadomesti nekaj tednov njegovega starega urnika. Po pogodbi delajo vedno iste dni vsak teden.

  1. Ustvarite prvo ponavljajoče se koledarsko pravilo za določeno časovno obdobje. Na primer: Ponovi pon, tor; 2.1-4.1; 8.00–17.00 ET.

  2. Ustvarite drugo ponavljajoče se koledarsko pravilo za prekrivajoče se časovno obdobje, kjer imajo vsi dnevi prekrivajoče se delovne ure. Izberite začetne/končne datume za to novo pravilo, ki so pred ali za začetnim/končnim datumom za prvo pravilo. Na primer: Ponovi pon, tor; 3.1-5.1; 13.00-20.00 ET.

Rezultat: prvo pravilo se skrajša, da se prilagodi začetnemu/končnemu datumu drugega pravila. Na primer: Ponovi pon, tor; 2.1-2.28; 8.00–17.00 ET IN Ponovitev pon, tor; 3.1-5.1; 13.00-20.00 ET.

Primer 3 – ponavljajoči se delovni čas: vsi prekrivajoči se datumi, z nekaterimi prekrivajočimi se dnevi/urami

Tehnik je pogodbeni delavec za določen čas 2 meseca. Dogovorili so se, da bodo nekatere dni prevzeli dodatno delo. Želijo prestaviti torkov delovni čas na zgodnejšo/poznejšo uro.

  1. Ustvarite nekaj ponavljajočih se koledarskih pravil za določeno časovno obdobje. Na primer: Ponovi pon, tor; 2.1-4.1; 8.00–12.00 ET IN Ponovitev tor, sre; 2.1-4.1, 13.00-17.00 ET.

  2. Ustvarite novo ponavljajoče se koledarsko pravilo za isto časovno obdobje. Izberite dneve/ure, ki se delno prekrivajo s prvotnimi pravili. Na primer: Ponovi torek, četrtek ; 2.1-4.1; 10.00–14.00 ET.

Rezultat: Novo pravilo prepiše staro, kjer so prekrivanja, druga pa pusti nespremenjena. Na primer: Ponovi pon; 2.1-4.1; 8.00-12.00 ET IN Ponovi sreda; 2.1-4.1; 13.00–17.00 ET IN Ponovitev torek, četrtek; 2.1-4.1; 10.00-14.00 ET.

Primer 4 – Ponavljanje delovnega časa: novi datumi pravila so v starem pravilu, nekaj prekrivajočih se dni/ur

Tehnik dela od 8. do 17. ure, pon-pet vsak teden. Samo dva tedna se bodo ukvarjali s posebnim projektom za nujne primere vsak pon-sredo z drugačnim delovnim časom od 6. do 18. ure.

  1. Ustvarite prvo ponavljajoče se koledarsko pravilo za določeno časovno obdobje. Na primer: Ponovi pon, tor, sre, čet, pet; 1.1-Brez končnega datuma; 8.00-17.00 ET.

  2. Ustvarite drugo ponavljajoče se koledarsko pravilo v zgornjem časovnem obdobju, izberite delovne ure, ki se nekatere dni prekrivajo. Na primer: Ponovi pon, tor, sre; 5.1-5.14; 6.00–18.00 ET.

Rezultat: Koledar mora imeti štiri ponavljajoča se pravila do konca te vaje:

  • Skrajša prvo pravilo na začetni datum drugega pravila
  • Drugo koledarsko pravilo
  • Ustvarite novo pravilo, podobno prvemu pravilu, vendar z datumi drugega pravila za dneve, ki se ne prekrivajo
  • Skrajša prvo pravilo, da se začne s končnim datumom drugega pravila, brez končnega datuma

Na primer: Ponovi pon, tor, sre, čet, pet; 1.1–4.30; 8.00–17.00 ET IN Ponovitev pon, torek, sre; 5.1-5.14; 6.00-18.00 ET IN Ponovite čet, pet, 5.1-5.14; 8.00–17.00 ET IN Ponovi pon, tor, sre, čet, pet; 5.15–Brez končnega datuma; 8.00-17.00 ET

Primer 5 - Neponavljajoči se delovni čas (pojav, pravilo 1. stopnje)

Tehnik ima več dni kohezije ekipe, ki imajo prednost pred vsemi drugimi primeri delovnih ur za ta dan.

  1. Ustvarite ponavljajoče se koledarsko pravilo za določeno časovno obdobje. Na primer: Ponovi pon, tor, sre, čet, pet; 1.1-Brez končnega datuma; 8.00-17.00 ET.

  2. Ustvarite neponavljajoče se koledarsko pravilo v zgornjem časovnem obdobju. Izberite delovni čas, ki se ob nekaterih dnevih prekriva. Na primer: brez ponavljanja; 6.21; 7.00–13.00 ET.

Rezultat: Koledar mora imeti 1 neponavljajoče se pravilo (pojavitev) do konca vaje. Pravilo neponavljanja preglasi prekrivajoči se ponavljajoči se dogodek za ves dan. Na primer: Ponovi pon, tor, sre, čet, pet; 1.1-Brez končnega datuma razen 6.21; neponavljanje; 6.21; 7.00–13.00 ET.

Pravila prekrivanja V1

  • Pravila stopnje 1 imajo višjo prioriteto kot pravila stopnje 0. Torej, če sta bili na isti dan dve pravili (po eno za vsako stopnjo), ima dnevni pojav ali pojav odmora prednost pred tedenskim ponavljanjem.
  • Če obstajata dve pravili iste stopnje, bo za koledar vira upoštevano pravilo, ki je bilo nazadnje ustvarjeno/spremenjeno.
  • Upoštevajte, da imajo celodnevni dogodki stopnjo 1, zato boste morda želeli razmisliti o tem, da bi jih spremenili v vsakotedenske ponovitve, da boste lahko dodali delovni čas dogodkov in jih spoštovali.
  • Kadar obstaja delovni čas in se ustvari prosti čas, ki se z njim prekriva, se pravila razdelijo na način, ki zagotavlja spoštovanje prostega časa, preostali čas v delovnem času pa ostane nespremenjen. Če je na primer 21. septembra od 8. do 17. ure delovni čas, 21. septembra pa je od 15. do 19. ure dodan prosti čas, bi to rešili kot delovni čas od 20. do 15. ure in prosti čas od 15. do 19. ure. Če pa bi bila pravila ustvarjena v nasprotnem vrstnem redu (najprej prosti čas, nato pa delovni čas), bi bil ponovno izbran samo delovni čas, ne glede na časovne intervale. Prosti čas bi bil preglašen.

Kode časovnega pasu

Oštevilčenje Časovni pas
0 (GMT-12:00) Mednarodna zahodna datumska meja
1 (GMT+13:00) Samoa
2 (GMT-10:00) Havaji
3 (GMT-09:00) Aljaska
4 (GMT-08:00) Pacifiški čas (ZDA in Kanada)
5 (GMT-08:00) Baja California
6 (GMT-11:00) UTC (Coordinated Universal Time)-11
7 (GMT-10:00) Aleutski otoki
8 (GMT-09:30) Otočje Marquises
9 (GMT-09:00) UTC (Coordinated Universal Time)-09
10 (GMT-07:00) Gorski čas (ZDA in Kanada)
11 (GMT-08:00) UTC (Coordinated Universal Time)-08
12 (GMT-07:00) Chihuahua, La Paz, Mazatlan
15 (GMT-07:00) Arizona
20 (GMT-06:00) Osrednji čas (ZDA in Kanada)
25 (GMT-06:00) Saskatchewan
29 (GMT-06:00) Guadalajara, Mexico City, Monterrey
33 (GMT-06:00) Srednja Amerika
34 (GMT-06:00) Velikonočni otok
35 (GMT-05:00) Vzhodni čas (ZDA in Kanada)
40 (GMT-05:00) Indiana (vzhod)
43 (GMT-05:00) Haiti
44 (GMT-05:00) Havana
45 (GMT-05:00) Bogota, Lima, Quito, Rio Branco
47 (GMT-04:00) Caracas
50 (GMT-04:00) Atlantski čas (Kanada)
51 (GMT-05:00) Otoki Turks in 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) Nova Fundlandija
65 (GMT-03:00) Brasilia
69 (GMT-03:00) Buenos Aires
70 (GMT-03:00) Cayenne, Fortaleza
71 (GMT-03:00) Salvador
72 (GMT-03:00) Saint Pierre in Miquelon
73 (GMT-03:00) Grenlandija
74 (GMT-03:00) Montevideo
75 (GMT-02:00) Srednji Atlantik
76 (GMT-02:00) Usklajen univerzalni čas-02
77 (GMT-03:00) Araguaina
80 (GMT-01:00) Azori
83 (GMT-01:00) Cabo Verde
84 (GMT+01:00) Casablanca
85 (GMT+00:00) Dublin, Edinburgh, Lizbona, London
90 (GMT+00:00) Monrovia, Reykjavik
92 (GMT) Coordinated Universal Time
95 (GMT+01:00) Beograd, Bratislava, Budimpešta, Ljubljana, Praga
100 (GMT+01:00) Sarajevo, Skopje, Varšava, Zagreb
105 (GMT+01:00) Bruselj, Kopenhagen, Madrid, Pariz
110 (GMT+01:00) Amsterdam, Berlin, Bern, Rim, Stockholm, Dunaj
113 (GMT+01:00) Zahodna centralna Afrika
115 (GMT+02:00) Kišinjev
120 (GMT+02:00) Kairo
125 (GMT+02:00) Helsinki, Kijev, Riga, Sofija, Talin, Vilna
129 (GMT+02:00) Aman
130 (GMT+02:00) Atene, Bukarešta
131 (GMT+02:00) Bejrut
133 (GMT+02:00) Damask
134 (GMT+03:00) Istanbul
135 (GMT+02:00) Jeruzalem
140 (GMT+02:00) Harare, Pretoria
141 (GMT+02:00) Windhoek
142 (GMT+02:00) Gaza, Hebron
145 (GMT+03:00) Moskva, Skt. Peterburg
150 (GMT+03:00) Kuvajt, Rijad
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 Dabi, Muškat
169 (GMT+04:00) Baku
170 (GMT+04:00) Erevan
172 (GMT+04:00) Port Louis
173 (GMT+04:00) Tbilisi
174 (GMT+04:00) Iževsk, Samara
175 (GMT+04:30) Kabul
176 (GMT+04:00) Astrahan, Uljanovsk
180 (GMT+05:00) Jekaterinburg
184 (GMT+05:00) Islamabad, Karači
185 (GMT+05:00) Taškent
190 (GMT+05:30) Čenaj, Kolkata, Mumbaj, 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 (Rangun)
205 (GMT+07:00) Bangkok, Hanoj, Džakarta
207 (GMT+07:00) Krasnojarsk
208 (GMT+07:00) Barnaul, Gorno-Altajsk
209 (GMT+07:00) Hovd
210 (GMT+08:00) Peking, Čongčing, Hongkong, Urumči
211 (GMT+07:00) Tomsk
215 (GMT+08:00) Kuala Lumpur, Singapur
220 (GMT+08:00) Tajpej
225 (GMT+08:00) Perth
227 (GMT+08:00) Irkutsk
228 (GMT+08:00) Ulan Bator
229 (GMT+09:00) Pjongjang
230 (GMT+09:00) Seul
231 (GMT+08:45) Eucla
235 (GMT+09:00) Osaka, Saporo, Tokio
240 (GMT+09:00) Jakutsk
241 (GMT+09:00) Čita
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) Otork Lord Howe
275 (GMT+10:00) Guam, Port Moresby
276 (GMT+11:00) Otok Bougainville
277 (GMT+11:00) Norfolški otok
278 (GMT+11:00) Sahalin
279 (GMT+11:00) Chokurdakh
280 (GMT+11:00) Salomonovi otoki, Nova Kaledonija
281 (GMT+11:00) Magadan
284 (GMT+12:00) Usklajen univerzalni čas+12
285 (GMT+12:00) Fidži
290 (GMT+12:00) Auckland, Wellington
295 (GMT+12:00) Anadir, Petropavlovsk-Kamčatski
299 (GMT+12:45) Otoki Chatham
300 (GMT+13:00) Nuku'alofa
301 (GMT-05:00) Chetumal
302 (UTC+02:00) Khartoum
303 (GMT –03:00) Punta Arenas
304 (GMT+04:00) Volgograd
305 (GMT-07:00) Jukon