Työtuntikalenterien muokkaaminen ohjelmointirajapintojen avulla
Organisaatioiden on voitava luoda, muokata tai poistaa työtunteja ohjelmallisesti resurssien kalentereissa. Kalentereissa on näkyvissä työtunnit, poissaolot ja tauot, joiden perusteella määritetään resurssin saatavuus työtä aikataulutettaessa. Kyseiset resurssit on aikataulutettava tietyillä aikavyöhykkeillä, niissä joko otetaan tai ei oteta huomioon palvelukatkot ja niiden kapasiteetti voi olla vaihteleva. Lisätietoja työtuntien määrittämisestä Field Service -sovelluksessa on kohdassa Työtuntien lisääminen varattavissa olevaan resurssiin.
Field Service -sovelluksen lisäksi seuraavilla ohjelmointirajapinnoilla voidaan muokata valittujen tietuetyyppien kalenterisääntöjä:
- Kalenterien tallennuksen ohjelmointirajapinta (
msdyn_SaveCalendar
) luo tai päivittää valitun entiteetin kalenteritietueet pyyntönä välitettyjen syötteiden perusteella. - Kalenterin poistamisen ohjelmointirajapinta (
msdyn_DeleteCalendar
) poistaa kaikki kalenterin sisäiset säännöt valitun entiteetin kalenterista pyyntönä välitettyjen syötteiden perusteella. - Kalenterin tallennuksen tai poiston ohjelmointirajapinnan versio 2 (msdyn_SaveCalendar/msdyn_DeleteCalendar, välitä merkintä UseV2) mahdollistaa samanaikaista työaikaa muuttamalla päällekkäisten sääntöjen logiikkaa. Lisätietoja on kohdassa Mitä tapahtuu, jos järjestelmässä on päällekkäisiä sääntöjä?.
Tässä artikkelissa käsitellään kummankin ohjelmointirajapinnan syötettä (pyyntö) ja tulosta (vastausta) sekä niiden käyttöä esimerkkien avulla.
Edellytykset
- Ympäristön versio 9.2.21055 tai uudempi ja Universal Resource Schedulingin versio 3.12.45.7.
- Käytössä on jokin seuraavista tietuetyypeistä:
- Varattavissa oleva resurssi (bookableresource)
- Resurssutarpeet (msdyn_resourcerequirement)
- Työtuntimalli (msdyn_workhourtemplate)
- Projekti (msdyn_project)
Kalenteritapahtumatyypit
Kalenteria luotaessa määritetään, kuinka monta kertaa työaikatyyppi on toiminnassa – kerran, koko päivän ajan, joka viikko tai joka päivä. Myös mukautetun toistuvuuden luominen on mahdollista. Lisätietoja näistä kalenteritapahtumista on myöhemmin tässä artikkelissa käsiteltävissä esimerkeissä.
Esiintymiskerta
Jos työtuntityyppi esiintyy vain kerran entiteetin kalenterissa, sitä kutsutaan esiintymäksi.
Käytetään esimerkkinä vaikkapa resurssia, jonka työaika 26.5.2021 on 5.00–10.00. Nämä ohjelmointirajapinnat tukevat vain tällaista samana päivänä alkavaa ja päättyvää esiintymätyyppiä. Toisessa esimerkissä resurssin työaika alkaa 26.5.2021 klo 20.00 ja päättyy 27.5.2021 klo 10.00. Tätä esiintymää ei voi luoda käyttämällä vain yhtä msdyn_SaveCalendar
-ohjelmointirajapinnan kutsua vaan kutsuja on oltava kaksi.
Koko päivän esiintymä
Jos työtuntityyppi kestää vähintään yhden päivän alkaen alkamispäivänä keskiyöllä (0.00), se on koko päivän esiintymä. Koko päivän esiintymän enimmäiskesto on viisi vuotta.
Resurssi esimerkiksi työskentelee koko päivän alkaen 26.5.2021 ja päättyen 30.5.2021. Tämä koko päivän esiintymä kestää viisi päivää.
Viikoittainen toisto
Työtuntityyppiä, joka esiintyy samaan aikaan valittuina päivinä joka viikko, kutsutaan viikoittaiseksi toistoksi.
Resurssin työaika voi olla esimerkiksi 5.00–10.00 joka maanantai, tiistai ja keskiviikko.
Päivittäinen toisto
Työtuntityyppiä, joka esiintyy samaan aikaan joka päivä, kutsutaan päivittäiseksi toistoksi.
Resurssin työaika voi olla esimerkiksi 5.00–10.00 viikon jokaisena päivänä.
Mukautettu toisto
Jos työtuntityyppi esiintyy tiettyinä aikoina tiettyinä viikonpäivinä mutta ajat vaihtelevat päivittäin, voidaan luoda mukautettu toisto.
Resurssin työaika voi olla esimerkiksi 5.00–10.00 joka maanantai ja 12.00–15.00 joka keskiviikko.
Työtuntityypit
Nämä ohjelmointirajapinnat tukevat seuraavien työtuntityyppien toimintojen luontia, päivitystä ja poistoa:
Työtunnit
Työaika on ne ajat, jolloin entiteetti on käytettävissä työn suorittamista varten.
Näillä ohjelmointirajapinnoilla voi suorittaa seuraavat toimet:
- Työtuntiesiintymään luonti, muokkaus tai poisto.
- Työtunnin päivittäisen toiston luonti, muokkaus tai poisto.
- Työtunnin viikoittaisen toiston luonti, muokkaus tai poisto.
- Työtunnin mukautetun toiston luonti, muokkaus tai poisto.
- Koko päivän työtuntien luonti, muokkaus tai poisto.
- Työtuntien kapasiteetin luonti tai muokkaus.
- Yksittäisen työtuntiesiintymän muokkaus toistossa.
- Tämän ja seuraavien esiintymien muokkaus toistossa.
- Työntuntiesiintymän muutos toistoksi.
- Kalenterisäännön aikavyöhykkeen muutos.
Tällä ohjelmointirajapinnalla ei voi suorittaa seuraavia toimia:
- Yksittäisen työtuntiesiintymän poisto toistosta.
- Sellaisen 24 tuntia käsittävän esiintymän luonti, jonka alkamis- ja päättymisaika ei ole keskiyöllä (0.00).
- Koko päivän toiston luonti, muokkaus tai poisto.
Muu kuin työaika
Entiteetti ei ole käytettävissä työhön näinä aikoina määrittämättömistä syistä.
Näillä ohjelmointirajapinnoilla voi suorittaa seuraavat toimet:
- Koko päivä, muu kuin työaika -kohdan luonti tai muokkaus.
- Muu kuin työaika -esiintymään luonti tai muokkaus.
- Kalenterisäännön aikavyöhykkeen muutos.
Näillä ohjelmointirajapinnoilla ei voi suorittaa seuraavia toimia:
- Muu kuin työaika -kohdan toiston luonti tai muokkaus.
Tauko
Nämä ovat työpäivään sijoittuvia ajankohtia, jolloin entiteetti on tauolla eikä ole käytettävissä töitä varten. Taukoja ei voi olla ilman työtunteja, sillä ne sijoittuvat päivän aikana kahden työtunnin väliin. Tauot eivät voi olla päällekkäisiä työtuntien kanssa.
Näillä ohjelmointirajapinnoilla voi suorittaa seuraavat toimet:
- Työtuntien aikaisten taukojen luonti tai muokkaus.
Näillä ohjelmointirajapinnoilla ei voi suorittaa seuraavia toimia:
- Taukojen poisto vain työtuntien esiintymästä tai toistosta.
Poissaolo
Entiteetti ei ole käytettävissä työhön näinä aikoina loman vuoksi. Poissaolon syy voidaan määrittää.
Näillä ohjelmointirajapinnoilla voi suorittaa seuraavat toimet:
- Poissaolon ja sen selitteen luonti tai muokkaus.
- Kalenterisäännön aikavyöhykkeen muutos.
Näillä ohjelmointirajapinnoilla ei voi suorittaa seuraavia toimia:
- Poissaolon tuntitoiston luonti, muokkaus tai poisto.
Palvelukatko
Voit luoda palvelukatkoentiteettejä, jotka määrittävät yrityksen sulkemisajankohdan. Kukin entiteetti voidaan määrittää msdyn_SaveCalendar
-ohjelmointirajapinnan avulla noudattamaan tai ohittamaan organisaatioon palvelukatkoajankohdat käyttämällä valinnaista ObserveClosure-avainta.. Kun ne on määritetty noudattamaan näitä palvelukatkoja, entiteetit eivät ole käytettävissä töihin.
Kalenterin tallentamisen ohjelmointirajapinta
Syöte
Pyynnössä on vain yksi merkkijono-tyyppinen määrite CalendarEventInfo. Siinä on useita muita määritteitä, jotka on kaikki upotettu tähän merkkijonoon.
Huomautus
Seuraavassa taulukossa Tyyppi ilmaisee muodon, jolla pyynnön voidaan odottaa onnistuvan. Koko pyyntö kuitenkin jäsennetään yhtenä merkkijonona.
CalendarEventInfo
Nimi | Tyyppi | Pakollinen | Kuvaus |
---|---|---|---|
EntityLogicalName | String | Kyllä | Tämä avain kuvailee entiteetin, josta ohjelmointirajapintaa kutsutaan. Tämän entiteetin kalenterin entiteetti on luotava tai sitä on muokattava. |
CalendarId | GUID | Kyllä | Tämä avain sisältää edellä kuvattuun entiteettiin liittyvä kalenteritunnuksen. Kun jokin näistä entiteeteistä luodaan, myös kalenteritietue luodaan automaattisesti. Nämä ohjelmointirajapinnat muokkaavat kyseistä kalenteritietuetta lisäämään sääntöjä tai muokkaamalla aiemmin luotuja sääntöjä. |
RulesAndRecurrences | RulesAndRecurrences | Kyllä | Tämä avain on matriisi, ja kussakin elementissä on useita määritteitä, joiden luettelo on seuraavassa osassa olevassa taulukossa. Matriisin koon on oltava vähintään yksi. |
IsVaried | Boolean | No | Tämän avaimen arvoksi on määritettävä true mukautetuissa toistoskenaarioissa. |
IsEdit | Boolean | No | Tämän avaimen arvoksi on määritettävä true muokattaessa aiemmin luotuja sääntöjä. |
TimeZoneCode | Integer | No | Tämä avain käyttää kokonaislukuarvoa, joka vastaa kalenterisääntöjen aikavyöhykettä. Lisätietoja yhdistämismäärityksistä on myöhemmin tämän artikkelin kohdassa Aikavyöhykekoodit. Oletusarvo on käyttäjän aikavyöhyke. |
InnerCalendarDescription | String | No | Tätä avainta tarvitaan vain, jos kalenterisääntö koskee poissaoloa. Sen pitäisi sisältää poissaolon syyn. |
ObserveClosure | Boolean | No | Tämä avain koskee toistoja. Jos sen arvoksi on määritetty true , entiteetin on noudatettava palvelukatkoja. |
RecurrenceEndDate | DateTime | No | Tämä avain koskee toistoja. Se sisältää toiston päättymispäivän. Jos aikaleima on 08:00:00 tai sitä aikaisempi ajankohta, toiston päättymispäivämäärä on yksi päivä ennen määritettyä päivämäärää. Jos aikaleima on 08:00:01 tai sitä myöhäisempi ajankohta, päivämäärää noudatetaan sellaisenaan. Esiintymien oletusarvo on tyhjäarvo. Toistojen oletusarvo on 30.12.9999, 23:59:59, UTC. |
RecurrenceSplit | Boolean | No | Tämä avain koskee toistoja. Määritetään arvoon true toiston Tämä ja tulevat tapahtumat -asetuksen muokkausta varten. |
ResourceId | GUID | No | SystemUserId tai ResourceId sisältyy tähän arvoon, ja ase voidaan välittää vain, jos tähän kutsuun liitetty entiteetti on varattavissa oleva resurssi, jonka tyyppi on SystemUser. Tämä on välttämätöntä, jotta OwnCalendar-oikeudet voidaan tarkistaa Palvelujen hallinta -välilehdessä. |
UseV2 | Merkintä | No | Kun tämä merkintä välitetään, otetaan käyttöön työvuorokalenterin versio 2, joka sisältää useat toistot sallivien päällekkäisten sääntöjen logiikan. Lisätietoja on kohdassa Mitä tapahtuu, jos järjestelmässä on päällekkäisiä sääntöjä?. |
RulesAndRecurrences
Name | Type | Pakolliset | Kuvaus |
---|---|---|---|
Säännöt | Säännöt | Kyllä | Tämä avain on matriisi, ja kussakin elementissä on useita määritteitä, joiden luettelo on seuraavassa osassa olevassa taulukossa. Matriisin koon on oltava vähintään yksi. |
RecurrencePattern | String | No | Tämä avain koskee toistoja. Vain seuraavaa toistumiskaavaa tuetaan tällä hetkellä: FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA . BYDAY voidaan muuttaa sisältämään vähemmän päiviä. Arvoja FREQ ja INTERVAL ei voi kuitenkaan muuttaa. |
InnerCalendarId | GUID | No | Tämä avain koskee muokkausta. Jos sääntöä muokataan, InnerCalendarId on välitettävä tänne. Jos InnerCalendarId-arvoa ei välitetä, ohjelmointirajapinta luo uuden säännön, vaikka IsEdit-avaimen arvoksi on määritetty tosi. |
Toimi | Integer | No | Tämä avain koskee mukautettuja toistoja. Jos mukautettua toistoa luodaan tai sitä muokataan, jokin seuraavista luvuista on annettava:
|
Säännöt
Nimi | Laji | Pakollinen | Kuvaus |
---|---|---|---|
Aloitusaika | DateTime | Kyllä | Tämä avain sisältää päivämäärä- ja aikamerkinnän ISO-muodossa. Esimerkki: \"2021-05-15T12:00:00.000Z\" . Aikaosa määrittää työtunnin alkamisajan aiemmin määritetyllä aikavyöhykkeellä. Päivämääräosa määrittää työtunnin alkamispäivän. Tässä 15.5.2021 on tapahtuman päivämäärä tai toiston alkamispäivä. Jos toistuvuuskaavio oli BYDAY=TU,WE mutta päivämäärä on 15.5. (lauantai), ohjelmointirajapinta luo tai muokkaa automaattisesti säännöt kaikille 15.5. jälkeisille tiistaille ja keskiviikoille. Näin tapahtuu, kun säännöllä ei ole tarvitse olla päivää vastaavaa päivämäärää. |
EndTime | DateTime | Kyllä | Tämä sisältää päivämäärä- ja aikamerkinnän ISO-muodossa. Esimerkki: \"2021-05-15T12:00:00.000Z\" . Aikaosa määrittää työtunnin päättymisajan aiemmin määritetyllä aikavyöhykkeellä. Päivämääräosan onsisällettävä sama päivämäärä kuin mikä on StartTime-päivämääräosassa. Ainoastaan seuraavat poikkeukset ovat mahdollisia:
|
WorkHourType | Integer | Kyllä | Tämä avain sisältää luvun, joka vastaa yhtä seuraavista vaihtoehdoista:
|
Työmäärä | Integer | No | Tämä avain määrittää entiteetin kapasiteetin. Sen on oltava kokonaisluku. Oletusarvo on 1. |
Tuloste
Tämä POST API luo valitun entiteetin kalenterisääntötietueita tai muokkaa niitä. Lisäksi sen tuloste on seuraava.
Nimi | Tyyppi | Kuvaus |
---|---|---|
InnerCalendarIds | String | Niiden InnerCalendarIds-GUID-tunnusten matriisi, jotka oli POST-toiminnon tulos. |
Kalenterin poistamisen ohjelmointirajapinta
Syöte
Nimi | Tyyppi | Pakollinen | Kuvaus |
---|---|---|---|
EntityLogicalName | String | Kyllä | Tämä kenttää kuvaa entiteetin, jonka kalenterisäännöt ollaan poistamassa. |
InnerCalendarId | GUID | Kyllä | Tämä kenttä kuvaa poistettavan InnerCalendarId-määritteen tunnuksen. Jos yhteen sääntöön on liitetty useita InnerCalendarIds-määritteitä, mitä tahansa voi käyttää tässä. Lisätietoja sisäisistä ja ulkoisista kalentereista: Kalenterientiteetit |
CalendarId | GUID | Kyllä | Tämä kenttä kuvaa entiteetin CalendarId-määritettä. |
IsVaried | Boolean | No | Tämä kenttä koskee toistoja ja sen arvoksi on määritetty yes , jos mukautettua toistosääntöä ollaan poistamassa. |
UseV2 | Merkintä | No | Kun tämä merkintä välitetään, otetaan käyttöön työvuorokalenterin versio 2, joka sisältää useat toistot sallivien päällekkäisten sääntöjen logiikan. Lisätietoja on kohdassa Mitä tapahtuu, jos järjestelmässä on päällekkäisiä sääntöjä?. |
Tuloste
Tämä POST API poistaa valitun entiteetin kalenterisääntötietueet. Lisäksi sen tuloste on seuraava.
Nimi | Laji | Kuvaus |
---|---|---|
InnerCalendarIds | String | Niiden InnerCalendarIds-GUID-tunnusten matriisi, jotka oli POST-toiminnon tulos. |
Kalenterin ohjelmointirajapinnan lataaminen
Syöte
Nimi: msdyn_LoadCalendars
Tyyppi: Toiminto
Kuvaus: Palauttaa annetun LoadCalendarsInput-kohteen kalenterit.
Nimi: msdyn_LoadCalendars.LoadCalendarsInput
Tyyppi: Parametri
Kuvaus: Merkkijono seuraavassa JSON-muodossa:
{
StartDate: string,
EndDate: string,
CalendarIds: string[]
}
Nimi: msdyn_LoadCalendarsResponse
Tyyppi: ComplexType
Kuvaus: Sisältää msdyn_loadCalendars-toiminnon vastauksen.
Nimi: msdyn_LoadCalendarsResponse.CalendarEvents
Tyyppi: Ominaisuus
Kuvaus: Merkkijono seuraavassa JSON-muodossa:
{
"calendarId": CalendarEventSlot[]
}
Kun calendarId on Calendar-kohteen oikea GUID ja CalendarEventSlot on objekti seuraavassa muodossa:
{
CalendarId: string,
InnerCalendarId: string,
Start: string,
End: string,
Effort: double
}
Ohjelmointirajapintojen kutsuminen
Näitä ohjelmointirajapintoja voidaan kutsua selaimen avulla.
- Avaa selain ja organisaatio, jossa on tehtävä kalenterimuutoksia.
- Avaa kehittäjien työkalut (valitse Microsoft Edgessä Ctrl+Vaihto+I tai paina F12-näppäintä Google Chromessa).
- Anna konsolissa seuraava funktio sen jälkeen kun [org-name]-kohdan tilalle on vaihdettu organisaation tiedot (kuten
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));
}
- Kun tämä funktio on määritetty, sen kutsumalla voidaan luoda, muokata ja poistaa kalentereita ohjelmointirajapintojen avulla. Tallenna kalenteri kirjoittamalla seuraava kutsu:
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
}]
}]
}"
})
Poista kalenteri kirjoittamalla seuraava kutsu:
CalendarAction("msdyn_DeleteCalendar", {
"CalendarEventInfo":"{
\"CalendarId\":\"8390358c-77d0-430f-b176-f27adadac8eb\",
\"EntityLogicalName\":\"bookableresource\",
\"InnerCalendarId\":\"cf508c2c-5c55-485c-be1e-d2ebcb385441\"
}"
})
Seuraavassa osassa on esimerkkejä erilaisten, omia tarpeita vastaavien kutsujen tekemisestä. Vaihda kohdan action
tilalle funktiokutsun vaiheessa 3 msdyn_SaveCalendar
tai msdyn_DeleteCalendar
ja vaihda kohdan data
tilalle soveltuva CalendarEventInfo
.
Katso myös seuraava näyttökuva msdyn_SaveCalendar
-toiminnon Power Automate -kutsusta:
Esimerkkejä ohjelmointirajapinnan käyttöskenaarioista
Käydään seuraavaksi läpi skenaarioita, joissa näitä ohjelmistorajapintoja käytetään.
Bob ja Tim ovat jakeluautonkuljettajia Contoso Enterprisesilla Bellevuessa, Washingtonissa. Heidän aikatauluttaja Debbie vastaa muutosten tekemisestä heidän työtuntikalentereihin. Debbie tekee nämä muutokset käyttämällä msdyn_SaveCalendar
- ja msdyn_DeleteCalendar
-ohjelmointirajapintoja.
Työtuntiesiintymän luominen
Bob on aikataulutettu toimittamaan paketteja 9.00–17.00 15.5.2021. Debbie käyttää msdyn_SaveCalendar
-ohjelmointirajapintaa.
Pyyntö
{
"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\"]"
}
Työtuntiesiintymän muokkaaminen
Bobin aikataulu muuttuu sitten alkamaan 10.00 15.5.2021. Debbie käyttää msdyn_SaveCalendar
-ohjelmointirajapintaa.
Pyyntö
{
"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\"]"
}
Työtuntiesiintymän poistaminen
Perheessä on hätätilanne ja Bobin on peruutettava koko työpäivä. Debbie käyttää msdyn_DeleteCalendar
-ohjelmointirajapintaa.
Pyydä
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"}"
}
Response
{
"InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}
Päivittäisen toiston luominen
20.5.2021 alkaen Bob päättää työskennellä Contosolla viikon jokaisena päivänä klo 8.00–17.00 ja lopettaa työskentelyn siellä 15.7.2021.
Pyydä
{
"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\"}]}"
}
Response
{
"InnerCalendarIds": "[\"20f6cfa7-cfbe-eb11-a81d-000d3a6e4359\"]"
}
Työtunnin päivittäisen toiston muokkaaminen kapasiteetin kasvaessa
Bob päättää lopettaa työnteon koko viikoksi 15.6.2021 alkaen pitääkseen tauon. Siihen saakka Bob jatkaa sen koko viikon aikataulun mukaisesti, jonka hän aiemmin hyväksyi. Debbie tekee nämä muutokset käyttämällä msdyn_SaveCalendar
-ohjelmointirajapintaa.
Pyyntö
{
"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\"]"
}
Viikoittaisen toiston luominen
Alkaen 16.6.2021 Bob työskentelee klo 8.00–17.00 keskiviikkoisin ja perjantaisin ja pitää klo 12.00–12.30 lounastauon. Debbie käyttää msdyn_SaveCalendar
ohjelmointirajapintaa, mutta aikatauluttaa tauon virheellisesti ajalle 12.00–13.00.
Pyydä
{
"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\"}]}"
}
Response
{
"InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}
Tauon muokkaaminen työtunnin viikoittaisesta toistosta
Debbie korjaa sitten virheensä ja muuttaa tauon ajankohdaksi 12.00–12.30 msdyn_SaveCalendar
-ohjelmointirajapinnan avulla.
Pyyntö
{
"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\"]"
}
Mukautetun toiston luominen
Tim työskentelee Contosossa maanantaisin 8–17 ja keskiviikkoisin klo 11–15. Tim aloitti Contosolla työskentelyn 16.5.2021. Debbie luo Timin työtunnit käyttämällä msdyn_SaveCalendar
-ohjelmointirajapintaa.
Pyyntö
{
"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\"]"
}
Mukautetun toiston muokkaaminen
Timin aikataulu muuttuu siten, että hänen työtuntinsa ovat nyt keskiviikkoisin 17.00–20.00 ja torstaisin 10.00–12.00. Maanantai poistetaan Timin aikataulusta. Debbie tekee tämän msdyn_SaveCalendar
-ohjelmointirajapinnan avulla.
Pyydä
{
"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\"}]}"
}
Response
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}
Työtuntiesiintymän muokkaus toistossa
Tim voi olla 26.5.2021 töissä vain 13.00–19.00. Debbie käyttää msdyn_SaveCalendar
-ohjelmointirajapintaa tässä.
Pyydä
{
"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\"}]}"
}
Response
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\"]"
}
Mukautetun toiston poistaminen
Tim on päättänyt lähteä yrityksestä, ja hänen on poistettava koko aikataulunsa. Debbie käyttää msdyn_DeleteCalendar
-ohjelmointirajapintaa tässä.
Pyydä
{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"34d2210c-9fb6-eb11-a820-000d3afb1dba\",\"IsVaried\":true}"
}
Response
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}
Poissaolon luominen
Tim on lomalla kolme päivää 9.6.2021 alkaen.
Pyyntö
{
"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\"]"
}
Koko päivän työtuntien luominen
Timillä on 72 tunnin vuoro 20.5.2021 alkaen. Debbie luo Timin työtunnit käyttämällä msdyn_SaveCalendar
-ohjelmointirajapintaa.
Pyydä
{
"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}]}]}"
}
Response
{
"InnerCalendarIds": "[\"6e160a8e-d5be-eb11-a81d-000d3a6e4359\"]"
}
Usein kysytyt kysymykset
Näkyviin tulee seuraava virhe: "StartTime ei voi olla suurempi tai yhtä suuri kuin EndTime".
Varmista, ettei eri kalenterisääntöjen välillä ole päällekkäisiä ajankohtia. Tarkistamalla päivämäärät voit varmistaa, ettei StartTime ole myöhemmin kuin EndTime. Varmista myös, että aika ilmoitetaan 24-tunnin muodossa.
Voiko ohjelmointirajapintojen avulla päivittää Työtuntimallit-kohteen?
Kyllä, tämän ohjelmointirajapinnan avulla voit luoda ja päivittää työtuntimalleja resurssin työaikojen lisäksi.
Näyttöön tulee seuraava virhe: "Virhe poistettaessa Microsoft.Dynamics.UCICalendar.Plugins.SaveCalendarContract+CalendarEventInfo-kohdetta. Syötelähdettä ei ole muotoiltu oikein.
tai
Odotetaan tilaa 'Element'. Kohdattiin teksti, jonka nimi on '', namespace ''."
Varmista, että merkkijono on jäsennetty oikein. Kyse voi olla puuttuvista sulkeista, pilkuista tai puolipisteistä.
Näkyviin tulee seuraava virhe: "Virheellinen toistumismalli. Lisätietoja on tuettujen toistumiskaavojen ohjeissa."
Vain seuraavaa toistumiskaavaa tuetaan tällä hetkellä: FREQ=DAILY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
. BYDAY
voidaan muuttaa sisältämään vähemmän päiviä. Arvoja FREQ
ja INTERVAL
ei voi kuitenkaan muuttaa. Varmista, ettei toistumiskaavassa ole välilyöntejä.
Mistä saa tietoja CalendarId- ja InnerCalendarId-resursseista?
CalendarId
voidaan hakea resurssimääritteistä. Saat nämä tiedot soittamalla: [org-url]/api/data/v9.1/bookableresources([bookableresourceGUID])
.
Esimerkki edellisestä puhelusta on [org-url]/api/data/v9.1/bookableresources(7bb0224b-6712-ec11-94f9-000d3a6d888e)
.
InnerCalendarId
voidaan hakea kalenterimääritteistä. Saat nämä tiedot soittamalla: [org-url]/api/data/v9.1/calendars([calendar-id-from-above-call])?$expand=calendar_calendar_rules
.
Esimerkki edellisestä puhelusta on [org-url]/api/data/v9.1/calendars(02481736-1b6a-4d49-9ebd-a5bd041c1c99)?$expand=calendar_calendar_rules
.
Mitä tapahtuu, jos päällekkäisiä sääntöjä on?
Säännöt kuuluvat pariin eri luokkaan:
- Sijoitus 1 – päivittäinen esiintymä (työ/ei-työskentely) ja poissaoloaikaesiintymä.
- Sijoitus 0 – viikoittain toistuva (työ/ei-työskentely).
Version 2 päällekkäiset säännöt
- Sijoitus 1 -säännöissä on suurempi prioriteetti kuin sijoituksen 0-säännöillä. jos samana päivänä on kaksi sääntöä (yksi kustakin listasta), päivittäinen esiintymä tai poissaoloesiintymä on etusijalla viikoittaiseen toistumiseen nähden.
- Jos samassa päivämäärävälissä on useita sijoituksen 0 sääntöjä:
- Jos ajat eivät leikkaa, molemmat säilytetään kalenterissa.
- Jos ajat leikkaavat, viimeksi luotu tai muokattu sääntö säilytetään resurssin kalenterissa. Kaikki muut päivämäärävälin leikkaavat säännöt poistetaan. Jos jonkin sijoituksen 0 säännöt leikkaavat joidenkin päivämäärien kanssa, mutta eivät kaikkien, säännöt liitetään, jotta muut kuin leikkaavat osat voidaan säilyttää. Leikkaavat osat poistetaan.
Seuraavassa on esimerkkejä version 2 kalenteritoiminnasta:
Esimerkki 1 – Toistuva työaika: Päällekkäiset päivämäärät ilman päällekkäisiä päiviä tai aikoja
Tietyn päivämäärävälin ajan teknikko työskentelee aamu-, iltapäivä tai yövuoroissa eri päivinä.
Luo ensimmäinen toistuva kalenterisääntö tietylle päivämäärävälille. Esimerkki: Toista ma, ti 1.1.–1.4. klo 8–17 ET.
Luo toinen toistuva kalenterisääntö leikkaavalle päivämäärävälille. Näin varmistetaan, että työaika ei leikkaa edellisten päivien tai aikojen kanssa. Esimerkki: Toista ke, to 1.1.–1.4. klo 8–17 ET tai Toista ma, ti 1.1.–1.4. klo 17-8 ET.
Tulos: Kumpikin kalenterisääntö säilytetään, ja niitä käytetään rinnakkain.
Esimerkki 2 — Toistuva työaika: Joitakin päällekkäisiä päivämääriä ja päiviä, toinen sääntö alkaa tai loppuu ennen ensimmäistä sääntöä tai sen jälkeen
Teknikko saa uuden työaikataulun, joka korvaa joitakin viikkoja vanhasta aikataulusta. Palvelusopimuksen mukaan he työskentelevät aina viikon samoina päivinä.
Luo ensimmäinen toistuva kalenterisääntö tietylle päivämäärävälille. Esimerkki: Toista ma, ti 1.2.–1.4. klo 8–17 ET.
Luo päällekkäistä päivämääräväliä varten toinen toistuva kalenterisääntö, jossa kaikilla päivillä on päällekkäistä työaikaa. Valitse tälle uudelle säännölle aloitus- tai päättymispäivämäärät, jotka ovat ennen ensimmäisen säännön aloitus- tai päättymispäivämäärää tai sitä ennen. Esimerkki: Toista ma, ti 1.3.–1.5. klo 13–20 ET.
Tulos: Ensimmäinen sääntö katkaistaan toisen säännön alkamis- tai päättymispäivämäärän mukaan. Esimerkki: Toista ma, ti 1.2.–28.2. klo 8–17 ET JA Toista ma, ti 1.3.–1.5. klo 13-20 ET.
Esimerkki 3 – Toistuva työaika: Kaikki päällekkäiset päivämäärät ja joitakin päällekkäisiä päiviä tai aikoja
Teknikko on sopimustyöntekijä kahden kuukauden ajanjakson ajan. Lisätyöstä joinakin päivinä on sovittu. Tiistain työaika halutaan siirtää aiemmaksi tai myöhemmäksi ajankohdaksi.
Luo joitakin toistuvia kalenterisääntöjä annetulle päivämäärävälille. Esimerkki: Toista ma, ti 1.2.–1.4. klo 8–12 ET JA Toista ti, ke 1.2.–1.4. klo 13-17 ET.
Luo uusi toistuva kalenterisääntö samalle päivämäärävälille. Valitse päivät tai ajat, jotka ovat osittain päällekkäisiä alkuperäisten sääntöjen kanssa. Esimerkki: Toista ti, to 1.2.–1.4. klo 10-14 ET.
Tulos: Uusi sääntö korvaa vanhan, jos päällekkäisyyksiä esiintyy, ja jättää muut ennalleen. Esimerkki: Toista ma 1.2.–1.4. klo 8–12 ET JA Toista ke 1.2–1.4. klo 13–17 ET JA Toista ti, to 1.2.–1.4. klo 10–14 ET.
Esimerkki 4 – Toistuva työaika: Vanhan säännön uudet päivämäärät, joitakin päällekkäisiä päiviä tai aikoja
Teknikko työskentelee joka viikko ma–pe klo 8–17. Kahden viikon ajan he käsittelevät erityistä, kiireellistä projektia ma–ke eri työaikoina klo 6–18.
Luo ensimmäinen toistuva kalenterisääntö tietylle päivämäärävälille. Esimerkki: Toista ma, ti, ke, to, pe 1.1. - ei päättymispäivämäärää, klo 8–17 ET.
Luo toinen toistuva kalenterisääntö, joka sisältyy yllä mainittuun päivämääräväliin, ja valitse työaika, joka sisältää muutamia päällekkäisiä päiviä. Esimerkki: Toista ma, ti, ke 1.5.–14.5. klo 6–18 ET.
Tulos: Kalenterissa on oltava neljä toistuvaa sääntöä tämän harjoituksen loppuun mennessä seuraavasti:
- ensimmäisen säännön katkaiseminen toisen säännön aloituspäivämäärän mukaan
- toinen kalenterisääntö
- uuden, ensimmäistä sääntöä vastaavan säännön luominen, jolla on toisen säännön päivämäärät muita kuin päällekkäisiä päiviä varten
- ensimmäisen säännön katkaiseminen alkamaan toisen säännön päättymispäivämäärästä ilman päättymispäivämäärää.
Esimerkki: Toista ma, ti, ke, to, pe 1.1.–30.4. klo 8–17 ET JA Toista ma, ti, ke 1.5.–14.5. klo 6–18 ET JA Toista to, pe 1.5.–14.5. klo 8-17 ET JA Toista ma, ti, ke, to, pe 15.5. - ei päättymispäivämäärää, klo 8–17 ET
Esimerkki 5 – Ei-toistuva työaika (esiintymä, sijoituksen 1 sääntö)
Teknikolla on useita ryhmän yhtenäisyyspäiviä, jotka ohittavat kaikki muun työajan esiintymät kyseisenä päivänä.
Luo toistuva kalenterisääntö tietylle päivämäärävälille. Esimerkki: Toista ma, ti, ke, to, pe 1.1. - ei päättymispäivämäärää, klo 8–17 ET.
Luo ei-toistuva kalenterisääntö, joka sisältyy yllä mainittuun päivämääräväliin. Valitse työaika, joka on päällekkäinen joinakin päivinä. Esimerkki: Ei toistoa 21.6. klo 7–13 ET.
Tulos: Kalenterissa on oltava 1 ei-toistuva sääntö (esiintymä) harjoituksen loppuun mennessä seuraavasti: Ei-toistuva sääntö korvaa päällekkäisen toistuvan tapahtuman koko päivän ajan. Esimerkki: Toista ma, ti, ke, to, pe 1.1. - ei päättymispäivämäärää paitsi 21.6., ei toistoa 21.6. klo 7–13 ET.
Version 1 päällekkäiset säännöt
- Sijoitus 1 -säännöissä on suurempi prioriteetti kuin sijoituksen 0-säännöillä. Joten jos samana päivänä oli kaksi sääntöä (yksi kustakin listasta), päivittäinen esiintymä tai poissaoloesiintymä on etusijalla viikoittaiseen toistumiseen nähden.
- Jos saman sijoituksen sääntöjä on kaksi, viimeksi luodun tai muokatun säännön katsotaan olevan resurssin kalenterissa.
- Muista, että koko päivän esiintymät ovat sijoituksessa 1, joten haluat ehkä muuttaa ne viikoittain toistuvaksi, jotta voit lisätä esiintymän työtunteja ja noudattaa niitä.
- Kun työtunti on olemassa ja esiintymä luodaan päällekkäisenä, säännöt jakautuvat siten, että vapaata ei noudateta ja jäljellä oleva työaika jää sellaiseksi kuin se on. Jos työaika on esimerkiksi 21.9. 8–17 ja poissaoloaika lisätään kello 15–19 21. syyskuuta, tämä ratkaistaan työaikana klo 8–15 ja poissaoloaikana 15–19. Jos säännöt on kuitenkin luotu päinvastaisessa järjestyksessä (ensimmäiseksi luodaan poissaoloaika ja sen jälkeen työaika) aikasäännöistä riippumatta, vain työaika valitaan uudelleen. Poissaoloaika ohitetaan.
Aikavyöhykekoodit
Luettelointi | Aikavyöhyke |
---|---|
0 | (GMT-12:00) Läntinen kansainvälinen päivämääräraja |
1 | (GMT+13:00) Samoa |
2 | (GMT-10:00) Havaiji |
3 | (GMT-09:00) Alaska |
4 | (GMT-08:00) Tyynenmeren normaaliaika (Yhdysvallat ja Kanada) |
5 | (GMT-08:00) Baja California |
6 | (GMT-11:00) UTC-aika-11 |
7 | (GMT-10:00) Aleutit |
8 | (GMT-09:30) Marquesassaaret |
9 | (GMT-09:00) UTC-aika-09 |
10 | (GMT-07:00) Kalliovuorten normaaliaika (Yhdysvallat ja Kanada) |
11 | (GMT-08:00) UTC-aika-08 |
12 | (GMT-07:00) Chihuahua, La Paz, Mazatlan |
15 | (GMT-07:00) Arizona |
20 | (GMT-06:00) Keskinen normaaliaika (Yhdysvallat ja Kanada) |
25 | (GMT-06:00) Saskatchewan |
29 | (GMT-06:00) Guadalajara, Mexico City, Monterrey |
33 | (GMT-06:00) Keski-Amerikka |
34 | (GMT-06:00) Pääsiäissaaret |
35 | (GMT-05:00) Itäinen normaaliaika (Yhdysvallat ja Kanada) |
40 | (GMT-05:00) Indiana (itä) |
43 | (GMT-05:00) Haiti |
44 | (GMT-05:00) Havanna |
45 | (GMT-05:00) Bogota, Lima, Quito, Rio Branco |
47 | (GMT-04:00) Caracas |
50 | (GMT-04:00) Atlantin normaaliaika (Kanada) |
51 | (GMT-05:00) Turks- ja Caicossaaret |
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 ja Miquelon |
73 | (GMT-03:00) Grönlanti |
74 | (GMT-03:00) Montevideo |
75 | (GMT-02:00) Keski-Atlantti |
76 | (GMT-02:00) UTC-aika-02 |
77 | (GMT-03:00) Araguaína |
80 | (GMT-01:00) Azorit |
83 | (GMT-01:00) Cabo Verde |
84 | (GMT+01:00) Casablanca |
85 | (GMT+00:00) Dublin, Edinburgh, Lissabon, Lontoo |
90 | (GMT+00:00) Monrovia, Reykjavik |
92 | (GMT) UTC-aika |
95 | (GMT+01:00) Belgrad, Bratislava, Budapest, Ljubljana, Praha |
100 | (GMT+01:00) Sarajevo, Skopje, Varsova, Zagreb |
105 | (GMT+01:00) Bryssel, Kööpenhamina, Madrid, Pariisi |
110 | (GMT+01:00) Amsterdam, Berliini, Bern, Rooma, Tukholma, Wien |
113 | (GMT+01:00) Läntinen Keski-Afrikka |
115 | (GMT+02:00) Chișinău |
120 | (GMT+02:00) Kairo |
125 | (GMT+02:00) Helsinki, Kiev, Riika, Sofia, Tallinna, Vilna |
129 | (GMT+02:00) Amman |
130 | (GMT+02:00) Ateena, Bukarest |
131 | (GMT+02:00) Beirut |
133 | (GMT+02:00) Damaskos |
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) Moskova, Pietari |
150 | (GMT+03:00) Kuwait, Riad |
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) Iževsk, Samara |
175 | (GMT+04:30) Kabul |
176 | (GMT+04:00) Astrahan, Uljanovsk |
180 | (GMT+05:00) Jekaterinburg |
184 | (GMT+05:00) Islamabad, Karachi |
185 | (GMT+05:00) Taškent |
190 | (GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi |
193 | (GMT+05:45) Katmandu |
195 | (GMT+06:00) Astana |
196 | (GMT+06:00) Dhaka |
197 | (GMT+06:00) Omsk |
200 | (GMT+05:30) Sri Jayawardenepura |
201 | (GMT+07:00) Novosibirsk |
203 | (GMT+06:30) Yangon (Rangoon) |
205 | (GMT+07:00) Bangkok, Hanoi, Jakarta |
207 | (GMT+07:00) Krasnojarsk |
208 | (GMT+07:00) Barnaul, Gorno-Altaisk |
209 | (GMT+07:00) Hovd |
210 | (GMT+08:00) 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) Ulaanbaatar |
229 | (GMT+09:00) Pyongyang |
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) Tš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) Lord Howen saari |
275 | (GMT+10:00) Guam, Port Moresby |
276 | (GMT+11:00) Bougainvillen saari |
277 | (GMT+11:00) Norfolkinsaari |
278 | (GMT+11:00) Sahalin |
279 | (GMT+11:00) Tšokurdah |
280 | (GMT+11:00) Salomonsaaret, Uusi-Kaledonia |
281 | (GMT+11:00) Magadan |
284 | (GMT+12:00) UTC-aika+12 |
285 | (GMT+12:00) Fidži |
290 | (GMT+12:00) Auckland, Wellington |
295 | (GMT+12:00) Anadyr, Petropavlovsk-Kamtšatski |
299 | (GMT+12:45) Chathamsaaret |
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 |