Redigere arbeidstidskalendere ved hjelp av APIer
Organisasjoner må ofte opprette, redigere eller slette arbeidstid programmatisk i kalenderne for ressursene. Kalendere viser arbeidstid, fritid og pauser som bestemmer tilgjengeligheten til en ressurs når arbeid planlegges. Disse ressursene må planlegges i bestemte tidssoner, kan eller kan ikke observere tidspunkt selskapet holder stengt, og kan ha variabel kapasitet. Hvis du vil ha informasjon om hvordan du definerer arbeidstid i Field Service-appen, kan du gå til Legge til arbeidstid i en ressurs som kan reserveres.
I tillegg til å bruke Field Service-appen kan du bruke følgende APIer til å endre kalenderregler for valgte oppføringstyper:
- API-en for lagring av kalender (
msdyn_SaveCalendar
) oppretter eller oppdaterer kalenderoppføringer for en valgt enhet basert på inndataene som ble sendt som forespørsel. - API-en Slett kalender (
msdyn_DeleteCalendar
) sletter alle interne kalenderregler for en kalender på en valgt enhet, basert på inndataene som ble sendt som forespørsel. - API V2 for Lag/Slett kalender API (msdyn_SaveCalendar/msdyn_DeleteCalendar, send flagg UseV2) tillater flere regelmessigheter i arbeidstimer samtidig ved å endre logikken for overlappende regler. Hvis du vil ha mer informasjon, kan du se Hva skjer hvis det finnes overlappende regler?.
Dette artikkelen inneholder detaljer om hver API sine inndata (forespørsel) og utdata (svar) og deres bruk, med eksempler.
Forutsetning
- Plattformversjon 9.2.21055 eller nyere med Universal Resource Scheduling versjon 3.12.45.7.
- Bruk av en av følgende oppføringstyper:
- Ressurs som kan reserveres (bookableresource)
- Ressurskrav (msdyn_resourcerequirement)
- Arbeidstimemal (msdyn_workhourtemplate)
- Prosjekt (msdyn_project)
Hendelsestyper for kalender
Når du oppretter en kalender, definerer du hvor mange ganger en arbeidstidstype skjer – én gang, hele dagen, hver uke eller hver dag, eller du kan opprette en egendefinert regelmessighet. Hvis du vil ha mer informasjon om disse kalenderhendelsene, kan du gå til eksemplene senere i denne artikkelen.
Forekomst
Når en arbeidstidstype bare forekommer én gang i enhetens kalender, kalles den en forekomst.
Tenk deg for eksempel en ressurs som arbeider fra 05:00 til 10:00 den 26. mai 2021. Disse APIene støtter bare denne typen forekomster, som starter og slutter i løpet av samme dag. Tenk deg for eksempel en ressurs som arbeider fra 26. mai 2021 kl 20:00 PM til 10:00 27. mai 2021. Du kan ikke opprette denne forekomsten ved å bare bruke ett kall fra msdyn_SaveCalendar
-API-et, du må gjøre to kall i stedet.
Heldagsforekomst
Når en arbeidstidstype forekommer for én eller flere hele dager, fra midnatt (00:00) av startdatoen, er det en heldagsforekomst. Maksimal varighet for en heldagsforekomst er fem år.
En ressurs fungerer for eksempel hele dagen fra 26. mai 2021 til slutten av dagen 30. mai 2021. Dette er en heldagsforekomst som varer i fem dager.
Ukentlig regelmessighet
Når en arbeidstidstype forekommer samtidig på valgte dager i hver uke, kalles den en ukentlig regelmessighet.
En ressurs arbeider for eksempel fra 05:00 til 10:00 hver mandag, tirsdag og onsdag.
Daglig regelmessighet
Når en arbeidstidstype forekommer samtidig hver dag, kalles den en daglig regelmessighet.
En ressurs arbeider for eksempel fra 05:00 til 10:00 hver dag i uken.
Egendefinert regelmessighet
Når en arbeidstidstype forekommer på bestemte tidspunkt på bestemte ukedager, men klokkeslettene er forskjellige på forskjellige dager, kan du opprette en egendefinert regelmessighet.
En ressurs arbeider for eksempel fra 05:00 til 10:00 hver mandag og 12:00 til 15:00 hver onsdag.
Typer arbeidstid
Disse APIene støtter opprettings-, oppdaterings- og sletteoperasjoner for følgende arbeidstidstyper:
Arbeidstid
Arbeidstid er tider der en enhet er tilgjengelig for å utføre arbeid.
Ved hjelp av disse APIene kan du gjøre følgende:
- Opprett, rediger eller slett en arbeidstidsforekomst.
- Opprett, rediger eller slett en daglig arbeidstidsforekomst.
- Opprett, rediger eller slett en ukentlig arbeidstidsforekomst.
- Opprett, rediger eller slett en egendefinert arbeidstidsforekomst.
- Opprett, rediger eller slett heldags arbeidstid.
- Opprett eller rediger kapasitet i arbeidstiden.
- Rediger én enkelt arbeidstidsforekomst i en regelmessighet.
- Rediger denne forekomsten og følgende forekomster i en regelmessighet.
- Endre en arbeidstidsforekomst til en regelmessighet.
- Endre tidssonen til kalenderregelen.
Ved hjelp av denne APIen kan du ikke gjøre følgende:
- Slette én enkelt arbeidstidsforekomst fra en regelmessighet.
- Opprette en forekomst som strekker seg over 24 timer, men som ikke starter og slutter ved midnatt (00:00).
- Opprette, redigere eller slette en heldags regelmessighet.
Fritid
Dette er tider da enheten ikke er tilgjengelig for arbeid på grunn av en uspesifisert grunn.
Ved hjelp av disse APIene kan du gjøre følgende:
- Opprett eller rediger fritid.
- Opprett eller rediger en fritidsforekomst.
- Endre tidssonen til kalenderregelen.
Ved hjelp av disse APIene kan du gjøre følgende:
- Opprett eller rediger en fritidsregelmessighet.
Pause
Dette er tider på en arbeidsdag der en enhet tar en pause og ikke er tilgjengelig for arbeid. Pauser kan ikke eksistere uten arbeidstid – de må skje mellom to arbeidstider i løpet av en dag. Pauser kan ikke overlappe med arbeidstiden.
Ved hjelp av disse APIene kan du gjøre følgende:
- Opprett eller rediger pauser i arbeidstiden.
Ved hjelp av disse APIene kan du gjøre følgende:
- Slett bare pauser fra en forekomst eller regelmessighet i arbeidstiden.
Fritid
Dette er tider da en enhet ikke er tilgjengelig for arbeid på grunn av en ferie. Årsaken til fritiden kan angis.
Ved hjelp av disse APIene kan du gjøre følgende:
- Opprett eller rediger fritid med en etikett.
- Endre tidssonen til kalenderregelen.
Ved hjelp av disse APIene kan du gjøre følgende:
- Opprett eller rediger fritidsregelmessighet.
Selskapet holder stengt
Du kan opprette enheter for tidspunkt selskapet holder stengt som definerer tidspunktene virksomheten er lukket. Ved hjelp av msdyn_SaveCalendar
-API-et kan du angi at alle enheter skal overholde eller ignorere organisasjonens tidspunkt selskapet holder stengt, ved hjelp av den valgfrie ObservClosure-nøkkelen. Når de er satt til å observere disse nedleggelsene, vil enhetene ikke være tilgjengelige for arbeid.
Lage kalender-API
Inndata
Forespørselen inneholder bare ett attributt – CalendarEventInfo, som er en String-type. Den inneholder flere andre attributter som alle er innebygd i denne strengen.
Merk
I tabellen nedenfor representerer Type formatet som forventes å komme med en vellykket forespørsel. Hele forespørselen analyseres imidlertid som en enkelt streng.
CalendarEventInfo
Navn | Type | Obligatorisk | Beskrivelse |
---|---|---|---|
EntityLogicalName | String | Ja | Denne nøkkelen beskriver enheten som APIen kalles fra. Kalenderen for denne enheten skal opprettes eller redigeres. |
CalendarId | GUID | Ja | Denne nøkkelen inneholder kalender-IDen som er knyttet til enheten som er beskrevet ovenfor. Når noen av disse enhetene opprettes, opprettes det også automatisk en kalenderoppføring. Disse APIene redigerer denne kalenderposten ved å legge til regler eller redigere eksisterende regler. |
RulesAndRecurrences | RulesAndRecurrences | Ja | Denne nøkkelen er en matrise, og hvert element inneholder flere attributter som er oppført i tabellen i den følgende delen. Størrelsen på matrisen må være minst én. |
IsVaried | Boolean | No | Denne nøkkelen bør settes til true for egendefinerte scenarier for regelmessighet. |
IsEdit | Boolean | No | Denne nøkkelen bør settes til true for redigering av eksisterende regler. |
TimeZoneCode | Integer | No | Denne nøkkelen tar en heltallsverdi som tilsvarer tidssonen for kalenderreglene. For tilordningen går du til Tidssonekoder senere i denne artikkelen. Standardverdien er brukerens tidssone. |
InnerCalendarDescription | String | No | Denne nøkkelen er bare nødvendig hvis kalenderregelen er for fritid. Den bør inneholde årsaken til fritiden. |
ObserveClosure | Boolean | No | Denne nøkkelen er spesifikk for regelmessigheter. Hvis den er satt til true , vil enheten observere tidspunkt selskapet holder stengt. |
RecurrenceEndDate | Date/klokkeslett | No | Denne nøkkelen er spesifikk for regelmessigheter. Den inneholder sluttdatoen for regelmessigheten. Hvis tidsstempelet er 08:00:00 eller tidligere, er sluttdatoen for regelmessighet én dag før den angitte datoen. Hvis tidsstempelet er 08:00:01 eller senere, respekteres datoen som den er. Standardverdien for forekomster er null. Standardverdien for regelmessigheter er 30. des 9999 kl. 23:59:59 UTC. |
RecurrenceSplit | Boolean | No | Denne nøkkelen er spesifikk for regelmessigheter. Den er satt til true for å redigere "Denne og følgende forekomster" av en regelmessighet. |
ResourceId | GUID | No | Denne nøkkelen inneholder SystemUserId eller ResourceId og skal bare sendes når enheten som er knyttet til dette kallet, er en ressurs av typen SystemUser som kan reserveres. Dette er nødvendig for å se etter OwnCalendar-rettigheter i kategorien Servicebehandling. |
UseV2 | Flagg | No | Hvis du sender dette flagget, aktiveres V2-versjonen av arbeidstidskalenderen med en forbedret overlappende regellogikk som tillater flere regelmessigheter. Hvis du vil ha mer informasjon, kan du se Hva skjer hvis det finnes overlappende regler?. |
RulesAndRecurrences
Name | Type | Kreves | Bekrivelse |
---|---|---|---|
Regler | Regler | Ja | Denne nøkkelen er en matrise, og hvert element inneholder flere attributter som er oppført i tabellen i den følgende delen. Størrelsen på matrisen må være minst én. |
RecurrencePattern | String | No | Denne nøkkelen er spesifikk for regelmessigheter. Vi støtter for øyeblikket bare dette mønsteret: FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA .
BYDAY kan endres til å ta med færre dager, men FREQ og INTERVAL kan imidlertid ikke endres. |
InnerCalendarId | GUID | No | Denne nøkkelen er spesifikk for redigering. Hvis en regel redigeres, må InnerCalendarId sendes her. Hvis en InnerCalendarId ikke sendes, oppretter API en ny regel selv om IsEdit-nøkkelen er satt til Sann. |
Handling | Integer | No | Denne nøkkelen er spesifikk for egendefinerte regelmessigheter. Hvis det blir opprettet eller redigert en egendefinert regelmessighet, må du legge inn ett av følgende numre:
|
Regler
Navn | Type | Obligatorisk | Beskrivelse |
---|---|---|---|
StartTime | Date/klokkeslett | Ja | Denne nøkkelen inneholder en dato/klokkeslett-oppføring i ISO-format. Eksempel: \"2021-05-15T12:00:00.000Z\" . Tidsdelen avgjør starttiden for arbeidstiden i den tidligere angitte tidssonen. Datodelen avgjør startdatoen for arbeidstiden. Her er 15. mai 2021 datoen for forekomsten eller startdatoen for regelmessigheten. Hvis mønsteret var BYDAY=TU,WE , men 15. mai (en lørdag) er datoen, oppretter eller redigerer API-et automatisk regler for alle tirsdager og onsdager etter 15. mai. Dette er tilfellet der regelen ikke trenger å ha datoen som tilsvarer dagen. |
EndTime | Date/klokkeslett | Ja | Denne inneholder en dato/klokkeslett-oppføring i ISO-format. Eksempel: \"2021-05-15T12:00:00.000Z\" . Tidsdelen avgjør sluttiden for arbeidstiden i den tidligere angitte tidssonen. Datodelen må inneholde samme dato som datodelen i StartTime. De eneste unntakene er:
|
WorkHourType | Integer | Ja | Denne nøkkelen inneholder et tall som tilsvarer ett av følgende alternativer:
|
Innsats | Integer | No | Denne nøkkelen avgjør enhetskapasiteten. Den må være et heltall. Standardverdien er 1. |
Utdata
Dette POST API-et oppretter eller endrer kalenderregeloppføringer for den valgte enheten. Det gir også følgende utdata:
Navn | Type | Beskrivelse |
---|---|---|
InnerCalendarIds | String | En matrise med InnerCalendarIds-GUIDer som er et resultat av POST-operasjonen. |
Slett kalender-API
Inndata
Navn | Type | Obligatorisk | Beskrivelse |
---|---|---|---|
EntityLogicalName | String | Ja | Dette feltet beskriver enheten som kalenderreglene skal slettes for. |
InnerCalendarId | GUID | Ja | Dette feltet beskriver IDen for InnerCalendarId som må slettes. Hvis det er flere InnerCalendarIds knyttet til én enkelt regel, er én ID tilstrekkelig her. Mer informasjon om indre og ytre kalendere: Kalenderenheter |
CalendarId | GUID | Ja | Dette feltet beskriver CalendarId for enheten. |
IsVaried | Boolean | No | Dette feltet er spesifikt for regelmessigheter, og angis til yes hvis en egendefinert regelmessighetsregel blir slettet. |
UseV2 | Flagg | No | Hvis du sender dette flagget, aktiveres V2-versjonen av arbeidstidskalenderen med en forbedret overlappende regellogikk som tillater flere regelmessigheter. Hvis du vil ha mer informasjon, kan du se Hva skjer hvis det finnes overlappende regler?. |
Utdata
Dette POST API-et sletter kalenderregeloppføringer for den valgte enheten. I tillegg gir det følgende utdata.
Navn | Type | Beskrivelse |
---|---|---|
InnerCalendarIds | String | En matrise med InnerCalendarIds-GUIDer som er et resultat av POST-operasjonen. |
Last inn kalender-API
Inndata
Navn: msdyn_LoadCalendars
Type: Handling
Beskrivelse: Returnerer kalendere for angitt LoadCalendarsInput.
Navn: msdyn_LoadCalendars.LoadCalendarsInput
Type: Parameter
Beskrivelse: streng i følgende JSON-format:
{
StartDate: string,
EndDate: string,
CalendarIds: string[]
}
Navn: msdyn_LoadCalendarsResponse
Type: ComplexType
Beskrivelser: Inneholder svaret fra handlingen msdyn_loadCalendars.
Navn: msdyn_LoadCalendarsResponse.CalendarEvents
Type: Egenskap
Beskrivelse: streng i følgende JSON-format:
{
"calendarId": CalendarEventSlot[]
}
Der calendarId er en riktig GUID som representerer GUID for kalenderen og CalendarEventSlot er et objekt med følgende format:
{
CalendarId: string,
InnerCalendarId: string,
Start: string,
End: string,
Effort: double
}
Slik kaller du opp API-ene
Disse API-ene kan kalles opp i leseren.
- Åpne webleseren og organisasjonen du vil gjøre endringer i kalenderen i.
- Åpne Utviklerverktøy (velg Ctrl+Shift+I i Microsoft Edge, velg F12 i Google Chrome).
- Skriv inn følgende funksjon i konsollen etter at [org-name] er erstattet med organisasjonsdetaljer (for eksempel
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));
}
- Når denne funksjonen er definert, kan du kalle den for å opprette, redigere eller slette kalendere ved hjelp av API-ene. Skriv inn følgende oppkall for å lagre en kalender:
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
}]
}]
}"
})
Skriv inn følgende oppkall for å slette en kalender:
CalendarAction("msdyn_DeleteCalendar", {
"CalendarEventInfo":"{
\"CalendarId\":\"8390358c-77d0-430f-b176-f27adadac8eb\",
\"EntityLogicalName\":\"bookableresource\",
\"InnerCalendarId\":\"cf508c2c-5c55-485c-be1e-d2ebcb385441\"
}"
})
Se delen nedenfor for å få eksempler på hvordan du foretar ulike samtaler basert på dine behov. Bytt ut action
for funksjonskallet i trinn 3 med msdyn_SaveCalendar
eller msdyn_DeleteCalendar
, og erstatt data
med den relevante CalendarEventInfo
.
Se også følgende skjermbilde for en Power Automate-oppfordring til msdyn_SaveCalendar
-handling:
Eksempelscenarier for API-bruk
La oss gå gjennom noen scenarier som du kan bruke disse API-ene for.
Bob og Tim er sjåfører for leveringsbiler for Contoso Enterprises i Bellevue, Washington. Fordelingsansvarlig, Debbie, er ansvarlig for å gjøre endringer i arbeidstidskalenderen. Debbie gjør disse endringene ved hjelp av API-ene msdyn_SaveCalendar
og msdyn_DeleteCalendar
.
Opprett en arbeidstidsforekomst.
Bob skal kjøre rundt for å levere pakker fra 09:00 til 17:00 15. mai 2021. Debbie bruker msdyn_SaveCalendar
-API-en.
Forespørsel
{
"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\"]"
}
Rediger en arbeidstidsforekomst.
Bobs tidsplan endres deretter til å starte kl. 10:00 15. mai 2021. Debbie bruker msdyn_SaveCalendar
-API-en.
Forespørsel
{
"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\"]"
}
Slett en arbeidstidsforekomst.
En familiesituasjon dukker opp, og Bjørn må kansellere en hel arbeidsdag. Debbie bruker msdyn_DeleteCalendar
-API-en.
Be om
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"}"
}
Svar
{
"InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}
Opprette en daglig arbeidstidsforekomst
Fra 20. mai 2021 beslutter Bjørn seg for å jobbe med Contoso hele uken fra 08:00 til 17:00, og slutter å jobbe der 15. juli 2021.
Be om
{
"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\"}]}"
}
Svar
{
"InnerCalendarIds": "[\"20f6cfa7-cfbe-eb11-a81d-000d3a6e4359\"]"
}
Redigere regelmessighet i arbeidstid med økt kapasitet
Bjørn bestemmer seg for å slutte å jobbe hele uken 15. juni 2021 for å ta en pause. Inntil da vil Bjørn fortsette helukesplanen slik den tidligere er godtatt. Debbie gjør disse endringene ved hjelp av API-en msdyn_SaveCalendar
.
Forespørsel
{
"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\"]"
}
Opprette en ukentlig arbeidstidsforekomst
Fra 16. juni 2021 arbeider Bjørn fra 08:00 til 17:00 på onsdager og fredager, og tar en pause fra 12:00 til 12:30 for lunsj. Debbie bruker API-en msdyn_SaveCalendar
, men gjør en feil og planlegger pausen fra 12:00 til 13:00.
Be om
{
"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\"}]}"
}
Svar
{
"InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}
Redigere en pause fra en ukentlig arbeidstidsforekomst
Debbie korrigerer deretter feilen og endrer pausen, slik at den inntreffer fra 12:00 til 12:30, ved hjelp av API-en msdyn_SaveCalendar
.
Forespørsel
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"IsEdit\":\"true\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-06-15T08:00:00.000Z\",\"EndTime\":\"2021-06-15T12:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}, {\"StartTime\":\"2021-06-15T12:00:00.000Z\",\"EndTime\":\"2021-06-15T12:30:00.000Z\",\"Effort\":null,\"WorkHourType\":1}, {\"StartTime\":\"2021-06-15T12:30:00.000Z\",\"EndTime\":\"2021-06-15T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"InnerCalendarId\":\"1f894441-d0be-eb11-a81d-000d3a6e4359\",\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=WE,TH,FR\"}]}"
}
Response
{
"InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}
Opprette en egendefinert arbeidstidsforekomst
Tim arbeider for Contoso på mandager fra 08:00 til 17:00 og onsdager fra 11:00 til 15:00. Tim startet i Contoso 16. mai 2021. Debbie bruker msdyn_SaveCalendar
-API-en til å opprette Tims arbeidstid.
Forespørsel
{
"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\"]"
}
Redigere en egendefinert arbeidstidsforekomst
Tims tidsplan endres deretter til en arbeidstid fra onsdager 17:00 til 20:00 og torsdag 10:00 til 12:00. Mandag fjernes fra tidsplanen til Tim. Debbie bruker msdyn_SaveCalendar
-API-en til å oppnå dette.
Be om
{
"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\"}]}"
}
Svar
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}
Redigere én arbeidstidsforekomst i en regelmessighet
26. mai 2021 kan Tim bare jobbe fra 13:00 til 19:00. Debbie bruker msdyn_SaveCalendar
-API-en her.
Be om
{
"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\"}]}"
}
Svar
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\"]"
}
Slette en egendefinert arbeidstidsforekomst
Tim har bestemt seg for å forlate firmaet og må slette hele tidsplanen. Debbie bruker msdyn_DeleteCalendar
-API-en her.
Be om
{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"34d2210c-9fb6-eb11-a820-000d3afb1dba\",\"IsVaried\":true}"
}
Svar
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}
Opprette fritid
Tim tar tre fridager for en familieferie med start 9. juni 2021.
Forespørsel
{
"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\"]"
}
Opprette heldags arbeidstid
Tim har et 72-timers skift som starter 20. mai 2021. Debbie bruker msdyn_SaveCalendar
-API-en til å opprette Tims arbeidstid.
Be om
{
"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}]}]}"
}
Svar
{
"InnerCalendarIds": "[\"6e160a8e-d5be-eb11-a81d-000d3a6e4359\"]"
}
Vanlige spørsmål om
Jeg får feilmeldingen Starttidspunktet kan ikke være senere eller likt sluttidspunktet.
Kontroller at det ikke finnes overlappinger i tidsluken for de forskjellige kalenderreglene. Kontroller datoene for å forsikre deg om at StartTime ikke er senere enn EndTime. Kontroller også at klokkeslettene er i 24-timers format.
Kan API-ene brukes til å oppdatere enheten "Arbeidstidsmaler"?
Ja, du kan bruke denne API-en til å opprette og oppdatere arbeidstidsmaler i tillegg til arbeidstimer for ressurser.
Jeg får feilmeldingen Det oppstod en feil under deserialisering av objektet av typen Microsoft.Dynamics.UCICalendar.Plugins.SaveCalendarContract+CalendarEventInfo. Inndatakilden er ikke riktig formatert.
or
Forventer tilstand 'Element'. Fant 'Tekst' med navnet namespace.
Kontroller at strengen er riktig analysert. Det kan mangle desimaler, komma eller semikolon.
Feilmeldingen Ugyldig mønster for regelmessighet. Se dokumentasjonen for støttede mønstre."
Vi støtter for øyeblikket bare dette mønsteret: FREQ=DAILY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
.
BYDAY
kan endres til å ta med færre dager, men FREQ
og INTERVAL
kan imidlertid ikke endres. Kontroller at det ikke er mellomrom i mønsteret.
Hvordan får vi informasjon om CalendarId og InnerCalendarId for ressursen?
Kan CalendarId
hentes fra ressursattributter. Gjør dette kallet for å få denne informasjonen: [org-url]/api/data/v9.1/bookableresources([bookableresourceGUID])
.
Eksempel på forrige samtale er [org-url]/api/data/v9.1/bookableresources(7bb0224b-6712-ec11-94f9-000d3a6d888e)
.
Kan InnerCalendarId
hentes fra kalenderattributter. Gjør dette kallet for å få denne informasjonen: [org-url]/api/data/v9.1/calendars([calendar-id-from-above-call])?$expand=calendar_calendar_rules
.
Eksempel på forrige samtale er [org-url]/api/data/v9.1/calendars(02481736-1b6a-4d49-9ebd-a5bd041c1c99)?$expand=calendar_calendar_rules
.
Hva skjer hvis det finnes overlappende regler?
Reglene faller under et par ulike rangeringer:
- Rangering 1 – daglig hendelse (arbeid/ikke-arbeid) og fritidsforekomst.
- Rangering 0 – ukentlig regelmessighet (arbeid/ikke-arbeid).
V2 overlappende regler
- Reglene for rangering 1 har høyere prioritet enn reglene for rangering 0. Hvis det er to regler (én av hver rangering) på samme dag, prioriteres den daglige forekomsten eller fritidsforekomsten over den ukentlige regelmessigheten.
- Når det finnes flere regler for Tangering 0 i samme datointervall:
- Hvis tidspunktene ikke overlapper, blir begge igjen i kalenderen.
- Hvis tidspunktene krysses, vil regelen som sist ble opprettet/endret, være den som vurderes for ressursens kalender. Alle andre regler for kryssing i datoperioden fjernes. Hvis noen regler for rangering 0 har kryssingspunkter på noen datoer, men ikke på andre, blir regelen lagt inn for å beholde de ikke-kryssende delene, mens de kryssende delene fjernes.
Eksempler på virkemåte for V2-kalenderen:
Eksempel 1 – Gjenta arbeidstimer: Overlappende datoer uten overlappende dager/klokkeslett
En tekniker arbeider for et gitt tidsrom om morgenen, ettermiddagen eller natten på ulike dager.
Opprett en første repeterende kalenderregel for et bestemt datointervall. Eksempel: Gjenta man, tir; 1.1-4.1; 8:00-17:00 ET.
Opprett en ny, gjentakende kalenderregel for et tidsintervall som krysser, samtidig som du sørger for at arbeidstimene ikke overlapper med de foregående dagene eller klokkeslettene. Eksempel: Gjenta ons, tors; 1.1-4.1; 8:00-17:00 ET eller Gjenta man, tirs; 1.1-4.1; 5:00-20:00 ET .
Resultat: Begge kalenderreglene forblir og eksistere sammen med hverandre.
Eksempel 2 – Gjenta arbeidstimer: Noen overlappende datoer, med alle overlappende dager og annen regel som starter/slutter før eller etter den første regelen
En tekniker får en ny arbeidstidsplan som erstatter noen uker med den gamle tidsplanen. Ved kontrakt fungerer de alltid de samme dagene hver uke.
Opprett en første repeterende kalenderregel for et bestemt datointervall. Eksempel: Gjenta man, tir; 2.1-4.1; 8:00-17:00 ET.
Opprett en ny, regelmessig kalenderregel for en overlappende datointervall, der alle dager har overlappende arbeidstimer. Velg start-/sluttdatoer for denne nye regelen som er før eller etter start-/sluttdatoen for den første regelen. Eksempel: Gjenta man, tir; 3.1-5.1; 13:00-20:00 ET.
Resultat: Den første regelen blir avkortet for å få plass til start-/sluttdatoen for den andre regelen. Eksempel: Gjenta man, tirs; 2.1-2.28; 8:00-17:00 ET OG Gjenta man, tirs; 3.1-5.1; 13:00-20:00 ET .
Eksempel 3 – Gjenta arbeidstimer: Alle overlappende datoer med noen overlappende dager/klokkeslett
Teknikeren er kontraktarbeider i en fast 2-måneders periode. De har godtatt å ta på seg ekstra arbeid noen dager. De vil endre tirsdagens arbeidstid til et tidligere/senere tidspunkt.
Opprett noen repeterende kalenderregler for et bestemt datointervall. Eksempel: Gjenta man, tirs; 2.1-4.1; 8:00-24:00 ET OG Gjenta tirs, ons; 2.1-4.1; 13:00-17:00 ET .
Opprett en ny repeterende kalenderregel for det samme datointervallet. Velg dager/klokkeslett som delvis overlapper med de opprinnelige reglene. Eksempel: Gjenta tirs, tors, 2.1-4.1; 10:00-14:00 ET.
Resultat: Den nye regelen overskriver den gamle der overlappingen er, og la de andre være uendret. Eksempel: Gjenta man; 2.1-4.1; 8:00-24:00 ET OG Gjenta ons; 2.1-4.1; 13:00-17:00 ET OG Gjenta tirs, tors; 2.1-4.1; 10:00-14:00 ET.
Eksempel 4 – Gjentatt arbeidstid: Nye regeldatoer i den gamle regelen, noen overlappende dager/klokkeslett
En reparatør arbeider 8:00-17:00 man-fre hver uke. Bare i to uker skal de håndtere et nødprosjekt hver man-ons med forskjellig arbeidstid fra 06:00 til 18:00.
Opprett en første repeterende kalenderregel for et bestemt datointervall. Eksempel: Gjenta man, tirs, ons, tors, fre; 1.1-Ingen sluttdato; 8:00-17:00.
Opprett en annen gjentagende kalenderregel i datointervallet ovenfor, velg arbeidstimer som overlapper noen dager. Eksempel: Gjenta man, tir, ons; 5.1-5.14; 6:00-18:00 ET.
Resultat: Kalenderen må ha fire repeterende regler innen denne øvelsen er slutt:
- avkort den første regelen til startdatoen for den andre regelen
- den andre kalenderregelen
- opprette en ny regel som ligner på den første regelen, men med datoene for den andre regelen for de ikke-overlappende dagene
- avkortet den første regelen til å starte fra sluttdatoen for den andre regelen, uten sluttdato
Eksempel: Gjenta man, tirs, ons, tors, fre; 1.1-4.30; 8:00-17:00 ET OG Gjenta man, tir, ons; 5.1-5.14; 6:00-18:00 ET OG Gjenta tor, fre, 5.1-5.14; 8:00-17:00 ET OG Gjenta man, tirs, ons, tors, fre; 5.15-Ingen sluttdato; 8:00-17:00 ET
Eksempel 5 – Arbeidstimer som ikke gjentar seg (forekomst, regel for rangering 1)
En tekniker har en rekke sammenhengende teamdager, som har forrang i alle andre arbeidstimeforekomster for dagen.
Opprett en repeterende kalenderregel for et bestemt datointervall. Eksempel: Gjenta man, tirs, ons, tors, fre; 1.1-Ingen sluttdato; 8:00-17:00.
Opprett en ikke-gjentatt kalenderregel i datointervallet ovenfor. Velg arbeidstimer som overlapper noen dager. Eksempel: Ikke-repeter; 6.21; 7:00-13:00 ET.
Resultat: Kalenderen må ha 1 ikke-repeterende regel (forekomst) innen slutten av denne øvelsen. Den ikke-repeterende regelen overstyrer den overlappende gjentagende hendelsen for hele dagen. Eksempel: Gjenta man, tir, ons, tor, fre; 1.1-Ingen sluttdato unntatt 6.21; ikke-gjentakelse; 6.21; 7:00-13:00 ET.
V1 overlappende regler
- Reglene for rangering 1 har høyere prioritet enn reglene for rangering 0. Hvis det er to regler (én av hver rangering) på samme dag, prioriteres den daglige forekomsten eller fritidsforekomsten over den ukentlige regelmessigheten.
- Hvis det finnes to regler med samme rangering, vil regelen som sist ble opprettet eller endret, være den som vurderes for ressursens kalender.
- Husk at heldagsforekomster har rangering 1, så du bør vurdere å endre det til en ukentlig regelmessighet for å kunne legge til arbeidstimer som forekomster og få dem til å bli respektert.
- Når det finnes en arbeidstime og det opprettes en fritidsforekomst som overlapper den, deles reglene på en måte som sikrer at fritid blir respektert, og eventuell gjenværende tid som arbeidstimer blir som de er. Hvis det for eksempel er arbeidstimer fra 08:00 til 17:00 21. september, og en fritidsforekomst legges til fra 15:00 til 17:00 for 21. september, vil dette bli løst som arbeidstimer som 08:00 til 15:00 og fri fra 15:00 til 17:00. Hvis reglene imidlertid ble opprettet i motsatt rekkefølge (fridager opprettet først, og deretter ble arbeidstimer opprettet) uavhengig av tidslukene, velges bare arbeidstimen på nytt. Fridager blir overstyrt.
Tidssonekoder
Enum | Tidssone |
---|---|
0 | (GMT-12:00) Internasjonal datolinje, vest |
1 | (GMT+13:00) Samoa |
2 | (GMT-10:00) Hawaii |
3 | (GMT-09:00) Alaska |
4 | (GMT–08:00) Stillehavskysten (USA og Canada) |
5 | (GMT-08:00) Baja, California |
6 | (GMT-11:00) Coordinated Universal Time-11 |
7 | (GMT-10:00) Aleutian-øyer |
8 | (GMT-09:30) Marquesasøyene |
9 | (GMT-09:00) Coordinated Universal Time-09 |
10 | (GMT–07:00) Rocky Mountains (USA og 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) Midtvesten (USA og Canada) |
25 | (GMT-06:00) Saskatchewan |
29 | (GMT-06:00) Guadalajara, Mexico by, Monterrey |
33 | (GMT-06:00) Sentral-Amerika |
34 | (GMT-06:00) Påskeøya |
35 | (GMT–05:00) Østkysten (USA og Canada) |
40 | (GMT-05:00) Indiana (øst) |
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) Atlanterhavskysten (Canada) |
51 | (GMT-05:00) Turks- og Caicosøyene |
55 | (GMT-04:00) Georgetown, La Paz, San Juan |
56 | (GMT-04:00) Santiago |
58 | (GMT-04:00) Cuiaba |
59 | (GMT-04:00) Asuncion |
60 | (GMT-03:30) Newfoundland |
65 | (GMT-03:00) Brasilia |
69 | (GMT-03:00) Buenos Aires |
70 | (GMT-03:00) Cayenne, Fortaleza |
71 | (GMT-03:00) Salvador |
72 | (GMT-03:00) Saint-Pierre-et-Miquelon |
73 | (GMT-03:00) Grønland |
74 | (GMT-03:00) Montevideo |
75 | (GMT-02:00) Det sentrale Atlanterhav |
76 | (GMT-02:00) Coordinated Universal Time-02 |
77 | (GMT-03:00) Araguaina |
80 | (GMT-01:00) Azorene |
83 | (GMT-01:00) Cabo Verde-øyene |
84 | (GMT+01:00) Casablanca |
85 | (GMT+00:00) Dublin, Edinburgh, Lisboa, London |
90 | (GMT+00:00) Monrovia, Reykjavik |
92 | (GMT) Coordinated Universal Time |
95 | (GMT+01:00) Beograd, Bratislava, Budapest, Ljubljana, Praha |
100 | (GMT+01:00) Sarajevo, Skopje, Warszawa, Zagreb |
105 | (GMT+01:00) Brussel, København, Madrid, Paris |
110 | (GMT+01:00) Amsterdam, Berlin, Bern, Roma, Stockholm, Wien |
113 | (GMT+01:00) Vestlige Sentral-Afrika |
115 | (GMT+02:00) Chisinau |
120 | (GMT+02:00) Kairo |
125 | (GMT+02:00) Helsinki, Kiev, Riga, Sofia, Tallinn, Vilnius |
129 | (GMT+02:00) Amman |
130 | (GMT+02:00) Aten, Bucuresti |
131 | (GMT+02:00) Beirut |
133 | (GMT+02:00) Damaskus |
134 | (GMT+03:00) Istanbul |
135 | (GMT+02:00) Jerusalem |
140 | (GMT+02:00) Harare, Pretoria |
141 | (GMT+02:00) Windhoek |
142 | (GMT+02:00) Gaza, Hebron |
145 | (GMT+03:00) Moskva, St. Petersburg |
150 | (GMT+03:00) Kuwait, Riyadh |
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) Baku |
170 | (GMT+04:00) Jerevan |
172 | (GMT+04:00) Port Louis |
173 | (GMT+04:00) Tbilisi |
174 | (GMT+04:00) Izjevsk, Samara |
175 | (GMT+04:30) Kabul |
176 | (GMT+04:00) Astrakhan, Uljanovsk |
180 | (GMT+05:00) Jekaterinburg |
184 | (GMT+05:00) Islamabad, Karachi |
185 | (GMT+05:00) Tasjkent |
190 | (GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi |
193 | (GMT+05:45) Katmandu |
195 | (GMT+06:00) Astana |
196 | (GMT+06:00) Dhaka |
197 | (GMT+06:00) Omsk |
200 | (GMT+05:30) Sri Jayawardenepura |
201 | (GMT+07:00) Novosibirsk |
203 | (GMT+06:30) Yangon (Rangoon) |
205 | (GMT+07:00) Bangkok, Hanoi, Djakarta |
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) Irkutsk |
228 | (GMT+08:00) Ulan Bator |
229 | (GMT+09:00) Pyongyang |
230 | (GMT+09:00) Seoul |
231 | (GMT+08:45) Eucla |
235 | (GMT+09:00) Osaka, Sapporo, Tokyo |
240 | (GMT+09:00) Jakutsk |
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) Vladivostok |
274 | (GMT+10:30) Lord Howe-øya |
275 | (GMT+10:00) Guam, Port Moresby |
276 | (GMT+11:00) Bougainville-øya |
277 | (GMT+11:00) Norfolkøya |
278 | (GMT+11:00) Sakhalin |
279 | (GMT+11:00) Chokurdakh |
280 | (GMT+11:00) Salomonøyene, Ny Caledonia |
281 | (GMT+11:00) Magadan |
284 | (GMT+12:00) Coordinated Universal Time+12 |
285 | (GMT+12:00) Fijiøyene |
290 | (GMT+12:00) Auckland, Wellington |
295 | (GMT+12:00) Anadyr, Petropavlovsk-Kamtsjatskij |
299 | (GMT+12:45) Chatham-øyer |
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) Yukon |