Werkuurkalenders bewerken via API's
Organisaties moeten vaak programmatisch werkuren maken, bewerken of verwijderen op de kalenders van hun resources. Kalenders tonen werkuren, vrije tijd en pauzes die de beschikbaarheid van een resource bepalen wanneer werk wordt gepland. Die resources moeten in specifieke tijdzones worden gepland, kunnen al dan niet te maken hebben met bedrijfssluitingen en kunnen een variabele capaciteit hebben. Ga voor informatie over het definiëren van werkuren in de Field Service-app naar Werkuren toevoegen aan een boekbare resource.
Naast het gebruik van de Field Service-app, kunt u de volgende API's gebruiken om kalenderregels te wijzigen voor geselecteerde recordtypen:
- De API Agenda opslaan (
msdyn_SaveCalendar
) maakt of werkt kalenderrecords voor een geselecteerde entiteit bij, op basis van de invoer die als aanvraag is doorgegeven. - De API Kalender verwijderen (
msdyn_DeleteCalendar
) verwijdert alle interne kalenderregels van een kalender voor een geselecteerde entiteit, op basis van de invoer die als aanvraag is doorgegeven. - De API Kalender opslaan/verwijderen V2 (msdyn_SaveCalendar/msdyn_DeleteCalendar, pass flag UseV2) maakt meerdere herhalingen van werkuren tegelijk mogelijk door de logica voor overlappende regels te wijzigen. Zie Wat gebeurt er als er overlappende regels zijn? voor meer informatie.
Dit artikel bevat details over de invoer (aanvraag) en uitvoer (respons) van elke API en hun gebruik, met voorbeelden.
Vereisten
- Platformversie 9.2.21055 of hoger met Universal Resource Scheduling versie 3.12.45.7.
- Gebruik van een van de volgende recordtypen:
- Boekbare resource (bookableresource)
- Resourcevereisten (msdyn_resourcerequirement)
- Werkurensjabloon (msdyn_workhourtemplate)
- Project (msdyn_projects)
Typen kalendergebeurtenissen
Wanneer u een kalender maakt, definieert u hoe vaak een type werkuur zal voorkomen: eenmaal, de hele dag, elke week of elke dag. U kunt echter ook een aangepast terugkeerpatroon opstellen. Ga voor meer informatie over deze kalendergebeurtenissen naar de voorbeelden verderop in dit artikel.
Exemplaar
Wanneer een werkuurtype slechts één keer voorkomt in de kalender van de entiteit, wordt dit een exemplaar genoemd.
Denk bijvoorbeeld aan een resource die op 26 mei 2021 van 5:00 uur tot 10:00 uur werkt. Deze API's ondersteunen alleen dit type gebeurtenis, die op dezelfde dag begint en eindigt. Neem voor een ander voorbeeld een resource die werkt van 20:00 uur op 26 mei 2021 tot 10:00 uur op 27 mei 2021. U kunt dit exemplaar niet maken met slechts één aanroep van de API msdyn_SaveCalendar
, maar moet in plaats daarvan twee aanroepen uitvoeren.
Gebeurtenis die de hele dag duurt
Wanneer een werkuurtype voor een of meer hele dagen optreedt, beginnend om middernacht (12:00 uur) van de startdatum, is het een gebeurtenis die de hele dag duurt. De maximale duur voor een gebeurtenis die de hele dag duurt bedraagt vijf jaar.
Een resource werkt bijvoorbeeld de hele dag van 26 mei 2021 tot het einde van de dag op 30 mei 2021. Dit is een gebeurtenis die de hele dag duurt die vijf dagen in beslag neemt.
Wekelijkse herhaling
Wanneer een werkuurtype op dezelfde tijd op geselecteerde dagen van elke week plaatsvindt, wordt dit een wekelijkse herhaling genoemd.
Een resource werkt bijvoorbeeld elke maandag, dinsdag en woensdag van 5:00 uur tot 10:00 uur.
Dagelijkse herhaling
Wanneer een werkuurtype elke dag op dezelfde tijd plaatsvindt, wordt dit een dagelijkse herhaling genoemd.
Een resource werkt bijvoorbeeld elke dag van de week van 5:00 uur tot 10:00 uur.
Aangepaste herhaling
Wanneer een werkuurtype op bepaalde tijden op bepaalde dagen van de week plaatsvindt, maar de tijden op verschillende dagen anders zijn, kunt u een aangepaste herhaling maken.
Een resource werkt bijvoorbeeld elke maandag van 5:00 uur tot 10:00 uur en elke woensdag van 12:00 uur tot 15:00 uur.
Werkuurtypen
Deze API's ondersteunen het maken, bijwerken en verwijderen van bewerkingen voor de volgende typen werkuren:
Werkuren
Werkuren zijn tijden waarin een entiteit beschikbaar is om werkzaamheden uit te voeren.
Met behulp van deze API's kunt u het volgende doen:
- Een werkuurexemplaar maken, bewerken of verwijderen.
- Een dagelijks herhaald werkuur maken, bewerken of verwijderen.
- Een wekelijks herhaald werkuur maken, bewerken of verwijderen.
- Een aangepast herhaald werkuur maken, bewerken of verwijderen.
- Werkuren die de hele dag duren maken, bewerken of verwijderen.
- Capaciteit voor werkuren maken of bewerken.
- Een enkel werkuurexemplaar in een herhaling bewerken.
- Deze en volgende gebeurtenissen in een herhaling bewerken.
- Een werkuurexemplaar wijzigen in een herhaling.
- De tijdzone van de kalenderregel wijzigen.
Met behulp van deze API kan niet het volgende worden gedaan:
- Een enkel werkuurexemplaar verwijderen uit een herhaling.
- Een gebeurtenis maken die 24 uur duurt, maar niet begint en eindigt om middernacht (12:00 uur).
- Een gebeurtenis die de hele dag duur maken, bewerken of verwijderen.
Niet-werkuur
Dit zijn tijden waarin de entiteit niet beschikbaar is om te werken vanwege een niet-gespecificeerde reden.
Met behulp van deze API's kunt u het volgende doen:
- Niet-werkuren die de hele dag duren maken of bewerken.
- Een niet-werkuurexemplaar maken of bewerken.
- De tijdzone van de kalenderregel wijzigen.
Met behulp van deze API's kunt u niet het volgende doen:
- Een niet-werkuurexemplaar maken of bewerken.
Pauze
Dit zijn momenten op een werkdag waarop een entiteit pauze neemt en niet beschikbaar is voor werk. Pauzes kunnen niet bestaan zonder werkuren. Zij moeten plaatsvinden tussen twee werkuren op een dag. Pauzes mogen geen werkuren overlappen.
Met behulp van deze API's kunt u het volgende doen:
- Pauzes tijdens werkuren maken of bewerken.
Met behulp van deze API's kunt u niet het volgende doen:
- Alleen pauzes van een gebeurtenis of herhaling van werkuren verwijderen.
Verlof
Dit zijn tijden waarin een entiteit niet beschikbaar is om te werken vanwege vakantie. De reden voor verlof kan worden opgegeven.
Met behulp van deze API's kunt u het volgende doen:
- Vrije tijd maken of bewerken met een label.
- De tijdzone van de kalenderregel wijzigen.
Met behulp van deze API's kunt u niet het volgende doen:
- Een verlofuurexemplaar maken of bewerken.
Bedrijfssluiting
U kunt entiteiten voor bedrijfssluiting maken die de tijden bepalen waarop het bedrijf is gesloten. Met de API msdyn_SaveCalendar
kunt u elke entiteit instellen om de bedrijfssluitingstijden van de organisatie aan te houden of te negeren met behulp van de optionele sleutel ObserveClosure. Wanneer ze zijn ingesteld om deze sluitingen aan te houden, zijn de entiteiten niet beschikbaar voor werk.
API Kalender opslaan
Invoer
De aanvraag bevat slechts één kenmerk, namelijk CalendarEventInfo, wat een type String is. Het bevat verschillende andere kenmerken die allemaal in deze string zijn ingesloten.
Opmerking
In de volgende tabel staat Type voor de verwachte indeling voor een succesvolle aanvraag. De hele aanvraag wordt echter geparseerd als een enkele string.
CalendarEventInfo
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
EntityLogicalName | String | Ja | Deze sleutel beschrijft de entiteit van waaruit de API wordt aangeroepen. De kalender van deze entiteit moet worden gemaakt of bewerkt. |
CalendarId | GUID | Ja | Deze sleutel bevat de kalender-id die betrekking heeft op de hierboven beschreven entiteit. Wanneer een van deze entiteiten wordt gemaakt, wordt ook automatisch een kalenderrecord gemaakt. Deze API's bewerken deze kalenderrecord door regels toe te voegen of bestaande regels te bewerken. |
RulesAndRecurrences | RulesAndRecurrences | Ja | Deze sleutel is een matrix en elk element bevat meerdere kenmerken zoals vermeld in de tabel in de volgende sectie. De grootte van de matrix moet minimaal één zijn. |
IsVaried | Booleaans | Geen | Deze sleutel moet worden ingesteld op true voor aangepaste herhalingsscenario's. |
IsEdit | Booleaans | Geen | Deze sleutel moet worden ingesteld op true voor het bewerken van bestaande regels. |
TimeZoneCode | Integer | Geen | Deze sleutel heeft een geheel getal als waarde dat overeenkomt met de tijdzone voor de kalenderregels. Ga voor de toewijzing naar Tijdzonecodes verderop in dit artikel. De standaardwaarde is de tijdzone van de gebruiker. |
InnerCalendarDescription | String | Geen | Deze sleutel is alleen nodig als de kalenderregel voor verlof is. Het moet de reden voor het verlof bevatten. |
ObserveClosure | Booleaans | Geen | Deze sleutel is specifiek voor herhalingen. Als deze is ingesteld op true , houdt de entiteit de bedrijfssluiting aan. |
RecurrenceEndDate | Datum en tijd | No | Deze sleutel is specifiek voor herhalingen. Dit bevat de einddatum voor de herhaling. Als de timestamp 08:00:00 of eerder is, is de einddatum van de herhaling één dag vóór de opgegeven datum. Als de timestamp 08:00:01 of later is, wordt de datum ongewijzigd aangehouden. De standaardwaarde voor exemplaren is null. De standaardwaarde voor herhalingen is 30 december 9999, 23:59.59 uur, UTC |
RecurrenceSplit | Booleaans | Geen | Deze sleutel is specifiek voor herhalingen. Deze waarde is ingesteld op true voor het bewerken van "Deze en volgende gebeurtenissen" van een herhaling. |
ResourceId | GUID | Geen | Deze sleutel bevat de SystemUserId of ResourceId en mag alleen worden doorgegeven wanneer de entiteit die aan deze aanvraag is gekoppeld een boekbare resource van het type SystemUser is. Dit is nodig om te controleren op OwnCalendar-bevoegdheden op het tabblad Servicebeheer. |
UseV2 | Vlag | No | Als u deze vlag doorgeeft, wordt de V2-versie van de werkurenkalender ingeschakeld, met een verbeterde logica voor overlappende regels die meerdere herhalingen mogelijk maakt. Zie Wat gebeurt er als er overlappende regels zijn? voor meer informatie. |
RulesAndRecurrences
Meting | Type | Vereist | Omschrijving |
---|---|---|---|
Regels | Regels | Ja | Deze sleutel is een matrix en elk element bevat meerdere kenmerken zoals vermeld in de tabel in de volgende sectie. De grootte van de matrix moet minimaal één zijn. |
RecurrencePattern | String | Geen | Deze sleutel is specifiek voor herhalingen. We ondersteunen momenteel alleen dit patroon: FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA .
BYDAY kan worden gewijzigd om minder dagen op te nemen. FREQ en INTERVAL kunnen echter niet worden gewijzigd. |
InnerCalendarId | GUID | Geen | Deze sleutel is specifiek voor bewerken. Als een regel wordt bewerkt, moet de InnerCalendarId hier worden doorgegeven. Als geen InnerCalendarId wordt doorgegeven, maakt de API een nieuwe regel, zelfs als de sleutel IsEdit is ingesteld op true. |
Actie | Integer | Geen | Deze sleutel is specifiek voor aangepaste herhalingen. Als een aangepast terugkeerpatroon wordt gemaakt of bewerkt, moet een van de volgende nummers worden ingevoerd:
|
Regels
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
StartTime | Datum/tijd | Ja | Deze sleutel bevat een datum-/tijdsvermelding in ISO-indeling. Bijvoorbeeld: \"2021-05-15T12:00:00.000Z\" . Het tijdsdeel bepaalt de starttijd van het werkuur in de eerder opgegeven tijdzone. Het datumgedeelte bepaalt de startdatum van het werkuur. Hier is 15 mei 2021 de datum van de gebeurtenis of de startdatum van de herhaling. Als het patroon BYDAY=TU,WE was, maar 15 mei (een zaterdag) de datum is, maakt of bewerkt de API automatisch regels voor alle dinsdagen en woensdagen na 15 mei. Dit is het geval wanneer de regel niet de datum hoeft te hebben die overeenkomt met de dag. |
EndTime | Datum/tijd | Ja | Deze sleutel bevat een datum-/tijdsvermelding in ISO-indeling. Bijvoorbeeld: \"2021-05-15T12:00:00.000Z\" . Het tijdsdeel bepaalt de eindtijd van het werkuur in de eerder opgegeven tijdzone. Het datumgedeelte moet dezelfde datum bevatten als het datumgedeelte van StartTime. De enige uitzonderingen zijn:
|
WorkHourType | Integer | Ja | Deze sleutel bevat een getal dat overeenkomt met een van de volgende opties:
|
Effort | Integer | No | Deze sleutel bepaalt de capaciteit van de entiteit. Dit moet een geheel getal zijn. De standaardwaarde is 1. |
Uitvoer
Deze POST-API maakt of wijzigt kalenderregelrecords voor de geselecteerde entiteit. Het biedt ook de volgende uitvoer.
Naam | Type | Beschrijving |
---|---|---|
InnerCalendarIds | String | Een matrix van InnerCalendarIds GUID's die het resultaat zijn van de POST-bewerking. |
API Kalender verwijderen
Invoer
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
EntityLogicalName | String | Ja | Dit veld beschrijft de entiteit waarvan de kalenderregels moeten worden verwijderd. |
InnerCalendarId | GUID | Ja | Dit veld beschrijft de id van de InnerCalendarId die moet worden verwijderd. Als er meerdere InnerCalendarIds gekoppeld aan een enkele regel, is elke willekeurige id voldoende hier. Meer informatie over binnen- en buitenkalenders: Kalenderentiteiten |
CalendarId | GUID | Ja | Dit veld beschrijft de CalenderId van de entiteit. |
IsVaried | Booleaans | Geen | Dit veld is specifiek voor herhalingen en is ingesteld op yes als een aangepaste herhalingsregel wordt verwijderd. |
UseV2 | Vlag | No | Als u deze vlag doorgeeft, wordt de V2-versie van de werkurenkalender ingeschakeld, met een verbeterde logica voor overlappende regels die meerdere herhalingen mogelijk maakt. Zie Wat gebeurt er als er overlappende regels zijn? voor meer informatie. |
Uitvoer
Deze POST-API verwijdert kalenderregelrecords voor de geselecteerde entiteit. Bovendien biedt het de volgende uitvoer.
Naam | Type | Beschrijving |
---|---|---|
InnerCalendarIds | String | Een matrix van InnerCalendarIds GUID's die het resultaat zijn van de POST-bewerking. |
Agenda-API laden
Invoer
Naam: msdyn_LoadCalendars
Type: Actie
Beschrijving: Retourneert agenda's voor een gegeven LoadCalendarsInput.
Naam: msdyn_LoadCalendars.LoadCalendarsInput
Type: Parameter
Beschrijving: Tekenreeks in de volgende JSON-indeling:
{
StartDate: string,
EndDate: string,
CalendarIds: string[]
}
Naam: msdyn_LoadCalendarsResponse
Type: ComplexType
Beschrijving: Bevat de respons van de actie msdyn_loadCalendars.
Naam: msdyn_LoadCalendarsResponse.CalendarEvents
Type: Eigenschap
Beschrijving: Tekenreeks in de volgende JSON-indeling:
{
"calendarId": CalendarEventSlot[]
}
Waarbij calendarId een juiste guid is die Guid van de agenda vertegenwoordigt en CalendarEventSlot een object is met de volgende indeling:
{
CalendarId: string,
InnerCalendarId: string,
Start: string,
End: string,
Effort: double
}
Procedure voor het aanroepen van alle API's
Deze API's kunnen worden aangeroepen via de browser.
- Open de browser en de organisatie waarin u deze kalenderwijzigingen moet doorvoeren.
- Open Developer Tools (selecteer Ctrl+Shift+I in Microsoft Edge, selecteer F12 in Google Chrome).
- Voer in de console de volgende functie in, na het vervangen van [org-name] door organisatiedetails (bijvoorbeeld
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));
}
- Nadat deze functie is gedefinieerd, kunt u deze aanroepen om kalenders te maken, te bewerken of te verwijderen met behulp van de API's. Voer het volgende gesprek in om een agenda op te slaan:
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
}]
}]
}"
})
Voer het volgende gesprek in om een agenda te verwijderen:
CalendarAction("msdyn_DeleteCalendar", {
"CalendarEventInfo":"{
\"CalendarId\":\"8390358c-77d0-430f-b176-f27adadac8eb\",
\"EntityLogicalName\":\"bookableresource\",
\"InnerCalendarId\":\"cf508c2c-5c55-485c-be1e-d2ebcb385441\"
}"
})
Zie het volgende gedeelte voor voorbeelden van hoe u verschillende aanroepen kunt uitvoeren op basis van uw behoeften. Vervang de action
van de functieaanroep in stap 3 door msdyn_SaveCalendar
of msdyn_DeleteCalendar
, en vervang data
door de relevante CalendarEventInfo
.
Zie ook de volgende schermopname voor een Power Automate-oproep tot msdyn_SaveCalendar
-actie:
Voorbeeldscenario's voor API-gebruik
Laten we enkele scenario's doornemen waarvoor u deze API's kunt gebruiken.
Bob en Tim zijn vrachtwagenchauffeurs voor Contoso Enterprises in Bellevue, Washington. Hun coördinator, Debbie, is verantwoordelijk voor het aanbrengen van wijzigingen in hun werkuurkalenders. Debbie brengt deze wijzigingen aan met behulp van de API's msdyn_SaveCalendar
en msdyn_DeleteCalendar
.
Een werkuurexemplaar maken.
Het is de bedoeling dat Bob op 15 mei 2021 van 9.00 uur tot 17.00 uur rondrijdt om pakketten te bezorgen. Debbie gebruikt de API msdyn_SaveCalendar
.
Aanvraag
{
"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}]}]}"
}
Antwoord
{
"InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}
Een werkuurexemplaar bewerken.
Het schema van Bob verandert dan en begint op 15 mei 2021 om 10:00 uur. Debbie gebruikt de API msdyn_SaveCalendar
.
Aanvraag
{
"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\"}]}"
}
Antwoord
{
"InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}
Een werkuurexemplaar verwijderen.
Er doet zich een noodgeval voor in de familie en Bob moet een hele werkdag afzeggen. Debbie gebruikt de API msdyn_DeleteCalendar
.
Aanvragen
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"}"
}
De respons
{
"InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}
Een dagelijkse werkuurherhaling maken
Vanaf 20 mei 2021 besluit Bob de hele week bij Contoso te werken van 08.00 uur tot 17.00 uur en stopt daar op 15 juli 2021.
Aanvragen
{
"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\"}]}"
}
De respons
{
"InnerCalendarIds": "[\"20f6cfa7-cfbe-eb11-a81d-000d3a6e4359\"]"
}
Een dagelijks terugkerend werkuur met verhoogde capaciteit bewerken
Bob besluit zijn werk de hele week van 15 juni 2021 neer te leggen om een pauze te nemen. Tot die tijd zet Bob het schema van de hele week voort, zoals eerder was overeengekomen. Debbie brengt deze wijzigingen aan met behulp van de API msdyn_SaveCalendar
.
Aanvraag
{
"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\"}]}"
}
Antwoord
{
"InnerCalendarIds": "[\"867a2461-cdbe-eb11-a81d-000d3a6e4359\"]"
}
Een wekelijkse werkuurherhaling maken
Vanaf 16 juni 2021 werkt Bob op woensdag en vrijdag van 8.00 tot 17.00 uur en neemt hij tussen 12.00 en 12.30 uur pauze voor de lunch. Debbie gebruikt de msdyn_SaveCalendar
-API, maar maakt een fout en plant de pauze in van 12.00 uur tot 13.00 uur.
Aanvragen
{
"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\"}]}"
}
De respons
{
"InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}
Een pauze bewerken voor een wekelijkse werkuurherhaling
Debbie corrigeert haar fout vervolgens en wijzigt de pauze naar van 12.00 uur tot 12.30 uur met behulp van de msdyn_SaveCalendar
-API.
Aanvraag
{
"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\"}]}"
}
De respons
{
"InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}
Een aangepaste werkuurherhaling maken
Tim werkt voor Contoso op maandag van 8:00 tot 17:00 uur en op woensdag van 11:00 tot 15:00 uur. Tim begon op 16 mei 2021 met zijn werkzaamheden voor Contoso. Debbie gebruikt de API msdyn_SaveCalendar
om de werkuren van Tim te maken.
Aanvraag
{
"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\"}]}"
}
Antwoord
{
"InnerCalendarIds": "[\"9fb8c199-d1be-eb11-a81d-000d3a6e4359\", \"a2b8c199-d1be-eb11-a81d-000d3a6e4359\"]"
}
Een aangepaste werkuurherhaling bewerken
Tims planning verandert maar werktijden van woensdag 17.00 uur tot 20.00 uur en donderdag 10.00 uur tot 12.00 uur. De maandag wordt uit Tims planning gehaald. Debbie gebruikt de API msdyn_SaveCalendar
om voor elkaar te krijgen.
Aanvragen
{
"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\"}]}"
}
De respons
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}
Een werkuurexemplaar in een herhaling bewerken
Op 26 mei 2021 kan Tim alleen van 13:00 tot 19:00 uur werken. Debbie gebruikt hier de API msdyn_SaveCalendar
.
Aanvragen
{
"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\"}]}"
}
De respons
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\"]"
}
Een aangepaste werkuurherhaling verwijderen
Tim heeft besloten om ontslag te nemen en moet zijn hele planning verwijderen. Debbie gebruikt hier de API msdyn_DeleteCalendar
.
Aanvragen
{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"34d2210c-9fb6-eb11-a820-000d3afb1dba\",\"IsVaried\":true}"
}
De respons
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}
Verlof maken
Vanaf 9 juni 2021 neemt Tim drie dagen verlof voor een gezinsvakantie.
Aanvraag
{
"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}]}]}"
}
Antwoord
{
"InnerCalendarIds": "[\"266c434e-d5be-eb11-a81d-000d3a6e4359\"]"
}
Werkuren voor de hele dag maken
Tim heeft een dienst van 72 uur die begint op 20 mei 2021. Debbie gebruikt de API msdyn_SaveCalendar
om de werkuren van Tim te maken.
Aanvragen
{
"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}]}]}"
}
De respons
{
"InnerCalendarIds": "[\"6e160a8e-d5be-eb11-a81d-000d3a6e4359\"]"
}
Veelgestelde vragen over
Ik krijg de foutmelding "StartTime mag niet groter of gelijk zijn aan EndTime."
Zorg ervoor dat er geen overlappingen zijn in de tijdvakken van de verschillende kalenderregels. Controleer de datums om er zeker van te zijn dat StartTime niet later is dan EndTime. Controleer ook of de tijden de 24-uursnotatie volgen.
Kunnen de API's worden gebruikt om de entiteit 'Werkuursjablonen' bij te werken?
Ja, u kunt deze API gebruiken om naast werkuren van resources ook werkuursjablonen te maken en bij te werken.
Ik krijg de foutmelding: "Er is een fout opgetreden bij het deserialiseren van het object van het type Microsoft.Dynamics.UCICalendar.Plugins.SaveCalendarContract+CalendarEventInfo. De invoerbron is niet correct geformatteerd.
or
Verwachte status 'Element'. Ontvangen 'Tekst' met naam '', naamruimte ''."
Zorg ervoor dat de string correct wordt geparseerd. Mogelijk ontbreken er haakjes, komma's of puntkomma's.
Ik krijg de foutmelding "Ongeldig herhalingspatroon. Raadpleeg de documentatie voor ondersteunde patronen."
We ondersteunen momenteel alleen dit patroon: FREQ=DAILY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
.
BYDAY
kan worden gewijzigd om minder dagen op te nemen. FREQ
en INTERVAL
kunnen echter niet worden gewijzigd. Zorg ervoor dat er geen spaties in het patroon zitten.
Hoe krijgen we informatie over de CalendarId en de InnerCalendarId van de resource?
De CalendarId
kan worden opgehaald uit resourcekenmerken. Doe deze oproep om deze informatie te krijgen: [org-url]/api/data/v9.1/bookableresources([bookableresourceGUID])
.
Een voorbeeld van de vorige oproep zou zijn: [org-url]/api/data/v9.1/bookableresources(7bb0224b-6712-ec11-94f9-000d3a6d888e)
.
De InnerCalendarId
kan worden opgehaald uit agendakenmerken. Doe deze oproep om deze informatie te krijgen: [org-url]/api/data/v9.1/calendars([calendar-id-from-above-call])?$expand=calendar_calendar_rules
.
Een voorbeeld van de vorige oproep is: [org-url]/api/data/v9.1/calendars(02481736-1b6a-4d49-9ebd-a5bd041c1c99)?$expand=calendar_calendar_rules
.
Wat gebeurt er als er overlappende regels zijn?
Regels vallen onder een paar verschillende rangen:
- Rang 1: dagelijkse gebeurtenis (werkend/niet-werkend), en vrije tijd.
- Rang 0: wekelijkse herhaling (werkend/niet werkend).
Overlappende regels V2
- De Rang 1-regels hebben een hogere prioriteit dan Rang 0-regels. als er twee regels zijn (één van elke rang) op dezelfde dag, krijgt de dagelijkse gebeurtenis of de vrije tijd-gebeurtenis voorrang op de wekelijkse gebeurtenis.
- Wanneer er meerdere Rang 0-regels zijn binnen dezelfde periode:
- Als de tijden elkaar niet kruisen, blijven ze allebei op de kalender staan.
- Als de tijden elkaar kruisen, is de regel die het meest recent is gemaakt/gewijzigd de regel die in aanmerking komt voor de agenda van de resource. Alle andere kruisende regels in de periode worden verwijderd. Als sommige regels van rang 0 snijpunten hebben op sommige datums maar niet op andere, wordt de regel gesplitst om de niet-kruisende delen te behouden, terwijl de kruisende delen worden verwijderd.
Voorbeelden van V2-agendagedrag:
Voorbeeld 1 - Herhaalde werkuren: overlappende datums zonder overlappende dagen/tijden
Voor een bepaalde periode werkt een technicus ochtend-, middag- of nachtdiensten op verschillende dagen.
Maak een eerste herhalende kalenderregel voor een bepaald datumbereik. Bijvoorbeeld: Herhaal ma, di; 1.1-4.1; 08.00-17.00 uur ET.
Maak een tweede herhalende kalenderregel voor een kruisend datumbereik, en zorg ervoor dat de werkuren elkaar niet kruisen met de vorige dagen of tijden. Bijvoorbeeld: Herhaal wo, do; 1.1-4.1; 08.00-17.00 uur ET of Herhaal ma, di; 1.1-4.1; 17.00-20.00 uur ET.
Resultaat: beide kalenderregels worden gehandhaafd en blijven naast elkaar bestaan.
Voorbeeld 2 - Herhalende werkuren: sommige overlappende datums, met alle overlappende dagen en de tweede regel begint/eindigt voor of na de eerste regel
Een monteur krijgt een nieuw werkrooster, dat enkele weken van zijn oude rooster vervangt. Volgens contract werken ze altijd elke week op dezelfde dagen.
Maak een eerste herhalende kalenderregel voor een bepaald datumbereik. Bijvoorbeeld: Herhaal ma, di; 2.1-4.1; 08.00-17.00 uur ET.
Maak een tweede herhalende kalenderregel voor een overlappend datumbereik, waarbij alle dagen overlappende werkuren hebben. Kies begin-/einddatums voor deze nieuwe regel die vóór of na de begin-/einddatum van de eerste regel liggen. Bijvoorbeeld: Herhaal ma, di; 3.1-5.1; 13.00-20.00 uur ET.
Resultaat: de eerste regel wordt afgekapt om rekening te houden met de begin-/einddatum van de tweede regel. Bijvoorbeeld: Herhaal ma, di; 2.1-2.28; 08.00-17.00 uur ET EN Herhaal ma, di; 3.1-5.1; 13.00-20.00 uur ET.
Voorbeeld 3 - Herhaalde werkuren: alle overlappende datums, met enkele overlappende dagen/tijden
De monteur is een contractwerker voor een vaste periode van 2 maanden. Hij of zij is overeengekomen om op sommige dagen extra werk op zich te nemen. Hij of zij wil de werktijden op dinsdag naar een vroeger/later tijdstip verschuiven.
Maak enkele herhalende kalenderregels voor een bepaald datumbereik. Bijvoorbeeld: Herhaal ma, di; 2.1-4.1; 08.00-12.00 uur ET EN Herhaal di, wo; 2.1-4.1; 13.00-17.00 uur ET.
Maak een herhalende kalenderregel voor hetzelfde datumbereik. Kies dagen/tijden die gedeeltelijk overlappen met de oorspronkelijke regels. Bijvoorbeeld: Herhaal di, do; 2.1-4.1; 10.00-14.00 uur ET.
Resultaat: de nieuwe regel overschrijft de oude waar er overlappingen zijn en laat de andere ongewijzigd. Bijvoorbeeld: Herhaal ma; 2.1-4.1; 08:00-12:00 ET EN Herhaal wo; 2.1-4.1; 13:00-17:00 ET EN Herhaal di, do ; 2.1-4.1; 10:00-14:00 ET.
Voorbeeld 4 - Herhalende werkuren: nieuwe regeldatums binnen oude regel, enkele overlappende dagen/tijden
Een technicus werkt elke week van 8.00 tot 17.00 uur, ma-vr. Twee weken lang zullen ze elke ma-wo een speciaal noodproject uitvoeren met verschillende werktijden van 6.00 tot 18.00 uur.
Maak een eerste herhalende kalenderregel voor een bepaald datumbereik. Bijvoorbeeld: Herhaal ma, di, wo, do, vr; 1.1-Geen einddatum; 08:00-17:00 ET.
Maak een tweede herhalende kalenderregel binnen het bovenstaande datumbereik, kies werkuren die elkaar op sommige dagen overlappen. Bijvoorbeeld: Herhaal ma, di, wo; 5.1-5.14; 06.00-18.00 uur ET.
Resultaat: de kalender zou tegen het einde van deze oefening vier herhalende regels moeten hebben:
- kap de eerste regel af tot de begindatum van de tweede regel
- de tweede kalenderregel
- maak een nieuwe regel aan die lijkt op de eerste regel, maar met de datums van de tweede regel voor de niet-overlappende dagen
- kap de eerste regel af om te beginnen vanaf de einddatum van de tweede regel, zonder einddatum
Bijvoorbeeld: Herhaal ma, di, wo, do, vr; 1.1–4.30; 08:00-17:00 ET EN Herhaal ma, di, wo; 5.1-5.14; 06:00-18:00 ET EN Herhaal do, vr, 5.1-5.14; 08:00-17:00 ET EN Herhaal ma, di, wo, do, vr; 5.15–Geen einddatum; 08.00-17.00 uur ET
Voorbeeld 5 - Niet-herhalende werkuren (voorkomen, rang 1-regel)
Een technicus heeft een aantal teamcohesiedagen, die voorrang hebben op alle andere werkuren voor die dag.
Maak een herhalende kalenderregel voor een bepaald datumbereik. Bijvoorbeeld: Herhaal ma, di, wo, do, vr; 1.1-Geen einddatum; 08:00-17:00 ET.
Maak een niet-herhalende kalenderregel binnen het bovenstaande datumbereik. Kies werkuren die elkaar op sommige dagen overlappen. Bijvoorbeeld: Niet herhalend; 6.21; 07:00-13:00 ET.
Resultaat: de kalender zou tegen het einde van de oefening 1 niet-herhalende regel (gebeurtenis) moeten hebben. De niet-herhalende regel heft de overlappende herhalingsgebeurtenis voor de hele dag op. Bijvoorbeeld: Herhaal ma, di, wo, do, vr; 1.1-Geen einddatum behalve 6.21; niet-herhalen; 6.21; 07:00-13:00 ET.
Overlappende regels V1
- De Rang 1-regels hebben een hogere prioriteit dan Rang 0-regels. Dus als er twee regels zijn (één van elke rang) op dezelfde dag, krijgt de dagelijkse gebeurtenis of de vrije tijd-gebeurtenis voorrang op de wekelijkse gebeurtenis.
- Als er twee regels met dezelfde rang zijn, is de regel die het meest recent is gemaakt/gewijzigd de regel die in aanmerking komt voor de agenda van de resource.
- Denk eraan dat gebeurtenissen die de hele dag duren Rang 1 zijn, dus u kunt overwegen om het te wijzigen in een wekelijks terugkerende gebeurtenis, zodat u werkuren van gebeurtenissen kunt toevoegen en deze worden nageleefd.
- Wanneer een werkuur bestaat en een vrije tijd-gebeurtenis wordt gemaakt die deze overlapt, worden de regels zo opgesplitst dat de vrije tijd wordt nageleefd, en de resterende tijd als werktijd blijft zoals die is. Als er bijvoorbeeld werkuren zijn van 8 tot 17 uur op 21 september, en een vrije tijd van 15 tot 19 uur op 21 september wordt toegevoegd, wordt dit opgelost als werkuren van 8 tot 15 uur en vrije tijd van 15 tot 19 uur. Als de regels echter in de omgekeerde volgorde werden gemaakt (eerst vrije tijd en dan werkuren), ongeacht de tijdvakken, zou alleen het werkuur opnieuw worden geselecteerd. De vrije tijd wordt overschreven.
Tijdzonecodes
Enum | Tijdzone |
---|---|
0 | (GMT-12:00) Internationale westelijke datumgrens |
1 | (GMT+13:00) Samoa |
2 | (GMT-10:00) Hawaï |
3 | (GMT-09:00) Alaska |
4 | (GMT-08:00) Pacific Time (V.S. en Canada) |
5 | (GMT-08:00) Baja California |
6 | (GMT-11:00) Coordinated Universal Time-11 |
7 | (GMT-10:00) Aleoeten |
8 | (GMT-09:30) Marquesaseilanden |
9 | (GMT-09:00) Coordinated Universal Time-09 |
10 | (GMT-07:00) Mountain Time (V.S. en Canada) |
11 | (GMT-08:00) Coordinated Universal Time-08 |
12 | (GMT-07:00) Chihuahua, La Paz, Mazatlan |
15 | (GMT-07:00) Arizona |
20 | (GMT-06:00) Centrale tijd (V.S. en Canada) |
25 | (GMT-06:00) Saskatchewan |
29 | (GMT-06:00) Guadalajara, Mexico-stad, Monterrey |
33 | (GMT-06:00) Centraal-Amerika |
34 | (GMT-06:00) Paaseiland |
35 | (GMT-05:00) Eastern Time (V.S. en Canada) |
40 | (GMT-05:00) Indiana (Oost) |
43 | (GMT-05:00) Haïti |
44 | (GMT-05:00) Havana |
45 | (GMT-05:00) Bogotá, Lima, Quito, Rio Branco |
47 | (GMT-04:00) Caracas |
50 | (GMT-04:00) Atlantic Time (Canada) |
51 | (GMT-05:00) Turks- en Caicoseilanden |
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) Brasilia |
69 | (GMT-03:00) Buenos Aires |
70 | (GMT-03:00) Cayenne, Fortaleza |
71 | (GMT-03:00) Salvador |
72 | (GMT-03:00) Saint-Pierre en Miquelon |
73 | (GMT-03:00) Groenland |
74 | (GMT-03:00) Montevideo |
75 | (GMT-02:00) Mid-Atlantic |
76 | (GMT-02:00) Coordinated Universal Time-02 |
77 | (GMT-03:00) Araguaina |
80 | (GMT-01:00) Azoren |
83 | (GMT-01:00) Cabo Verde |
84 | (GMT+01:00) Casablanca |
85 | (GMT+00:00) Dublin, Edinburgh, Lissabon, Londen |
90 | (GMT+00:00) Monrovia, Reykjavik |
92 | (GMT) Coordinated Universal Time |
95 | (GMT+01:00) Belgrado, Bratislava, Boedapest, Ljubljana, Praag |
100 | (GMT+01:00) Sarajevo, Skopje, Warschau, Zagreb |
105 | (GMT+01:00) Brussel, Kopenhagen, Madrid, Parijs |
110 | (GMT+01:00) Amsterdam, Berlijn, Bern, Rome, Stockholm, Wenen |
113 | (GMT+01:00) Westelijk Centraal-Afrika |
115 | (GMT+02:00) Chisinau |
120 | (GMT+02:00) Caïro |
125 | (GMT+02:00) Helsinki, Kiev, Riga, Sofia, Tallinn, Vilnius |
129 | (GMT+02:00) Amman |
130 | (GMT+02:00) Athene, Boekarest |
131 | (GMT+02:00) Beiroet |
133 | (GMT+02:00) Damascus |
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) Moskou, St. Petersburg |
150 | (GMT+03:00) Koeweit, 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, Muscat |
169 | (GMT+04:00) Bakoe |
170 | (GMT+04:00) Jerevan |
172 | (GMT+04:00) Port Louis |
173 | (GMT+04:00) Tbilisi |
174 | (GMT+04:00) Izhevsk, Samara |
175 | (GMT+04:30) Kaboel |
176 | (GMT+04:00) Astrachan, Oeljanovsk |
180 | (GMT+05:00) Jekaterinenburg |
184 | (GMT+05:00) Islamabad, Karachi |
185 | (GMT + 05:00) Tasjkent |
190 | (GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi |
193 | (GMT+05:45) Kathmandu |
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-Altajsk |
209 | (GMT+07:00) Hovd |
210 | (GMT+08:00) Beijing, Chongqing, Hongkong, Urumqi |
211 | (GMT+07:00) Tomsk |
215 | (GMT+08:00) Kuala Lumpur, Singapore |
220 | (GMT+08:00) Taipei |
225 | (GMT+08:00) Perth |
227 | (GMT+08:00) Irkoetsk |
228 | (GMT+08:00) Ulaanbaatar |
229 | (GMT+09:00) Pyongyang |
230 | (GMT+09:00) Seoel |
231 | (GMT+08:45) Eucla |
235 | (GMT+09:00) Osaka, Sapporo, Tokio |
240 | (GMT+09:00) Jakoetsk |
241 | (GMT+09:00) Tsjita |
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) Wladiwostok |
274 | (GMT+10:30) Lord Howe Island |
275 | (GMT+10:00) Guam/Port Moresby |
276 | (GMT+11:00) Bougainville |
277 | (GMT+11:00) Norfolkeiland |
278 | (GMT+11:00) Sachalin |
279 | (GMT+11:00) Chokurdakh |
280 | (GMT+11:00) Solomon Is., Nieuw-Caledonië |
281 | (GMT+11:00) Magadan |
284 | (GMT+12:00) Coordinated Universal Time+12 |
285 | (GMT+12:00) Fiji |
290 | (GMT+12:00) Auckland, Wellington |
295 | (GMT+12:00) Anadyr, Petropavlovsk-Kamtsjatski |
299 | (GMT+12:45) Chatham Islands |
300 | (GMT+13:00) Nuku'alofa |
301 | (GMT-05:00) Chetumal |
302 | (UTC+02:00) Khartoem |
303 | (GMT-03:00) Punta Arenas |
304 | (GMT+04:00) Volgograd |
305 | (GMT-07:00) Yukon |