Resmi tatil verisi basit görünür: ülkeyi seç, yılı seç, tarihleri göster. Fakat gerçek ürünlerde bölgesel farklılık, okul tatili, çalışma günü hesabı, yıllık değişiklik ve kaynak güvenilirliği hızla önem kazanır. Özellikle HR, vardiya, bordro, randevu ve teslimat planlama ürünlerinde yanlış tatil verisi operasyonel sorun yaratabilir.
Bu yazı, API Deposu'ndaki Nager.Date, OpenHolidays API, UK Bank Holidays API ve isDayOff API kayıtlarını pratik kullanım açısından karşılaştırır.
Hızlı karşılaştırma
| API | Kapsam | Kimlik doğrulama | En iyi kullanım |
|---|---|---|---|
| Nager.Date | 100+ ülke | Yok | Global SaaS takvimi |
| OpenHolidays | Avrupa ağırlıklı | Yok | Tatil + okul tatili verisi |
| UK Bank Holidays | Birleşik Krallık | Yok | Resmi UK banka tatilleri |
| isDayOff | Rusya ve çevre ülkeler | Yok | Çalışma günü kontrolü |
Global SaaS için başlangıç
Nager.Date, ülke kodu ve yıl üzerinden tutarlı yanıt verdiği için global çalışan SaaS ürünlerinde hızlı başlangıç sağlar. Takvim, izin planlama veya basit "bugün tatil mi" ekranlarında fazla özel kural yazmadan kullanılabilir.
Yine de resmi tatil konusu yerel mevzuata bağlıdır. Bir ülke için ürününüz finansal veya operasyonel karar veriyorsa sadece API yanıtına güvenmeden resmi kaynakla dönemsel doğrulama yapmak daha sağlıklıdır.
Bölgesel ve resmi kaynaklar
OpenHolidays API, resmi tatile ek olarak okul tatili gibi alanlarda da değer sunabilir. Eğitim, aile planlama veya bölgesel takvim ihtiyacı olan ürünlerde bu ek veri fark yaratır.
UK Bank Holidays API, GOV.UK tarafından yayınlanan resmi JSON feed'e dayandığı için Birleşik Krallık odaklı ürünlerde en doğrudan kaynaktır. Kapsam global değildir, fakat ilgili ülke için güvenilirlik daha önemlidir.
isDayOff API, tatil listesinden ziyade çalışma günü kontrolü yapmak isteyen akışlarda pratik olabilir. Örneğin teslimat tarihi, destek SLA'sı veya bordro hesaplamasında "bu tarih iş günü mü" sorusu doğrudan ürün kuralına bağlanır.
Üretimde dikkat edilmesi gerekenler
Resmi tatil verisini her sayfa açılışında çekmek çoğu zaman gereksizdir. Yıl bazlı veri nispeten yavaş değiştiği için cache veya periyodik senkronizasyon daha iyi çalışır. Ancak yeni yıl yaklaşırken ve resmi değişiklik dönemlerinde kaynak güncelliği tekrar kontrol edilmelidir.
Kullanıcıya tarih bazlı kritik karar verdiriyorsanız kaynak adını ve güncelleme bilgisini göstermek güven sağlar. Ayrıca ülke, bölge ve dil alanlarını uygulama içinde açık modellemek gerekir; tek bir "holiday" alanı ileride bölgesel tatilleri taşımakta yetersiz kalabilir.
Veri modelini baştan doğru kurun
Tatil verisini sadece tarih listesi olarak saklamak kısa vadede kolaydır, fakat zamanla yetersiz kalır. Ülke kodu, bölge, tatil adı, tatil tipi, resmi kaynak ve geçerlilik yılı ayrı alanlar olmalıdır. Bazı ülkelerde aynı tarih ülkenin tamamında değil, belirli bölgelerde geçerli olabilir.
Bu ayrım HR ve planlama ürünlerinde kritiktir. Yanlış bölgede tatil kabul etmek vardiya, teslimat ve destek SLA hesaplarını bozabilir. Bu yüzden API entegrasyonunu yaparken yanıtı doğrudan takvime basmak yerine kendi normalize edilmiş modele çevirmek uzun vadede daha güvenlidir.
Ayrıca resmi tatil verisi kullanıcıya görünür olduğunda açıklama metni eklemek faydalıdır. "Bu tarih resmi tatil olarak listeleniyor" demek ile "bu tarihte şirketiniz izinli sayılır" demek aynı şey değildir. Kurumsal ürünlerde nihai politika şirket ayarlarıyla birleşmelidir.
Bu nedenle tatil API'sini iş kuralının tamamı gibi değil, doğrulanmış veri girdisi gibi kullanın. Şirket içi izin politikası, ülke/bölge ayarı ve kullanıcı rolü gibi kurallar uygulamanın kendi domain modelinde kalmalıdır.
Bu sınır, ileride müşteri bazlı takvim kuralı eklemeyi de kolaylaştırır.
İlgili API Deposu kayıtları
Kaynaklar
Sik Sorulan Sorular
›Hangi resmi tatil API'si üyelik gerektirmez?
Nager.Date, OpenHolidays, UK Bank Holidays ve isDayOff anahtarsız denenebilir. Kapsam ve kullanım şartları ürün ülkesine göre ayrıca kontrol edilmelidir.
›En geniş ülke kapsamı hangi API'de?
Nager.Date çok sayıda ülkeyi tutarlı endpoint yapısıyla kapsadığı için global SaaS ürünleri için pratik bir başlangıçtır. OpenHolidays Avrupa ve okul tatili gibi ek veri alanlarında değerlendirilebilir.
›İngiltere banka tatilleri için resmi kaynak var mı?
Evet. GOV.UK, İngiltere, İskoçya ve Kuzey İrlanda banka tatilleri için JSON feed yayınlar.
›Belirli bir gün çalışma günü mü diye kontrol edilebilir mi?
isDayOff bu tip çalışma günü/tatil kontrolü için tasarlanmıştır. Diğer ülkelerde benzer cevap, ilgili tarih için tatil listesi sorgulanarak türetilebilir.