API'leri kullanarak çalışma saati takvimlerini düzenleme
Kuruluşların genellikle kaynaklarının takvimlerinde programlı olarak çalışma saatleri oluşturma, düzenleme veya silme işlemleri yapması gerekir. Takvimler, çalışma zamanlanırken kaynağın kullanılabilirliğini belirleyen çalışma saatlerini, izin süresini ve molaları gösterir. Bu kaynaklar belirli saat dilimlerinde zamanlanmalıdır, işletme kapanışlarını gözlemleyebilir veya gözlemlemeyebilir ve değişken kapasiteye sahip olabilir. Field Service uygulamasında çalışma saatlerini tanımlama hakkında bilgi için Ayrılabilir kaynağa çalışma saatleri ekleme'ye gidin.
Field Service uygulamasını kullanmanın yanı sıra, seçili kayıt türlerinin takvim kurallarını değiştirmek için aşağıdaki API'leri kullanabilirsiniz:
- Takvimi Kaydet API'si (
msdyn_SaveCalendar
), istek olarak geçirilen girişlere bağlı olarak seçili bir varlıkta takvim kayıtları oluşturur veya bunları güncelleştirir. - Takvimi Sil API'si (
msdyn_DeleteCalendar
), istek olarak geçirilen girişlere bağlı olarak seçili bir varlıkta takvimin tüm iç takvim kurallarını siler. - Takvimi Kaydet/Sil API'si V2 (msdyn_SaveCalendar/msdyn_DeleteCalendar, geçiş bayrağı UseV2), çakışan kurallar için mantığı değiştirerek aynı anda birden fazla çalışma saati yinelemesine olanak tanır. Daha fazla bilgi için bkz. Çakışan kurallar varsa ne olur?
Bu makale, örneklerle birlikte her API'nin girişi (istek) ve çıkışı (yanıt) ile bunların kullanımı hakkında ayrıntılar içerir.
Önkoşullar
- Universal Resource Scheduling sürümü 3.12.45.7 ile platform sürümü 9.2.21055 veya üstü.
- Aşağıdaki kayıt türlerinden birinin kullanımı:
- Ayrılabilir kaynak (bookableresource)
- Kaynak gereksinimi (msdyn_resourcerequirement)
- Çalışma saatleri şablonu (msdyn_workhourtemplate)
- Proje (msdyn_project)
Takvim olayı türleri
Takvim oluşturduğunuzda çalışma saati türünün bir kez, tüm gün, her hafta veya her gün gibi kaç kez gerçekleşeceğini tanımlarsınız ya da özel bir yineleme oluşturabilirsiniz. Bu takvim olayları hakkında daha fazla bilgi için bu makalenin devamındaki örneklere gidin.
Oluşum
Bir çalışma saati türü varlığın takviminde yalnızca bir kez oluştuğunda, buna oluşum denir.
Örneğin, 26 Mayıs 2021'de 05:00-10:00 saatleri arasında çalışan bir kaynağı düşünün. Bu API'ler yalnızca aynı gün içinde başlayan ve biten bu tür oluşumu destekler. Başka bir örnek için 26 Mayıs 2021 20:00'den 27 Mayıs 2021 saat 10:00'a kadar çalışan bir kaynağı düşünün. msdyn_SaveCalendar
API'sinin yalnızca bir çağrısını kullanarak bu oluşumu oluşturamazsınız; bunun yerine iki çağrı yapmanız gerekir.
Tüm gün süren oluşum
Bir çalışma saati türü, başlangıç tarihinin gece yarısından (00:00) başlayarak bir veya daha fazla tam gün boyunca oluştuğunda, buna tüm gün süren oluşum denir. Tüm gün süren bir oluşum için maksimum süre beş yıldır.
Örneğin, bir kaynak 26 Mayıs 2021'den 30 Mayıs 2021 günün sonuna kadar tüm gün çalışır. Bu, beş gün süren bir tüm günlük oluşumdur.
Haftalık yinelenme
Bir iş saati türü her haftanın seçili günlerinde aynı anda oluştuğunda, buna haftalık yinelenme denir.
Örneğin, bir kaynak her Pazartesi, Salı ve Çarşamba 05:00 ile 10:00 arasında çalışır.
Günlük yinelenme
Bir iş saati türü her gün aynı saatte oluştuğunda, buna günlük yinelenme denir.
Örneğin, bir kaynak haftanın her günü 05:00-10:00 saatleri arasında çalışır.
Özel yinelenme
Bir çalışma saati türü haftanın belirli günlerinde belirli zamanlarda oluştuğunda ancak saatler farklı günlerde farklı olduğunda, bir özel yinelenme oluşturabilirsiniz.
Örneğin, bir kaynak her Pazartesi 05:00-10:00 ve her Çarşamba 12:00-15:00 saatleri arasında çalışır.
Çalışma saati türleri
Bu API'ler, aşağıdaki çalışma saati türleri için oluşturma, güncelleştirme ve silme işlemlerini destekler:
Çalışma saatleri
Çalışma saatleri, bir varlığın iş yapmak için kullanılabilir olduğu zamanlardır.
Bu API'leri kullanarak aşağıdakileri yapabilirsiniz:
- Çalışma saati oluşumu oluşturma, düzenleme veya silme.
- Çalışma saati günlük yinelenmesi oluşturma, düzenleme veya silme.
- Çalışma saati haftalık yinelenmesi oluşturma, düzenleme veya silme.
- Çalışma saati özel yinelenmesi oluşturma, düzenleme veya silme.
- Tüm gün çalışma saatleri oluşturma, düzenleme veya silme.
- Çalışma saatlerinde kapasite oluşturma veya düzenleme.
- Yinelenmedeki tek bir çalışma saati oluşumunu düzenleme.
- Bunu ve Yinelemedeki sonraki oluşumları düzenleme.
- Çalışma saati oluşumunu yinelenme olarak değiştirme.
- Takvim kuralının saat dilimini değiştirme.
Bu API'yi kullanarak aşağıdakileri yapamazsınız:
- Yinelenmeden tek bir çalışma saati oluşumunu silme.
- 24 saate yayılan ancak gece yarısı (00:00) başlayıp bitmeyen bir oluşum oluşturma.
- Tüm gün yinelenmesi oluşturma, düzenleme veya silme.
Çalışma dışı saat
Bunlar, varlığın belirtilmeyen bir nedenden dolayı çalışamadığı zamanlardır.
Bu API'leri kullanarak aşağıdakileri yapabilirsiniz:
- Tüm gün çalışma dışı saatleri oluşturun veya düzenleyin.
- Çalışma dışı bir saat oluşumu oluşturun veya düzenleyin.
- Takvim kuralının saat dilimini değiştirme.
Bu API'leri kullanarak aşağıdakileri yapamazsınız:
- Çalışma dışı bir saat yinelenmesi oluşturun veya düzenleyin.
Break
Bunlar, bir iş günü içinde bir varlığın mola verdiği ve iş için müsait olmadığı zamanlardır. Molalar çalışma saatleri olmadan var olamaz; bir günde iki çalışma saati arasında meydana gelmek zorundadır. Molalar çalışma saatleri ile çakışamaz.
Bu API'leri kullanarak aşağıdakileri yapabilirsiniz:
- Çalışma saatlerinde molalar oluşturma veya düzenleme.
Bu API'leri kullanarak aşağıdakileri yapamazsınız:
- Yalnızca bir oluşumda veya çalışma saatlerinin yinelenmelerindeki molaları silme.
İzin
Bu süreler, bir varlığın tatil nedeniyle çalışamadığı zamanlardır. İzin nedeni belirtilebilir.
Bu API'leri kullanarak aşağıdakileri yapabilirsiniz:
- Bir etiketle izin süresi oluşturma veya düzenleme.
- Takvim kuralının saat dilimini değiştirme.
Bu API'leri kullanarak aşağıdakileri yapamazsınız:
- İzin saati yinelenmesi oluşturma veya düzenleme.
İşletme kapanışı
İşletmenin kapalı olduğu saatleri tanımlayan işletme kapanışı varlıklarını oluşturabilirsiniz. msdyn_SaveCalendar
API'yi kullanarak isteğe bağlı ObserveClosure anahtarıyla her varlığı kuruluşun işletme kapanışı zamanlarını gözlemleyecek veya yoksayacak şekilde ayarlayabilirsiniz. Bu kapanışları gözlemlemek için ayarlandıklarında varlıklarla çalışılamaz.
Takvimi Kaydet API'si
Girdi
İstek yalnızca bir öznitelik içerir CalendarEventInfo, bu bir Dize türüdür. Tümü bu dizeye katıştırılmış başka birkaç öznitelik daha içerir.
Not
Aşağıdaki tabloda Tür, başarılı bir istekte bulunmak için beklenen biçimi temsil eder. Ancak, tüm istek tek bir dize olarak ayrıştırılır.
CalendarEventInfo
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
EntityLogicalName | String | Evet | Bu anahtar, API'nin çağrıldığı varlığı açıklar. Bu varlığın takvimi oluşturulur veya düzenlenir. |
CalendarId | GUID | Evet | Bu anahtar, yukarıda açıklanan varlıkla ilgili takvim kimliğini içerir. Bu varlıklardan herhangi biri oluşturulduğunda, takvim kaydı da otomatik olarak oluşturulur. Bu API'ler, kural ekleyerek veya var olan kuralları düzenleyerek bu takvim kaydını düzenler. |
RulesAndRecurrences | RulesAndRecurrences | Evet | Bu anahtar bir dizidir ve her öğe aşağıdaki bölümdeki tabloda listelendiği gibi birden çok öznitelik içerir. Dizinin boyutu en az bir olmalıdır. |
IsVaried | Boolean | No | Bu anahtar özel yinelenme senaryoları için true olarak ayarlanmalıdır. |
IsEdit | Boolean | No | Bu anahtar var olan kuralları düzenlemek için true olarak ayarlanmalıdır. |
TimeZoneCode | Tam sayı | No | Bu anahtar, takvim kurallarının saat dilimine karşılık gelen bir tamsayı değeri alır. Eşleme için bu makalenin devamındaki Saat dilimi kodlarına gidin. Varsayılan değer kullanıcının saat dilimidir. |
InnerCalendarDescription | String | No | Bu anahtar yalnızca takvim kuralı izin için olduğunda gereklidir. İzin nedenini içermelidir. |
ObserveClosure | Boolean | No | Bu anahtar yinelenmelere özgüdür. Varlık, true olarak ayarlanırsa işletme kapanışını gözlemler. |
RecurrenceEndDate | DateTime | Hayır | Bu anahtar yinelenmelere özgüdür. Yinelenmenin bitiş tarihini içerir. Zaman damgası 08:00:00 veya daha önceki bir tarihse yinelenme bitiş tarihi belirtilen tarihten bir gün öncedir. Zaman damgası 08:00:01 veya daha önceki bir tarihse tarih olduğu gibi korunur. Oluşumlar için varsayılan değer null olur. Yinelenmeler için varsayılan değer 30 Ara 9999, saat 23:59:59, UTC'dir. |
RecurrenceSplit | Boolean | No | Bu anahtar yinelenmelere özgüdür. Yinelenmenin "Bu ve sonraki oluşumları"nı düzenlemek için true olarak ayarlanır. |
ResourceId | GUID | No | Bu anahtar SystemUserId veya ResourceId değerini içerir ve yalnızca, bu çağrıyla ilişkili varlık SystemUser türünde bir ayrılabilir kaynak olduğunda geçirilir. Bu, Servis Yönetimi sekmesinde OwnCalendar ayrıcalıklarını denetlemek için gereklidir. |
UseV2 | Bayrak | Hayır | Bu bayrak geçirildiğinde birden fazla yinelemeye olanak tanıyan gelişmiş çakışan kurallar mantığına sahip çalışma saati takviminin V2 sürümü etkinleştirilir. Daha fazla bilgi için bkz. Çakışan kurallar varsa ne olur? |
RulesAndRecurrences
Adı | Türü | Zorunlu | Veri Akışı Açıklaması |
---|---|---|---|
Kurallar | Kurallar | Evet | Bu anahtar bir dizidir ve her öğe aşağıdaki bölümdeki tabloda listelendiği gibi birden çok öznitelik içerir. Dizinin boyutu en az bir olmalıdır. |
RecurrencePattern | String | No | Bu anahtar yinelenmelere özgüdür. Şu anda yalnızca bu modeli destekliyoruz: FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA . BYDAY , daha az gün içerecek şekilde değiştirilebilir ancak FREQ ve INTERVAL değiştirilemez. |
InnerCalendarId | GUID | No | Bu anahtar düzenlemeye özgüdür. Bir kural düzenleniyorsa InnerCalendarId değerinin buraya geçirilmesi gerekir. InnerCalendarId geçirilmezse IsEdit anahtarı doğru olarak ayarlanmış olsa bile API yeni bir kural oluşturur. |
Eylem | Tam sayı | No | Bu anahtar özel yinelenmelere özgüdür. Özel bir yinelenme oluşturuluyor veya düzenleniyorsa aşağıdaki sayılardan biri girilmelidir:
|
Kurallar
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
StartTime | DateTime | Evet | Bu anahtar ISO biçimindebir tarih saat girişi içerir. Örneğin, \"2021-05-15T12:00:00.000Z\" . Saat bölümü, daha önce belirtilen saat dilimindeki çalışma saatinin başlangıç saatini belirler. Tarih bölümü, çalışma saatinin başlangıç tarihini belirler. Burada, 15 Mayıs 2021, yinelenmenin oluşum tarihi veya başlangıç tarihidir. Model BYDAY=TU,WE ise ancak tarih 15 Mayıs (Cumartesi) ise API 15 Mayıs'ı izleyen tüm Salı ve Çarşamba günleri için otomatik olarak kurallar oluşturur veya düzenler. Bu, kuralın güne karşılık gelen tarihe sahip olması gerekmediği durumdur. |
EndTime | DateTime | Evet | Bu, ISO biçiminde bir tarih saat girişi içerir. Örneğin, \"2021-05-15T12:00:00.000Z\" . Saat bölümü, daha önce belirtilen saat dilimindeki çalışma saatinin bitiş saatini belirler. Tarih bölümü, StartTime'ın tarih bölümüyle aynı tarihi içermelidir. Tek istisnalar şunlardır:
|
WorkHourType | Tam sayı | Evet | Bu anahtar, aşağıdaki seçeneklerden birine karşılık gelen bir sayı içerir:
|
Çaba | Tam sayı | Hayır | Bu anahtar varlığın kapasitesini belirler. Tamsayı olmalıdır. Varsayılan değer 1'dür. |
Çıktı
Bu POST API'si seçili varlık için takvim kuralı kayıtları oluşturur veya değiştirir. Ayrıca aşağıdaki çıktıyı verir.
Adı | Tür | Açıklama |
---|---|---|
InnerCalendarIds | String | POST işleminin bir sonucu olan InnerCalendarIds GUID'leri dizisi. |
Takvimi Sil API'si
Girdi
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
EntityLogicalName | String | Evet | Bu alanda, takvim kuralları silinecek olan varlık açıklanmaktadır. |
InnerCalendarId | GUID | Evet | Bu alanda, silinmesi gereken InnerCalendarId kimliği açıklanmaktadır. Tek bir kuralla ilişkili birden çok InnerCalendarId varsa burada herhangi bir kimlik yeterlidir. İç ve dış takvimler hakkında daha fazla bilgi: Takvim varlıkları |
CalendarId | GUID | Evet | Bu alanda, varlığın Takvim Kimliği açıklanmaktadır. |
IsVaried | Boolean | No | Bu alan yinelenmelere özgüdür ve özel bir yinelenme kuralı siliniyorsa yes olarak ayarlanır. |
UseV2 | Bayrak | Hayır | Bu bayrak geçirildiğinde birden fazla yinelemeye olanak tanıyan gelişmiş çakışan kurallar mantığına sahip çalışma saati takviminin V2 sürümü etkinleştirilir. Daha fazla bilgi için bkz. Çakışan kurallar varsa ne olur? |
Çıktı
Bu POST API'si seçili varlığın takvim kuralı kayıtlarını siler. Ayrıca, aşağıdaki çıktıyı verir.
Adı | Tür | Açıklama |
---|---|---|
InnerCalendarIds | String | POST işleminin bir sonucu olan InnerCalendarIds GUID'leri dizisi. |
Takvim API'si yükleme
Girdi
Adı: msdyn_LoadCalendars
Tür: Eylem
Açıklama: Sağlanan LoadCalendarsInput için takvimleri döndürür.
Adı: msdyn_LoadCalendars.LoadCalendarsInput
Tür: Parametre
Açıklama: Aşağıdaki JSON biçimindeki dize:
{
StartDate: string,
EndDate: string,
CalendarIds: string[]
}
Adı: msdyn_LoadCalendarsResponse
Tür: ComplexType
Açıklama: msdyn_loadCalendars eyleminin yanıtını içerir.
Adı: msdyn_LoadCalendarsResponse.CalendarEvents
Tür: Özellik
Açıklama: Aşağıdaki JSON biçimindeki dize:
{
"calendarId": CalendarEventSlot[]
}
CalendarId, Takvim GUID'sini temsil eden uygun bir GUID'dir ve CalendarEventSlot, aşağıdaki biçimde bir nesnedir:
{
CalendarId: string,
InnerCalendarId: string,
Start: string,
End: string,
Effort: double
}
API'leri çağırma
Bu API'ler tarayıcı kullanılarak çağrılabilir.
- Bu takvim değişikliklerini yapmanız gereken tarayıcıyı ve kuruluşu açın.
- Geliştirici Araçları'nı açın (Microsoft Edge'de Ctrl+Shift+I'yı, Google Chrome'da F12'yi seçin).
- Konsolda, [kuruluş adı] yerine kuruluş ayrıntılarını (örneğin,
http://your_org.crm.dynamics.com
) girdikten sonra aşağıdaki işlevi girin:
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));
}
- Bu işlev tanımlandıktan sonra, API'leri kullanarak takvim oluşturmak, düzenlemek veya silmek için çağırabilirsiniz. Takvimi kaydetmek için şu çağrıyı girin:
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
}]
}]
}"
})
Takvimi silmek için şu çağrıyı girin:
CalendarAction("msdyn_DeleteCalendar", {
"CalendarEventInfo":"{
\"CalendarId\":\"8390358c-77d0-430f-b176-f27adadac8eb\",
\"EntityLogicalName\":\"bookableresource\",
\"InnerCalendarId\":\"cf508c2c-5c55-485c-be1e-d2ebcb385441\"
}"
})
İhtiyaçlarınıza göre farklı çağrıların nasıl yapılması gerektiğine ilişkin örnekler için aşağıdaki bölüme bakın. 3. adımdaki işlev çağrısının action
değerini msdyn_SaveCalendar
veya msdyn_DeleteCalendar
ile değiştirin ve data
değerini CalendarEventInfo
ile değiştirin.
Ayrıca msdyn_SaveCalendar
eylemi için Power Automate çağrısıyla ilgili şu ekran görüntüsüne bakın:
API kullanımı için örnek senaryolar
Bu API'leri kullanabileceğiniz bazı senaryoları inceleyelim.
Bob ve Tim, Bellevue, Washington'da içindeki Contoso Enterprises için kamyon sürücülüğü yapıyor. Amirleri olan Debbie, çalışma saati takvimlerinde değişiklik yapmaktan sorumludur. Debbie bu değişiklikleri msdyn_SaveCalendar
ve msdyn_DeleteCalendar
API'lerini kullanarak yapar.
Çalışma saati oluşumu oluşturun.
Bob'un paketleri 15 Mayıs 2021'de 09:00-17:00 saatleri arasında teslim etmek için araç sürmesi planlanıyor. Debbie msdyn_SaveCalendar
API'sini kullanıyor.
İstek
{
"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\"]"
}
Çalışma saati oluşumunu düzenleyin.
Bob'un programı daha sonra 15 Mayıs 2021 saat 10:00'da başlayacak şekilde değişiyor. Debbie msdyn_SaveCalendar
API'sini kullanıyor.
İstek
{
"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\"]"
}
Çalışma saati oluşumunu silin.
Bir ailevi acil durum ortaya çıkıyor ve Bob'un tüm iş gününü iptal etmesi gerekiyor. Debbie msdyn_DeleteCalendar
API'sini kullanıyor.
İste
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"}"
}
Yanıtla
{
"InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}
Çalışma saati günlük yinelenmesi oluşturma
20 Mayıs 2021'den başlayarak, Bob, 8:00 ile 17:00 arasındaki Contoso ile tüm hafta çalışmaya karar verir ve 15 Temmuz 2021'de orada çalışmayı durduracaktır.
İste
{
"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\"}]}"
}
Yanıtla
{
"InnerCalendarIds": "[\"20f6cfa7-cfbe-eb11-a81d-000d3a6e4359\"]"
}
Çalışma saati günlük yinelenmesini artan kapasiteyle düzenleme
Bob, 15 Haziran 2021'in tüm haftası boyunca çalışmayı bırakmaya karar verir çünkü dinlenecektir. O zamana kadar Bob, daha önce kabul ettiği tüm hafta programına devam edecektir. Debbie bu değişiklikleri msdyn_SaveCalendar
API'sini kullanarak yapar.
İstek
{
"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\"]"
}
Çalışma saati haftalık yinelenmesi oluşturma
16 Haziran 2021 tarihinden başlayarak, Bob çarşamba ve cuma günleri arasında 8:00 ile 17:00 ve arasında çalışacak, öğle yemeği için 12:00 - 12:30 arası öğle yemeği molası verecektir. Debbie msdyn_SaveCalendar
API kullanır ancak bir hata yapar ve molayı 12:00'den 13:00'e kadar planlar.
İste
{
"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\"}]}"
}
Yanıtla
{
"InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}
Çalışma saati haftalık yinelenmesindeki bir molayı düzenleme
Debbie daha sonra hatasını düzeltir ve msdyn_SaveCalendar
API'sini kullanarak molayı 12:00'den 12:30'a değiştirir.
İstek
{
"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\"}]}"
}
Yanıtla
{
"InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}
Çalışma saati özel yinelenmesi oluşturma
Tim, 08:00 ve 17:00 arasındaki Pazartesi günleri ve 11:00 ile 15:00 arasında Çarşamba günleri olacak şekilde Contoso'da çalışır. Tim, Contoso için 16 Mayıs 2021'de çalışmaya başladı. Debbie, Tim'in çalışma saatlerini oluşturmak için msdyn_SaveCalendar
API'sini kullanır.
İstek
{
"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\"]"
}
Çalışma saati özel yinelenmesini düzenleme
Tim'in programı daha sonra değişir: çalışma saatleri çarşamba günleri 17:00-20:00 ve perşembe günleri 10:00-12:00 arası olur. Pazartesi Tim'in programından çıkarılır. Debbie bu işlemi yapmak için msdyn_SaveCalendar
API'sini kullanır.
İste
{
"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\"}]}"
}
Yanıtla
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}
Yinelenmedeki bir çalışma saati oluşumunu düzenleme
26 Mayıs 2021'de Tim sadece 13:00-19:00 saatleri arasında çalışabilir. Debbie burada msdyn_SaveCalendar
API'sini kullanır.
İste
{
"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\"}]}"
}
Yanıtla
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\"]"
}
Çalışma saati özel yinelenmesini silme
Tim şirketten ayrılmaya karar vermiştir ve tüm programını silmek zorundadır. Debbie burada msdyn_DeleteCalendar
API'sini kullanır.
İste
{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"34d2210c-9fb6-eb11-a820-000d3afb1dba\",\"IsVaried\":true}"
}
Yanıtla
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}
İzin oluşturma
Tim, 9 Haziran 2021'den itibaren aile tatili için üç gün izin alacaktır.
İstek
{
"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\"]"
}
Tüm gün çalışma saatleri oluşturma
Tim'in 20 Mayıs 2021'den itibaren 72 saatlik vardiyası vardır. Debbie, Tim'in çalışma saatlerini oluşturmak için msdyn_SaveCalendar
API'sini kullanır.
İste
{
"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}]}]}"
}
Yanıtla
{
"InnerCalendarIds": "[\"6e160a8e-d5be-eb11-a81d-000d3a6e4359\"]"
}
ile ilgili SSS
"StartTime, EndTime'dan büyük veya buna eşit olamaz" hatasını alıyorum.
Farklı takvim kurallarının zaman aralıklarında çakışma olmadığından emin olun. StartTime'ın EndTime'dan sonra olmadığından emin olmak için tarihleri denetleyin. Ayrıca, saatlerin 24 saat biçimini izlediğini doğrulayın.
API'ler "Çalışma Saati Şablonları" varlığını güncelleştirmek için kullanılabilir mi?
Evet, kaynak çalışma saatlerine ek olarak çalışma saatleri şablonları oluşturmak ve güncelleştirmek için bu API'yi kullanabilirsiniz.
Şu hatayı alıyorum, "Türünün objesinin serileştirilmemesi sırasında hata oluştu: Microsoft.Dynamics.UCICalendar.Plugins.SaveCalendarContract+CalendarEventInfo. Giriş kaynağı düzgün biçimlendirilmemiş.
or
'Element' durumu bekleniyor.. '', namespace '' adına sahip 'Metin' ile karşılaşıldı."
Dizenin doğru ayrıştırıldığından emin olun. Parantezler, virgüller veya noktalı virgüller eksik olabilir.
Şu hatayı alıyorum, "Geçersiz yineleme deseni. Desteklenen desenler için belgelere başvurun."
Şu anda yalnızca bu modeli destekliyoruz: FREQ=DAILY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
. BYDAY
, daha az gün içerecek şekilde değiştirilebilir ancak FREQ
ve INTERVAL
değiştirilemez. Modelde boşluk olmadığından emin olun.
CalendarId ve kaynağın InnerCalendarId bilgileri nasıl alınır?
CalendarId
kaynak özniteliklerinden alınabilir. Bu çağrıyı aşağıdaki bilgileri almak için yapın: [org-url]/api/data/v9.1/bookableresources([bookableresourceGUID])
Önceki görüşme için bir örnek olabilir: [org-url]/api/data/v9.1/bookableresources(7bb0224b-6712-ec11-94f9-000d3a6d888e)
.
InnerCalendarId
takvim özniteliklerinden alınabilir. Bu çağrıyı aşağıdaki bilgileri almak için yapın: [org-url]/api/data/v9.1/calendars([calendar-id-from-above-call])?$expand=calendar_calendar_rules
Önceki görüşme için bir örnek: [org-url]/api/data/v9.1/calendars(02481736-1b6a-4d49-9ebd-a5bd041c1c99)?$expand=calendar_calendar_rules
.
Örtüşen kurallar varsa ne olur?
Kuralların altında kalan iki farklı dereceler vardır:
- 1. derece - Günlük oluşum (çalışma/çalışma dışı) ve zaman içinde oluşum.
- 0 derece - Haftalık yineleme (çalışma/çalışma dışı).
V2 çakışan kuralları
- Sıra 1 kurallarının önceliği, Sıra 0 kurallarına göre daha yüksektir. aynı günde iki kural (her sıradan bir tane) varsa günlük yinelenme veya izin yinelenmesi, haftalık yinelenmeye göre önceliklidir.
- Aynı tarih aralığı içinde birden çok Sıra 0 kuralı olduğunda:
- Saatler kesişmezse ikisi de takvimde kalır.
- Saatler kesişirse en son oluşturulan/değiştirilen kural, kaynağın takvimi için dikkate alınan kuraldır. Tarih aralığındaki diğer tüm kesişen kurallar kaldırılır. Bazı sıra 0 kuralları bazı tarihlerde kesişiyor ve bazılarında kesişmiyorsa kesişen kısımlar kaldırılırken kesişmeyen kısımları korumak için kural birleştirilir.
V2 takvim davranışı örnekleri:
Örnek 1 - Yinelenen çalışma saatleri: Çakışan gün/saat olmaksızın çakışan tarihler
Belirli bir tarih aralığı için teknisyen, farklı günlerde sabah, öğleden sonra veya gece vardiyalarında çalışmaktadır.
Belirli bir tarih aralığı için ilk yinelenen takvim kuralını oluşturun. Örneğin: Her Pazartesi, Salı; 1.1-4.1; 8:00-17:00 ET.
Kesişen bir tarih aralığı için ikinci yinelenen takvim kuralını oluşturun ve çalışma saatlerinin önceki gün veya saatlerle kesişmemesini sağlayın. Örneğin: Her Çarşamba, Perşembe; 1.1-4.1; 8:00-17:00 ET veya Her Pazartesi, Salı; 1.1-4.1; 17:00-20:00 ET.
Sonuç: İki takvim kuralı da kalır ve yan yana bulunur.
Örnek 2 - Yinelenen Çalışma Saatleri: Tüm günlerin çakıştığı ve ikinci kuralın ilk kuraldan önce veya sonra başladığı/bittiği bazı çakışan tarihler
Teknisyen, eski programının birkaç haftasının değiştiği yeni bir çalışma programı alır. Sözleşme gereği her hafta aynı günlerde çalışmaktadır.
Belirli bir tarih aralığı için ilk yinelenen takvim kuralını oluşturun. Örneğin: Her Pazartesi, Salı; 2.1-4.1; 8:00-17:00 ET.
Çakışan bir tarih aralığı için tüm günlerin çalışma saatlerinin çakıştığı ikinci yinelenen takvim kuralını oluşturun. İlk kuralın başlangıç/bitiş tarihinden önce veya sonra olan bu yeni kural için başlangıç/bitiş tarihlerini seçin. Örneğin: Her Pazartesi, Salı; 3.1-5.1; 13:00-20:00 ET.
Sonuç: İlk kural, ikinci kuralın başlangıç/bitiş tarihine uyacak şekilde kısaltılır. Örneğin: Her Pazartesi, Salı; 2.1-2.28; 8:00-17:00 ET VE Her Pazartesi, Salı; 3.1-5.1; 13:00-20:00 ET.
Örnek 3 - Yinelenen Çalışma Saatleri: Bazı çakışan günlerin/saatlerin olduğu tüm çakışan tarihler
Teknisyen, sabit 2 aylık dönem için sözleşmeli bir çalışandır. Bazı günlerde ek çalışma yapmayı kabul etmiştir. Salı çalışma saatlerini daha erken/geç bir saate kaydırmak ister.
Belirli bir tarih aralığı için bazı yinelenen takvim kurallarını oluşturun. Örneğin: Her Pazartesi, Salı; 2.1-4.1; 8:00-12:00 ET VE Her Salı, Çarşamba; 2.1-4.1, 13:00-17:00 ET.
Aynı tarih aralığı için yeni bir yinelenen takvim kuralı oluşturun. Özgün kurallarla kısmen çakışan günleri/saatleri seçin. Örneğin: Her Salı, Perşembe ; 2.1-4.1; 10:00-14:00 ET.
Sonuç: Yeni kural, çakışmalar olduğunda eskisinin üzerine yazılır ve diğerleri değişmeden kalır. Örneğin: Her Pazartesi; 2.1-4.1; 8:00-12:00 ET VE Her Çarşamba; 2.1-4.1; 13:00-17:00 ET VE Her Salı, Perşembe; 2.1-4.1; 10:00-14:00 ET.
Örnek 4 - Yinelenen Çalışma Saatleri: Eski kuralda yer alan yeni kural tarihleri, bazı çakışan günler/saatler
Teknisyen her hafta Pazartesi-Cuma 8:00-17:00 çalışmaktadır. Yalnızca iki hafta boyunca, her Pazartesi-Çarşamba 06:00-18:00 farklı çalışma saatlerinde özel bir acil durum projesinde yer alacaktır.
Belirli bir tarih aralığı için ilk yinelenen takvim kuralını oluşturun. Örneğin: Her Pazartesi, Salı, Çarşamba, Perşembe, Cuma; 1.1-Bitiş Tarihi Yok; 8:00-17:00 ET.
Yukarıdaki tarih aralığında yer alan ikinci bir yinelenen takvim kuralı oluşturun, bazı günlerde çakışan çalışma saatlerini seçin. Örneğin: Her Pazartesi, Salı, Çarşamba; 5.1-5.14; 06.00-18.00 ET.
Sonuç: Bu alıştırmanın sonunda takvimde yinelenen dört kural olmalıdır:
- ilk kuralı, ikinci kuralın başlangıç tarihi olarak kısaltın
- ikinci takvim kuralı
- ilk kurala benzeyen ancak çakışmayan günler için ikinci kuralın tarihleriyle yeni bir kural oluşturun
- ilk kuralı, bitiş tarihi olmadan ikinci kuralın bitiş tarihinden başlayacak şekilde kısaltın
Örneğin: Her Pazartesi, Salı, Çarşamba, Perşembe, Cuma; 1.1–4.30; 8:00-17:00 ET VE Her Pazartesi, Salı, Çarşamba; 5.1-5.14; 6am-6pm ET VE Her Perşembe, Cuma, 5.1-5.14; 8:00-17:00 ET VE Her Pazartesi, Salı, Çarşamba, Perşembe, Cuma; 5.15–Bitiş Tarihi Yok; 8:00-17:00 ET
Örnek 5 - Yinelenmeyen çalışma saatleri (oluşum, sıra 1 kuralı)
Teknisyenin, gün boyunca diğer tüm çalışma saati örneklerinden öncelikli olan birkaç takım uyumu günü vardır.
Belirli bir tarih aralığı için bir yinelenen takvim kuralı oluşturun. Örneğin: Her Pazartesi, Salı, Çarşamba, Perşembe, Cuma; 1.1-Bitiş Tarihi Yok; 8:00-17:00 ET.
Yukarıdaki tarih aralığında yer alan yinelenmeyen bir takvim kuralı oluşturun. Bazı günlerde çakışan çalışma saatlerini seçin. Örneğin: Yinelenmeyen; 6.21; 7:00-13:00 ET.
Sonuç: Bu alıştırmanın sonunda takvimde 1 yinelenmeyen kural (oluşum) olmalıdır. Yinelenmeyen kural, tüm gün için çakışan yineleme olayını geçersiz kılar. Örneğin: Her Pazartesi, Salı, Çarşamba, Perşembe, Cuma; 1.1-Bitiş Tarihi Yok (6.21; yinelenmeyen; 6.21; 7:00-13:00 ET hariç).
V1 çakışan kuralları
- Sıra 1 kurallarının önceliği, Sıra 0 kurallarına göre daha yüksektir. Bu nedenle aynı günde iki kural (her sıradan bir tane) varsa günlük yinelenme veya izin yinelenmesi, haftalık yinelenmeye göre önceliklidir.
- Aynı derecenin iki kuralı varsa, en son oluşturulan/değiştirilen kural kaynağın takvimi için kabul edilen bir kuraldır.
- Tüm gün içindeki tekrarların 1. dereceye kadar olduğunu unutmayın; bu nedenle, oluşum çalışma saatleri ekleyebilmek ve bunların dikkate alınması için onu haftalık bir tekrarda değiştirmek isteyebilirsiniz.
- Bir saat ve bir çalışma saati bulunduğunda ve geçtiği zaman oluşum oluştuğunda, bu kurallar, saatin kapalı olmasını sağlayacak şekilde bölünür ve kalan zaman çalışma saatleri olarak kalır. Örneğin, 21 Eylül'de 08:00 ile 17:00 arasında bir çalışma saati varsa ve 21 Eylül ayının 15:00'dan 19:00'a bir saat bırakma işlemi eklenirse bu, çalışma saatleri olarak 20:00 ile 15:00 arasında ve 15:00 ile 19:00 arasında bir saat sonra çözümlenir. Ancak, kurallar karşıt sırada oluşturulmuşsa (önce oluşturulma süresi ve sonra çalışma saatleri oluşturulmuştur) zaman dilimlerini dikkate alınmadan, yalnızca çalışma saati yeniden seçilir. Bu izinin üzerine yazılır.
Saat dilimi kodları
Numaralandırma | Saat dilimi |
---|---|
0 | (GMT-12:00) Uluslararası Tarih Çizgisi Batı |
1 | (GMT+13:00) Samoa |
2 | (GMT-10:00) Hawaii |
3 | (GMT-09:00) Alaska |
4 | (GMT-08:00) Pasifik Saati (ABD ve Kanada) |
5 | (GMT-08:00) Baja California |
6 | (GMT-11:00) Eşgüdümlü Evrensel Saat-11 |
7 | (GMT-10:00) Aleutian Adaları |
8 | (GMT-09:30) Marquesas Adaları |
9 | (GMT-09:00) Eşgüdümlü Evrensel Saat-09 |
10 | (GMT-07:00) Sıradağlar Saati (ABD ve Kanada) |
11 | (GMT-08:00) Eşgüdümlü Evrensel Saat-08 |
12 | (GMT-07:00) Chihuahua, La Paz, Mazatlan |
15 | (GMT-07:00) Arizona |
20 | (GMT-06:00) Merkezi Saat (ABD ve Kanada) |
25 | (GMT-06:00) Saskatchewan |
29 | (GMT-06:00) Guadalajara, Mexico City, Monterrey |
33 | (GMT-06:00) Orta Amerika |
34 | (GMT-06:00) Paskalya Adası |
35 | (GMT-05:00) Doğu Saati (ABD ve Kanada) |
40 | (GMT-05:00) Indiana (Doğu) |
43 | (GMT-05:00) Haiti |
44 | (GMT-05:00) Havana |
45 | (GMT-05:00) Bogota, Lima, Quito, Rio Branco |
47 | (GMT-04:00) Karakas |
50 | (GMT-04:00) Atlantik Saati (Kanada) |
51 | (GMT-05:00) Turks ve Caicos Adaları |
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) Brezilya |
69 | (GMT-03:00) Buenos Aires |
70 | (GMT-03:00) Cayenne, Fortaleza |
71 | (GMT-03:00) Salvador |
72 | (GMT-03:00) Saint Pierre ve Miquelon |
73 | (GMT-03:00) Grönland |
74 | (GMT-03:00) Montevideo |
75 | (GMT-02:00) Orta Atlantik |
76 | (GMT-02:00) Eşgüdümlü Evrensel Saat-02 |
77 | (GMT-03:00) Araguaina |
80 | (GMT-01:00) Azorlar |
83 | (GMT-01:00) Cabo Verde Ad. |
84 | (GMT+01:00) Kasablanka |
85 | (GMT+00:00) Dublin, Edinburgh, Lizbon, Londra |
90 | (GMT+00:00) Monrovya, Reykjavik |
92 | (GMT) Eşgüdümlü Evrensel Saat |
95 | (GMT+01:00) Belgrad, Bratislava, Budapeşte, Ljubljana, Prag |
100 | (GMT+01:00) Saraybosna, Üsküp, Varşova, Zagreb |
105 | (GMT+01:00) Brüksel, Kopenhag, Madrid, Paris |
110 | (GMT+01:00) Amsterdam, Berlin, Bern, Roma, Stockholm, Viyana |
113 | (GMT+01:00) Orta Batı Afrika |
115 | (GMT+02:00) Chisinau |
120 | (GMT+02:00) Kahire |
125 | (GMT+02:00) Helsinki, Kiev, Riga, Sofya, Tallinn, Vilnius |
129 | (GMT+02:00) Amman |
130 | (GMT+02:00) Atina, Bükreş |
131 | (GMT+02:00) Beyrut |
133 | (GMT+02:00) Şam |
134 | (GMT+03:00) İstanbul |
135 | (GMT+02:00) Kudüs |
140 | (GMT+02:00) Harare, Pretoria |
141 | (GMT+02:00) Windhoek |
142 | (GMT+02:00) Gazze, Hebron |
145 | (GMT+03:00) Moskova, St. Petersburg |
150 | (GMT+03:00) Kuveyt, Riyad |
151 | (GMT+03:00) Minsk |
155 | (GMT+03:00) Nairobi |
158 | (GMT+03:00) Bağdat |
159 | (GMT+02:00) Kaliningrad |
160 | (GMT+03:30) Tahran |
165 | (GMT+04:00) Abu Dabi, Muscat |
169 | (GMT+04:00) Bakü |
170 | (GMT+04:00) Erivan |
172 | (GMT+04:00) Port Louis |
173 | (GMT+04:00) Tiflis |
174 | (GMT+04:00) İjevsk, Samara |
175 | (GMT+04:30) Kabil |
176 | (GMT+04:00) Astrahan, Ulyanovsk |
180 | (GMT+05:00) Ekaterinburg |
184 | (GMT+05:00) İslamabad, Karaçi |
185 | (GMT+05:00) Taşkent |
190 | (GMT+05:30) Chennai, Kalküta, Mumbai, Yeni 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, Cakarta |
207 | (GMT+07:00) Krasnoyarsk |
208 | (GMT+07:00) Barnaul, Gorno-Altaysk |
209 | (GMT+07:00) Hovd |
210 | (GMT+08:00) Pekin, Çongcin, Hong Kong ÖİB, Urumçi |
211 | (GMT+07:00) Tomsk |
215 | (GMT+08:00) Kuala Lumpur, Singapur |
220 | (GMT+08:00) Taipei |
225 | (GMT+08:00) Perth |
227 | (GMT+08:00) İrkutsk |
228 | (GMT+08:00) Ulan Batur |
229 | (GMT+09:00) Pyongyang |
230 | (GMT+09:00) Seul |
231 | (GMT+08:45) Eucla |
235 | (GMT+09:00) Osaka, Sapporo, Tokyo |
240 | (GMT+09:00) Yakutsk |
241 | (GMT+09:00) Chita |
245 | (GMT+09:30) Darwin |
250 | (GMT+09:30) Adelaide |
255 | (GMT+10:00) Kanberra, Melbourne, Sydney |
260 | (GMT+10:00) Brisbane |
265 | (GMT+10:00) Hobart |
270 | (GMT+10:00) Vladivostok |
274 | (GMT+10:30) Lord Howe Adası |
275 | (GMT+10:00) Guam, Port Moresby |
276 | (GMT+11:00) Bougainville Adası |
277 | (GMT+11:00) Norfolk Adası |
278 | (GMT+11:00) Sakhalin |
279 | (GMT+11:00) Çokurdak |
280 | (GMT+11:00) Solomon Adl., Yeni Kaledonya |
281 | (GMT+11:00) Magadan |
284 | (GMT+12:00) Eşgüdümlü Evrensel Saat+12 |
285 | (GMT+12:00) Fiji |
290 | (GMT+12:00) Auckland, Wellington |
295 | (GMT+12:00) Anadır, Petropavlovsk-Kamçatski |
299 | (GMT+12:45) Chatham Adaları |
300 | (GMT+13:00) Nuku'alofa |
301 | (GMT-05:00) Chetumal |
302 | (UTC+02:00) Hartum |
303 | (GMT-03:00) Punta Arenas |
304 | (GMT+04:00) Volgograd |
305 | (GMT-07:00) Yukon |