Úprava kalendáře pracovní doby pomocí rozhraní API
Organizace často potřebují naprogramovat vytvotřeník, upravení nebo odstranění pracovní doby v kalendářích zaměstnanců. Kalendáře obsahují pracovní dobu, volno a přestávky, které určují dostupnost zaměstnanců při plánování práce. Pro tyto zaměstnance musí být naplánována konkrétní časová pásma, která mohou nebo nemusí zohledňovat uzavření podniku a mohou mít proměnlivou kapacitu. Informace o definování pracovní doby v aplikaci Field Service najdete v části Přidání pracovní doby pro rezervovatelný zdroj.
Kromě použití aplikace Field Service můžete pomocí následujících rozhraní API upravit pravidla kalendáře pro vybrané typy záznamů:
- Rozhraní API pro uložení kalendáře (
msdyn_SaveCalendar
) vytvoří nebo aktualizuje záznamy kalendáře pro vybranou entitu na základě vstupů předaných jako požadavek. - Rozhraní API pro odstranění kalendáře (
msdyn_DeleteCalendar
) odstraní veškerá pravidla vnitřního kalendáře pro vybranou entitu na základě vstupů předaných jako požadavek. - Save/Delete Calendar API V2 (msdyn_SaveCalendar/msdyn_DeleteCalendar, příznak předání UseV2) umožňuje opakování více pracovních hodin současně změnou logiky pro překrývající se pravidla. Více informací viz Co se stane, když se pravidla překrývají?.
Tento článek obsahuje podrobnosti o vstupu (požadavku) a výstupu (odezvě) každého rozhraní API a jejich použití s příklady.
Předpoklady
- Verze platformy 9.2.21055 nebo vyšší s Universal Resource Scheduling verze 3.12.45.7.
- Použití jednoho z následujících typů záznamů:
- Rezervovatelný zdroj (bookableresource)
- Požadavek na zdroj (msdyn_resourcerequirement)
- Šablona pracovní doby (msdyn_workhourtemplate)
- Projekt (msdyn_project)
Typy událostí kalendáře
Při vytváření kalendáře definujete, kolikrát se vyskytne typ pracovní hodiny - jednou, celý den, každý týden nebo každý den, nebo můžete vytvořit vlastní opakování. Další informace o těchto událostech kalendáře najdete v příkladech dále v tomto článku.
Výskyt
Když se typ pracovní hodiny v kalendáři entity objeví pouze jednou, nazývá se to výskyt.
Představte si například zaměstnance (zdroj) pracující od 5:00 do 10:00 dne 26. května 2021. Tato rozhraní API podporují pouze tento typ výskytu, který začíná a končí ve stejný den. Nebo si představte, že zaměstnanec pracuje od 26. května 2021 20:00 do 27. května 2021 10:00. Tento výskyt nemůžete vytvořit pomocí pouze jednoho volání rozhraí API msdyn_SaveCalendar
; místo toho musíte uskutečnit dva hovory.
Celodenní výskyt
Když nastane typ pracovní hodiny pro jeden nebo více celých dnů počínaje půlnocí (00:00) k datu zahájení, je to celodenní výskyt. Maximální doba celodenního výskytu je pět let.
Například zaměstnanec pracuje celý den od 26. května 2021 do konce 30. května 2021. Jedná se o celodenní událost, která trvá pět dní.
Týdenní opakování
Když se typ pracovní doby vyskytuje ve vybrané dny každého týdne ve stejnou dobu, nazývá se to a týdenní opakování.
Například zaměstnanec pracuje od 5:00 do 10:00 každé pondělí, úterý a středu.
Denní opakování
Když se typ pracovní doby vyskytuje každý den, nazývá se to denní opakování.
Například zaměstnanec pracuje od 5:00 do 10:00 každý den v týdnu.
Vlastní opakování
Když se typ pracovní hodiny vyskytuje v určitých časech v určité dny v týdnu, ale časy se v různé dny liší, můžete vytvořit vlastní opakování.
Například zaměstnanec pracuje od 5:00 do 10:00 každé pondělí a od 12:00 do 15:00 každou středu.
Typy pracovní doby
Tato rozhraní API podporují operace vytvoření, aktualizace a odstranění pro následující typy pracovních hodin:
Pracovní doba
Pracovní doba je doba, během které je entita k dispozici k provedení práce.
Pomocí těchto rozhraní API můžete provádět následující:
- Vytvořit, upravit nebo odstranit výskyt pracovní doby.
- Vytvořit, upravit nebo odstranit denní opakování pracovní doby.
- Vytvořit, upravit nebo odstranit týdenní opakování pracovní doby.
- Vytvořit, upravit nebo odstranit vlastní opakování pracovní doby.
- Vytvořit, upravit nebo odstranit celodenní pracovní dobu.
- Vytvořit nebo upravit kapacitu v pracovní době.
- Upravit jeden výskyt pracovní doby při opakování.
- Upravit tento a následující výskyty při opakování.
- Změnit výskyt pracovní doby na opakování.
- Změnit časové pásmo kalendářního pravidla.
Pomocí tohoto rozhraní API můžete provádět následující:
- Odstranit opakování jednoho opakování pracovní doby.
- Vytvořit událost, která trvá 24 hodin, ale nezačíná a nekončí o půlnoci (00:00).
- Vytvořit, upravit nebo odstranit celodenní opakování.
Nepracovní doba
Jedná se o časy, během nichž není entita k dispozici pro práci z blíže neurčeného důvodu.
Pomocí těchto rozhraní API můžete provádět následující:
- Vytvořit nebo upravit nepracovní dobu.
- Vytvořit nebo upravit výskyt nepracovní doby.
- Změnit časové pásmo kalendářního pravidla.
Pomocí těchto rozhraní API nemůžete provádět následující:
- Vytvořit nebo upravit opakování nepracovní doby.
Break
Jedná se o časy v pracovní době, během nichž si entita dělá přestávku a není k dispozici pro práci. Přestávky nemohou existovat bez pracovní doby; musí nastat mezi dvěma pracovními dobami daný den. Přestávky se nemohou překrývat s pracovní dobou.
Pomocí těchto rozhraní API můžete provádět následující:
- Vytvořit nebo upravit přestávky během pracovní doby.
Pomocí těchto rozhraní API nemůžete provádět následující:
- Odstranit pouze přestávky z výskytu nebo opakování pracovní doby.
Volno
Jedná se o časy, během nichž není entita k dispozici pro práci z důvodu dovolené. Důvod volna lze určit.
Pomocí těchto rozhraní API můžete provádět následující:
- Vytvořit nebo upravit volno pomocí štítku.
- Změnit časové pásmo kalendářního pravidla.
Pomocí těchto rozhraní API nemůžete provádět následující:
- Vytvořit nebo upravit opakování volna.
Zavírací den
Můžete vytvářet entity zavíracího dne, které definují dobu, kdy je firma uzavřena. S pomocí rozhraní API msdyn_SaveCalendar
můžete nastavit každou entitu tak, aby sledovala nebo ignorovala časy zavíracího dne pomocí volitelného klíče ObservceClosure. Když jsou nastaveny ke sledování těchto uzávěrek, entity nebudou k dispozici pro práci.
API Save Calendar
Vstup
Požadavek obsahuje pouze jeden atribut—CalendarEventInfo, což je typ řetězec. Obsahuje několik dalších atributů, které jsou všechny vloženy do tohoto řetězce.
Poznámka:
V následující tabulce Typ představuje formát, u kterého se očekává úspěšný požadavek. Celý požadavek je však analyzován jako jeden řetězec.
CalendarEventInfo
Jméno | Typ | Povinné | Popis |
---|---|---|---|
EntityLogicalName | String | Ano | Tento klíč popisuje entitu, ze které se volá API. Kalendář této entity musí být vytvořen nebo upraven. |
CalendarId | Identifikátor GUID | Ano | Tento klíč obsahuje ID kalendáře související s entitou popsanou výše. Když se vytvoří některá z těchto entit, automaticky se vytvoří také záznam kalendáře. Tato rozhraní API upravují záznam kalendáře přidáním pravidel nebo úpravou stávajících pravidel. |
RulesAndRecurrences | RulesAndRecurrences | Ano | Tento klíč je pole a každý prvek obsahuje více atributů, jak je uvedeno v tabulce v následující části. Velikost pole by měla být alespoň jedna. |
IsVaried | Logický | No | Tento klíč musí být nastaven na true pro vlastní scénáře opakování. |
IsEdit | Logický | No | Tento klíč musí být nastaven na true pro úpravy existujících pravidel. |
TimeZoneCode | Integer | No | Tento klíč přebírá celočíselnou hodnotu odpovídající časovému pásmu pravidel kalendáře. Mapování najdete v části Kódy časových pásem dále v tomto článku. Výchozí hodnota je časové pásmo uživatele. |
InnerCalendarDescription | String | No | Tento klíč je nutný, pouze pokud je pravidlo kalendáře nastaveno na volno. Měl by obsahovat důvod volna. |
ObserveClosure | Logický | No | Tento klíč je specifický pro opakování. Pokud je nastaven na true , entita sleduje zavírací dny. |
RecurrenceEndDate | DateTime | No | Tento klíč je specifický pro opakování. Obsahuje koncové datum opakování. Pokud je časové razítko 08:00:00 nebo dřívější, je koncové datum opakování jeden den před určeným datem. Pokud je časové razítko 08:00:01 nebo novější, je datum respektováno tak, jak je. Výchozí hodnota pro výskyty je null. Výchozí hodnota pro opakování je 30. prosince 9999, 23:59:59 hodin, UTC. |
RecurrenceSplit | Logický | No | Tento klíč je specifický pro opakování. Je nastaven na true pro úpravy opakování „Tento a následující výskyty“. |
ResourceId | Identifikátor GUID | No | Tento klíč obsahuje SystemUserId nebo ResourceId a předá se pouze v případě, že entita přidružená k tomuto volání je rezervovatelným zdrojem typu SystemUser. To je nutné pro kontrolu oprávnění OwnCalendar na kartě Správa služeb. |
UseV2 | Příznak | No | Předání tohoto příznaku umožňuje verzi V2 kalendáře pracovní doby s vylepšenou logikou překrývajících se pravidel, která umožňuje více opakování. Více informací viz Co se stane, když se pravidla překrývají?. |
RulesAndRecurrences
Name | Type | Požadováno | Popis |
---|---|---|---|
Pravidla | Pravidla | Ano | Tento klíč je pole a každý prvek obsahuje více atributů, jak je uvedeno v tabulce v následující části. Velikost pole by měla být alespoň jedna. |
RecurrencePattern | String | No | Tento klíč je specifický pro opakování. V současné době podporujeme pouze tento vzor: FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA .
BYDAY lze změnit tak, aby zahrnoval méně dní; nicméně, FREQ a INTERVAL nelze měnit. |
InnerCalendarId | Identifikátor GUID | No | Tento klíč je specifický pro úpravy. Pokud je upravováno pravidlo, je zde třeba předat InnerCalendarId. Pokud není předán InnerCalendarId, API vytvoří nové pravidlo, i když je klíč IsEdit nastaven na hodnotu true. |
Akce | Integer | No | Tento klíč je specifický pro vlastní opakování. Pokud se vytváří nebo upravuje vlastní opakování, mělo by se zadat jedno z následujících čísel:
|
Pravidla
Jméno | Typ | Požaduje se | Popis |
---|---|---|---|
Počáteční čas | DateTime | Ano | Tento klíč obsahuje položku datetime ve formátu ISO. Například \"2021-05-15T12:00:00.000Z\" . Časová část určuje čas zahájení pracovní doby v časovém pásmu určeném dříve. Část data určuje počáteční datum pracovní doby. Zde je 15. května 2021 datum výskytu nebo počáteční datum opakování. Pokud by vzor byl BYDAY=TU,WE , ale datum je 15. května (sobota), API automaticky vytvoří nebo upraví pravidla pro všechna úterý a středy po 15. květnu. To je případ, kdy pravidlo nemusí mít datum odpovídající dnu. |
EndTime | DateTime | Ano | Obsahuje položku datetime ve formátu ISO. Například \"2021-05-15T12:00:00.000Z\" . Časová část určuje čas ukončení pracovní doby v časovém pásmu určeném dříve. Část data musí obsahovat stejné datum jako část data v StartTime. Jediné výjimky jsou:
|
WorkHourType | Integer | Ano | Tento klíč obsahuje číslo odpovídající jedné z následujících možností:
|
Úsilí | Integer | No | Tento klíč určuje kapacitu entity. Musí to být celé číslo. Výchozí hodnota je 1. |
Výstup
Toto POST API vytváří nebo upravuje záznamy pravidel kalendáře pro vybranou entitu. Poskytuje také následující výstup.
Jméno | Typ | Popis |
---|---|---|
InnerCalendarIds | String | Pole identifikátorů GUID InnerCalendarIds, které jsou výsledkem operace POST. |
API Delete Calendar
Vstup
Jméno | Typ | Povinné | Popis |
---|---|---|---|
EntityLogicalName | String | Ano | Toto pole popisuje entitu, jejíž pravidla kalendáře mají být odstraněna. |
InnerCalendarId | Identifikátor GUID | Ano | Toto pole popisuje ID InnerCalendarId, které je třeba odstranit. Pokud je více InnerCalendarIds přidružených k jednomu pravidlu, postačuje zde jedno ID. Další informace o vnitřních a vnějších kalendářích: Entity kalendáře |
CalendarId | Identifikátor GUID | Ano | Toto pole popisuje CalendarId entity. |
IsVaried | Logický | No | Toto pole se specificky týká opakování a je nastaveno na yes , pokud je odstraňováno vlastní pravidlo opakování. |
UseV2 | Příznak | No | Předání tohoto příznaku umožňuje verzi V2 kalendáře pracovní doby s vylepšenou logikou překrývajících se pravidel, která umožňuje více opakování. Více informací viz Co se stane, když se pravidla překrývají?. |
Výstup
Toto POST API odstraňuje záznamy pravidel kalendáře pro vybranou entitu. Poskytuje také následující výstup.
Jméno | Typ | Popis |
---|---|---|
InnerCalendarIds | String | Pole identifikátorů GUID InnerCalendarIds, které jsou výsledkem operace POST. |
Načtení rozhraní API kalendáře
Vstup
Název: msdyn_LoadCalendars
Typ: Akce
Popis: Vrátí kalendáře pro daný LoadCalendarsInput.
Název: msdyn_LoadCalendars.LoadCalendarsInput
Typ: Parametr
Popis: Řetězec v následujícím formátu JSON:
{
StartDate: string,
EndDate: string,
CalendarIds: string[]
}
Název: msdyn_LoadCalendarsResponse
Typ: ComplexType
Popis: Obsahuje odpověď z akce msdyn_loadCalendars.
Název: msdyn_LoadCalendarsResponse.CalendarEvents
Typ: Vlastnost
Popis: Řetězec v následujícím formátu JSON:
{
"calendarId": CalendarEventSlot[]
}
Kde calendarId je správný guid reprezentující Guid kalendáře a CalendarEventSlot je objekt následujícího formátu:
{
CalendarId: string,
InnerCalendarId: string,
Start: string,
End: string,
Effort: double
}
Jak volat rozhraní API
Tato rozhraní API lze volat pomocí prohlížeče.
- Otevřete prohlížeč a organizaci, ve které tyto změny kalendáře chcete provést.
- Otevřete vývojářské nástroje (stiskněte Ctrl+Shift+l v Microsoft Edge, stiskněte F12 v prohlížeči Google Chrome).
- V konzole zadejte následující funkci, ve které nahraďte [org-name] podrobnostmi o organizaci (například
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));
}
- Poté, co je tato funkce definována, můžete ji volat k vytvoření, úpravým nebo odstranění kalendářů pomocí rozhraní API. Chcete-li uložit kalendář, zadejte následující volání:
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
}]
}]
}"
})
Chcete-li odstranit kalendář, zadejte následující volání:
CalendarAction("msdyn_DeleteCalendar", {
"CalendarEventInfo":"{
\"CalendarId\":\"8390358c-77d0-430f-b176-f27adadac8eb\",
\"EntityLogicalName\":\"bookableresource\",
\"InnerCalendarId\":\"cf508c2c-5c55-485c-be1e-d2ebcb385441\"
}"
})
V následující části najdete příklady toho, jak uskutečňovat různá volání podle vašich potřeb. Nahraďte action
volání funkce v kroku 3 řetězcem msdyn_SaveCalendar
nebo msdyn_DeleteCalendar
a nahraďte data
příslušnou hodnotou CalendarEventInfo
.
Podívejte se také na následující snímek obrazovky pro volání Power Automate pro akci msdyn_SaveCalendar
:
Ukázkové scénáře využití rozhraní API
Projděme si několik scénářů, ve kterých můžete tato rozhraní API použít.
Bob a Tim jsou řidiči dodávkových vozidel pro společnost Contoso Enterprises v Bellevue, Washington. Jejich dispečerka Debbie zodpovídá za provádění změn v kalendářích pracovních hodin. Debbie provádí tyto změny pomocí rozhraní API msdyn_SaveCalendar
a msdyn_DeleteCalendar
.
Vytvořte výskyt pracovní doby.
Plán Boba je vyjet a doručit balíčky od 9:00 do 17:00 dne 15. května 2021. Debbie používá rozhraní API msdyn_SaveCalendar
.
Žádost
{
"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\"]"
}
Upravte výskyt pracovní doby.
Bobův plán se poté změní, aby začal 15. května 2021 v 10:00. Debbie používá rozhraní API msdyn_SaveCalendar
.
Žádost
{
"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\"]"
}
Odstraňte výskyt pracovní doby.
Poté však Bob musí z rodinných důvodů zrušit celý svůj pracovní den. Debbie používá rozhraní API msdyn_DeleteCalendar
.
Požádat
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"}"
}
Odpověď respondenta
{
"InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}
Vytvoření denního výskytu pracovní doby
Od 20. května 2021 se Bob rozhodne pracovat se společností Contoso celý týden od 8:00 do 17:00 a 15. července 2021 tam přestane pracovat.
Požádat
{
"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\"}]}"
}
Odpověď respondenta
{
"InnerCalendarIds": "[\"20f6cfa7-cfbe-eb11-a81d-000d3a6e4359\"]"
}
Úprava denního opakování pracovní doby se zvýšenou kapacitou
Bob se rozhodl přestat pracovat po celý týden od 15. června 2021, aby si mohl udělat přestávku. Do té doby bude Bob pokračovat v celotýdenním plánu, se kterým dříve souhlasil. Debbie provádí tyto změny pomocí rozhraní API msdyn_SaveCalendar
.
Žádost
{
"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\"]"
}
Vytvoření týdenního výskytu pracovní doby
Od 16. června 2021 bude Bob pracovat ve středu a pátek od 8:00 do 17:00 a od 12:00 do 12:30 bude mít přestávku na oběd. Debbie použije rozhraní API msdyn_SaveCalendar
, udělá však chybu a naplánuje přestávku od 12:00 do 13:00.
Požádat
{
"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\"}]}"
}
Odpověď respondenta
{
"InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}
Úprava přestávky v týdenním opakování pracovní doby
Debbie poté napraví chybu a změní přestávku, která má nastat od 12:00 do 12:30, pomocí API msdyn_SaveCalendar
.
Žádost
{
"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\"}]}"
}
Reakce
{
"InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}
Vytvoření vlastního výskytu pracovní doby
Tim pracuje pro společnost Contoso v pondělí od 8:00 do 17:00 a ve středu od 11:00 do 15:00. Tim začal pracovat pro Contoso 16. května 2021. Debbie používá API msdyn_SaveCalendar
pro vytvoření Timovy pracovní doby.
Žádost
{
"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\"]"
}
Úprava vlastního výskytu pracovní doby
Timův plán se poté změní: pracovní doba je nyní ve středu od 17:00 do 20:00 a ve čtvrtek od 10:00 do 12:00. Pondělí je z Timova plánu odebráno. Debbie používá API msdyn_SaveCalendar
k dosažení tohoto cíle.
Požádat
{
"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\"}]}"
}
Odpověď respondenta
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}
Úprava výskytu pracovní doby při opakování
26. května 2021 je Tim schopen pracovat pouze od 13:00 do 19:00. Debbie zde používá rozhraní API msdyn_SaveCalendar
.
Požádat
{
"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\"}]}"
}
Odpověď respondenta
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\"]"
}
Odstranění vlastního výskytu pracovní doby
Tim se rozhodl opustit společnost a musí odstranit celý rozvrh. Debbie zde používá rozhraní API msdyn_DeleteCalendar
.
Požádat
{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"34d2210c-9fb6-eb11-a820-000d3afb1dba\",\"IsVaried\":true}"
}
Odpověď respondenta
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}
Vytvoření volna
Tim si vezme tři dny volna na rodinnou dovolenou počínaje 9. červnem 2021.
Žádost
{
"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\"]"
}
Vytvoření celodenní pracovní doby
Tim má od 20. května 2021 72hodinovou směnu. Debbie používá API msdyn_SaveCalendar
pro vytvoření Timovy pracovní doby.
Požádat
{
"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}]}]}"
}
Odpověď respondenta
{
"InnerCalendarIds": "[\"6e160a8e-d5be-eb11-a81d-000d3a6e4359\"]"
}
Nejčastější dotazy
Zobrazuje se chyba „StartTime nemůže být větší nebo roven EndTime“.
Ujistěte se, že v časových intervalech různých pravidel kalendáře nejsou žádné překryvy. Pro jistotu zkontrolujte StartTime, zda není později než EndTime. Ověřte také, že časy odpovídají 24hodinovému formátu.
Lze rozhraní API použít k aktualizaci entity „Šablony pracovní doby“?
Ano, toto API můžete použít k vytváření a aktualizaci šablon pracovní doby kromě pracovní doby zdrojů.
Zobrazuje se chyba: „Došlo k chybě při deserializaci objektu typu Microsoft.Dynamics.UCICalendar.Plugins.SaveCalendarContract+CalendarEventInfo. Vstupní zdroj není správně naformátován.
or
Očekávaný stav 'Prvek'. Byl nalezen 'Text' s názvem '', obor názvů ''.“
Ujistěte se, že je řetězec správně analyzován. Mohou chybět závorky, čárky nebo středníky.
Zobrazuje se mi chyba „Neplatný vzor opakování. Podporované vzory najdete v dokumentaci."
V současné době podporujeme pouze tento vzor: FREQ=DAILY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
.
BYDAY
lze změnit tak, aby zahrnoval méně dní; nicméně, FREQ
a INTERVAL
nelze měnit. Ujistěte se, že ve vzoru nejsou žádné mezery.
Jak získáme informace o CalendarId a InnerCalendarId zdroje?
CalendarId
lze načíst z atributů prostředků. Zavolejte a získejte tyto informace: [org-url]/api/data/v9.1/bookableresources([bookableresourceGUID])
.
Příkladem předchozího hovoru by bylo [org-url]/api/data/v9.1/bookableresources(7bb0224b-6712-ec11-94f9-000d3a6d888e)
.
InnerCalendarId
lze načíst z atributů kalendáře. Zavolejte a získejte tyto informace: [org-url]/api/data/v9.1/calendars([calendar-id-from-above-call])?$expand=calendar_calendar_rules
.
Příkladem předchozího hovoru je [org-url]/api/data/v9.1/calendars(02481736-1b6a-4d49-9ebd-a5bd041c1c99)?$expand=calendar_calendar_rules
.
Co se stane, když se pravidla překrývají?
Pravidla spadají do několika různých řad:
- Úroveň 1 - denní výskyt (pracovní/nepracovní) a výskyt volna.
- Úroveň 0 - týdenní opakování (pracovní/nepracovní).
Překrývání pravidel V2
- Pravidla 1. úrovně mají vyšší prioritu než pravidla 0. Pokud platí dvě pravidla (jedno z každé pozice) ve stejný den, denní výskyt nebo volno má přednost před týdenním opakováním.
- Pokud existuje více pravidel 0 ve stejném časovém období:
- Pokud se časy neprotnou, zůstanou v kalendáři oba.
- Pokud se časy protnou, pravidlo, které bylo naposledy vytvořeno/ upraveno, je to, které je zvažováno pro kalendář zdroje. Všechna ostatní protínající se pravidla v časovém období budou odstraněna. Pokud některá pravidla úrovně 0 mají průsečíky v některých datech, ale ne v jiných, pravidlo se spojí, aby zachovalo neprotínající se úseky, zatímco protínající se části jsou odstraněny.
Příklady chování kalendáře V2:
Příklad 1 – Opakující se pracovní doba: Překrývající se data bez překrývajících se dnů/časů
Pro dané časové období technik pracuje na ranní, odpolední nebo noční směny v různých dnech.
Vytvořte první opakující se pravidlo kalendáře pro dané časové období. Například: Opakovat Po, Út; 1.1-4.1; 8:00–17:00.
Vytvořte druhé opakující se pravidlo kalendáře pro protínající se časové období a zároveň zajistěte, aby se pracovní doba neprotínala s předchozími dny nebo časy. Například: Opakovat St, Čt; 1.1-4.1; 8:00–17:00 nebo Opakovat Po, Út; 1.1-4.1; 17:00–20:00.
Výsledek: Obě kalendářní pravidla zůstávají a existují vedle sebe.
Příklad 2 – Opakující se pracovní doba: Některá překrývající se data, se všemi překrývajícími se dny a druhé pravidlo začíná/končí před nebo po prvním pravidle
Technik dostane nový pracovní rozvrh, který nahradí několik týdnů jeho starého rozvrhu. Na základě smlouvy pracují vždy ve stejné dny každý týden.
Vytvořte první opakující se pravidlo kalendáře pro dané časové období. Například: Opakovat Po, Út; 2.1-4.1; 8:00–17:00.
Vytvořte druhé opakující se pravidlo kalendáře pro překrývající se časové období, kde všechny dny mají překrývající se pracovní dobu. Vyberte data zahájení/ukončení tohoto nového pravidla, která jsou před nebo po datu zahájení/ukončení prvního pravidla. Například: Opakovat Po, Út; 3.1-5.1; 13:00–20:00.
Výsledek: První pravidlo bude zkráceno, aby vyhovovalo datu začátku/konce druhého pravidla. Například: Opakovat Po, Út;; 2.1-2.28; 8:00–17:00 A Opakovat Po, Út; 3.1-5.1; 17:00–20:00.
Příklad 3 – Opakující se pracovní doba: všechna překrývající se data s některými překrývajícími se dny/časy
Technik je smluvním pracovníkem na dobu určitou 2 měsíců. Dohodli se, že v některých dnech přijmou další práci. Chtějí posunout úterní pracovní dobu na dřívější/pozdější čas.
Vytvořte několik opakujících se pravidel kalendáře pro dané časové období. Například: Opakovat Po, Út;; 2.1-4.1; 8:00–12:00 A Opakovat Po, St; 2.1-4.1; 13:00–17:00.
Vytvořte nové opakujících se pravidlo kalendáře pro stejné časové období. Vyberte dny/časy, které se částečně překrývají s původními pravidly. Například: Opakovat Út, Čt ; 2.1-4.1; 10:00–14:00.
Výsledek: Nové pravidlo přepíše staré tam, kde se překrývají, a ostatní ponechá beze změny. Například: Opakovat Po; 2.1-4.1; 8:00–12:00 A Opakovat St; 2.1-4.1; 13:00–17:00 A Opakovat Út, Čt ; 2.1-4.1; 10:00–14:00.
Příklad 4 - Opakující se pracovní doba: Nová data pravidla obsažená ve starém pravidle, některé dny/časy se překrývají
Technik pracuje každý týden od 8:00 do 17:00, Po-Pá. Jen po dobu dvou týdnů budou každé pondělí až středu vyřizovat speciální nouzový projekt s jinou pracovní dobou od 6:00 do 18:00.
Vytvořte první opakující se pravidlo kalendáře pro dané časové období. Například: Opakovat Po, Út, St, Čt, Pá; 1.1 – Žádné datum ukončení; 8:00–17:00.
Vytvořte druhé opakující se pravidlo kalendáře obsažené ve výše uvedeném rozsahu dat a vyberte pracovní dobu, která se v některých dnech překrývá. Například: Opakovat Po, Út, St; 5.1-5.14; 8:00–17:00.
Výsledek: Kalendář by měl mít na konci tohoto cvičení čtyři opakující se pravidla:
- Zkrátit první pravidlo na počáteční datum druhého pravidla
- druhé kalendářní pravidlo
- Vytvořte nové pravidlo podobné prvnímu pravidlu, ale s daty druhého pravidla pro nepřekrývající se dny
- zkrátit první pravidlo, aby začalo k datu konce druhého pravidla, bez data konce
Například: Opakovat Po, Út, St, Čt, Pá; 1,1–4,30; 8:00–17:00 A Opakování Po, Út, Středa; 5.1-5.14; 6:00–18:00 A Opakovat čt, pá, 5.1-5.14; 8:00–17:00 A Opakovat Po, Út, St, Čt, Pá; 5.15 – Žádné datum ukončení; 8:00–17:00
Příklad 5 – Neopakující se pracovní doba (výskyt, pravidlo pořadí 1)
Technik má několik dní soudržnosti týmu, které mají přednost před všemi ostatními instancemi pracovní doby pro daný den.
Vytvořte opakující se pravidlo kalendáře pro dané časové období. Například: Opakovat Po, Út, St, Čt, Pá; 1.1 – Žádné datum ukončení; 8:00–17:00.
Vytvořte neopakující se pravidlo kalendáře obsažené ve výše uvedeném časovém období. Vyberte pracovní dobu, která se v některých dnech překrývá. Například: Neopakovat; 6.21; 7:00–13:00.
Výsledek: Kalendář by měl mít na konci tohoto cvičení 1 neopakující se pravidlo (výskyt). Neopakující se pravidlo přepíše překrývající se opakující se událost po celý den. Například: Opakovat Po, Út,St,Čt,Pá; 1.1-žádné datum ukončení kromě 6.21; neopakovat se; 6.21; 7:00–13:00.
Překrývání pravidel V1
- Pravidla 1. úrovně mají vyšší prioritu než pravidla 0. Pokud tedy platila dvě pravidla (jedno z každé pozice) ve stejný den, denní výskyt nebo volno má přednost před týdenním opakováním.
- Pokud existují dvě pravidla stejné úrovně, bude pravidlo, které bylo naposledy vytvořeno/ upraveno, to, které je zvažováno pro kalendář zdroje.
- Mějte na paměti, že celodenní výskyty jsou na úrovni 1, takže můžete zvážit změnu na týdenní opakování, abyste mohli přidat pracovní dobu výskytu a nechat je respektovat.
- Když existuje pracovní doba a vytvoří se překrývající se doba volna, pravidla se rozdělí způsobem, který zajistí, že bude respektováno volno, a veškerý zbývající čas pracovní doby zůstane stejný. Pokud je například 21. září pracovní doba od 8:00 do 17:00 a 21. září se přidá čas volna od 15:00 do 19:00, bude to vyřešeno jako pracovní doba od 20:00 do 15:00 a volno od 15 do 19 hodin. Pokud by však byla pravidla vytvořena v opačném pořadí (nejprve se vytvořilo volno a poté pracovní doba), bez ohledu na časové intervaly, byla by znovu zvolena pouze pracovní doba. Volno by bylo přepsáno.
Kódy časového pásma
Výčet | Časové pásmo |
---|---|
0 | (GMT-12:00) Západní mezinárodní časová osa |
1 | (GMT+13:00) Nezávislý stát Samoa |
2 | (GMT-10:00) Havaj |
3 | (GMT-09:00) Aljaška |
4 | (GMT-08:00) Tichomoří (USA a Kanada) |
5 | (GMT-08:00) Baja California |
6 | (GMT-11:00) Standard UTC - 11 |
7 | (GMT-10:00) Aleutské ostrovy |
8 | (GMT-09:30) Souostroví Markézy |
9 | (GMT-09:00) Standard UTC - 09 |
10 | (GMT-07:00) Horská oblast (USA a Kanada) |
11 | (GMT-08:00) Standard UTC - 08 |
12 | (GMT-07:00) Chihuahua, La Paz, Mazatlan |
15 | (GMT-07:00) Arizona |
20 | (GMT-06:00) Centrální čas (USA a Kanada) |
25 | (GMT-06:00) Saskatchewan |
29 | (GMT-06:00) Guadalajara, Mexico City, Monterrey |
33 | (GMT-06:00) Střední Amerika |
34 | (GMT-06:00) Velikonoční ostrov |
35 | (GMT-05:00) Východní čas (USA a Kanada) |
40 | (GMT-05:00) Indiana (východ) |
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) Atlantický čas (Kanada) |
51 | (GMT-05:00) Turks a Caicos |
55 | (GMT-04:00) Georgetown, La Paz, San Juan |
56 | (GMT-04:00) Santiago |
58 | (GMT-04:00) Cuiaba |
59 | (GMT-04:00) Asunción |
60 | (GMT-03:30) Newfoundland |
65 | (GMT-03:00) Brasília |
69 | (GMT-03:00) Buenos Aires |
70 | (GMT-03:00) Cayennee, Fortaleza |
71 | (GMT-03:00) Salvador |
72 | (GMT-03:00) Saint Pierre a Miquelon |
73 | (GMT-03:00) Grónsko |
74 | (GMT-03:00) Montevideo |
75 | (GMT-02:00) Střední Atlantik |
76 | (GMT-02:00) Standard UTC - 2 |
77 | (GMT-03:00) Araguaina |
80 | (GMT-01:00) Azory |
83 | (GMT-01:00) Ostrov Cabo Verde |
84 | (GMT+01:00) Casablanca |
85 | (GMT+00:00) Dublin, Edinburgh, Lisabon, Londýn |
90 | (GMT+00:00) Monrovia, Reykjavík |
92 | (GMT) Standard UTC |
95 | (GMT+01:00) Bělehrad, Bratislava, Budapešť, Lublaň, Praha |
100 | (GMT+01:00) Sarajevo, Skopje, Varšava, Záhřeb |
105 | (GMT+01:00) Brusel, Kodaň, Madrid, Paříž |
110 | (GMT+01:00) Amsterdam, Berlín, Bern, Řím, Stockholm, Vídeň |
113 | (GMT+01:00) Západní střední Afrika |
115 | (GMT+02:00) Kišiněv |
120 | (GMT+02:00) Káhira |
125 | (GMT+02:00) Helsinky, Kyjev, Riga, Sofie, Tallin, Vilnius |
129 | (GMT+02:00) Ammán |
130 | (GMT+02:00) Atény, Bukurešť |
131 | (GMT+02:00) Bejrút |
133 | (GMT+02:00) Damašek |
134 | (GMT+03:00) Istanbul |
135 | (GMT+02:00) Jeruzalém |
140 | (GMT+02:00) Harare, Pretoria |
141 | (GMT+02:00) Windhoek |
142 | (GMT+02:00) Gaza, Hebron |
145 | (GMT+03:00) Moskva, Sant Petěrburg |
150 | (GMT+03:00) Kuvajt, Rijád |
151 | (GMT+03:00) Minsk |
155 | (GMT+03:00) Nairobi |
158 | (GMT+03:00) Bagdád |
159 | (GMT+02:00) Kaliningrad |
160 | (GMT+03:30) Teherán |
165 | (GMT+04:00) Abú Dhabí, Maskat |
169 | (GMT+04:00) Baku |
170 | (GMT+04:00) Jerevan |
172 | (GMT+04:00) Port Louis |
173 | (GMT+04:00) Tbilisi |
174 | (GMT+04:00) Iževsk, Samara |
175 | (GMT+04:30) Kábul |
176 | (GMT+04:00) Astrachaň, Uljanovsk |
180 | (GMT+05:00) Jekatěrinburg |
184 | (GMT+05:00) Islámábád, Karáčí |
185 | (GMT+05:00) Taškent |
190 | (GMT+05:30) Čennaí, Kolkata, Mumbaí, Nové Dillí |
193 | (GMT+05:45) Káthmandú |
195 | (GMT+06:00) Astana |
196 | (GMT+06:00) Dháka |
197 | (GMT+06:00) Omsk |
200 | (GMT+05:30) Šrí Džajawardenepúra |
201 | (GMT+07:00) Novosibirsk |
203 | (GMT+06:30) Yangon (Rangún) |
205 | (GMT+07:00) Bangkok, Hanoj, Jakarta |
207 | (GMT+07:00) Krasnojarsk |
208 | (GMT+07:00) Barnaul, Gorno-Altajsk |
209 | (GMT+07:00) Chovdský ajmag |
210 | (GMT+08:00) Peking, Čchung-čching, Hongkong – zvláštní administrativní oblast, Urumqi |
211 | (GMT+07:00) Tomská oblast |
215 | (GMT+08:00) Kuala Lumpur, Singapur |
220 | (GMT+08:00) Tchaj-pej |
225 | (GMT+08:00) Perth |
227 | (GMT+08:00) Irkutsk |
228 | (GMT+08:00) Ulánbátar |
229 | (GMT+09:00) Pchjongjang |
230 | (GMT+09:00) Soul |
231 | (GMT+08:45) Eucla |
235 | (GMT+09:00) Osaka, Sapporo, 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) Ostrov Lorda Howa |
275 | (GMT+10:00) Guam, Port Moresby |
276 | (GMT+11:00) Bougainville |
277 | (GMT+11:00) Norfolk |
278 | (GMT+11:00) Sachalin |
279 | (GMT+11:00) Čokurdach |
280 | (GMT+11:00) Šalamounovy ostrovy, Nová Kaledonie |
281 | (GMT+11:00) Magadan |
284 | (GMT+12:00) Standard UTC + 12 |
285 | (GMT+12:00) Ostrovy Fidži |
290 | (GMT+12:00) Auckland, Wellington |
295 | (GMT+12:00) Anadyr, Petropavlovsk-Kamčatskij |
299 | (GMT+12:45) Chathamovy ostrovy |
300 | (GMT+13:00) Nuku'alofa |
301 | (GMT-05:00) Chetumal |
302 | (UTC+02:00) Chartúm |
303 | (GMT-03:00) Punta Arenas |
304 | (GMT+04:00) Volgograd |
305 | (GMT-07:00) Yukon |